@promptctl/cc-candybar 1.122.0 → 1.124.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -12,59 +12,60 @@ import{createRequire as e}from"node:module";import t from"node:process";import{j
12
12
  `+t+`}`}}return i.pop(),a=t,s}function p(e){if(e.length===0)return d(e,!0);let t=String.fromCodePoint(e.codePointAt(0));if(!n.isIdStartChar(t))return d(e,!0);for(let r=t.length;r<e.length;r++)if(!n.isIdContinueChar(String.fromCodePoint(e.codePointAt(r))))return d(e,!0);return e}function m(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=[];for(let t=0;t<e.length;t++){let r=u(String(t),e);n.push(r===void 0?`null`:r)}let r;if(n.length===0)r=`[]`;else if(c===``)r=`[`+n.join(`,`)+`]`;else{let e=`,
13
13
  `+a,i=n.join(e);r=`[
14
14
  `+a+i+`,
15
- `+t+`]`}return i.pop(),a=t,r}}})),ot=xe(ye(((e,t)=>{t.exports={parse:it(),stringify:at()}}))(),1);function st({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const ct=st();function lt(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(ct,``)}const ut=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],dt=[12288,12288,65281,65376,65504,65510],ft=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],pt=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],mt=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],ht=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},gt=ut[0],_t=ut.at(-1),vt=dt[0],yt=dt.at(-1);ft[0],ft.at(-1),pt[0],pt.at(-1);const bt=mt[0],xt=mt.at(-1),St=19968,[Ct,wt]=Tt(mt);function Tt(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(St>=i&&St<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Et=e=>e<gt||e>_t?!1:ht(ut,e),Dt=e=>e<vt||e>yt?!1:ht(dt,e),Ot=e=>e>=Ct&&e<=wt?!0:e<bt||e>xt?!1:ht(mt,e);function kt(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function At(e,{ambiguousAsWide:t=!1}={}){return kt(e),Dt(e)||Ot(e)||t&&Et(e)?2:1}const jt=new Intl.Segmenter,Mt=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Nt=RegExp(`\\p{Spacing_Mark}`,`v`),Pt=RegExp(`^\\p{RGI_Emoji}$`,`v`),Ft=/^[\d#*]\u20E3$/,It=/\p{Extended_Pictographic}/gu;function Lt(e){if(e.length>50)return!1;if(Ft.test(e))return!0;if(e.includes(`‍`)){let t=e.match(It);return t!==null&&t.length>=2}return!1}function O(e){let t=e.search(Mt);return t===-1?void 0:e.slice(t)}function Rt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function k(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function zt(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Bt(e){return Rt(e)||k(e)||zt(e)}function Vt(e,t){let n=[];for(let t of e)Mt.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Bt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=At(n[i],t);return r}if(Rt(i)&&k(n[e+1])){r+=2,e+=zt(n[e+2])?2:1;continue}r+=At(i,t)}return r}function Ht(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Nt.test(i)||i>=`＀`&&i<=`￯`)&&(n+=At(i.codePointAt(0),t))}return n}function Ut(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=lt(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of jt.segment(i)){let t=O(e);if(t===void 0)continue;if(Pt.test(e)||Lt(e)){a+=2;continue}let n=Vt(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=At(r,o),a+=Ht(t,o)}return a}var Wt=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const Gt=new Wt;function A(e){return e.length===0?0:e.length<=64?Gt.get(e,Ut):Ut(e)}function Kt(e){return e}function qt(e){return e}function Jt(e){return e>0?Math.floor(e):0}function Yt(e,t){if(t<=0)return[``,e];if(t>=A(e))return[e,``];let n=rn(e,t);return[n+` `.repeat(t-A(n)),e.slice(n.length)]}function Xt(e,t){let n=rn(e,t),r=t-A(n),[i=``]=r>0?nn(e,qt(n.length)):[];return[n+` `.repeat(r),` `.repeat(A(i)-r)+e.slice(n.length+i.length)]}function Zt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=qt(0);for(;r<e.length;){let i=sn(e,r,t);n.push(e.slice(r,i)),r=i}return n}let Qt,$t;function en(e){return $t?.text!==e&&(Qt??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),$t={text:e,segments:Qt.segment(e)}),$t.segments}function tn(e){return Array.from(nn(e,qt(0)))}function*nn(e,t){let n=en(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=qt(t)}}function rn(e,t){return e.slice(0,j(nn(e,qt(0)),t))}function an(e,t){return e.slice(e.length-j(tn(e).reverse(),t))}function j(e,t){let n=0,r=0;for(let i of e){let e=A(i);if(n+e>t)break;n+=e,r+=i.length}return r}function on(e,t,n){return qt(t+j(nn(e,t),n))}function sn(e,t,n){let[r=``]=nn(e,t);return qt(Math.max(on(e,t,n),t+r.length))}function cn(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function ln(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
16
- `);return(n<0?t:0)+A(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var un=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?fn(e):dn(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function dn(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function fn(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function pn(e){return e.toString(16).padStart(2,`0`)}function mn(e){return Number.isInteger(e)&&e>=0&&e<=255}function hn(e,t){if(!mn(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var M=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,hn(`red`,e),hn(`green`,t),hn(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+pn(this.red)+pn(this.green)+pn(this.blue);return this.alpha===1?e:e+pn(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const gn=new M(0,0,0);function N(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function P(e,t){return _n(N(e),N(t))}function _n(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function vn(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var yn=class{colors;firstIndex;matchMemo=new Wt;readableMemo=new Wt;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(N),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=vn(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=N(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=_n(c,r),u=l>=n,d=u?-vn(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>vn(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},F;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(F||={});function bn(e){switch(e){case F.DEFAULT:return 0;case F.STANDARD:case F.WINDOWS:return 1;case F.EIGHT_BIT:return 2;case F.TRUECOLOR:return 3}}const xn={truecolor:F.TRUECOLOR,256:F.EIGHT_BIT,ansi:F.STANDARD,none:null},Sn=new Map([[`0`,null],[`false`,null],[`1`,F.STANDARD],[`true`,F.STANDARD],[`2`,F.EIGHT_BIT],[`3`,F.TRUECOLOR],[`iTerm.app`,F.TRUECOLOR],[`Apple_Terminal`,F.EIGHT_BIT],[`vscode`,F.TRUECOLOR],[`Tabby`,F.TRUECOLOR],[`xterm-kitty`,F.TRUECOLOR],[`xterm-ghostty`,F.TRUECOLOR],[`wezterm`,F.TRUECOLOR],[`alacritty`,F.TRUECOLOR],[`foot`,F.TRUECOLOR],[`contour`,F.TRUECOLOR]]);function I(e={}){let t=wn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=Cn(wn(e));return n===void 0?En(e):n}function Cn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Sn.get(t);return n===void 0?F.STANDARD:n}function wn(e){return e.env??(typeof process<`u`?process.env:{})}function Tn(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function En(e){let t=wn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||Tn(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return F.TRUECOLOR;let i=Sn.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Sn.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?F.EIGHT_BIT:/-truecolor$/i.test(n)?F.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),F.STANDARD)}function Dn(e,t){return e===`auto`?{colorSystem:I(t),hyperlinks:(Cn(wn(t??{}))??null)!==null||En(t??{})!==null}:{colorSystem:typeof e==`string`?On(e):e,hyperlinks:!0}}function On(e,t){if(e===`auto`)return I(t);if(Object.hasOwn(xn,e))return xn[e];throw new kn(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var kn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const An=new Wt;var L=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===F.DEFAULT}get fixedValue(){switch(this.type){case F.TRUECOLOR:return this.value;case F.EIGHT_BIT:return this.number<16?void 0:Xn.get(this.number);case F.DEFAULT:case F.STANDARD:case F.WINDOWS:return}}get isSystemDefined(){return this.type===F.STANDARD||this.type===F.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case F.DEFAULT:return[e?`39`:`49`];case F.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case F.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case F.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case F.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==F.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===F.DEFAULT||this.type===e||bn(this.type)<bn(e))return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case F.TRUECOLOR:return this.value;case F.EIGHT_BIT:return this.number<16?tr(e,this.type).ansiColors.get(this.number):Xn.get(this.number);case F.STANDARD:case F.WINDOWS:return tr(e,this.type).ansiColors.get(this.number);case F.DEFAULT:{let n=tr(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,F.DEFAULT)}static fromAnsi(t){let n=t<16?F.STANDARD:F.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,F.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new M(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new kn(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new kn(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new kn(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(Wn(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new Pn(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===F.TRUECOLOR)return e.fromRgba(t);if(n===F.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===F.WINDOWS?n:F.STANDARD,a),r.ansiColors.get(a)],...n===F.EIGHT_BIT?[jn(t)]:[]].reduce((e,n)=>vn(n[1],t)<vn(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return vn(t,n)<=vn(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return An.get(e.toLowerCase().trim(),Rn)}performDowngrade(t){let n=this.getTruecolor(tr(void 0,t));switch(t){case F.EIGHT_BIT:return e.fromAnsi(nr(t).match(n));case F.STANDARD:case F.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:nr(t).match(n);return new e(`color(${r})`,t,r)}case F.TRUECOLOR:return this;case F.DEFAULT:return e.default()}}};function jn(e){let t=Zn.match(e);return[L.fromAnsi(t),Zn.get(t)]}function Mn(e,t,n,r){return Wn(e.getTruecolor(r),t.getTruecolor(r),n)}function Nn(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var Pn=class extends L{from;to;t;constructor(e,t,n){super(`blend(${Nn(e)},${Nn(t)},${n})`,F.TRUECOLOR,void 0,Mn(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return Mn(this.from,this.to,this.t,e)}};const Fn=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,R=/^color\((\d+)\)$/,In=/^blend\((.*)\)$/,Ln=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function Rn(e){if(e===`default`||e===``)return L.default();let t=ir[e];if(t!==void 0)return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t);if(e.startsWith(`#`))return new L(e,F.TRUECOLOR,void 0,Un(e));let n=Fn.exec(e);if(n){let t=Bn(e,n[1],`red`),r=Bn(e,n[2],`green`),i=Bn(e,n[3],`blue`);return new L(e,F.TRUECOLOR,void 0,new M(t,r,i))}let r=R.exec(e);if(r){let t=Bn(e,r[1],`number`);return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t)}let i=In.exec(e);if(i){let t=zn(i[1]),n=t[2]??``;if(t.length!==3||!Ln.test(n))throw new kn(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return L.blend(L.parse(t[0]),L.parse(t[1]),Number(n))}throw new kn(`Failed to parse color: "${e}"`)}function zn(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function Bn(e,t,n){let r=parseInt(t,10);if(!mn(r))throw new kn(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const Vn=/^[0-9a-fA-F]+$/,Hn={6:`RRGGBB`,8:`RRGGBBAA`};function z(e,t,n,r){if(!r.includes(n.length)||!Vn.test(n)){let n=r.map(e=>t+Hn[e]).join(` or `);throw new kn(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new M(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function Un(e){return z(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function Wn(e,t,n=.5){return new M(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var Gn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function Kn(){return[new M(0,0,0),new M(128,0,0),new M(0,128,0),new M(128,128,0),new M(0,0,128),new M(128,0,128),new M(0,128,128),new M(192,192,192),new M(128,128,128),new M(255,0,0),new M(0,255,0),new M(255,255,0),new M(0,0,255),new M(255,0,255),new M(0,255,255),new M(255,255,255)]}function qn(){let e=Kn(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new M(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new M(n,n,n))}return e}function Jn(){return[new M(12,12,12),new M(197,15,31),new M(19,161,14),new M(193,156,0),new M(0,55,218),new M(136,23,152),new M(58,150,221),new M(204,204,204),new M(118,118,118),new M(231,72,86),new M(22,198,12),new M(249,241,165),new M(59,120,255),new M(180,0,158),new M(97,214,214),new M(242,242,242)]}const Yn=new yn(Kn()),Xn=new yn(qn()),Zn=new yn(qn().slice(16),16),Qn=new yn(Jn()),$n=new Gn(new M(0,0,0),new M(255,255,255),Yn,new un(`default`,!0,new Map)),er=new Gn(Qn.get(0),Qn.get(7),Qn,new un(`windows`,!0,new Map));function tr(e,t){return e??(t===F.WINDOWS?er:$n)}function nr(e){switch(e){case F.EIGHT_BIT:return Zn;case F.STANDARD:return Yn;case F.WINDOWS:return Qn}}function rr(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const ir=rr({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),ar=[`default`,...Object.keys(ir)];var or;const sr=[`l`,`c`,`h`,`alpha`],cr=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function lr(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function ur(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function dr(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function fr(e){return e<0?0:e>1?1:e}const pr=1e-4,mr=1e-7,hr=(e,t)=>e<mr?0:t,gr=(e,t,n)=>e*(1-n)+t*n,_r=e=>{let t=e%360;return t<0?t+360:t};function vr(e,t,n){return e>=-pr&&e<=1+pr&&t>=-pr&&t<=1+pr&&n>=-pr&&n<=1+pr}var B=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=ur(t),o=ur(n),s=ur(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=_r(180/Math.PI*Math.atan2(g,h));return new or(m,_,hr(_,v),i)}toRgba(){let e=fr(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new M(Math.round(fr(dr(r))*255),Math.round(fr(dr(i))*255),Math.round(fr(dr(a))*255),this.alpha)}applyKey(e){if(lr(e))return this;let t=fr(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=_r(this.h+e.hueShift);return new or(t,n,hr(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of sr){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=mr,o=e.c>=mr,s=_r(a?this.h:o?e.h:0),c=_r(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=gr(this.c,e.c,n);return new or(gr(this.l,e.l,t),f,hr(f,_r(gr(u,d,r))),gr(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(vr(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);vr(r.r,r.g,r.b)?i=t:a=t}return i}};or=B;var yr=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function br(e,t){let n=t.trim();if(n.startsWith(`#`))try{return Un(n)}catch(e){throw e instanceof kn?new yr(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new yr(t,`no such variable in palette ${JSON.stringify(e.name)}`+xr(e,n));return r}function xr(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Sr(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Cr(e){let t=Math.round(e);return t<0?0:t>255?255:t}function wr(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Cr(r*255);return new M(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new M(Cr((s+u)*255),Cr((c+u)*255),Cr((l+u)*255))}function Tr(e){return e<0?0:e>1?1:e}function Er(e,t){let n=Sr(e);return n.l=Tr(n.l-.1*t),wr(n)}function Dr(e,t=gn){return N(Mr(e,t))>.179?new M(0,0,0):new M(255,255,255)}function Or(e,t,n=4.5,r=F.TRUECOLOR,i=gn,a){let o=Mr(t,i),s=Pr(e,o,n,Dr(o)),c=Nr(r,a);if(c===void 0)return s;let l=jr(c,o);return P(jr(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function kr(e,t,n,r=gn,i){let a=Mr(e,r),o=Nr(t,i),s=e=>jr(o,Mr(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function Ar(e,t,n=gn,r){return jr(Nr(t,r),Mr(e,n))}function jr(e,t){return e===void 0?t:L.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function Mr(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}function Nr(e,t){let n=tr(t,e);switch(e){case F.EIGHT_BIT:return{depth:e,terminal:n,written:nr(e),shown:nr(e)};case F.STANDARD:case F.WINDOWS:return{depth:e,terminal:n,written:nr(e),shown:n.ansiColors};case F.TRUECOLOR:case F.DEFAULT:return}}function Pr(e,t,n,r){let i=e.compositeOver(t);if(P(i,t)>=n)return i;let a=B.fromRgba(i),o=+(N(r)>.179);if(P(new B(o,a.c,a.h,a.alpha).toRgba(),t)<n)return Dr(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;P(new B(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new B(c,a.c,a.h,a.alpha).toRgba()}const Fr=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function Ir(e,t,n){return Pr(e,t,4.5,Dr(n))}const Lr={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},Rr={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},zr={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},Br={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},Vr={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},Hr={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},Ur=Object.fromEntries([`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`].map((e,t)=>[e,Yn.get(t).hex])),Wr={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},Gr={"atom-one-dark":Lr,"atom-one-light":Rr,"catppuccin-frappe":zr,"catppuccin-latte":Br,"catppuccin-macchiato":Vr,"catppuccin-mocha":Hr,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:Wr,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,ansi:Ur,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,ansi:Ur,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,ansi:Wr,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},Kr=Object.freeze(Object.keys(Gr).sort()),qr=new Map;function Jr(){return Kr}function Yr(e){if(!Xr(e))return null;let t=qr.get(e);if(t!==void 0)return t;let n=Qr(Gr[e]);return qr.set(e,n),n}function Xr(e){return Object.hasOwn(Gr,e)}function Zr(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return $r(n,e.name,t)}function Qr(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,$r(r,e.name,`var ${n}`));for(let n of Fr){let r=Zr(e,`text-${n}`);t.set(`text-${n}`,Ir(r,Zr(e,`${n}-muted`),Zr(e,`background`)))}return new un(e.name,e.dark,t)}function $r(e,t,n){try{return Un(e)}catch(e){throw e instanceof kn?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}const ei=new Set([`error`,`success`,`warning`]);function ti(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function ni(e){return ei.has(ti(e))}function ri(e,t,n){if(lr(t))return new un(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=ni(n)?r:t;i.set(n,B.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=B.fromRgba(a).l<.5;return new un(n??e.name,o,i)}var ii=class{ease;stops;constructor(e,t){if(this.ease=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:B.fromRgba(r.color).mix(B.fromRgba(i.color),a).toRgba()}};function ai(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function oi(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const si=e=>e,ci=oi(1,`jump-end`),li={linear:si,ease:ai(.25,.1,.25,1),"ease-in":ai(.42,0,1,1),"ease-out":ai(0,0,.58,1),"ease-in-out":ai(.42,0,.58,1),"step-start":oi(1,`jump-start`),"step-end":ci,step:ci,sine:e=>(1-Math.cos(Math.PI*e))/2};function ui(e){if(!Object.hasOwn(li,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(li).map(e=>JSON.stringify(e)).join(`, `));return li[e]}function di(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&di(e.inner,t)}}const fi=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],pi={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},mi={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var hi=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const gi=new Wt;var V=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=Ei(e.color),this.bgcolor=Di(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta,this.anchor=e.anchor}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(di(this.anchor,e)):this}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta,anchor:t.anchor??this.anchor})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link&&Ai(this.anchor,e.anchor)}drawnColors(e){let t=gn,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=this.drawnColors(e);return[...fi.filter(e=>this[e]===!0).map(e=>`${pi[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of fi)this[t]===!1&&e.push(`not ${t}`);for(let t of fi)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return H}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=H;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);return n===``||n===`none`?H:gi.get(n,Ti)}};const H=new V,_i=/^[a-z][a-z0-9._-]*$/;function vi(e,t){return e instanceof V?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var yi=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(Oi))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!_i.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,V.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof V?e:typeof e==`string`?this.styles.get(e)??V.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const bi=new Set(fi),xi=[`not`,`on`,`link`,...fi,...ar];function Si(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function Ci(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:Si(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function wi(e,t,n){try{return L.parse(e)}catch(r){throw new hi(`${t} "${e}"${Ci(e,n)}: ${String(r)}`,{cause:r})}}function Ti(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new hi(`Expected attribute after "not" in style definition`);let i=mi[e]??e;if(!bi.has(i))throw new hi(`Invalid attribute: "${e}"${Ci(e,fi)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new hi(`Expected color after "on" in style definition`);n.bgcolor=wi(e,`Invalid background color`,ar),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=mi[e]??e;if(bi.has(i)){n[i]=!0,r++;continue}n.color=wi(e,`Invalid style definition`,xi),r++}return new V(n)}function Ei(e){if(e!==void 0)return e instanceof L?e:L.parse(e)}function Di(e){let t=Ei(e);return t?.value?.alpha===0?void 0:t}const Oi={none:H,reset:new V({color:L.default(),bgcolor:L.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new V({bold:!0}),dim:new V({dim:!0}),italic:new V({italic:!0}),underline:new V({underline:!0}),blink:new V({blink:!0}),blink2:new V({blink2:!0}),reverse:new V({reverse:!0}),conceal:new V({conceal:!0}),strike:new V({strike:!0}),underline2:new V({underline2:!0}),frame:new V({frame:!0}),encircle:new V({encircle:!0}),overline:new V({overline:!0}),"table.header":new V({bold:!0}),"table.footer":new V({bold:!0}),"table.cell":H,"table.title":new V({italic:!0}),"table.caption":new V({italic:!0,dim:!0}),"repr.ellipsis":V.parse(`yellow`),"repr.indent":V.parse(`dim green`),"repr.error":V.parse(`bold red`),"repr.str":V.parse(`not bold not italic green`),"repr.brace":V.parse(`bold`),"repr.comma":V.parse(`bold`),"repr.ipv4":V.parse(`bold bright_green`),"repr.ipv6":V.parse(`bold bright_green`),"repr.eui48":V.parse(`bold bright_green`),"repr.eui64":V.parse(`bold bright_green`),"repr.tag_start":V.parse(`bold`),"repr.tag_name":V.parse(`bold bright_magenta`),"repr.tag_contents":V.parse(`default`),"repr.tag_end":V.parse(`bold`),"repr.attrib_name":V.parse(`not italic yellow`),"repr.attrib_equal":V.parse(`bold`),"repr.attrib_value":V.parse(`not italic magenta`),"repr.number":V.parse(`bold not italic cyan`),"repr.number_complex":V.parse(`bold not italic cyan`),"repr.bool_true":V.parse(`italic bright_green`),"repr.bool_false":V.parse(`italic bright_red`),"repr.none":V.parse(`italic magenta`),"repr.url":V.parse(`not bold not italic underline bright_blue`),"repr.uuid":V.parse(`not bold bright_yellow`),"repr.call":V.parse(`bold magenta`),"repr.path":V.parse(`magenta`),"repr.filename":V.parse(`bright_magenta`),"log.time":V.parse(`cyan dim`),"log.message":H,"log.path":V.parse(`dim`),"log.line_no":V.parse(`cyan`),"log.level":H,"rule.line":V.parse(`bright_green`),"rule.text":H,"strip.separator":V.parse(`bright_black`),"strip.rail":V.parse(`bright_black`),"json.brace":V.parse(`bold`),"json.bool_true":V.parse(`italic bright_green`),"json.bool_false":V.parse(`italic bright_red`),"json.key":V.parse(`bold blue`),"json.null":V.parse(`italic magenta`),"json.number":V.parse(`bold not italic cyan`),"json.str":V.parse(`not bold not italic green`),"syntax.keyword":V.parse(`bold magenta`),"syntax.constant":V.parse(`italic bright_magenta`),"syntax.string":V.parse(`green`),"syntax.number":V.parse(`cyan`),"syntax.comment":V.parse(`dim italic`),"syntax.line_number":V.parse(`dim`),"syntax.line_number.highlight":V.parse(`bold grey93 on grey27`),"markdown.h1":V.parse(`bold underline`),"markdown.h2":V.parse(`bold`),"markdown.h3":V.parse(`bold dim`),"markdown.h4":V.parse(`bold dim italic`),"markdown.code":V.parse(`bold dark_turquoise on grey11`),"markdown.hr":V.parse(`yellow`),"markdown.link":V.parse(`bright_blue`),"markdown.link_url":V.parse(`blue`),"progress.description":H,"progress.percentage":V.parse(`magenta`),"progress.remaining":V.parse(`cyan`),"progress.elapsed":V.parse(`yellow`),"progress.spinner":V.parse(`green`),"progress.download":V.parse(`green`),"progress.filesize":V.parse(`green`),"progress.filesize.total":V.parse(`green`),"progress.data.speed":V.parse(`red`),"bar.back":V.parse(`grey23`),"bar.complete":V.parse(`rgb(249,38,114)`),"bar.finished":V.parse(`rgb(114,156,31)`),"bar.pulse":V.parse(`rgb(249,38,114)`),"scrollbar.thumb":H,"scrollbar.track":V.parse(`grey37`),tree:H,"tree.guide":H,"status.spinner":V.parse(`green`),"status.message":H,prompt:H,"prompt.choices":V.parse(`bold magenta`),"prompt.default":V.parse(`bold cyan`),"prompt.invalid":V.parse(`red`),"prompt.invalid.choice":V.parse(`red`),"inspect.attr":V.parse(`yellow italic`),"inspect.attr.dunder":V.parse(`yellow italic dim`),"inspect.callable":V.parse(`bold magenta`),"inspect.error":V.parse(`bold red`),"inspect.help":V.parse(`cyan`),"inspect.doc":V.parse(`dim`),"inspect.value.border":V.parse(`green`),"traceback.border":V.parse(`red`),"traceback.text":V.parse(`red`),"traceback.title":V.parse(`bold red`),"traceback.exc_type":V.parse(`bold bright_red`),"traceback.exc_value":H,"traceback.offset":V.parse(`bold bright_red`),"scope.border":V.parse(`blue`),"scope.key":V.parse(`italic`),"scope.key.special":V.parse(`dim italic`),pretty:H,"iso8601.date":V.parse(`blue`),"iso8601.time":V.parse(`magenta`),"iso8601.timezone":V.parse(`yellow`),"iso8601.year":H,"iso8601.month":H,"iso8601.day":H,"iso8601.week":H,"iso8601.hour":H,"iso8601.minute":H,"iso8601.second":H,"iso8601.frac":H,"iso8601.ms":H,"iso8601.hyphen":H},ki=new yi;function Ai(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&Ai(e.inner,t.inner)}var ji;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(ji||={});var U=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:A(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=Xt(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
17
- `)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??V.null(),i=new e(t.text,r.withAnchor({owner:n,row:a,col:o,inner:r.anchor}));return o+=t.cellLength,i})})}static anchorAt(e,t,n){if(!Number.isInteger(t)||t<0)return;let r=0;for(let i of e[n]??[]){let e=r+i.cellLength;if(t<e){let e=i.style?.anchor;return e&&di(e,t-r)}r=e}}static*applyStyle(t,n,r){if(!n&&!r){yield*t;return}for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
15
+ `+t+`]`}return i.pop(),a=t,r}}})),ot=xe(ye(((e,t)=>{t.exports={parse:it(),stringify:at()}}))(),1);function st({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const ct=st();function lt(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(ct,``)}const ut=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],dt=[12288,12288,65281,65376,65504,65510],ft=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],pt=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],mt=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],ht=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},gt=ut[0],_t=ut.at(-1),vt=dt[0],yt=dt.at(-1);ft[0],ft.at(-1),pt[0],pt.at(-1);const bt=mt[0],xt=mt.at(-1),St=19968,[Ct,wt]=Tt(mt);function Tt(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(St>=i&&St<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Et=e=>e<gt||e>_t?!1:ht(ut,e),Dt=e=>e<vt||e>yt?!1:ht(dt,e),Ot=e=>e>=Ct&&e<=wt?!0:e<bt||e>xt?!1:ht(mt,e);function kt(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function At(e,{ambiguousAsWide:t=!1}={}){return kt(e),Dt(e)||Ot(e)||t&&Et(e)?2:1}const jt=new Intl.Segmenter,Mt=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Nt=RegExp(`\\p{Spacing_Mark}`,`v`),Pt=RegExp(`^\\p{RGI_Emoji}$`,`v`),Ft=/^[\d#*]\u20E3$/,It=/\p{Extended_Pictographic}/gu;function Lt(e){if(e.length>50)return!1;if(Ft.test(e))return!0;if(e.includes(`‍`)){let t=e.match(It);return t!==null&&t.length>=2}return!1}function Rt(e){let t=e.search(Mt);return t===-1?void 0:e.slice(t)}function zt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function O(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function Bt(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Vt(e){return zt(e)||O(e)||Bt(e)}function Ht(e,t){let n=[];for(let t of e)Mt.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Vt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=At(n[i],t);return r}if(zt(i)&&O(n[e+1])){r+=2,e+=Bt(n[e+2])?2:1;continue}r+=At(i,t)}return r}function Ut(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Nt.test(i)||i>=`＀`&&i<=`￯`)&&(n+=At(i.codePointAt(0),t))}return n}function Wt(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=lt(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of jt.segment(i)){let t=Rt(e);if(t===void 0)continue;if(Pt.test(e)||Lt(e)){a+=2;continue}let n=Ht(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=At(r,o),a+=Ut(t,o)}return a}var Gt=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const Kt=new Gt;function k(e){return e.length===0?0:e.length<=64?Kt.get(e,Wt):Wt(e)}function qt(e){return e}function Jt(e){return e}function Yt(e){return e>0?Math.floor(e):0}function Xt(e,t){if(t<=0)return[``,e];if(t>=k(e))return[e,``];let n=an(e,t);return[n+` `.repeat(t-k(n)),e.slice(n.length)]}function Zt(e,t){let n=an(e,t),r=t-k(n),[i=``]=r>0?rn(e,Jt(n.length)):[];return[n+` `.repeat(r),` `.repeat(k(i)-r)+e.slice(n.length+i.length)]}function Qt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=Jt(0);for(;r<e.length;){let i=cn(e,r,t);n.push(e.slice(r,i)),r=i}return n}let $t,en;function tn(e){return en?.text!==e&&($t??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),en={text:e,segments:$t.segment(e)}),en.segments}function nn(e){return Array.from(rn(e,Jt(0)))}function*rn(e,t){let n=tn(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=Jt(t)}}function an(e,t){return e.slice(0,A(rn(e,Jt(0)),t))}function on(e,t){return e.slice(e.length-A(nn(e).reverse(),t))}function A(e,t){let n=0,r=0;for(let i of e){let e=k(i);if(n+e>t)break;n+=e,r+=i.length}return r}function sn(e,t,n){return Jt(t+A(rn(e,t),n))}function cn(e,t,n){let[r=``]=rn(e,t);return Jt(Math.max(sn(e,t,n),t+r.length))}function ln(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function un(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
16
+ `);return(n<0?t:0)+k(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var dn=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?pn(e):fn(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function fn(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function pn(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function mn(e){return e.toString(16).padStart(2,`0`)}function hn(e){return Number.isInteger(e)&&e>=0&&e<=255}function gn(e,t){if(!hn(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var j=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,gn(`red`,e),gn(`green`,t),gn(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+mn(this.red)+mn(this.green)+mn(this.blue);return this.alpha===1?e:e+mn(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const _n=new j(0,0,0);function M(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function N(e,t){return vn(M(e),M(t))}function vn(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function yn(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var bn=class{colors;firstIndex;matchMemo=new Gt;readableMemo=new Gt;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(M),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=yn(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=M(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=vn(c,r),u=l>=n,d=u?-yn(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>yn(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},P;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(P||={});function xn(e){switch(e){case P.DEFAULT:return 0;case P.STANDARD:case P.WINDOWS:return 1;case P.EIGHT_BIT:return 2;case P.TRUECOLOR:return 3}}const Sn={truecolor:P.TRUECOLOR,256:P.EIGHT_BIT,ansi:P.STANDARD,none:null},Cn=new Map([[`0`,null],[`false`,null],[`1`,P.STANDARD],[`true`,P.STANDARD],[`2`,P.EIGHT_BIT],[`3`,P.TRUECOLOR],[`iTerm.app`,P.TRUECOLOR],[`Apple_Terminal`,P.EIGHT_BIT],[`vscode`,P.TRUECOLOR],[`Tabby`,P.TRUECOLOR],[`xterm-kitty`,P.TRUECOLOR],[`xterm-ghostty`,P.TRUECOLOR],[`wezterm`,P.TRUECOLOR],[`alacritty`,P.TRUECOLOR],[`foot`,P.TRUECOLOR],[`contour`,P.TRUECOLOR]]);function F(e={}){let t=Tn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=wn(Tn(e));return n===void 0?Dn(e):n}function wn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Cn.get(t);return n===void 0?P.STANDARD:n}function Tn(e){return e.env??(typeof process<`u`?process.env:{})}function En(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function Dn(e){let t=Tn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||En(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return P.TRUECOLOR;let i=Cn.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Cn.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?P.EIGHT_BIT:/-truecolor$/i.test(n)?P.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),P.STANDARD)}function On(e,t){return e===`auto`?{colorSystem:F(t),hyperlinks:(wn(Tn(t??{}))??null)!==null||Dn(t??{})!==null}:{colorSystem:typeof e==`string`?kn(e):e,hyperlinks:!0}}function kn(e,t){if(e===`auto`)return F(t);if(Object.hasOwn(Sn,e))return Sn[e];throw new An(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var An=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const jn=new Gt;var I=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===P.DEFAULT}get fixedValue(){switch(this.type){case P.TRUECOLOR:return this.value;case P.EIGHT_BIT:return this.number<16?void 0:Xn.get(this.number);case P.DEFAULT:case P.STANDARD:case P.WINDOWS:return}}get isSystemDefined(){return this.type===P.STANDARD||this.type===P.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case P.DEFAULT:return[e?`39`:`49`];case P.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case P.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case P.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case P.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==P.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===P.DEFAULT||this.type===e||xn(this.type)<xn(e))return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case P.TRUECOLOR:return this.value;case P.EIGHT_BIT:return this.number<16?tr(e,this.type).ansiColors.get(this.number):Xn.get(this.number);case P.STANDARD:case P.WINDOWS:return tr(e,this.type).ansiColors.get(this.number);case P.DEFAULT:{let n=tr(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,P.DEFAULT)}static fromAnsi(t){let n=t<16?P.STANDARD:P.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,P.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new j(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new An(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new An(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new An(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(z(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new Fn(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===P.TRUECOLOR)return e.fromRgba(t);if(n===P.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===P.WINDOWS?n:P.STANDARD,a),r.ansiColors.get(a)],...n===P.EIGHT_BIT?[Mn(t)]:[]].reduce((e,n)=>yn(n[1],t)<yn(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return yn(t,n)<=yn(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return jn.get(e.toLowerCase().trim(),zn)}performDowngrade(t){let n=this.getTruecolor(tr(void 0,t));switch(t){case P.EIGHT_BIT:return e.fromAnsi(nr(t).match(n));case P.STANDARD:case P.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:nr(t).match(n);return new e(`color(${r})`,t,r)}case P.TRUECOLOR:return this;case P.DEFAULT:return e.default()}}};function Mn(e){let t=Zn.match(e);return[I.fromAnsi(t),Zn.get(t)]}function Nn(e,t,n,r){return z(e.getTruecolor(r),t.getTruecolor(r),n)}function Pn(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var Fn=class extends I{from;to;t;constructor(e,t,n){super(`blend(${Pn(e)},${Pn(t)},${n})`,P.TRUECOLOR,void 0,Nn(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return Nn(this.from,this.to,this.t,e)}};const In=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,L=/^color\((\d+)\)$/,Ln=/^blend\((.*)\)$/,Rn=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function zn(e){if(e===`default`||e===``)return I.default();let t=ir[e];if(t!==void 0)return new I(e,t<16?P.STANDARD:P.EIGHT_BIT,t);if(e.startsWith(`#`))return new I(e,P.TRUECOLOR,void 0,Wn(e));let n=In.exec(e);if(n){let t=Vn(e,n[1],`red`),r=Vn(e,n[2],`green`),i=Vn(e,n[3],`blue`);return new I(e,P.TRUECOLOR,void 0,new j(t,r,i))}let r=L.exec(e);if(r){let t=Vn(e,r[1],`number`);return new I(e,t<16?P.STANDARD:P.EIGHT_BIT,t)}let i=Ln.exec(e);if(i){let t=Bn(i[1]),n=t[2]??``;if(t.length!==3||!Rn.test(n))throw new An(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return I.blend(I.parse(t[0]),I.parse(t[1]),Number(n))}throw new An(`Failed to parse color: "${e}"`)}function Bn(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function Vn(e,t,n){let r=parseInt(t,10);if(!hn(r))throw new An(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const Hn=/^[0-9a-fA-F]+$/,Un={6:`RRGGBB`,8:`RRGGBBAA`};function R(e,t,n,r){if(!r.includes(n.length)||!Hn.test(n)){let n=r.map(e=>t+Un[e]).join(` or `);throw new An(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new j(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function Wn(e){return R(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function z(e,t,n=.5){return new j(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var Gn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function Kn(){return[new j(0,0,0),new j(128,0,0),new j(0,128,0),new j(128,128,0),new j(0,0,128),new j(128,0,128),new j(0,128,128),new j(192,192,192),new j(128,128,128),new j(255,0,0),new j(0,255,0),new j(255,255,0),new j(0,0,255),new j(255,0,255),new j(0,255,255),new j(255,255,255)]}function qn(){let e=Kn(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new j(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new j(n,n,n))}return e}function Jn(){return[new j(12,12,12),new j(197,15,31),new j(19,161,14),new j(193,156,0),new j(0,55,218),new j(136,23,152),new j(58,150,221),new j(204,204,204),new j(118,118,118),new j(231,72,86),new j(22,198,12),new j(249,241,165),new j(59,120,255),new j(180,0,158),new j(97,214,214),new j(242,242,242)]}const Yn=new bn(Kn()),Xn=new bn(qn()),Zn=new bn(qn().slice(16),16),Qn=new bn(Jn()),$n=new Gn(new j(0,0,0),new j(255,255,255),Yn,new dn(`default`,!0,new Map)),er=new Gn(Qn.get(0),Qn.get(7),Qn,new dn(`windows`,!0,new Map));function tr(e,t){return e??(t===P.WINDOWS?er:$n)}function nr(e){switch(e){case P.EIGHT_BIT:return Zn;case P.STANDARD:return Yn;case P.WINDOWS:return Qn}}function rr(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const ir=rr({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),ar=[`default`,...Object.keys(ir)];var or;const sr=[`l`,`c`,`h`,`alpha`],cr=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function lr(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function ur(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function dr(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function fr(e){return e<0?0:e>1?1:e}const pr=1e-4,mr=1e-7,hr=(e,t)=>e<mr?0:t,gr=(e,t,n)=>e*(1-n)+t*n,_r=e=>{let t=e%360;return t<0?t+360:t};function vr(e,t,n){return e>=-pr&&e<=1+pr&&t>=-pr&&t<=1+pr&&n>=-pr&&n<=1+pr}var B=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=ur(t),o=ur(n),s=ur(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=_r(180/Math.PI*Math.atan2(g,h));return new or(m,_,hr(_,v),i)}toRgba(){let e=fr(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new j(Math.round(fr(dr(r))*255),Math.round(fr(dr(i))*255),Math.round(fr(dr(a))*255),this.alpha)}applyKey(e){if(lr(e))return this;let t=fr(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=_r(this.h+e.hueShift);return new or(t,n,hr(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of sr){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=mr,o=e.c>=mr,s=_r(a?this.h:o?e.h:0),c=_r(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=gr(this.c,e.c,n);return new or(gr(this.l,e.l,t),f,hr(f,_r(gr(u,d,r))),gr(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(vr(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);vr(r.r,r.g,r.b)?i=t:a=t}return i}};or=B;var yr=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function br(e,t){let n=t.trim();if(n.startsWith(`#`))try{return Wn(n)}catch(e){throw e instanceof An?new yr(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new yr(t,`no such variable in palette ${JSON.stringify(e.name)}`+xr(e,n));return r}function xr(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Sr(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Cr(e){let t=Math.round(e);return t<0?0:t>255?255:t}function wr(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Cr(r*255);return new j(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new j(Cr((s+u)*255),Cr((c+u)*255),Cr((l+u)*255))}function Tr(e){return e<0?0:e>1?1:e}function Er(e,t){let n=Sr(e);return n.l=Tr(n.l-.1*t),wr(n)}function Dr(e,t,n){return z(t,e,Tr(n))}function Or(e,t=_n){return M(Nr(e,t))>.179?new j(0,0,0):new j(255,255,255)}function kr(e,t,n=4.5,r=P.TRUECOLOR,i=_n,a){let o=Nr(t,i),s=Fr(e,o,n,Or(o)),c=Pr(r,a);if(c===void 0)return s;let l=Mr(c,o);return N(Mr(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function Ar(e,t,n,r=_n,i){let a=Nr(e,r),o=Pr(t,i),s=e=>Mr(o,Nr(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function jr(e,t,n=_n,r){return Mr(Pr(t,r),Nr(e,n))}function Mr(e,t){return e===void 0?t:I.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function Nr(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}function Pr(e,t){let n=tr(t,e);switch(e){case P.EIGHT_BIT:return{depth:e,terminal:n,written:nr(e),shown:nr(e)};case P.STANDARD:case P.WINDOWS:return{depth:e,terminal:n,written:nr(e),shown:n.ansiColors};case P.TRUECOLOR:case P.DEFAULT:return}}function Fr(e,t,n,r){let i=e.compositeOver(t);if(N(i,t)>=n)return i;let a=B.fromRgba(i),o=+(M(r)>.179);if(N(new B(o,a.c,a.h,a.alpha).toRgba(),t)<n)return Or(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;N(new B(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new B(c,a.c,a.h,a.alpha).toRgba()}const Ir=.7,Lr=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function Rr(e,t,n){let r=fn(e,n.background),i=t=>{let i=n[t];if(i.alpha===0)throw RangeError(`palette ${JSON.stringify(e)}: ${t} is fully transparent (${i.hex}), so there is no colour to derive the palette from`);return r(i)},a={primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),background:n.background,foreground:i(`foreground`)},o=new Map;o.set(`background`,a.background),o.set(`foreground`,a.foreground);for(let e of Lr)o.set(e,a[e]);o.set(`foreground-muted`,z(a.foreground,a.background,Ir)),o.set(`background-muted`,z(a.background,a.foreground,Ir)),o.set(`surface`,z(a.background,a.foreground,.05));let s=Or(a.background);for(let e of Lr){let t=a[e],n=z(t,a.background,Ir);o.set(`${e}-muted`,n),o.set(`text-${e}`,zr(Dr(t,s,.66),n,a.background)),o.set(`on-${e}`,Or(t))}return new dn(e,t,o)}function zr(e,t,n){return Fr(e,t,4.5,Or(n))}const Br={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},Vr={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},Hr={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},Ur={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},Wr={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},Gr={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},Kr=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],qr=Object.fromEntries(Kr.map((e,t)=>[e,Yn.get(t).hex])),Jr={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},Yr={"atom-one-dark":Br,"atom-one-light":Vr,"catppuccin-frappe":Hr,"catppuccin-latte":Ur,"catppuccin-macchiato":Wr,"catppuccin-mocha":Gr,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:Jr,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,ansi:qr,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,ansi:qr,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,ansi:Jr,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},Xr=Object.freeze(Object.keys(Yr).sort()),Zr=new Map;function Qr(){return Xr}function $r(e){if(!ei(e))return null;let t=Zr.get(e);if(t!==void 0)return t;let n=ri(Yr[e]);return Zr.set(e,n),n}function ei(e){return Object.hasOwn(Yr,e)}function ti(e){let t=Yr[e],n=ni(t,`background`),r=fn(t.name,n),i=e=>r(ni(t,e));return{name:t.name,dark:t.dark,bg:n,fg:i(`foreground`),primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),ansi:new bn(Kr.map(e=>ai(t.ansi[e],t.name,`ansi.${e}`)))}}function ni(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return ii(n,e.name,t)}function ri(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,ii(r,e.name,`var ${n}`));for(let n of Lr){let r=ni(e,`text-${n}`);t.set(`text-${n}`,zr(r,ni(e,`${n}-muted`),ni(e,`background`)))}return new dn(e.name,e.dark,t)}function ii(e,t,n){try{return Wn(e)}catch(e){throw e instanceof An?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}function ai(e,t,n){let r=ii(e,t,n);if(r.alpha!==1)throw Error(`Theme ${t}: ${n} has alpha in ${JSON.stringify(e)} (expected #RRGGBB)`);return r}function oi(e){return new Gn(e.bg,e.fg,e.ansi,Rr(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const si=oi(ti(`default`));oi(ti(`svg-export`)),oi(ti(`monokai`)),oi(ti(`nord`)),oi(ti(`gruvbox`)),oi(ti(`dracula`)),oi(ti(`tokyo-night`)),oi(ti(`flexoki`)),oi(ti(`cyberpunk`)),oi(ti(`catppuccin-mocha`)),oi(ti(`catppuccin-latte`)),oi(ti(`catppuccin-frappe`)),oi(ti(`catppuccin-macchiato`)),oi(ti(`solarized-dark`)),oi(ti(`solarized-light`)),oi(ti(`rose-pine`)),oi(ti(`rose-pine-moon`)),oi(ti(`rose-pine-dawn`)),oi(ti(`atom-one-dark`)),oi(ti(`atom-one-light`)),oi(ti(`textual-dark`)),oi(ti(`textual-light`)),oi(ti(`textual-ansi`));const ci=new Set([`error`,`success`,`warning`]);function li(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function ui(e){return ci.has(li(e))}function di(e,t,n){if(lr(t))return new dn(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=ui(n)?r:t;i.set(n,B.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=B.fromRgba(a).l<.5;return new dn(n??e.name,o,i)}var fi=class{ease;stops;constructor(e,t){if(this.ease=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:B.fromRgba(r.color).mix(B.fromRgba(i.color),a).toRgba()}};function pi(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function mi(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const hi=e=>e,gi=mi(1,`jump-end`),_i={linear:hi,ease:pi(.25,.1,.25,1),"ease-in":pi(.42,0,1,1),"ease-out":pi(0,0,.58,1),"ease-in-out":pi(.42,0,.58,1),"step-start":mi(1,`jump-start`),"step-end":gi,step:gi,sine:e=>(1-Math.cos(Math.PI*e))/2};function vi(e){if(!Object.hasOwn(_i,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(_i).map(e=>JSON.stringify(e)).join(`, `));return _i[e]}function yi(e,t){if(!Number.isFinite(t)||t<=0)throw RangeError(`${e} must be a positive number of seconds, got ${t}`)}const bi={once(e,t){if(!Number.isFinite(e))throw RangeError(`Phase.once start must be finite, got ${e}`);return yi(`Phase.once duration`,t),n=>Math.min(1,Math.max(0,(n-e)/t))},loop(e){return yi(`Phase.loop period`,e),t=>(t%e+e)%e/e},pingPong(e){yi(`Phase.pingPong period`,e);let t=bi.loop(e);return e=>1-Math.abs(2*t(e)-1)}};function xi(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&xi(e.inner,t)}}function Si(e,t){for(let n=e;n;n=n.inner)if(n.owner===t)return!0;return!1}const Ci=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],wi={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},Ti={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Ei=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Di=new Gt;var V=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=Li(e.color),this.bgcolor=Ri(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta,this.anchor=e.anchor}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(xi(this.anchor,e)):this}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta,anchor:t.anchor??this.anchor})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link&&Vi(this.anchor,e.anchor)}drawnColors(e){let t=_n,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=this.drawnColors(e);return[...Ci.filter(e=>this[e]===!0).map(e=>`${wi[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Ci)this[t]===!1&&e.push(`not ${t}`);for(let t of Ci)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return H}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=H;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);return n===``||n===`none`?H:Di.get(n,Ii)}};const H=new V,Oi=/^[a-z][a-z0-9._-]*$/;function ki(e,t){return e instanceof V?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var Ai=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(zi))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Oi.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,V.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof V?e:typeof e==`string`?this.styles.get(e)??V.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const ji=new Set(Ci),Mi=[`not`,`on`,`link`,...Ci,...ar];function Ni(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function Pi(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:Ni(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function Fi(e,t,n){try{return I.parse(e)}catch(r){throw new Ei(`${t} "${e}"${Pi(e,n)}: ${String(r)}`,{cause:r})}}function Ii(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Ei(`Expected attribute after "not" in style definition`);let i=Ti[e]??e;if(!ji.has(i))throw new Ei(`Invalid attribute: "${e}"${Pi(e,Ci)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Ei(`Expected color after "on" in style definition`);n.bgcolor=Fi(e,`Invalid background color`,ar),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Ti[e]??e;if(ji.has(i)){n[i]=!0,r++;continue}n.color=Fi(e,`Invalid style definition`,Mi),r++}return new V(n)}function Li(e){if(e!==void 0)return e instanceof I?e:I.parse(e)}function Ri(e){let t=Li(e);return t?.value?.alpha===0?void 0:t}const zi={none:H,reset:new V({color:I.default(),bgcolor:I.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new V({bold:!0}),dim:new V({dim:!0}),italic:new V({italic:!0}),underline:new V({underline:!0}),blink:new V({blink:!0}),blink2:new V({blink2:!0}),reverse:new V({reverse:!0}),conceal:new V({conceal:!0}),strike:new V({strike:!0}),underline2:new V({underline2:!0}),frame:new V({frame:!0}),encircle:new V({encircle:!0}),overline:new V({overline:!0}),"table.header":new V({bold:!0}),"table.footer":new V({bold:!0}),"table.cell":H,"table.title":new V({italic:!0}),"table.caption":new V({italic:!0,dim:!0}),"repr.ellipsis":V.parse(`yellow`),"repr.indent":V.parse(`dim green`),"repr.error":V.parse(`bold red`),"repr.str":V.parse(`not bold not italic green`),"repr.brace":V.parse(`bold`),"repr.comma":V.parse(`bold`),"repr.ipv4":V.parse(`bold bright_green`),"repr.ipv6":V.parse(`bold bright_green`),"repr.eui48":V.parse(`bold bright_green`),"repr.eui64":V.parse(`bold bright_green`),"repr.tag_start":V.parse(`bold`),"repr.tag_name":V.parse(`bold bright_magenta`),"repr.tag_contents":V.parse(`default`),"repr.tag_end":V.parse(`bold`),"repr.attrib_name":V.parse(`not italic yellow`),"repr.attrib_equal":V.parse(`bold`),"repr.attrib_value":V.parse(`not italic magenta`),"repr.number":V.parse(`bold not italic cyan`),"repr.number_complex":V.parse(`bold not italic cyan`),"repr.bool_true":V.parse(`italic bright_green`),"repr.bool_false":V.parse(`italic bright_red`),"repr.none":V.parse(`italic magenta`),"repr.url":V.parse(`not bold not italic underline bright_blue`),"repr.uuid":V.parse(`not bold bright_yellow`),"repr.call":V.parse(`bold magenta`),"repr.path":V.parse(`magenta`),"repr.filename":V.parse(`bright_magenta`),"log.time":V.parse(`cyan dim`),"log.message":H,"log.path":V.parse(`dim`),"log.line_no":V.parse(`cyan`),"log.level":H,"rule.line":V.parse(`bright_green`),"rule.text":H,"strip.separator":V.parse(`bright_black`),"strip.rail":V.parse(`bright_black`),"json.brace":V.parse(`bold`),"json.bool_true":V.parse(`italic bright_green`),"json.bool_false":V.parse(`italic bright_red`),"json.key":V.parse(`bold blue`),"json.null":V.parse(`italic magenta`),"json.number":V.parse(`bold not italic cyan`),"json.str":V.parse(`not bold not italic green`),"syntax.keyword":V.parse(`bold magenta`),"syntax.constant":V.parse(`italic bright_magenta`),"syntax.string":V.parse(`green`),"syntax.number":V.parse(`cyan`),"syntax.comment":V.parse(`dim italic`),"syntax.line_number":V.parse(`dim`),"syntax.line_number.highlight":V.parse(`bold grey93 on grey27`),"markdown.h1":V.parse(`bold underline`),"markdown.h2":V.parse(`bold`),"markdown.h3":V.parse(`bold dim`),"markdown.h4":V.parse(`bold dim italic`),"markdown.code":V.parse(`bold dark_turquoise on grey11`),"markdown.hr":V.parse(`yellow`),"markdown.link":V.parse(`bright_blue`),"markdown.link_url":V.parse(`blue`),"progress.description":H,"progress.percentage":V.parse(`magenta`),"progress.remaining":V.parse(`cyan`),"progress.elapsed":V.parse(`yellow`),"progress.spinner":V.parse(`green`),"progress.download":V.parse(`green`),"progress.filesize":V.parse(`green`),"progress.filesize.total":V.parse(`green`),"progress.data.speed":V.parse(`red`),"bar.back":V.parse(`grey23`),"bar.complete":V.parse(`rgb(249,38,114)`),"bar.finished":V.parse(`rgb(114,156,31)`),"bar.pulse":V.parse(`rgb(249,38,114)`),"scrollbar.thumb":H,"scrollbar.track":V.parse(`grey37`),tree:H,"tree.guide":H,"status.spinner":V.parse(`green`),"status.message":H,prompt:H,"prompt.choices":V.parse(`bold magenta`),"prompt.default":V.parse(`bold cyan`),"prompt.invalid":V.parse(`red`),"prompt.invalid.choice":V.parse(`red`),"inspect.attr":V.parse(`yellow italic`),"inspect.attr.dunder":V.parse(`yellow italic dim`),"inspect.callable":V.parse(`bold magenta`),"inspect.error":V.parse(`bold red`),"inspect.help":V.parse(`cyan`),"inspect.doc":V.parse(`dim`),"inspect.value.border":V.parse(`green`),"traceback.border":V.parse(`red`),"traceback.text":V.parse(`red`),"traceback.title":V.parse(`bold red`),"traceback.exc_type":V.parse(`bold bright_red`),"traceback.exc_value":H,"traceback.offset":V.parse(`bold bright_red`),"scope.border":V.parse(`blue`),"scope.key":V.parse(`italic`),"scope.key.special":V.parse(`dim italic`),pretty:H,"iso8601.date":V.parse(`blue`),"iso8601.time":V.parse(`magenta`),"iso8601.timezone":V.parse(`yellow`),"iso8601.year":H,"iso8601.month":H,"iso8601.day":H,"iso8601.week":H,"iso8601.hour":H,"iso8601.minute":H,"iso8601.second":H,"iso8601.frac":H,"iso8601.ms":H,"iso8601.hyphen":H},Bi=new Ai;function Vi(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&Vi(e.inner,t.inner)}var Hi;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Hi||={});var U=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:k(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=Zt(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
17
+ `)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??V.null(),i=new e(t.text,r.withAnchor({owner:n,row:a,col:o,inner:r.anchor}));return o+=t.cellLength,i})})}static anchorAt(e,t,n){if(!Number.isInteger(t)||t<0)return;let r=0;for(let i of e[n]??[]){let e=r+i.cellLength;if(t<e){let e=i.style?.anchor;return e&&xi(e,t-r)}r=e}}static*applyStyle(t,n,r){if(!n&&!r){yield*t;return}for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
18
18
  `)){r.push(i);continue}let a=t.split(`
19
- `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(Kt(s));o.push(t),s=0;break}}return o}static*cropLines(t,n){let r=Math.max(0,n),i=0;for(let n of t){if(n.isControl){yield n;continue}let t=n.text.split(`
20
- `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Yt(t[e],Kt(r-i));i+=A(n),t[e]=n}let a=t.join(`
21
- `);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Mi(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)t.push(a),i+=a.cellLength,r++,a=e[r];if(a&&!a.isControl&&i<o){let e=Kt(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}};function Mi(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const Ni=e=>/^[\x00-\x7F]*$/.test(e);function Pi(e,t,n,r=String){return e.asciiOnly===!0&&!Ni(r(t))?n:t}function Fi(e,t){return(e.theme??ki).resolve(t)}function Ii(e){return{...e,maxWidth:Jt(e.maxWidth)}}function Li(e){return{...e,onDraw:void 0}}function Ri(e,t){let n=Ii(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(Li(n)).maximum;if(!Number.isFinite(r))throw RangeError(`maxWidth is unbounded and this renderable has no natural width to fall back on: its content does not implement measure(), or something inside it asked for an unbounded width of its own. Render it at a finite width, or give the content a measure() that reports a finite maximum.`);return{...n,maxWidth:Jt(r)}}function*zi(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function Bi(e){return A(e.trimEnd())}function Vi(e){return Array.from(zi(e),Bi)}function Hi(e,t){let n=Zt(e,t);return A(n[0])>t?[``,...n]:n}function Ui(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(Kt(e))},a=0,o=0;for(let r of zi(e)){let e=Bi(r);if(t-a>=e)a+=A(r);else if(n.fold&&e>t){let e=Hi(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=A(r):n+=A(r)}}else i(o),a=A(r);o+=A(r)}return r}const Wi=new TextEncoder;function Gi(e){let t=2166136261;for(let n of Wi.encode(e))t=Math.imul(t^n,16777619);return(t>>>0).toString(16).padStart(8,`0`)}const Ki=`\\x1b\\x07\\x9c`,qi=RegExp(`[${Ki}]`,`g`);function Ji(e){return e.replace(qi,``)}function Yi(e){let t=Ji(e);return`\x1b]8;id=${Gi(t)};${t}\x1b\\`}const Xi=RegExp(`\\x1b\\]8;([^;${Ki}]*);([^${Ki}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(Xi.source,`g`);const Zi=/[\x00-\x08\x0B-\x1F\x7F]/g;function Qi(e){return e.replace(Zi,``)}const $i=/\s+$/;function ea(e){return e.map(e=>e.text).join(``)}function ta(e){return A($i.exec(ea(e))?.[0]??``)}function na(e){let t=e.link;if(!t)return e;let n=Ji(t);return n===t?e:e.withLink(n)}function ra(e){return typeof e==`string`?e:e instanceof V?ia(e):{under:e.under,over:ia(e.over)}}function ia(e){return na(e.anchor?e.withAnchor(void 0):e)}function aa(e){return e instanceof V?e.isNull:e===``}function oa(e,t){return na(t instanceof V?t:typeof t==`string`?sa(e,t):sa(e,t.under).add(t.over))}function sa(e,t){try{return Fi(e,t)}catch(n){if(!(n instanceof hi))throw n;return e.onStyleError?.(n,t),H}}var ca=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},W=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Qi(e):``,this._spans=[],this._style=ra(t?.style??H),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
22
- `,this._tabSize=cn(t?.tabSize??8),this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Qi(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new ca(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return A(ln(this._text,this._tabSize).text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=ra(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}resolvedStyle(e){return oa(e,this._style)}edgeStyle(e,t){let n=this.resolvedStyle(t);if(this._text.length===0)return n;let r=e===`left`?0:this._text.length-1,i=n;for(let e of this._spans)e.start<=r&&r<e.end&&(i=i.add(oa(t,e.style)));return i}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text,this._addSpan(e,this._text.length,t._style);for(let n of t._spans)this._spans.push(n.move(e));return this}let r=Qi(t),i=this._text.length;return this._text+=r,this._addSpan(i,this._text.length,n??``),this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new ca(t,n,e.style))}return l}_addSpan(e,t,n){let r=ra(n);aa(r)||this._spans.push(new ca(e,t,r))}stylize(e,t,n){let r=this._text.length,i=t===void 0?0:t<0?r+t:t,a=n===void 0?r:n<0?r+n:n;if(i>=a||i>=r||a<=0)return this;let o=Math.max(0,i),s=Math.min(r,a);return this._addSpan(o,s,e),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._addSpan(i,i+n.length,t),e=r+n.length}}r++;continue}this._addSpan(o.index,o.index+o[0].length,t??``),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=0;for(let n of e){if(n.length===0)continue;let e=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),a=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,a),s;for(;(s=o.exec(this._text))!==null;)this._addSpan(s.index,s.index+s[0].length,t),i++}return i}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
23
- `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}expandTabs(){let e=ln(this._text,this._tabSize);return this._spans=this._spans.map(t=>new ca(e.offsetOf(t.start),e.offsetOf(t.end),t.style)),this._text=e.text,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;this.expandTabs();let n=t?.mode??`right`,r=Jt(e),i=rn(t?.marker??`…`,r),a=Kt(r-A(i));if(n===`right`)return this._cropRightTo(a),i&&(this._text+=i),this;if(n===`left`)return this._cropLeftTo(a),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let o=Kt(Math.floor(a/2)),s=Kt(a-o),c=rn(this._text,o).length,l=this._text.length-an(this._text,s).length,u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=i.length-(p-f),h=[];for(let e of this._spans)e.end<=f?h.push(e):e.start>=p?h.push(e.move(m)):(e.start<f&&h.push(new ca(e.start,f,e.style)),e.end>p&&h.push(new ca(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=rn(this._text,e)}_cropLeftTo(e){let t=this._text.length-an(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new ca(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}align(e,t){let n=this.cellLength;if(n>=t)return this;this.expandTabs();let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t)r.append(e);return r}*render(e){let t=ln(this._text,this._tabSize),n=this.resolvedStyle(e),{segments:r,covered:i}=this._buildSegments(t,n,e),a=la(r,i);r.push(U.line());let o=U.splitLines(r),s=Jt(Ri(e,this).maxWidth),c=this._overflow??e.overflow??`fold`,l=this._noWrap||(e.noWrap??!1),u=c===`ignore`?Jt(1/0):s,d=l?Jt(1/0):u,f=c===`ignore`?void 0:this._justify??e.justify,p=Pi(e,`…`,`.`);for(let e=0;e<o.length;e+=1){let t=o[e],r=a[e],i=e<o.length-1,l=Ui(ea(t),d,{fold:c===`fold`}),m=U.divide(t,l),h=this._justifyLines(m.map((e,t)=>({segments:[...this._fitLine(e,u,c,p)],free:e=>r(t===0?e:l[t-1]+e)})),s,n,f);for(let e=0;e<h.length;e+=1)yield*h[e],(e<h.length-1||i)&&(yield U.line())}this._end&&(yield new U(this._end))}measure(e){let t=ln(this._text,this._tabSize).text.split(`
24
- `),n=t.reduce((e,t)=>Math.max(e,A(t)),0),r=t.flatMap(Vi),i=r.length>0?r.reduce((e,t)=>Math.max(e,t),0):n,a=Jt(e.maxWidth);return{minimum:Math.min(i,a),maximum:Math.min(n,a)}}_buildSegments({text:e,offsetOf:t},n,r){let i=n=>Math.max(0,Math.min(t(n),e.length)),a=new Set;for(let e of this._spans)a.add(i(e.start)),a.add(i(e.end));a.delete(0),a.delete(e.length);let o=[0,...[...a].sort((e,t)=>e-t),e.length],s=new Map(o.map((e,t)=>[e,t]).reverse()),c=o.slice(0,-1).map(()=>n),l=c.map(()=>!1);for(let e of this._spans){let t=i(e.end),n=oa(r,e.style),a=s.get(i(e.start));for(let e=a;o[e]<t;e++)c[e]=c[e].add(n),l[e]=!0}return{segments:c.map((t,n)=>new U(e.slice(o[n],o[n+1]),t.isNull?void 0:t)),covered:l}}_justifyLines(e,t,n,r){return r===`full`?e.map(({segments:r},i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,n,r)])}*_justifyLine({segments:e,free:t},n,r,i){let a=r.isNull?void 0:r;switch(i){case`center`:case`right`:{let r=U.adjustLineLength(e,U.getLineLength(e)-ta(e),void 0,!1),o=Math.max(n-U.getLineLength(r),0),s=i===`center`?Math.floor(o/2):o;yield*ua(r,t,s,o-s,a);break}case`left`:yield*ua(e,t,0,Math.max(n-U.getLineLength(e),0),a);break;default:yield*e;break}}_fillLine(e,t,n){let r=ea(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+A(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=A(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=U.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new U(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=U.getLineLength(e);if(i-ta(e)<=t){yield*U.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*U.adjustLineLength(e,t-1,void 0,!1),yield new U(r);return}yield*U.adjustLineLength(e,t,void 0,!1)}};function la(e,t){let n=[[]];return e.forEach((e,r)=>{e.text.split(`
25
- `).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+A(e),free:!t[r]})})}),n.map(e=>t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].end<=t?n=i+1:r=i}return e[n].free})}function*ua(e,t,n,r,i){if(n+r===0)return yield*e;let a=e.filter(e=>e.text!==``),o=e=>` `.repeat(e),s=U.getLineLength(a);if(s===0)return yield new U(o(n+r),i);let c=a.length-1,l=n>0&&a[0].cellLength>0&&t(0),u=r>0&&a[c].cellLength>0&&t(s-1),d=+!!l,f=u?c:c+1;if(d>f){yield new U(o(n)+a[0].text+o(r),i);return}n>0&&(yield new U(o(n)+(l?a[0].text:``),i)),yield*a.slice(d,f),r>0&&(yield new U((u?a[c].text:``)+o(r),i))}const da=Object.freeze({name:`join`});var fa=class{fg;bg;constructor(e,t){this.fg=e,this.bg=t}};function pa(e,t,n,r){let i=e.join(t,n,r);return{render:e=>U.anchorLines([[...i.render(e)]],da)[0]}}function ma(e){return{render:t=>U.anchorLines([[...e.render(t)]],e)[0]}}var ha=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length===0)return;let n={...e,justify:void 0};yield*pa(this.joiner,null,t[0],{index:0}).render(n);for(let e=0;e<t.length;e++){let r=t[e];yield*ma(r).render(n);let i=e+1<t.length?t[e+1]:null;yield*pa(this.joiner,r,i,{index:e+1}).render(n)}yield U.line()}measure(e){let t=0;for(let n of this.render(e))t+=n.cellLength;return{minimum:t,maximum:t}}};const ga=[`seam`,`divider`,`lead`,`tail`];function*_a(e){yield e,`mix`in e&&(yield*_a(e.mix[0]),yield*_a(e.mix[1]))}const va=e=>typeof e.glyph==`string`?[e.glyph]:e.glyph.oneOf,ya=(e,t,n,r)=>{let i=va(e);return i[Math.floor(parseInt(Gi(`${t}:${n}:${r}`),16)/2**32*i.length)]},ba=e=>A(va(e)[0]??``),xa=e=>e.reduce((e,t)=>e+ba(t),0);function Sa(e,t,n){if(e===`ground`)return n(`mixes ground, whose colour is unknown`);let r=typeof e==`object`&&e?e:{};if((r.edge===`left`||r.edge===`right`)&&(r.part===`bg`||r.part===`fg`))return r.edge===t&&n(`names the ${t} neighbour, which this part is drawn without`),Object.freeze({edge:r.edge,part:r.part});if(typeof r.role==`string`)return Object.freeze({role:r.role});if(Array.isArray(r.mix)&&r.mix.length===3){let[e,i,a]=r.mix;return(typeof a!=`number`||!(a>=0&&a<=1))&&n(`mixes at ${String(a)}, outside 0..1`),Object.freeze({mix:Object.freeze([Sa(e,t,n),Sa(i,t,n),a])})}return n(`has a colour that is not a Paint: ${JSON.stringify(e)}`)}const Ca=(e,t,n)=>e===`ground`?e:Sa(e,t,n),wa={seam:void 0,divider:void 0,lead:`left`,tail:`right`};function Ta(e,t){if(!Array.isArray(e))throw Error(`CellJoiner: ${t} is not a list of cells`);return e.map((e,n)=>{if(typeof e!=`object`||!e)throw Error(`CellJoiner: ${t}[${n}] is not a cell`);return e})}function Ea(e,t){let n=n=>Object.freeze(Ta(e[n],`${t} ${n}`).map((e,r)=>{let i=e=>{throw Error(`CellJoiner: ${t} ${n}[${r}] ${e}`)},a=e.glyph,o=typeof a==`object`&&a?a.oneOf:void 0;typeof a!=`string`&&!(Array.isArray(o)&&o.every(e=>typeof e==`string`))&&i(`has a glyph that is neither a string nor a oneOf of strings: ${JSON.stringify(a)}`),e.fg===`ground`&&e.bg===`ground`&&i(`has ground on both sides`);let s=va(e);return s.length===0&&i(`has an empty oneOf`),s.some(t=>A(t)!==ba(e))&&i(`has oneOf members of different widths`),t===`ascii`&&!s.every(Ni)&&i(`is not ASCII`),Object.freeze({glyph:typeof e.glyph==`string`?e.glyph:Object.freeze({oneOf:Object.freeze([...s])}),fg:Ca(e.fg,wa[n],i),bg:Ca(e.bg,wa[n],i)})})),r=n(`seam`),i=e.divider===e.seam?r:n(`divider`);if(xa(i)!==xa(r))throw Error(`CellJoiner: ${t} divider is not the width of the seam`);return Object.freeze({seam:r,divider:i,lead:n(`lead`),tail:n(`tail`)})}const Da=(e,t)=>ga.flatMap(t=>e[t]).some(e=>[e.fg,e.bg].some(e=>e!==`ground`&&[..._a(e)].some(e=>`edge`in e&&e.edge===t&&e.part===`bg`)));function Oa(e){return{shape:e,reads:{left:Da(e,`left`),right:Da(e,`right`)}}}function ka(e){return e!==void 0&&!e.isDefault?e:void 0}function Aa(e){return e.flattenAlpha(gn)}function ja(e,t){if(e.reverse)return!1;let{color:n,bgcolor:r}=e.drawnColors(t??F.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?B.fromRgba(i).deltaE(B.fromRgba(a))<.04:n.number===void 0?n.name===r.name:n.number===r.number}function Ma(e,t,n){if(`edge`in e){let n=t[e.edge];if(e.part===`fg`)return n?.color;let r=ka(n?.bgcolor);return r&&Aa(r)}if(`role`in e)return Fi(n,e.role).color;let[r,i,a]=e.mix,o=Ma(r,t,n),s=Ma(i,t,n);return o&&s&&L.blend(o,s,a)}function Na(e,t,n){return e.fg===`ground`?new V({color:e.bg===`ground`?void 0:Ma(e.bg,t,n),reverse:!0}):new V({color:Ma(e.fg,t,n),bgcolor:e.bg===`ground`?void 0:Ma(e.bg,t,n)})}const Pa=e=>ga.flatMap(t=>e[t].flatMap(va)).join(``);var Fa=class{shape;ascii;_forms;constructor(e,t){this.shape=Ea(e,`glyph`),this.ascii=Ea(t,`ascii`),this._forms={glyph:Oa(this.shape),ascii:Oa(this.ascii)}}join(e,t,{index:n}){let r=this._forms;return{*render(i){let{shape:a,reads:o}=Pi(i,r.glyph,r.ascii,e=>Pa(e.shape)),s={left:e?.edgeStyle(`right`,i),right:t?.edgeStyle(`left`,i)},c=ka(s.left?.bgcolor),l=ka(s.right?.bgcolor),u=e!==null&&(!o.left||c!==void 0),d=t!==null&&(!o.right||l!==void 0),f={left:e,right:t},p=e=>e!==`ground`&&`edge`in e?f[e.edge]:null,m=e=>a[e].map((t,r)=>{let a=new fa(p(t.fg),p(t.bg));return new U(ya(t,e,n,r),Na(t,s,i).withAnchor({owner:a,row:0,col:0,inner:void 0}))});if(!u||!d){(u||d)&&(yield*m(d?`lead`:`tail`));return}let h=m(`seam`);yield*a.divider!==a.seam&&h.every(e=>e.style!==void 0&&ja(e.style,i.colorSystem))?m(`divider`):h}}}};const Ia={edge:`left`,part:`bg`},La={edge:`right`,part:`bg`},Ra={edge:`left`,part:`fg`},za={mix:[Ia,La,1/2]},Ba=`ground`;function Va(e,t){return{seam:[{glyph:e,fg:Ia,bg:La}],divider:[{glyph:t,fg:Ra,bg:Ia}],lead:[{glyph:e,fg:Ba,bg:La}],tail:[{glyph:e,fg:Ia,bg:Ba}]}}function Ha(e,t){let n=e=>({mix:[Ia,La,e]}),r={glyph:` `,fg:Ra,bg:Ia};return{...Va(e,t),seam:[{glyph:e,fg:Ia,bg:n(1/3)},{glyph:e,fg:n(1/3),bg:n(2/3)},{glyph:e,fg:n(2/3),bg:La}],divider:[r,{glyph:t,fg:Ra,bg:Ia},r]}}const Ua=(e,t,n,r,i)=>new Fa(e(t,n),{...e(r,i),lead:[]});function Wa(e,t,n){let r=[{glyph:t,fg:Ia,bg:Ba},...n,{glyph:e,fg:La,bg:Ba}];return{seam:r,divider:r,lead:[{glyph:e,fg:La,bg:Ba}],tail:[{glyph:t,fg:Ia,bg:Ba}]}}const Ga=(e,t)=>Wa(e,t,[{glyph:` `,fg:Ra,bg:Ba}]),Ka=(e,t,n)=>Wa(e,t,[{glyph:n,fg:{role:`strip.rail`},bg:Ba}]);function qa(e,t){let n=[{glyph:e,fg:t,bg:za}];return{seam:n,divider:n,lead:[],tail:[]}}function Ja(e){return{...qa({oneOf:e},Ia),divider:[{glyph:{oneOf:e},fg:Ra,bg:za}]}}const Ya=[{glyph:` | `,fg:{role:`strip.separator`},bg:Ba}],Xa={seam:Ya,divider:Ya,lead:[],tail:[]},Za=Object.freeze({powerline:Ua(Va,``,``,`>`,`>`),prism:Ua(Ha,``,``,`>`,`>`),slant:Ua(Va,``,``,`/`,`/`),backslant:Ua(Va,``,``,`\\`,`\\`),flame:Ua(Va,``,``,`}`,`}`),pixel:Ua(Va,``,``,`#`,`>`),ice:Ua(Va,``,``,`]`,`>`),bubble:Ua(Va,``,``,`)`,`)`),capsule:new Fa(Ga(``,``),Ga(`(`,`)`)),wrapper:new Fa(Wa(``,``,[]),Wa(`<`,`>`,[])),metro:new Fa(Ka(``,``,`──`),Ka(`(`,`)`,`--`)),stitch:new Fa(qa(`┊`,Ra),qa(`:`,Ra)),torn:new Fa(Ja([`▚▞`,`▞▚`,`▘▗`,`▝▖`,`▖▝`,`▗▘`]),Ja([`/\\`,`\\/`])),plain:new Fa(Xa,Xa)});function Qa(e,t){if(e.isControl)return``;let{text:n,style:r}=e;if(n.length===0||r===void 0)return n;let i=t.colorSystem===null?``:r.toSgrCodes(t.colorSystem),a=i.length>0?`\x1b[${i}m${n}\x1b[0m`:n,o=t.hyperlinks?r.link:void 0;return o===void 0?a:`${Yi(o)}${a}]8;;\\`}function $a(e,t){let n=[];for(let r of e)n.push(Qa(r,t));return n.join(``)}function eo(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=Dn(i===void 0?F.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,asciiOnly:t?.asciiOnly??!1,theme:t?.theme,onStyleError:t?.onStyleError,highlight:t?.highlight,highlighter:t?.highlighter,colorSystem:o.colorSystem};return $a(e.render(s),o)}function to(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const no={segments:[],width:0},ro={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function io(e,t){return ro[e](t)}function ao(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var oo=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>to(ma(t),e)),o=n=>i?to(pa(i,null,t[n],{index:n}),e):no,s=n=>i?to(pa(i,t[n],null,{index:n+1}),e):no,c=(n,r)=>i?to(pa(i,t[n],t[r],{index:r}),e):no,l=[],u=null,d=r>0?{segments:[new U(` `.repeat(r))],width:r}:no;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=io(p,i),o=ao(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new U(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new U(` `.repeat(e)))}yield*t.blocks[e].segments}yield U.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=to(t[i],e).width,o=this.joiner?to(pa(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?to(pa(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=to(pa(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=to(pa(this.joiner,null,t[0],{index:0}),e).width,r+=to(pa(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};const so=[`primary`,`secondary`,`accent`],co=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],lo={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},uo=(e,t)=>`${e}${lo[t]}`,fo=(e,t,n,r)=>Ko(e,n,r),po=(e,t,n,r)=>Jo(e,Fo(e,`text-${t}`),n,r),mo=e=>({tones:[co[e],co[e+2],co[e+1]],text:fo}),ho={muted:{tones:[`muted`],text:po},deepest:mo(0),deeper:mo(1),middle:mo(2),brighter:mo(3),brightest:mo(4)},go=1/0,_o={accent:{hues:[`secondary`,`accent`],run:go},duo:{hues:[`primary`,`secondary`],run:go},mono:{hues:[`primary`],run:go},alt:{hues:[`secondary`,`accent`],run:3}},vo=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),yo=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},bo=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],xo=e=>typeof e==`string`&&bo.includes(e),So={"van-der-corput":yo,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},Co=e=>So[e??`van-der-corput`];function wo(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const To=(e,t)=>Math.floor(e*t),Eo=(e,t)=>Math.round(e*t)%t;function Do(e){return e===void 0?0:e.distribution(e.index,e.count)}function Oo(e,t,n){let r=e[n(Do(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function ko(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const Ao=(e,t)=>To(Do(t),e.hues.length);function jo(e,t){let{row:n,cell:r}=ko(t);return Mo(e,n,r)}function Mo(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(Ao(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:Oo(e.shade.tones,n,Eo)}}function No(e,t){let{row:n,cell:r}=ko(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>Mo(e,n,t)).map(e=>[uo(e.hue,e.shade),e])).values()].sort((e,t)=>so.indexOf(e.hue)-so.indexOf(t.hue)||Po.indexOf(e.shade)-Po.indexOf(t.shade))}const Po=Object.keys(lo);function Fo(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}const Io=(e,t)=>Fo(e,uo(t.hue,t.shade)),Lo=2.2,Ro=(e,t)=>t.map(t=>Io(e,t));function zo(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const Bo=e=>t=>Ar(t,e),Vo=Bo(F.TRUECOLOR);function Ho(e,t,n,r){return Uo(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>Wo(e,t,n,r))}const Uo=zo();function Wo(e,t,n,r){let i=n.map(Vo),a=Fo(e,t),o=e=>Array.from({length:12},(t,n)=>B.fromRgba(a).mixAxes(B.fromRgba(e),{l:(n+1)/12,c:0,h:0,alpha:0}).toRgba()),s=o(new M(0,0,0)),c=[a,...o(new M(255,255,255)).flatMap((e,t)=>[e,s[t]])],l=e=>Math.min(1/0,...i.map(t=>P(Vo(e),t))),u=c.find(e=>l(e)>=2.2)??c.reduce((e,t)=>l(t)>l(e)?t:e),d=kr(u,r,(e,t)=>i.every(n=>P(e,t(n))>=2.2))??u,f=Bo(r),p=Math.min(1/0,...i.map(e=>P(f(d),f(e))));return{state:d,short:p>=2.2?null:p}}const Go=4.5;function Ko(e,t,n){return qo(e,`${t.hex}|${n}`,()=>{let r=Dr(t);return Jo(e,[`background`,`foreground`].map(t=>Fo(e,t)).reduce((e,t)=>P(r,t)<P(r,e)?t:e),t,n)})}const qo=zo();function Jo(e,t,n,r){return Yo(e,`${t.hex}|${n.hex}|${r}`,()=>Or(t,n,Go,r))}const Yo=zo();function Xo(e,t){return t.depth===0?Ro(e,t.ground):Zo(e,t)}const Zo=(e,t)=>t.depth===0?[]:[cs(e,{...t,depth:t.depth-1}).plane],Qo=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Lo}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${F[n]}; another shade or variation clears it`],$o=(e,t,n)=>t>=rs.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${F[n]}, under the ${rs.triggerPlane} that tells them apart; another style clears it`],es={base:.42,perDepth:.14,cap:.75},ts={floor:.12,span:.8};function ns(e,t){return so[(so.indexOf(e)+t)%so.length]}const rs={triggerPlane:.1,nestedPlane:.035};function is(e,t,n){return as(e,`${os(t)}|${n}`,()=>{let r=Ho(e,ns(t.hue,t.depth),Xo(e,t),n),{state:i}=r,a=ds(e,t,i,n),o=kr(cs(e,t).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${F[n]}`);let s=Bo(n);return{state:i,plane:o,shortfalls:n===F.DEFAULT?[]:[...Qo(e,r,n),...$o(e,ss(s(i),s(o)),n)]}})}const as=zo(),os=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>uo(e.hue,e.shade)).join(`+`)}`,ss=(e,t)=>B.fromRgba(e).deltaE(B.fromRgba(t));function cs(e,t){return ls(e,os(t),()=>us(e,t))}const ls=zo();function us(e,t){let{state:n}=Ho(e,ns(t.hue,t.depth),Xo(e,t),F.TRUECOLOR),r=Math.min(es.cap,es.base+es.perDepth*t.depth),i=(t,r)=>Wn(n,Fo(e,t),r),a=Zo(e,t),o=e=>ss(Vo(n),Vo(e))>=rs.triggerPlane&&a.every(t=>ss(Vo(t),Vo(e))>=rs.nestedPlane),s=i(`background`,r);return{state:n,plane:[s,i(`foreground`,r),i(`background`,es.cap),i(`foreground`,es.cap)].find(o)??s}}function ds(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>cs(e,{hue:i,depth:t,ground:o}).state,c=t=>cs(e,{hue:i,depth:t,ground:o}).plane,l=c(a),u=(e,t)=>ss(Vo(l),Vo(t))>=e?e:0,d=ns(i,a+1),f=Xo(e,{hue:i,depth:a+1,ground:o}),p=Ho(e,d,f,F.TRUECOLOR),m=Ho(e,d,f,r).state,h=P(Vo(l),Vo(p.state))>=2.2?Lo:0,g=(e,t)=>(n,r)=>ss(n,r(e))>=t;return[g(n,u(rs.triggerPlane,s(a))),(e,t)=>P(e,t(m))>=h,...a>0?[g(is(e,{hue:i,depth:a-1,ground:o},r).plane,u(rs.nestedPlane,c(a-1)))]:[]]}function fs(e,t,n,r){let i=is(e,t,r),a=cs(e,t),o=e=>Wn(a.plane,a.state,e),s=ts.floor+ts.span*wo(n),c=ts.floor+ts.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=kr(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const ps=e=>({kind:`bar`,decor:e,address:[]}),ms=(e,t)=>({...e,address:[...e.address,t]}),hs=e=>({kind:`band`,band:e,address:[]});function gs(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=jo(r,i),o=Io(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=No(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=fs(e,r,i,n);return{tint:a,text:Ko(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const _s=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function vs(e){let t=typeof e==`string`?_s.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const ys=`textual-dark`;function bs(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function xs(){return Jr()}function Ss(){return[`bar`,...xs()]}let Cs;function ws(e){return Cs??=new Set(Ss()),Cs.has(e)}function Ts(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return bs(e===void 0?null:a(e),t,a(n??r),r,a)}const Es=[`style`,`palette`];function Ds(e){return e!==void 0&&e.includes(`{{`)}function Os(e,t,n,r,i){let a=Ds(n)?{kind:`expression`,source:n}:i(n??r.name);return bs(e===void 0?null:i(e),t,a,r,i)}function ks(e,t){return e.kind===`decided`?e:t(e.source)}const As=`none`;function js(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Ms(e,t){return js(e,t)??js(`none`,t)??{kind:`decided`,name:`none`,value:cr}}function Ns(e,t,n,r){return Os(e,t,n,Ms(As,r),e=>js(e,r))}const Ps=Object.freeze(Object.keys(Za));function Fs(e){return Ps.includes(e)}const Is=[`powerline`,`capsule`,`plain`];function Ls(e){return Is.includes(e)}function Rs(e,t,n){return bs(e,t,n,`powerline`,e=>Fs(e)?e:null)}const zs=[`unicode`,`ascii`];function Bs(e){return[...e].every(e=>e.codePointAt(0)<=127)}const Vs=`unicode`,Hs=[`truecolor`,`256`,`ansi`,`none`];function Us(e){return On(e)??F.DEFAULT}const Ws=Object.keys(_o);function Gs(e){return Ws.includes(e)}function Ks(e,t,n){return bs(e,t,n,`accent`,e=>Gs(e)?e:null)}const qs=Object.keys(ho);function Js(e){return qs.includes(e)}function Ys(e,t,n){return bs(e,t,n,`middle`,e=>Js(e)?e:null)}const Xs=`true`,Zs=`false`,Qs=[Xs,Zs],$s={min:0,max:16};function ec(e){return e===`true`?!0:e===`false`?!1:null}function tc(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function nc(e){return tc(e,$s)}function rc(e,t,n){return bs(e,t,n,!0,ec)}function ic(e,t,n){return bs(e,t,n,!0,ec)}function ac(e,t,n){return bs(e,t,n,1,nc)}var oc=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const sc=/[A-Za-z_$\p{L}]/u,cc=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,lc=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,uc=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var dc=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new oc(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(uc.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
26
- `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&lc.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return ot.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new oc(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
19
+ `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(qt(s));o.push(t),s=0;break}}return o}static*cropLines(t,n){let r=Math.max(0,n),i=0;for(let n of t){if(n.isControl){yield n;continue}let t=n.text.split(`
20
+ `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Xt(t[e],qt(r-i));i+=k(n),t[e]=n}let a=t.join(`
21
+ `);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Ui(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)t.push(a),i+=a.cellLength,r++,a=e[r];if(a&&!a.isControl&&i<o){let e=qt(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}};function Ui(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const Wi=e=>/^[\x00-\x7F]*$/.test(e);function Gi(e,t,n,r=String){return e.asciiOnly===!0&&!Wi(r(t))?n:t}function Ki(e,t){return(e.theme??Bi).resolve(t)}function qi(e){return{...e,maxWidth:Yt(e.maxWidth)}}function Ji(e){return{...e,onDraw:void 0}}function Yi(e,t){let n=qi(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(Ji(n)).maximum;if(!Number.isFinite(r))throw RangeError(`maxWidth is unbounded and this renderable has no natural width to fall back on: its content does not implement measure(), or something inside it asked for an unbounded width of its own. Render it at a finite width, or give the content a measure() that reports a finite maximum.`);return{...n,maxWidth:Yt(r)}}function Xi(e){return typeof e==`object`&&!!e&&`measure`in e&&typeof e.measure==`function`}var Zi=class e{minimum;maximum;constructor(e,t){this.minimum=e,this.maximum=t}get span(){return this.maximum-this.minimum}normalize(){let t=e=>Number.isNaN(e)?0:e;return new e(Math.max(0,Math.min(t(this.minimum),t(this.maximum))),Math.max(0,t(this.maximum)))}withMaximum(t){return new e(Math.min(this.minimum,t),Math.min(this.maximum,t))}withMinimum(t){let n=Math.max(this.minimum,t);return new e(n,Math.max(this.maximum,n))}clamp(t,n){return new e(Math.min(Math.max(this.minimum,t),n),Math.min(Math.max(this.maximum,t),n))}static get(t,n){if(t.maxWidth<1)return new e(0,0);if(!Xi(n))return new e(0,t.maxWidth);let{minimum:r,maximum:i}=n.measure(Ji(t));return new e(r,Math.min(i,t.maxWidth)).normalize()}};function*Qi(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function $i(e){return k(e.trimEnd())}function ea(e){return Array.from(Qi(e),$i)}function ta(e,t){let n=Qt(e,t);return k(n[0])>t?[``,...n]:n}function na(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(qt(e))},a=0,o=0;for(let r of Qi(e)){let e=$i(r);if(t-a>=e)a+=k(r);else if(n.fold&&e>t){let e=ta(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=k(r):n+=k(r)}}else i(o),a=k(r);o+=k(r)}return r}const ra=new TextEncoder;function ia(e){let t=2166136261;for(let n of ra.encode(e))t=Math.imul(t^n,16777619);return(t>>>0).toString(16).padStart(8,`0`)}const aa=`\\x1b\\x07\\x9c`,oa=RegExp(`[${aa}]`,`g`);function sa(e){return e.replace(oa,``)}function ca(e){let t=sa(e);return`\x1b]8;id=${ia(t)};${t}\x1b\\`}const la=RegExp(`\\x1b\\]8;([^;${aa}]*);([^${aa}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(la.source,`g`);const ua=/[\x00-\x08\x0B-\x1F\x7F]/g;function da(e){return e.replace(ua,``)}const fa=/\s+$/;function pa(e){return e.map(e=>e.text).join(``)}function ma(e){return k(fa.exec(pa(e))?.[0]??``)}function ha(e){let t=e.link;if(!t)return e;let n=sa(t);return n===t?e:e.withLink(n)}function ga(e){return typeof e==`string`?e:e instanceof V?_a(e):{under:e.under,over:_a(e.over)}}function _a(e){return ha(e.anchor?e.withAnchor(void 0):e)}function va(e){return e instanceof V?e.isNull:e===``}function ya(e,t){return ha(t instanceof V?t:typeof t==`string`?ba(e,t):ba(e,t.under).add(t.over))}function ba(e,t){try{return Ki(e,t)}catch(n){if(!(n instanceof Ei))throw n;return e.onStyleError?.(n,t),H}}var xa=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},W=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?da(e):``,this._spans=[],this._style=ga(t?.style??H),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
22
+ `,this._tabSize=ln(t?.tabSize??8),this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=da(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new xa(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return k(un(this._text,this._tabSize).text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=ga(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}resolvedStyle(e){return ya(e,this._style)}edgeStyle(e,t){let n=this.resolvedStyle(t);if(this._text.length===0)return n;let r=e===`left`?0:this._text.length-1,i=n;for(let e of this._spans)e.start<=r&&r<e.end&&(i=i.add(ya(t,e.style)));return i}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text,this._addSpan(e,this._text.length,t._style);for(let n of t._spans)this._spans.push(n.move(e));return this}let r=da(t),i=this._text.length;return this._text+=r,this._addSpan(i,this._text.length,n??``),this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new xa(t,n,e.style))}return l}_addSpan(e,t,n){let r=ga(n);va(r)||this._spans.push(new xa(e,t,r))}stylize(e,t,n){let r=this._text.length,i=t===void 0?0:t<0?r+t:t,a=n===void 0?r:n<0?r+n:n;if(i>=a||i>=r||a<=0)return this;let o=Math.max(0,i),s=Math.min(r,a);return this._addSpan(o,s,e),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._addSpan(i,i+n.length,t),e=r+n.length}}r++;continue}this._addSpan(o.index,o.index+o[0].length,t??``),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=0;for(let n of e){if(n.length===0)continue;let e=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),a=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,a),s;for(;(s=o.exec(this._text))!==null;)this._addSpan(s.index,s.index+s[0].length,t),i++}return i}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
23
+ `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}expandTabs(){let e=un(this._text,this._tabSize);return this._spans=this._spans.map(t=>new xa(e.offsetOf(t.start),e.offsetOf(t.end),t.style)),this._text=e.text,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;this.expandTabs();let n=t?.mode??`right`,r=Yt(e),i=an(t?.marker??`…`,r),a=qt(r-k(i));if(n===`right`)return this._cropRightTo(a),i&&(this._text+=i),this;if(n===`left`)return this._cropLeftTo(a),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let o=qt(Math.floor(a/2)),s=qt(a-o),c=an(this._text,o).length,l=this._text.length-on(this._text,s).length,u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=i.length-(p-f),h=[];for(let e of this._spans)e.end<=f?h.push(e):e.start>=p?h.push(e.move(m)):(e.start<f&&h.push(new xa(e.start,f,e.style)),e.end>p&&h.push(new xa(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=an(this._text,e)}_cropLeftTo(e){let t=this._text.length-on(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new xa(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}align(e,t){let n=this.cellLength;if(n>=t)return this;this.expandTabs();let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t)r.append(e);return r}*render(e){let t=un(this._text,this._tabSize),n=this.resolvedStyle(e),{segments:r,covered:i}=this._buildSegments(t,n,e),a=Sa(r,i);r.push(U.line());let o=U.splitLines(r),s=Yt(Yi(e,this).maxWidth),c=this._overflow??e.overflow??`fold`,l=this._noWrap||(e.noWrap??!1),u=c===`ignore`?Yt(1/0):s,d=l?Yt(1/0):u,f=c===`ignore`?void 0:this._justify??e.justify,p=Gi(e,`…`,`.`);for(let e=0;e<o.length;e+=1){let t=o[e],r=a[e],i=e<o.length-1,l=na(pa(t),d,{fold:c===`fold`}),m=U.divide(t,l),h=this._justifyLines(m.map((e,t)=>({segments:[...this._fitLine(e,u,c,p)],free:e=>r(t===0?e:l[t-1]+e)})),s,n,f);for(let e=0;e<h.length;e+=1)yield*h[e],(e<h.length-1||i)&&(yield U.line())}this._end&&(yield new U(this._end))}measure(e){let t=un(this._text,this._tabSize).text.split(`
24
+ `),n=t.reduce((e,t)=>Math.max(e,k(t)),0),r=t.flatMap(ea),i=r.length>0?r.reduce((e,t)=>Math.max(e,t),0):n,a=Yt(e.maxWidth);return{minimum:Math.min(i,a),maximum:Math.min(n,a)}}_buildSegments({text:e,offsetOf:t},n,r){let i=n=>Math.max(0,Math.min(t(n),e.length)),a=new Set;for(let e of this._spans)a.add(i(e.start)),a.add(i(e.end));a.delete(0),a.delete(e.length);let o=[0,...[...a].sort((e,t)=>e-t),e.length],s=new Map(o.map((e,t)=>[e,t]).reverse()),c=o.slice(0,-1).map(()=>n),l=c.map(()=>!1);for(let e of this._spans){let t=i(e.end),n=ya(r,e.style),a=s.get(i(e.start));for(let e=a;o[e]<t;e++)c[e]=c[e].add(n),l[e]=!0}return{segments:c.map((t,n)=>new U(e.slice(o[n],o[n+1]),t.isNull?void 0:t)),covered:l}}_justifyLines(e,t,n,r){return r===`full`?e.map(({segments:r},i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,n,r)])}*_justifyLine({segments:e,free:t},n,r,i){let a=r.isNull?void 0:r;switch(i){case`center`:case`right`:{let r=U.adjustLineLength(e,U.getLineLength(e)-ma(e),void 0,!1),o=Math.max(n-U.getLineLength(r),0),s=i===`center`?Math.floor(o/2):o;yield*Ca(r,t,s,o-s,a);break}case`left`:yield*Ca(e,t,0,Math.max(n-U.getLineLength(e),0),a);break;default:yield*e;break}}_fillLine(e,t,n){let r=pa(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+k(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=k(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=U.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new U(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=U.getLineLength(e);if(i-ma(e)<=t){yield*U.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*U.adjustLineLength(e,t-1,void 0,!1),yield new U(r);return}yield*U.adjustLineLength(e,t,void 0,!1)}};function Sa(e,t){let n=[[]];return e.forEach((e,r)=>{e.text.split(`
25
+ `).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+k(e),free:!t[r]})})}),n.map(e=>t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].end<=t?n=i+1:r=i}return e[n].free})}function*Ca(e,t,n,r,i){if(n+r===0)return yield*e;let a=e.filter(e=>e.text!==``),o=e=>` `.repeat(e),s=U.getLineLength(a);if(s===0)return yield new U(o(n+r),i);let c=a.length-1,l=n>0&&a[0].cellLength>0&&t(0),u=r>0&&a[c].cellLength>0&&t(s-1),d=+!!l,f=u?c:c+1;if(d>f){yield new U(o(n)+a[0].text+o(r),i);return}n>0&&(yield new U(o(n)+(l?a[0].text:``),i)),yield*a.slice(d,f),r>0&&(yield new U((u?a[c].text:``)+o(r),i))}const wa=Object.freeze({name:`join`});var Ta=class{fg;bg;constructor(e,t){this.fg=e,this.bg=t}};function Ea(e,t,n,r){let i=e.join(t,n,r);return{render:e=>U.anchorLines([[...i.render(e)]],wa)[0]}}function Da(e){return{render:t=>U.anchorLines([[...e.render(t)]],e)[0]}}var Oa=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length===0)return;let n={...e,justify:void 0};yield*Ea(this.joiner,null,t[0],{index:0}).render(n);for(let e=0;e<t.length;e++){let r=t[e];yield*Da(r).render(n);let i=e+1<t.length?t[e+1]:null;yield*Ea(this.joiner,r,i,{index:e+1}).render(n)}yield U.line()}measure(e){let t=0;for(let n of this.render(e))t+=n.cellLength;return{minimum:t,maximum:t}}};const ka=[`seam`,`divider`,`lead`,`tail`];function*Aa(e){yield e,`mix`in e&&(yield*Aa(e.mix[0]),yield*Aa(e.mix[1]))}const ja=e=>typeof e.glyph==`string`?[e.glyph]:e.glyph.oneOf,Ma=(e,t,n,r)=>{let i=ja(e);return i[Math.floor(parseInt(ia(`${t}:${n}:${r}`),16)/2**32*i.length)]},Na=e=>k(ja(e)[0]??``),Pa=e=>e.reduce((e,t)=>e+Na(t),0);function Fa(e,t,n){if(e===`ground`)return n(`mixes ground, whose colour is unknown`);let r=typeof e==`object`&&e?e:{};if((r.edge===`left`||r.edge===`right`)&&(r.part===`bg`||r.part===`fg`))return r.edge===t&&n(`names the ${t} neighbour, which this part is drawn without`),Object.freeze({edge:r.edge,part:r.part});if(typeof r.role==`string`)return Object.freeze({role:r.role});if(Array.isArray(r.mix)&&r.mix.length===3){let[e,i,a]=r.mix;return(typeof a!=`number`||!(a>=0&&a<=1))&&n(`mixes at ${String(a)}, outside 0..1`),Object.freeze({mix:Object.freeze([Fa(e,t,n),Fa(i,t,n),a])})}return n(`has a colour that is not a Paint: ${JSON.stringify(e)}`)}const Ia=(e,t,n)=>e===`ground`?e:Fa(e,t,n),La={seam:void 0,divider:void 0,lead:`left`,tail:`right`};function Ra(e,t){if(!Array.isArray(e))throw Error(`CellJoiner: ${t} is not a list of cells`);return e.map((e,n)=>{if(typeof e!=`object`||!e)throw Error(`CellJoiner: ${t}[${n}] is not a cell`);return e})}function za(e,t){let n=n=>Object.freeze(Ra(e[n],`${t} ${n}`).map((e,r)=>{let i=e=>{throw Error(`CellJoiner: ${t} ${n}[${r}] ${e}`)},a=e.glyph,o=typeof a==`object`&&a?a.oneOf:void 0;typeof a!=`string`&&!(Array.isArray(o)&&o.every(e=>typeof e==`string`))&&i(`has a glyph that is neither a string nor a oneOf of strings: ${JSON.stringify(a)}`),e.fg===`ground`&&e.bg===`ground`&&i(`has ground on both sides`);let s=ja(e);return s.length===0&&i(`has an empty oneOf`),s.some(t=>k(t)!==Na(e))&&i(`has oneOf members of different widths`),t===`ascii`&&!s.every(Wi)&&i(`is not ASCII`),Object.freeze({glyph:typeof e.glyph==`string`?e.glyph:Object.freeze({oneOf:Object.freeze([...s])}),fg:Ia(e.fg,La[n],i),bg:Ia(e.bg,La[n],i)})})),r=n(`seam`),i=e.divider===e.seam?r:n(`divider`);if(Pa(i)!==Pa(r))throw Error(`CellJoiner: ${t} divider is not the width of the seam`);return Object.freeze({seam:r,divider:i,lead:n(`lead`),tail:n(`tail`)})}const Ba=(e,t)=>ka.flatMap(t=>e[t]).some(e=>[e.fg,e.bg].some(e=>e!==`ground`&&[...Aa(e)].some(e=>`edge`in e&&e.edge===t&&e.part===`bg`)));function Va(e){return{shape:e,reads:{left:Ba(e,`left`),right:Ba(e,`right`)}}}function Ha(e){return e!==void 0&&!e.isDefault?e:void 0}function Ua(e){return e.flattenAlpha(_n)}function Wa(e,t){if(e.reverse)return!1;let{color:n,bgcolor:r}=e.drawnColors(t??P.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?B.fromRgba(i).deltaE(B.fromRgba(a))<.04:n.number===void 0?n.name===r.name:n.number===r.number}function Ga(e,t,n){if(`edge`in e){let n=t[e.edge];if(e.part===`fg`)return n?.color;let r=Ha(n?.bgcolor);return r&&Ua(r)}if(`role`in e)return Ki(n,e.role).color;let[r,i,a]=e.mix,o=Ga(r,t,n),s=Ga(i,t,n);return o&&s&&I.blend(o,s,a)}function Ka(e,t,n){return e.fg===`ground`?new V({color:e.bg===`ground`?void 0:Ga(e.bg,t,n),reverse:!0}):new V({color:Ga(e.fg,t,n),bgcolor:e.bg===`ground`?void 0:Ga(e.bg,t,n)})}const qa=e=>ka.flatMap(t=>e[t].flatMap(ja)).join(``);var Ja=class{shape;ascii;_forms;constructor(e,t){this.shape=za(e,`glyph`),this.ascii=za(t,`ascii`),this._forms={glyph:Va(this.shape),ascii:Va(this.ascii)}}join(e,t,{index:n}){let r=this._forms;return{*render(i){let{shape:a,reads:o}=Gi(i,r.glyph,r.ascii,e=>qa(e.shape)),s={left:e?.edgeStyle(`right`,i),right:t?.edgeStyle(`left`,i)},c=Ha(s.left?.bgcolor),l=Ha(s.right?.bgcolor),u=e!==null&&(!o.left||c!==void 0),d=t!==null&&(!o.right||l!==void 0),f={left:e,right:t},p=e=>e!==`ground`&&`edge`in e?f[e.edge]:null,m=e=>a[e].map((t,r)=>{let a=new Ta(p(t.fg),p(t.bg));return new U(Ma(t,e,n,r),Ka(t,s,i).withAnchor({owner:a,row:0,col:0,inner:void 0}))});if(!u||!d){(u||d)&&(yield*m(d?`lead`:`tail`));return}let h=m(`seam`);yield*a.divider!==a.seam&&h.every(e=>e.style!==void 0&&Wa(e.style,i.colorSystem))?m(`divider`):h}}}};const Ya={edge:`left`,part:`bg`},Xa={edge:`right`,part:`bg`},Za={edge:`left`,part:`fg`},Qa={mix:[Ya,Xa,1/2]},$a=`ground`;function eo(e,t){return{seam:[{glyph:e,fg:Ya,bg:Xa}],divider:[{glyph:t,fg:Za,bg:Ya}],lead:[{glyph:e,fg:$a,bg:Xa}],tail:[{glyph:e,fg:Ya,bg:$a}]}}function to(e,t){let n=e=>({mix:[Ya,Xa,e]}),r={glyph:` `,fg:Za,bg:Ya};return{...eo(e,t),seam:[{glyph:e,fg:Ya,bg:n(1/3)},{glyph:e,fg:n(1/3),bg:n(2/3)},{glyph:e,fg:n(2/3),bg:Xa}],divider:[r,{glyph:t,fg:Za,bg:Ya},r]}}const no=(e,t,n,r,i)=>new Ja(e(t,n),{...e(r,i),lead:[]});function ro(e,t,n){let r=[{glyph:t,fg:Ya,bg:$a},...n,{glyph:e,fg:Xa,bg:$a}];return{seam:r,divider:r,lead:[{glyph:e,fg:Xa,bg:$a}],tail:[{glyph:t,fg:Ya,bg:$a}]}}const io=(e,t)=>ro(e,t,[{glyph:` `,fg:Za,bg:$a}]),ao=(e,t,n)=>ro(e,t,[{glyph:n,fg:{role:`strip.rail`},bg:$a}]);function oo(e,t){let n=[{glyph:e,fg:t,bg:Qa}];return{seam:n,divider:n,lead:[],tail:[]}}function so(e){return{...oo({oneOf:e},Ya),divider:[{glyph:{oneOf:e},fg:Za,bg:Qa}]}}const co=[{glyph:` | `,fg:{role:`strip.separator`},bg:$a}],lo={seam:co,divider:co,lead:[],tail:[]},uo=Object.freeze({powerline:no(eo,``,``,`>`,`>`),prism:no(to,``,``,`>`,`>`),slant:no(eo,``,``,`/`,`/`),backslant:no(eo,``,``,`\\`,`\\`),flame:no(eo,``,``,`}`,`}`),pixel:no(eo,``,``,`#`,`>`),ice:no(eo,``,``,`]`,`>`),bubble:no(eo,``,``,`)`,`)`),capsule:new Ja(io(``,``),io(`(`,`)`)),wrapper:new Ja(ro(``,``,[]),ro(`<`,`>`,[])),metro:new Ja(ao(``,``,`──`),ao(`(`,`)`,`--`)),stitch:new Ja(oo(`┊`,Za),oo(`:`,Za)),torn:new Ja(so([`▚▞`,`▞▚`,`▘▗`,`▝▖`,`▖▝`,`▗▘`]),so([`/\\`,`\\/`])),plain:new Ja(lo,lo)});function fo(e,t){if(e.isControl)return``;let{text:n,style:r}=e;if(n.length===0||r===void 0)return n;let i=t.colorSystem===null?``:r.toSgrCodes(t.colorSystem),a=i.length>0?`\x1b[${i}m${n}\x1b[0m`:n,o=t.hyperlinks?r.link:void 0;return o===void 0?a:`${ca(o)}${a}]8;;\\`}function po(e,t){let n=[];for(let r of e)n.push(fo(r,t));return n.join(``)}function mo(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=On(i===void 0?P.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,asciiOnly:t?.asciiOnly??!1,theme:t?.theme,onStyleError:t?.onStyleError,highlight:t?.highlight,highlighter:t?.highlighter,colorSystem:o.colorSystem};return po(e.render(s),o)}var ho=class{renderable;effect;t;key;theme;constructor(e,t,n){if(this.renderable=e,this.effect=t,!Number.isFinite(n.t))throw RangeError(`Effected needs a finite t, got ${n.t}`);this.t=n.t,this.key=n.key,this.theme=n.theme}*render(e){let t=this.renderable.render(e);if(e.colorSystem===null){yield*t;return}let n=e.colorSystem??P.TRUECOLOR,r=_o(t,n,this.theme),i=this.effect(this.t,vo(r,n,this.theme)),a=0,o=0;for(let{segment:e,look:t}of r){if(t===void 0){yield e;continue}let{style:r,wire:s,slots:c,pair:l}=t,{terminal:u}=l,d={fg:l.fg,bg:l.bg},f=[],p=0;for(let t of nn(e.text)){let e=c;if(t===`
26
+ `)a++,o=0;else{let n=r.anchor&&xi(r.anchor,p);e=yo(i(d,{row:a,col:o,seed:this.seed(a,o),terminal:u,anchor:n}),l.reverse),o+=k(t)}p+=k(t);let m=f[f.length-1],h=m!==void 0&&wo(m.colors,e)?m.drawn:this.respec(s,c,e,n);m!==void 0&&xo(m.drawn,h)?(m.text+=t,m.cells+=k(t),m.colors=e):f.push({text:t,cells:k(t),colors:e,drawn:h})}if(f.every(e=>xo(e.drawn,s))){yield e;continue}let m=0;for(let e of f){let t=r.shiftedBy(m),n=xo(e.drawn,s)?t:t.add(V.fromColor(e.drawn.color,e.drawn.bgcolor));yield new U(e.text,n),m+=e.cells}}}measure(e){return Zi.get(e,this.renderable)}static shows(e,t,n,r){let i=yo(e,e.reverse),a=bo(i,yo(t,e.reverse),n,r);return yo({fg:a.fg?.getTruecolor(r,!0)??i.fg,bg:a.bg?.getTruecolor(r,!1)??i.bg},e.reverse)}respec(e,t,n,r){let i=bo(t,n,r,this.theme);return{color:i.fg??e.color,bgcolor:i.bg??e.bgcolor}}seed(e,t){return Number.parseInt(ia(`${this.key}:${e}:${t}`),16)/4294967296}};const go=I.default();function _o(e,t,n){return[...e].map(e=>{if(e.isControl)return{segment:e,look:void 0};let r=e.style??V.null(),i=r.drawnColors(t),a={fg:(i.color??go).getTruecolor(n,!0),bg:(i.bgcolor??go).getTruecolor(n,!1)},o=r.reverse===!0,s=yo({fg:i.color?.isDefault??!0,bg:i.bgcolor?.isDefault??!0},o);return{segment:e,look:{style:r,wire:i,slots:a,pair:{...yo(a,o),terminal:s,reverse:o}}}})}function vo(e,t,n){let r=e.flatMap(({segment:e,look:t})=>t!==void 0&&e.text.trim()!==``&&!Si(t.style.anchor,wa)?[t.pair]:[]),i=[...new Map(r.map(e=>[`${e.fg.hex}/${e.bg.hex}/${e.terminal.fg}/${e.terminal.bg}/${e.reverse}`,e])).values()],a=e=>i.flatMap(t=>t.terminal[e]?[]:[t[e].hex]);return{pairs:i,colors:new Set([...a(`fg`),...a(`bg`)]),fills:new Set(a(`bg`)),depth:t,theme:n}}function yo(e,t){return t?{fg:e.bg,bg:e.fg}:e}function bo(e,t,n,r){let i=t.bg.compositeOver(_n),a=t.fg.compositeOver(i);return{fg:I.matchMove(e.fg,a,n,r,!0),bg:I.matchMove(e.bg,i,n,r,!1)}}function xo(e,t){return So(e.color,t.color,!0)&&So(e.bgcolor,t.bgcolor,!1)}function So(e,t,n){return e===t||Co(e,n)===Co(t,n)}function Co(e,t){return e?.getAnsiCodes(t).join(`;`)??``}function wo(e,t){return To(e.fg,t.fg)&&To(e.bg,t.bg)}function To(e,t){return e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha}const Eo=(()=>{let e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];return[...e,...e]})(),Do=e=>e*e*e*(e*(e*6-15)+10),Oo=(e,t,n)=>e+n*(t-e);function ko(e,t,n,r){let i=e&15,a=i<8?t:n,o=i<4?n:i===12||i===14?t:r;return(i&1?-a:a)+(i&2?-o:o)}function Ao(e,t,n){let r=Math.floor(e),i=Math.floor(t),a=Math.floor(n),o=r&255,s=i&255,c=a&255;e-=r,t-=i,n-=a;let l=Do(e),u=Do(t),d=Do(n),f=Eo[o]+s,p=Eo[f]+c,m=Eo[f+1]+c,h=Eo[o+1]+s,g=Eo[h]+c,_=Eo[h+1]+c;return Oo(Oo(Oo(ko(Eo[p],e,t,n),ko(Eo[g],e-1,t,n),l),Oo(ko(Eo[m],e,t-1,n),ko(Eo[_],e-1,t-1,n),l),u),Oo(Oo(ko(Eo[p+1],e,t,n-1),ko(Eo[g+1],e-1,t,n-1),l),Oo(ko(Eo[m+1],e,t-1,n-1),ko(Eo[_+1],e-1,t-1,n-1),l),u),d)}function jo(e,t,n,r){let i=0,a=1,o=0;for(let s=0;s<r;s++){let r=2**s;i+=a*Ao(e*r,t*r,n*r),o+=a,a/=2}return i/o}function Mo(e,t){let n=Math.sin(e*12.9898+t*78.233)*43758.5453;return n-Math.floor(n)}function No(e,t,n){let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)}const Po=Array.from({length:48},(e,t)=>(t+1)/48),Fo=[`fg`,`bg`];function Io({pairs:e,depth:t,theme:n},r,i){let a=(e,t)=>e.terminal[t]?void 0:e[t].hex,o=new Map(e.flatMap(e=>Fo.flatMap(t=>{let n=a(e,t);return n===void 0?[]:[[n,e[t]]]}))),s=t===P.TRUECOLOR?.01:0,c=new Map([...r].filter(e=>!o.has(e)).map(e=>[e,1])),l=e=>B.fromRgba(o.get(e)).l;for(let u of[...r].filter(e=>o.has(e)).sort((e,t)=>l(t)-l(e))){let r=e.flatMap(e=>{let t=Fo.find(t=>a(e,t)===u);if(t===void 0)return[];let n=a(e,t===`fg`?`bg`:`fg`);return[[e,t,n===void 0?0:c.get(n)??0]]}),o=e=>r.every(([r,a,o])=>{let c=Math.min(N(r.fg,r.bg),4.5)-s,l=(t,n)=>zo(i,r[t],(t===a?e:o)*n);return Po.every(e=>{let i=ho.shows(r,{fg:l(`fg`,e),bg:l(`bg`,e)},t,n);return N(i.fg,i.bg)>=c})}),[l,d]=o(1)?[1,1]:[0,1];for(let e=0;e<20&&d-l>.001;e++){let e=(l+d)/2;[l,d]=o(e)?[e,d]:[l,e]}c.set(u,l)}return c}function Lo(e,t){let n=new WeakMap;return Ro(e,r=>{let i=t??r.colors,a=[r.depth,...r.pairs.map(({fg:e,bg:t,terminal:n,reverse:r})=>`${e.hex}/${t.hex}/${n.fg}/${n.bg}/${r}`),`|`,...i].join(` `),o=n.get(r.theme)??new Gt;return n.set(r.theme,o),o.get(a,()=>Io(r,i,e.touch))})}function Ro(e,t){return(n,r)=>{let i=t(r),a=e.field(n);return({fg:t,bg:n},r)=>{let o=Math.round(Uo(a(r))*48)/48,s=(t,n)=>zo(e.touch,t,(n?0:i.get(t.hex)??0)*o);return{fg:s(t,r.terminal.fg),bg:s(n,r.terminal.bg)}}}}function zo(e,t,n){return n===0?t:e(t,n)}function Bo(e){if(!(Number.isFinite(e.seconds)&&e.seconds>0))throw RangeError(`curve: seconds must be a positive number of seconds, got ${e.seconds}`);if(!(e.swing>=0&&e.swing<=1))throw RangeError(`curve: swing must be in [0, 1], got ${e.swing}`)}const Vo={shimmer:{seconds:109,ease:_i.linear,swing:.9},pulse:{seconds:43,ease:_i.linear,swing:.85},sparkle:{seconds:139,ease:_i.linear,swing:.95},wheel:{seconds:907,ease:_i.linear,swing:1},fade:{seconds:20,ease:_i[`ease-in-out`],swing:1},dissolve:{seconds:30,ease:_i[`ease-in-out`],swing:1}},Ho={sun:new j(255,228,176),firefly:new j(222,245,140)},Uo=e=>Math.min(1,Math.max(0,e));function Wo(e,t,n){if(!(n>=0&&n<=1))throw RangeError(`blend: w must be in [0, 1]; got ${n}`);let r=Math.PI/180,i=(1-n)*e.c*Math.cos(e.h*r)+n*t.c*Math.cos(t.h*r),a=(1-n)*e.c*Math.sin(e.h*r)+n*t.c*Math.sin(t.h*r);return new B((1-n)*e.l+n*t.l,Math.hypot(i,a),Math.atan2(a,i)/r,e.alpha)}function Go(e){let t=B.fromRgba(e);return(e,n)=>{let r=B.fromRgba(e);return Wo(r,new B(Math.max(r.l,t.l),t.c,t.h,t.alpha),n).toRgba()}}const Ko=(e,t)=>t*e[e.length-1][0];function qo(e,t,n){let r=t/n,i=e.findIndex(([e])=>r<e);if(!(r>0)||i<0)return 0;let[a,o]=i===0?[0,0]:e[i-1],[s,c]=e[i];return n*(o+(c-o)*(1-Math.cos(Math.PI*(r-a)/(s-a)))/2)}function Jo(e,t,n){let r=Ko(e,n),i=t=>{let r=0;for(let i=0;i<24;i++)r+=qo(e,(i+.5)/24*t,n);return r*t};return i(Math.min(Math.max(t,0),r))/i(r)}const Yo=[[.24,1],[.6,0]];function Xo(e,t,n){Bo(e);let r=.9+.2*Mo(n,3.1),i=t=>.1*Ao(t/(3*e.seconds),.5,.5+n),a=i(0);return{touch:Go(t),field:t=>{let o=r*t/e.seconds+i(t)-a,s=Math.floor(o),c=.7+.3*No(-.5,.5,Ao(s*.37,2.1,n)),l=.5-.5*Math.cos(2*Math.PI*(o-s)),u=e.swing*e.ease(c*l);return()=>u}}}const Zo=e=>Math.abs(e)>=1?0:(1-e*e)**3;function Qo(e,t,n,r,i){Bo(e);let a=e.seconds,o=t+2*n,s=a/2,c=e=>No(-.4,.4,Ao(e/7,3.3,5.5+i)),l=.7,u=.51,d=.4,f=l+(u+d)*a*o/80/s,p=(e,t)=>{let r=c(e),f=(Mo(e,7.5+i)<.35+.6*r)*(.3+.7*r*(.6+.4*Mo(e,8.5+i))),p=a*o/80*(u+d*Mo(e,5.5+i)),m=Uo((t-(e+l*Mo(e,6.5+i))*s)/p);return{strength:f,centre:m*o-n+.06*o*Math.sin(Math.PI*m)*Ao(m,2.7,e+i)}},m=e=>{let t=Math.floor(e/s),n=[];for(let r=Math.max(0,Math.ceil(t-f));r<=t;r++)n.push(p(r,e));return n},h=(e,t,n)=>Math.exp(-((Ao(e,t,n)/.8)**2));return{touch:Go(r),field:t=>{let r=m(t);return a=>{let o=0;for(let{strength:e,centre:t}of r)o=Math.max(o,e*Zo((a.col-t)/n));let s=a.row+i,c=.8*Ao(a.col*.05,s*.3+1.3,t*.02),l=(h(a.col*.21+c,s*.9,t*.022)*h(a.col*.33+9.1-c,s*.7,t*.018+4.2))**2;return e.swing*e.ease(o*(.1+.6*l))}}}}function $o(e,t,n,r){Bo(e);let i=Math.max(3,Math.round(t/8)),a=e.seconds,o=Array.from({length:i},(e,n)=>({home:(n+.5+.7*Ao(n*1.7+.2,.3,.5+r))*(t/i),z:n*4.9+.3+r,offset:Mo(n,.7+r)*a})),s=e=>o.map(t=>{let n=e+t.offset,r=Math.floor(n/a),i=Mo(r,t.z+1)<.15?0:1,o=.5+.5*Mo(r,t.z+2),s=Mo(r,t.z+3)*(1-Ko(Yo,o)),c=n/a-r-s;return{x:t.home+5*(2*Mo(r,t.z+4)-1)+5*o*(2*Mo(r,t.z+5)-1)*Jo(Yo,c,o)+1.5*Ao(t.z,.1,e*.035),y:.6*Ao(t.z,2.2,e*.035),glow:i*qo(Yo,c,o)}});return{touch:Go(n),field:t=>{let n=s(t);return t=>{let r=0;for(let e of n)r=Math.max(r,e.glow*Zo(Math.hypot(t.col-e.x,2*(t.row-e.y))/5));return e.swing*e.ease(r)}}}}function es(e,t){return(n,{theme:r})=>{let i=e(n),a=B.fromRgba(r.backgroundColor);return(e,n)=>{let r=t*(1-Uo(i(n)));if(r===0)return e;let o=Wo(B.fromRgba(e.bg),a,r);return{fg:Wo(B.fromRgba(e.fg),o,r).toRgba(),bg:o.toRgba()}}}}function ts(e){let t=new Map;return n=>{let r=`${n.row}:${n.col}`,i=t.get(r)??Uo(.5+1.1*jo(n.col*.09+1.4*Ao(n.col*.035,n.row*.2+2.6,e+.5),n.row*.45,e,3));return t.set(r,i),i}}function ns(e,t){return{effect:t,done:t=>t>=e.seconds}}function rs(e,t){let n=e.seconds*.45,r=bi.once(0,n);return i=>a=>r(i-t(a)*(e.seconds-n))}function is(e,t){Bo(e);let n=rs(e,ts(1.7+t));return ns(e,es(t=>{let r=n(t);return t=>e.ease(r(t))},e.swing))}const as={depth:.4,from:.5,to:.95,maskFrom:.35,maskTo:.75,late:.6};function os(e,t){Bo(e);let n=ts(4.2+t),r=ts(9.3+t),i=rs(e,n),{depth:a,from:o,to:s,maskFrom:c,maskTo:l,late:u}=as;return ns(e,es(t=>{let d=i(t);return t=>{let i=e.ease(d(t)),f=Uo((i-o)/(s-o)),p=a*No(c,l,r(t))*(1-u+u*n(t))*Math.sin(Math.PI*f)**2;return 1-i+p}},e.swing))}const ss=[211,337];function cs(e,t){Bo(e);let n=e.seconds,r=e=>Mo(Number.parseInt(e.slice(1),16)*1e-4,17.3+t),i=(e,n)=>Ao(n/ss[0],5.9+97*e,t)+.5*Ao(n/ss[1],2.3+89*e,t+7.1),a=(t,a)=>{let o=r(t);return 360*a/n+e.swing*180*((i(o,a)-i(o,0))/1.5)};return(e,{colors:t,fills:n})=>(r,i)=>{let o={fg:!i.terminal.fg&&t.has(r.fg.hex),bg:!i.terminal.bg&&t.has(r.bg.hex)},s=(t,r,i,o)=>r?B.fromRgba(t).applyKey({...cr,hueShift:a(n.has(t.hex)||!o?t.hex:i.hex,e)}).toRgba():t;return{fg:s(r.fg,o.fg,r.bg,o.bg),bg:s(r.bg,o.bg,r.fg,o.fg)}}}const ls={loops:{shimmer:(e,t=Vo.shimmer)=>Lo(Qo(t,e.span,24,Ho.sun,e.z)),pulse:(e,t=Vo.pulse)=>Lo(Xo(t,Ho.sun,e.z)),sparkle:(e,t=Vo.sparkle)=>Lo($o(t,e.span,Ho.firefly,e.z)),wheel:(e,t=Vo.wheel)=>cs(t,e.z)},transitions:{fade:(e,t=Vo.fade)=>is(t,e.z),dissolve:(e,t=Vo.dissolve)=>os(t,e.z)}};function us(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const ds={segments:[],width:0},fs={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function ps(e,t){return fs[e](t)}function ms(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var hs=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>us(Da(t),e)),o=n=>i?us(Ea(i,null,t[n],{index:n}),e):ds,s=n=>i?us(Ea(i,t[n],null,{index:n+1}),e):ds,c=(n,r)=>i?us(Ea(i,t[n],t[r],{index:r}),e):ds,l=[],u=null,d=r>0?{segments:[new U(` `.repeat(r))],width:r}:ds;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=ps(p,i),o=ms(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new U(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new U(` `.repeat(e)))}yield*t.blocks[e].segments}yield U.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=us(t[i],e).width,o=this.joiner?us(Ea(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?us(Ea(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=us(Ea(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=us(Ea(this.joiner,null,t[0],{index:0}),e).width,r+=us(Ea(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};const gs=[`primary`,`secondary`,`accent`],_s=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],vs={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},ys=(e,t)=>`${e}${vs[t]}`,bs=(e,t,n,r)=>ec(e,n,r),xs=(e,t,n,r)=>nc(e,Us(e,`text-${t}`),n,r),Ss=e=>({tones:[_s[e],_s[e+2],_s[e+1]],text:bs}),Cs={muted:{tones:[`muted`],text:xs},deepest:Ss(0),deeper:Ss(1),middle:Ss(2),brighter:Ss(3),brightest:Ss(4)},ws=1/0,Ts={accent:{hues:[`secondary`,`accent`],run:ws},duo:{hues:[`primary`,`secondary`],run:ws},mono:{hues:[`primary`],run:ws},alt:{hues:[`secondary`,`accent`],run:3}},Es=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),Ds=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},Os=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],ks=e=>typeof e==`string`&&Os.includes(e),As={"van-der-corput":Ds,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},js=e=>As[e??`van-der-corput`];function Ms(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const Ns=(e,t)=>Math.floor(e*t),Ps=(e,t)=>Math.round(e*t)%t;function Fs(e){return e===void 0?0:e.distribution(e.index,e.count)}function Is(e,t,n){let r=e[n(Fs(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function Ls(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const Rs=(e,t)=>Ns(Fs(t),e.hues.length);function zs(e,t){let{row:n,cell:r}=Ls(t);return Bs(e,n,r)}function Bs(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(Rs(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:Is(e.shade.tones,n,Ps)}}function Vs(e,t){let{row:n,cell:r}=Ls(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>Bs(e,n,t)).map(e=>[ys(e.hue,e.shade),e])).values()].sort((e,t)=>gs.indexOf(e.hue)-gs.indexOf(t.hue)||Hs.indexOf(e.shade)-Hs.indexOf(t.shade))}const Hs=Object.keys(vs);function Us(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}const Ws=(e,t)=>Us(e,ys(t.hue,t.shade)),Gs=2.2,Ks=(e,t)=>t.map(t=>Ws(e,t));function qs(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const Js=e=>t=>jr(t,e),Ys=Js(P.TRUECOLOR);function Xs(e,t,n,r){return Zs(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>Qs(e,t,n,r))}const Zs=qs();function Qs(e,t,n,r){let i=n.map(Ys),a=Us(e,t),o=e=>Array.from({length:12},(t,n)=>B.fromRgba(a).mixAxes(B.fromRgba(e),{l:(n+1)/12,c:0,h:0,alpha:0}).toRgba()),s=o(new j(0,0,0)),c=[a,...o(new j(255,255,255)).flatMap((e,t)=>[e,s[t]])],l=e=>Math.min(1/0,...i.map(t=>N(Ys(e),t))),u=c.find(e=>l(e)>=2.2)??c.reduce((e,t)=>l(t)>l(e)?t:e),d=Ar(u,r,(e,t)=>i.every(n=>N(e,t(n))>=2.2))??u,f=Js(r),p=Math.min(1/0,...i.map(e=>N(f(d),f(e))));return{state:d,short:p>=2.2?null:p}}const $s=4.5;function ec(e,t,n){return tc(e,`${t.hex}|${n}`,()=>{let r=Or(t);return nc(e,[`background`,`foreground`].map(t=>Us(e,t)).reduce((e,t)=>N(r,t)<N(r,e)?t:e),t,n)})}const tc=qs();function nc(e,t,n,r){return rc(e,`${t.hex}|${n.hex}|${r}`,()=>kr(t,n,$s,r))}const rc=qs();function ic(e,t){return t.depth===0?Ks(e,t.ground):ac(e,t)}const ac=(e,t)=>t.depth===0?[]:[gc(e,{...t,depth:t.depth-1}).plane],oc=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Gs}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${P[n]}; another shade or variation clears it`],sc=(e,t,n)=>t>=dc.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${P[n]}, under the ${dc.triggerPlane} that tells them apart; another style clears it`],cc={base:.42,perDepth:.14,cap:.75},lc={floor:.12,span:.8};function uc(e,t){return gs[(gs.indexOf(e)+t)%gs.length]}const dc={triggerPlane:.1,nestedPlane:.035};function fc(e,t,n){return pc(e,`${mc(t)}|${n}`,()=>{let r=Xs(e,uc(t.hue,t.depth),ic(e,t),n),{state:i}=r,a=yc(e,t,i,n),o=Ar(gc(e,t).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${P[n]}`);let s=Js(n);return{state:i,plane:o,shortfalls:n===P.DEFAULT?[]:[...oc(e,r,n),...sc(e,hc(s(i),s(o)),n)]}})}const pc=qs(),mc=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>ys(e.hue,e.shade)).join(`+`)}`,hc=(e,t)=>B.fromRgba(e).deltaE(B.fromRgba(t));function gc(e,t){return _c(e,mc(t),()=>vc(e,t))}const _c=qs();function vc(e,t){let{state:n}=Xs(e,uc(t.hue,t.depth),ic(e,t),P.TRUECOLOR),r=Math.min(cc.cap,cc.base+cc.perDepth*t.depth),i=(t,r)=>z(n,Us(e,t),r),a=ac(e,t),o=e=>hc(Ys(n),Ys(e))>=dc.triggerPlane&&a.every(t=>hc(Ys(t),Ys(e))>=dc.nestedPlane),s=i(`background`,r);return{state:n,plane:[s,i(`foreground`,r),i(`background`,cc.cap),i(`foreground`,cc.cap)].find(o)??s}}function yc(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>gc(e,{hue:i,depth:t,ground:o}).state,c=t=>gc(e,{hue:i,depth:t,ground:o}).plane,l=c(a),u=(e,t)=>hc(Ys(l),Ys(t))>=e?e:0,d=uc(i,a+1),f=ic(e,{hue:i,depth:a+1,ground:o}),p=Xs(e,d,f,P.TRUECOLOR),m=Xs(e,d,f,r).state,h=N(Ys(l),Ys(p.state))>=2.2?Gs:0,g=(e,t)=>(n,r)=>hc(n,r(e))>=t;return[g(n,u(dc.triggerPlane,s(a))),(e,t)=>N(e,t(m))>=h,...a>0?[g(fc(e,{hue:i,depth:a-1,ground:o},r).plane,u(dc.nestedPlane,c(a-1)))]:[]]}function bc(e,t,n,r){let i=fc(e,t,r),a=gc(e,t),o=e=>z(a.plane,a.state,e),s=lc.floor+lc.span*Ms(n),c=lc.floor+lc.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=Ar(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const xc=e=>({kind:`bar`,decor:e,address:[]}),Sc=(e,t)=>({...e,address:[...e.address,t]}),Cc=e=>({kind:`band`,band:e,address:[]});function wc(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=zs(r,i),o=Ws(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=Vs(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=bc(e,r,i,n);return{tint:a,text:ec(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const Tc=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function Ec(e){let t=typeof e==`string`?Tc.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const Dc=`textual-dark`;function Oc(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function kc(){return Qr()}function Ac(){return[`bar`,...kc()]}let jc;function Mc(e){return jc??=new Set(Ac()),jc.has(e)}function Nc(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return Oc(e===void 0?null:a(e),t,a(n??r),r,a)}const Pc=[`style`,`palette`,`effect`];function Fc(e){return e!==void 0&&e.includes(`{{`)}function Ic(e,t,n,r,i){let a=Fc(n)?{kind:`expression`,source:n}:i(n??r.name);return Oc(e===void 0?null:i(e),t,a,r,i)}function Lc(e,t){return e.kind===`decided`?e:t(e.source)}const Rc=`none`;function zc(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Bc(e,t){return zc(e,t)??zc(`none`,t)??{kind:`decided`,name:`none`,value:cr}}function Vc(e,t,n,r){return Ic(e,t,n,Bc(Rc,r),e=>zc(e,r))}const Hc=`none`,Uc=Object.freeze([Hc,...Object.keys(ls.loops)]);function Wc(e){let t=Uc.find(t=>t===e);return t===void 0?null:{kind:`decided`,name:e,value:t}}function Gc(e){return Wc(e)??{kind:`decided`,name:`none`,value:`none`}}function Kc(e,t,n){return Ic(e,t,n,Gc(Hc),Wc)}const qc=Object.freeze(Object.keys(uo));function Jc(e){return qc.includes(e)}const Yc=[`powerline`,`capsule`,`plain`];function Xc(e){return Yc.includes(e)}function Zc(e,t,n){return Oc(e,t,n,`powerline`,e=>Jc(e)?e:null)}const Qc=[`unicode`,`ascii`];function $c(e){return[...e].every(e=>e.codePointAt(0)<=127)}const el=`unicode`,tl=[`truecolor`,`256`,`ansi`,`none`];function nl(e){return kn(e)??P.DEFAULT}const rl=Object.keys(Ts);function il(e){return rl.includes(e)}function al(e,t,n){return Oc(e,t,n,`accent`,e=>il(e)?e:null)}const ol=Object.keys(Cs);function sl(e){return ol.includes(e)}function cl(e,t,n){return Oc(e,t,n,`middle`,e=>sl(e)?e:null)}const ll=`true`,ul=`false`,dl=[ll,ul],fl={min:0,max:16};function pl(e){return e===`true`?!0:e===`false`?!1:null}function ml(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function hl(e){return ml(e,fl)}function gl(e,t,n){return Oc(e,t,n,!0,pl)}function _l(e,t,n){return Oc(e,t,n,!0,pl)}function vl(e,t,n){return Oc(e,t,n,1,hl)}var yl=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const bl=/[A-Za-z_$\p{L}]/u,xl=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,Sl=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,Cl=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var wl=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new yl(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(Cl.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
27
+ `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&Sl.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return ot.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new yl(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
27
28
  `,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
28
- `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(sc.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&cc.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new oc(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function fc(e){let t=new dc(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function pc(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function mc(e,t){let n=e;for(let e of t)n=n===void 0?void 0:pc(n,e)?.value;return n}function hc(e,t){return e.slice(t.span.start,t.span.end)}function gc(e,t){let n=kc(e,t.span.start),r=_c(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return hc(e,t).split(`
29
+ `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(bl.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&xl.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new yl(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function Tl(e){let t=new wl(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function El(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function Dl(e,t){let n=e;for(let e of t)n=n===void 0?void 0:El(n,e)?.value;return n}function Ol(e,t){return e.slice(t.span.start,t.span.end)}function kl(e,t){let n=Hl(e,t.span.start),r=Al(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return Ol(e,t).split(`
29
30
  `).map((e,t)=>{let r=a;return a+=e.length+1,(t>0&&!i(r-1)&&e.startsWith(n)?e.slice(n.length):e).replace(/\r$/,``)}).join(`
30
- `)}function _c(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,..._c(e.value)]);case`array`:return e.elements.flatMap(_c);case`string`:return[e.span];default:return[]}}const vc=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function yc(e){return vc.test(e)?e:JSON.stringify(e)}const bc={key:yc,trailingComma:`,`,parse:e=>ot.default.parse(e)},xc={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Sc(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${wc(Sc(e),` `,`
31
+ `)}function Al(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...Al(e.value)]);case`array`:return e.elements.flatMap(Al);case`string`:return[e.span];default:return[]}}const jl=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Ml(e){return jl.test(e)?e:JSON.stringify(e)}const Nl={key:Ml,trailingComma:`,`,parse:e=>ot.default.parse(e)},Pl={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Fl(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Ll(Fl(e),` `,`
31
32
  `)},`).join(`
32
- `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${yc(e)}: ${wc(Sc(t),` `,`
33
+ `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${Ml(e)}: ${Ll(Fl(t),` `,`
33
34
  `)},`).join(`
34
- `)}\n}`}return JSON.stringify(e)}function Cc(e){return e.includes(`\r
35
+ `)}\n}`}return JSON.stringify(e)}function Il(e){return e.includes(`\r
35
36
  `)?`\r
36
37
  `:`
37
- `}function wc(e,t,n){return e.split(`
38
- `).join(`${n}${t}`)}function Tc(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${wc(Tc(i,t,n),` `,`
39
- `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Ec(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function Dc(e,t){return e.lastIndexOf(`
40
- `,t-1)+1}function Oc(e){return/^[ \t]*$/.test(e)}function kc(e,t){let n=Dc(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Ac(e,t){return Oc(e.slice(Dc(e,t),t))}const jc=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Mc(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;jc.lastIndex=n;let i=jc.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function Nc(e,t){let{commaEnd:n,line:r}=Mc(e,t.end);if(Ac(e,t.start)&&r!==null)return Ec(e,Dc(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Ec(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Ec(e,i-1,t.end,``):Ec(e,t.start,t.end,``)}function Pc(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Ec(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Cc(e);return Ec(o,s,s,`${c}${i}${wc(r,i,c)}${a?`,`:``}`)}function Fc(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=kc(e,t.span.start);if(a===void 0){let i=o+` `,a=Cc(e);return Ec(e,t.span.start+1,t.span.end-1,`${a}${i}${wc(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Mc(e,a.span.end);if(Ac(e,a.span.start)&&c!==null){let t=e.slice(Dc(e,a.span.start),a.span.start);return Pc(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Ec(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function Ic(e,t,n,r){if(t.length===0)throw new oc(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Cc(e);return`{${i} ${wc(Tc(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return Lc(e,fc(e),t,n,r)}function Lc(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new oc(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=pc(a,n[t]);if(o===void 0)return Fc(e,a,Tc(n.slice(t),r,i),i);if(t===n.length-1){let t=kc(e,o.keySpan.start);return Ec(e,o.value.span.start,o.value.span.end,wc(r,t,Cc(e)))}a=o.value}throw new oc(`unreachable: path exhausted`,0)}function Rc(e,t,n=0){if(t.length===0)throw new oc(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=mc(fc(e),r),a=i===void 0?void 0:pc(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Nc(e,a.span);return r.length>n&&i.entries.length===1?Rc(o,r,n):o}const zc=[`h`,`v`,`children`];function Bc(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=pc(e,`seg`)?.value,n=pc(e,`kind`)?.value,r=pc(e,`name`)?.value,i=t?.kind===`string`?t.value:n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0;if(i===void 0)return;let a=pc(e,`id`)?.value;return a?.kind===`string`?a.value:i}function Vc(e){return e.kind===`object`?zc.map(t=>pc(e,t)?.value).filter(e=>e?.kind===`array`):[]}function Hc(e){let t=pc(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function Uc(e){if(e.kind!==`object`)return!0;let t=Hc(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*Wc(e,t){yield{node:e,bareAt:t};for(let t of Vc(e))for(let e of t.elements)yield*Wc(e,null);for(let n of Hc(e)??[])yield*Wc(n.value,t===null?null:[...t,`rows`,n.key])}function Gc(e,t){for(let{node:n}of Wc(e,null))if(Bc(n)===t)return!0;return!1}function Kc(e,t,n){let r=mc(fc(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of Wc(r,t))if(Bc(i)===n)return a===null?{text:e,ref:i}:Kc(Ic(e,a,`{ h: [${hc(e,i)}] }`,bc),t,n);return null}function qc(e,t,n){let r=Kc(e,t,n);return r===null?null:Nc(r.text,r.ref.span)}function Jc(e,t,n,r,i){let a=Kc(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=n.id===void 0?JSON.stringify(n.seg):`{ seg: ${JSON.stringify(n.seg)}, id: ${JSON.stringify(n.id)} }`,{commaEnd:l,line:u}=Mc(o,s.span.end);if(Ac(o,s.span.start)&&u!==null){let e=o.slice(Dc(o,s.span.start),s.span.start);return i===`after`?Pc(o,s.span,{commaEnd:l,line:u},c,e):Ec(o,s.span.start,s.span.start,`${c},${Cc(o)}${e}`)}let d=hc(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Ec(o,s.span.start,s.span.end,f)}function Yc(e,t,n,r,i){let a=Kc(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${yc(r)}: ${i} }`;return s.kind===`string`?Ec(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):pc(s,`settings`)===void 0?Lc(o,s,[`settings`],c,bc):Lc(o,s,[`settings`,r],i,bc)}var Xc=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(el(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function G(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=Zc(e,n,i);if(t===-1)return r===void 0?void 0:Qc(e,r);n=t,r=t}return r===void 0?void 0:Qc(e,r)}function Zc(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function Qc(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function $c(e,t){try{return fc(t),null}catch(n){if(!(n instanceof oc))throw n;return`${e}:${Qc(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function el(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
41
- `)}const tl=[`vertical`,`horizontal`],nl={vertical:`row`,horizontal:`cell`};function rl(e){return e.id??e.name}function il(e){return[...sl(e)].flatMap(e=>e.kind===`segment`?[rl(e)]:[])}function al(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function ol(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*sl(e){yield e;for(let t of dl(e))yield*sl(t)}const cl=(e,t)=>`${e}.children[${t}]`,ll=e=>`${e}.opens.body`;function*ul(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*ul(r,cl(t,n));else e.opens!==void 0&&(yield*ul(e.opens.body,ll(t)))}function dl(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}function fl(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const pl=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function ml(e){return e.kind===`file`||e.kind===`shell`||e.kind===`template`}const hl=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],gl=`theme`;function _l(e){return{...e.settings,[gl]:{label:gl,domain:`theme`,default:e.palette??`bar`}}}function vl(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function yl(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=vl(r)?.atLeast;if(i===void 0)return[];let a=t[n],o=t[i];return a>=o?[]:[{setting:n,message:`"${n}" (${a}) is below "${i}" (${o}) — ${r.label} must be at least ${e[i].label}`}]})}function bl(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&ws(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function xl(e){return String(e)}function Sl(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return tc(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return bl(e,r)?r:void 0}function Cl(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const wl=[`left`,`center`,`right`],Tl=[`right`,`left`,`middle`];function El(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Ml(i)}`,line:G(e.source,[...t.split(`.`),r])}),null)}function Dl(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${Ml(i)}`,line:G(e.source,[...t.split(`.`),`default`])});return}return i}}function Ol(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Ml(i)}`,line:G(e.source,[...t.split(`.`),r])});return}return i}}function kl(e,t,n){let r=Ol(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${vs(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:G(e.source,[...t.split(`.`),`palette`])});return}return r}}function Al(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${K(a)}`,line:G(e.source,[...t.split(`.`),r])});return}return a}}function jl(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ml(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function K(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function Nl(e,t,n,r){return jl(r)?(Ll(e,n,r,t.noun,new Set(Object.keys(t.fields)),Pl(e,t.removed??{},n,r)),Fl(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${Ml(r)}`,line:G(e.source,n.split(`.`))}),null)}function Pl(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)Rl(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function Fl(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const Il=new Set;function Ll(e,t,n,r,i,a=Il){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:G(e.source,[...t.split(`.`),o])})}function Rl(e,t,n){return e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))}),null}function zl(e,t,n,r){if(!jl(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${Ml(r)}`,line:G(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:G(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:G(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:G(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function Bl(e,t,n,r){if(!jl(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Ml(r)}`,line:G(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${Ml(i)}`,line:G(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:G(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return Ll(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function Vl(e,t,n){return{json:tu($l(n),e,t),keys:new Set([e,...Object.keys(n)])}}function Hl(e){return(...t)=>e()(...t)}function Ul(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:G(n.source,o.split(`.`))}),null}return a}}function Wl(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Ol(e,t,r,n)}}function Gl(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${Ml(i)}`,line:G(e.source,[n])});return}return i}}}}function Kl(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${K(o)}`,line:G(e.source,[i])});return}return o}}}}function ql(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${K(a)}`,line:G(e.source,[r])});return}return a}}}}function Jl(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>kl(e,t,r)}}function Yl(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>El(e,t,r,n)??void 0}}function Xl(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function Zl(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=El(e,t,r,n);if(i===null)return;let a=Xl(`${t}.${n}`,i);return a===null?i:Rl(e,`${t}.${n}`,a)??void 0}}}function Ql(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>Al(t,n,i,r,e)}}function $l(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function eu(e){return $l(e.fields)}function tu(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function nu(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function ru(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const iu=/^[A-Za-z_][A-Za-z0-9_]*$/;function au(e){return`#${e+1}`}const ou={rows:{}};function su(e){return`rows`in e}function cu(e){return Object.fromEntries(e.map((e,t)=>[au(t),e]))}function lu(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:cu(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:cu([n])}}function uu(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function du(e){return su(e)?uu(e):e}function*fu(e,t){if(!su(e)){yield*ul(e,t);return}yield[uu(e),t];for(let[n,r]of Object.entries(e.rows))yield*ul(r,`${t}.rows.${n}`)}function pu(e,t){return su(e)?{...t,...e,rows:{...t.rows,...e.rows}}:lu(e)}function mu(e){if(!su(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function hu(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:vu(t.segments,gu(t.segments,e.segments??{})),root:pu(e.root??ou,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:vu(t.presets,_u(t.presets,e.presets??{})),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function gu(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function _u(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function vu(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const yu=`closed`,bu=`🍫`;function xu(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function Su(e,t,n,r){let i=xu(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Cu(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function wu(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Tu(e,...t){return`{{ and ${[e,...t].map(Eu).join(` `)} }}`}function Eu(e){return`(eq .${e.variable} "${Cu(e.member)}")`}function Du(e,t,n){return`{{ ${Ou(e,ku(t),ku(n))} }}`}function Ou(e,t,n){return`action "${e}" ${t} ${n}`}function ku(e){return`"${Cu(e)}"`}function Au(e,t){return{kind:`state`,key:e,default:t}}function ju(e,t){return{set:e,cycle:[yu,t]}}const Mu={required:!1,json:{enum:[...Hs]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Hs.join(`, `)}`,line:G(e.source,[...t.split(`.`),n])});return}return Al(e,t,r,n,Hs)}},Nu={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=Ol(e,t,r,n);return Ds(i)?i:kl(e,t,r)}},Pu=/^[^\r\n]*\S[^\r\n]*$/u,Fu=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),Iu={required:!1,json:{type:`string`,pattern:Pu.source,not:{pattern:Fu.source}},parse:(e,t,n,r)=>{let i=Ol(e,t,r,n);if(i===void 0||Pu.test(i)&&!Fu.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("✖", "✕") — the settings menu needs a glyph to click`,line:G(e.source,[...t.split(`.`),n])})}};function Lu(e){return{spec:Ql(e),domain:{from:e}}}function Ru(){return{spec:Gl(),domain:`bool`}}function zu(e){return{spec:e,domain:`text`}}const Bu={default_empty_value:zu(Wl()),default_separator:zu(Wl()),palette:{spec:Nu,domain:{from:`themes`}},style:{spec:Wl(),domain:{from:`styles`}},preset:{spec:Wl(),domain:{from:`presets`}},endcaps:Lu(Ps),variation:Lu(Ws),shade:Lu(qs),autoWrap:Ru(),padding:{spec:Kl($s),domain:{...$s,step:1}},charset:Lu(zs),updateNotice:Ru(),colorCompatibility:{spec:Mu,domain:{from:Hs}},menuGlyph:zu(Iu)},Vu=Object.fromEntries(Object.entries(Bu).map(([e,t])=>[e,t.spec]));function Hu(e){return Bu[e].domain}function Uu(e){let t=Hu(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function Wu(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:G(e.source,[...n.split(`.`),r])})}}}function Gu(e){return Wu(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function Ku(e){return Wu(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}function qu(e,t){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(n,r,i,a)=>{let o=a[i];if(typeof o==`string`&&Ds(o)){n.issues.push({path:`${r}.${i}`,message:`${r}.${i}: a rule is not allowed here — ${t} is decided later than any rule could be settled, so it names a value. Write the rule in globals.${i} (or a preset's globals.${i}) instead.`,line:G(n.source,[...r.split(`.`),i])});return}return e.parse(n,r,i,a)}}}const Ju={default_bg:"nothing reads it — a segment with no `bg:` wears the decoration tint of its place in the bar. Delete the key, and author `bg:` on the segments that need a fixed colour.",default_fg:"nothing reads it — a segment with no `fg:` wears text chosen for contrast against its background. Delete the key, and author `fg:` on the segments that need a fixed colour.",default_truncate_marker:'nothing reads it — a segment clipped to its `width:` always ends in "…". Delete the key.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},Yu={noun:`globals key`,fields:Vu,removed:Ju},Xu={preset:Gu(`a preset`),menuGlyph:Ku(`a preset`)},Zu={noun:`preset globals key`,fields:{...Vu,...Xu},removed:Ju};function Qu(e){return ad(e)&&!(e in Xu)}const $u={noun:`editGlobals key`,removed:Ju,fields:{...Vu,preset:Gu(`the editGlobals fragment`),menuGlyph:Ku(`the editGlobals fragment`),palette:qu(Vu.palette,`the editGlobals fragment`),style:qu(Vu.style,`the editGlobals fragment`)}};function ed(e,t,n){return n===void 0?{}:Nl(e,Yu,t,n)??{}}function td(e,t,n){return Nl(e,Zu,t,n)??{}}function nd(){return eu(Zu)}function rd(e,t,n){return Nl(e,$u,t,n)??{}}const id=new Set(Object.keys(Vu));function ad(e){return id.has(e)}function od(){return[...id]}const sd={padding:1};function cd(e){let t=new Map;for(let[n,r]of Object.entries(sd)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function ld(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${pl.join(`, `)})`,line:G(e.source,t.split(`.`))}),null):md(e,`${t}.cache`,n.cache)}function ud(e,t,n){if(n.cache!==void 0)return md(e,`${t}.cache`,n.cache)??void 0}function dd(e){return{required:!0,json:hd(),parse:(t,n,r,i)=>ld(t,n,i,e)??void 0}}function fd(){return{required:!1,json:hd(),parse:(e,t,n,r)=>ud(e,t,r)}}const pd={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&_d(n)?{ttl:n}:Rl(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${K(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return Rl(e,t,`cache.watch_file must be a path string, got ${K(n)}`);let r=Xl(`cache.watch_file`,n);return r===null?{watch_file:n}:Rl(e,t,r)}},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:Rl(e,t,`cache.depends_on must be an array of variable-name strings, got ${K(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:Rl(e,t,`cache.key must be a non-empty template string, got ${K(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:Rl(e,t,`cache.never must be the literal boolean true, got ${K(n)}`)}}};function md(e,t,n){return zl(e,pd,t,n)}function hd(){return ru(pd)}const gd=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function _d(e){return gd.test(e)}function vd(e,t,n){if(n===void 0)return{};if(!jl(n))return e.issues.push({path:t,message:`${t} must be an object, got ${Ml(n)}`,line:G(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=Bl(e,Hd,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function yd(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${Ml(i)}`,line:G(e.source,t.split(`.`))});return}return i}}}function bd(){return{required:!0,json:{enum:[...hl]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!hl.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${hl.join(`, `)}, got ${JSON.stringify(i)}`,line:G(e.source,[...t.split(`.`),`field`])});return}return i}}}function xd(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return Dl(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Sd={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:Rl(e,t,`parse.text must be the literal boolean true, got ${K(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?Cd(e,t,n):Rl(e,t,`parse.regex must be a pattern string, got ${K(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:Rl(e,t,`parse.json must be the literal boolean true, got ${K(n)}`)}}};function Cd(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return Rl(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:Rl(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function wd(){return{required:!1,json:ru(Sd),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:G(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:zl(e,Sd,`${t}.parse`,r.parse)??void 0)}}function Td(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>jl(r.parse)&&`json`in r.parse?Ed(e,t,r.default):Ol(e,t,r,`default`)}}function Ed(e,t,n){if(n!==void 0)return Dd(n)?n:Rl(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${K(n)}`)??void 0}function Dd(e){return e!==null&&Od(e)}function Od(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(Od);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(Od)}default:return!1}}const kd={value:yd(),default:Wl()},Ad={path:Yl(),type:Ql([`string`,`number`,`boolean`]),default:xd()},jd={name:Yl(),default:Wl()},Md={path:Zl(),readMode:Ql([`whole`,`first-line`]),parse:wd(),cache:dd(`file`),default:Td()},Nd={command:Yl(),parse:wd(),cache:dd(`shell`),default:Td()},Pd={template:Yl(),cache:fd(),default:Wl()},Fd={layout:Yl(),default:Wl()},Id={cache:`a time variable reads the instant its render is drawn at, so it takes no cache policy — delete the key`},Ld={field:bd(),default:Wl()},Rd={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},zd={key:Yl(),default:Wl()},Bd=`kind`;function Vd(e,t,n={}){return{...Vl(Bd,e,t),parse:(r,i,a)=>{Pl(r,n,i,a);let o=Fl(r,t,i,a);return o===null?null:{kind:e,...o}}}}const Hd={tag:Bd,noun:`source kind`,memberNoun:`variable`,arms:{literal:Vd(`literal`,kd),input:Vd(`input`,Ad),env:Vd(`env`,jd),file:Vd(`file`,Md),shell:Vd(`shell`,Nd),template:Vd(`template`,Pd),time:Vd(`time`,Fd,Id),git:Vd(`git`,Ld,Rd),state:Vd(`state`,zd)}};function Ud(){return nu(Hd)}function Wd(){return{type:`object`,additionalProperties:Ud()}}const Gd=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],Kd=[...Gd,`other`],qd={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`};function Jd(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const Yd=`groups.`,Xd=`menus.`,Zd=`edit.`,Qd=`candybar.`,$d=[Yd,Xd,Zd,Qd];function ef(e){return $d.some(t=>e.startsWith(t))}function tf(e){let t=Jd(e);return $d.find(e=>t.startsWith(Jd(e)))}function nf(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:G(e.source,[`root`])})}const rf=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function af(e){let t=rf.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const of=/^[A-Za-z_][A-Za-z0-9_]*$/,sf={pattern:of.source},cf={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},lf={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`},step:{type:`integer`,minimum:1},atLeast:{type:`string`,...sf}}}]},default:cf}},uf=[`label`,`domain`,`default`],df=[`min`,`max`,`step`,`atLeast`];function ff(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function pf(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return ff(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return ff(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?ff(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(jl(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!df.includes(e)).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i&&Number.isInteger(a)&&a>=1&&(o===void 0||typeof o==`string`)?{min:r,max:i,step:a,...o!==void 0&&{atLeast:o}}:ff(e,t,`a range domain is { min, max, step?, atLeast? } with integers min ≤ max, a whole step ≥ 1, and atLeast naming another range setting, got ${JSON.stringify(n)}`)}return ff(e,t,`domain must be "bool", a list of words, or { min, max }, got ${K(n)}`)}function mf(e,t,n){if(!jl(n))return ff(e,t,`${t} must be { label, domain, default }, got ${Ml(n)}`);for(let r of Object.keys(n))uf.includes(r)||ff(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${uf.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||ff(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${K(r)}`);let a=pf(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!hf(n.default)||!bl(o,n.default)?ff(e,`${t}.default`,`default must be ${Cl(o)}, got ${K(n.default)}`):o}function hf(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function gf(){return{required:!1,json:{type:`object`,propertyNames:{...sf,not:{const:gl}},additionalProperties:lf},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!jl(i))return ff(e,a,`${a} must be an object of name → { label, domain, default }, got ${Ml(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!of.test(t)){ff(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(t===`theme`){ff(e,`${a}.${t}`,`setting "${gl}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${gl}: "<theme>" }`);continue}let r=mf(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function _f(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:ff(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${K(i)}`)}}}function vf(){return{required:!1,json:{type:`object`,propertyNames:sf,additionalProperties:cf},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!jl(i))return ff(e,a,`a placement's "settings" must be an object of setting name → value, got ${Ml(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))hf(n)?o[t]=n:ff(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${Ml(n)}`);return o}}}function yf(e){return new Set(Object.keys(e.segments).filter(e=>!ef(e)))}function bf(e,t,n){if(t===void 0)return{};if(!jl(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${Ml(t)}`,line:G(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=Nl(e,n.has(i)?Ef:Tf,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function xf(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?Rl(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${af(t.slice(9))}`)??void 0:El(e,t,r,n)??void 0}}function Sf(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${K(i)}`,line:G(e.source,[...t.split(`.`),n])})}}}}function Cf(){return{required:!1,json:Wd(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return vd(e,`${t}.${n}`,i)}}}const wf={template:xf(),description:Wl(),group:Ql(Gd),width:Sf(),justify:Ql(wl),truncate:Ql(Tl),bg:Wl(),fg:Wl(),when:Wl(),palette:Jl(),vars:Cf(),settings:gf()},Tf={noun:`segment key`,fields:wf},Ef={noun:`segment key`,fields:{...wf,template:Wl()}},Df=`#/definitions/LayoutNode`,Of={kind:`container`,direction:`vertical`,children:[]};function kf(e){return{required:!0,json:{const:e},parse:()=>e}}function Af(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${K(i)}`,line:G(e.source,[`root`])}),``)}}}function jf(){return{required:!0,json:{enum:[...tl]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&tl.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${tl.join(`, `)} (got ${JSON.stringify(i)})`,line:G(e.source,[`root`])}),`vertical`)}}}function Mf(e){return{required:!0,json:{type:`array`,items:{$ref:Df}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${Ml(a)}`,line:G(t.source,[`root`])}),[])}}}const Nf={noun:`layout-node key`,fields:{kind:kf(`segment`),name:Af(),when:Wl(),id:_f(),settings:vf()}},Pf=()=>Ql(bo),Ff={noun:`layout-node key`,fields:{kind:kf(`container`),direction:jf(),children:Mf(Hl(()=>Bf)),when:Wl(),distribution:Pf()}};function If(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${K(i)}`,line:G(e.source,[`root`])}),``)}}}const Lf={noun:`layout-node key`,fields:{seg:If(),when:Wl(),id:_f(),settings:vf()}},Rf={noun:`layout-node key`,fields:{h:Mf(Hl(()=>Bf)),when:Wl(),distribution:Pf()}},zf={noun:`layout-node key`,fields:{v:Mf(Hl(()=>Bf)),when:Wl(),distribution:Pf()}},Bf=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:G(e.source,[`root`])}),Of):{kind:`segment`,name:n};if(!jl(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${Ml(n)}`,line:G(e.source,[`root`])}),Of;if(n.kind===`container`)return Nl(e,Ff,t,n)??Of;if(n.kind===`segment`)return Nl(e,Nf,t,n)??Of;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
38
+ `}function Ll(e,t,n){return e.split(`
39
+ `).join(`${n}${t}`)}function Rl(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Ll(Rl(i,t,n),` `,`
40
+ `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function zl(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function Bl(e,t){return e.lastIndexOf(`
41
+ `,t-1)+1}function Vl(e){return/^[ \t]*$/.test(e)}function Hl(e,t){let n=Bl(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Ul(e,t){return Vl(e.slice(Bl(e,t),t))}const Wl=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Gl(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;Wl.lastIndex=n;let i=Wl.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function Kl(e,t){let{commaEnd:n,line:r}=Gl(e,t.end);if(Ul(e,t.start)&&r!==null)return zl(e,Bl(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return zl(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?zl(e,i-1,t.end,``):zl(e,t.start,t.end,``)}function ql(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:zl(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Il(e);return zl(o,s,s,`${c}${i}${Ll(r,i,c)}${a?`,`:``}`)}function Jl(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=Hl(e,t.span.start);if(a===void 0){let i=o+` `,a=Il(e);return zl(e,t.span.start+1,t.span.end-1,`${a}${i}${Ll(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Gl(e,a.span.end);if(Ul(e,a.span.start)&&c!==null){let t=e.slice(Bl(e,a.span.start),a.span.start);return ql(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return zl(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function Yl(e,t,n,r){if(t.length===0)throw new yl(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Il(e);return`{${i} ${Ll(Rl(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return Xl(e,Tl(e),t,n,r)}function Xl(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new yl(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=El(a,n[t]);if(o===void 0)return Jl(e,a,Rl(n.slice(t),r,i),i);if(t===n.length-1){let t=Hl(e,o.keySpan.start);return zl(e,o.value.span.start,o.value.span.end,Ll(r,t,Il(e)))}a=o.value}throw new yl(`unreachable: path exhausted`,0)}function Zl(e,t,n=0){if(t.length===0)throw new yl(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=Dl(Tl(e),r),a=i===void 0?void 0:El(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Kl(e,a.span);return r.length>n&&i.entries.length===1?Zl(o,r,n):o}const Ql=[`h`,`v`,`children`];function $l(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=El(e,`seg`)?.value,n=El(e,`kind`)?.value,r=El(e,`name`)?.value,i=t?.kind===`string`?t.value:n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0;if(i===void 0)return;let a=El(e,`id`)?.value;return a?.kind===`string`?a.value:i}function eu(e){return e.kind===`object`?Ql.map(t=>El(e,t)?.value).filter(e=>e?.kind===`array`):[]}function tu(e){let t=El(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function nu(e){if(e.kind!==`object`)return!0;let t=tu(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*ru(e,t){yield{node:e,bareAt:t};for(let t of eu(e))for(let e of t.elements)yield*ru(e,null);for(let n of tu(e)??[])yield*ru(n.value,t===null?null:[...t,`rows`,n.key])}function iu(e,t){for(let{node:n}of ru(e,null))if($l(n)===t)return!0;return!1}function au(e,t,n){let r=Dl(Tl(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of ru(r,t))if($l(i)===n)return a===null?{text:e,ref:i}:au(Yl(e,a,`{ h: [${Ol(e,i)}] }`,Nl),t,n);return null}function ou(e,t,n){let r=au(e,t,n);return r===null?null:Kl(r.text,r.ref.span)}function su(e,t,n,r,i){let a=au(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=n.id===void 0?JSON.stringify(n.seg):`{ seg: ${JSON.stringify(n.seg)}, id: ${JSON.stringify(n.id)} }`,{commaEnd:l,line:u}=Gl(o,s.span.end);if(Ul(o,s.span.start)&&u!==null){let e=o.slice(Bl(o,s.span.start),s.span.start);return i===`after`?ql(o,s.span,{commaEnd:l,line:u},c,e):zl(o,s.span.start,s.span.start,`${c},${Il(o)}${e}`)}let d=Ol(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return zl(o,s.span.start,s.span.end,f)}function cu(e,t,n,r,i){let a=au(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Ml(r)}: ${i} }`;return s.kind===`string`?zl(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):El(s,`settings`)===void 0?Xl(o,s,[`settings`],c,Nl):Xl(o,s,[`settings`,r],i,Nl)}var lu=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(pu(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function G(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=uu(e,n,i);if(t===-1)return r===void 0?void 0:du(e,r);n=t,r=t}return r===void 0?void 0:du(e,r)}function uu(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function du(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function fu(e,t){try{return Tl(t),null}catch(n){if(!(n instanceof yl))throw n;return`${e}:${du(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function pu(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
42
+ `)}const mu=[`vertical`,`horizontal`],hu={vertical:`row`,horizontal:`cell`};function gu(e){return e.id??e.name}function _u(e){return[...bu(e)].flatMap(e=>e.kind===`segment`?[gu(e)]:[])}function vu(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function yu(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*bu(e){yield e;for(let t of wu(e))yield*bu(t)}const xu=(e,t)=>`${e}.children[${t}]`,Su=e=>`${e}.opens.body`;function*Cu(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*Cu(r,xu(t,n));else e.opens!==void 0&&(yield*Cu(e.opens.body,Su(t)))}function wu(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const Tu=[`shade`,`variation`,`style`];function Eu(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const Du=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function Ou(e){return e.kind===`file`||e.kind===`shell`||e.kind===`template`}const ku=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],Au=`theme`;function ju(e){return{...e.settings,[Au]:{label:Au,domain:`theme`,default:e.palette??`bar`}}}function Mu(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Nu(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Mu(r)?.atLeast;if(i===void 0)return[];let a=t[n],o=t[i];return a>=o?[]:[{setting:n,message:`"${n}" (${a}) is below "${i}" (${o}) — ${r.label} must be at least ${e[i].label}`}]})}function Pu(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&Mc(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function Fu(e){return String(e)}function Iu(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return ml(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return Pu(e,r)?r:void 0}function Lu(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const Ru=[`left`,`center`,`right`],zu=[`right`,`left`,`middle`];function Bu(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Ku(i)}`,line:G(e.source,[...t.split(`.`),r])}),null)}function Vu(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${Ku(i)}`,line:G(e.source,[...t.split(`.`),`default`])});return}return i}}function Hu(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${Ku(i)}`,line:G(e.source,[...t.split(`.`),r])});return}return i}}function Uu(e,t,n){let r=Hu(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${Ec(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:G(e.source,[...t.split(`.`),`palette`])});return}return r}}function Wu(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${K(a)}`,line:G(e.source,[...t.split(`.`),r])});return}return a}}function Gu(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ku(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function K(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function qu(e,t,n,r){return Gu(r)?(Zu(e,n,r,t.noun,new Set(Object.keys(t.fields)),Ju(e,t.removed??{},n,r)),Yu(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${Ku(r)}`,line:G(e.source,n.split(`.`))}),null)}function Ju(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)Qu(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function Yu(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const Xu=new Set;function Zu(e,t,n,r,i,a=Xu){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:G(e.source,[...t.split(`.`),o])})}function Qu(e,t,n){return e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))}),null}function $u(e,t,n,r){if(!Gu(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${Ku(r)}`,line:G(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:G(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:G(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:G(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function ed(e,t,n,r){if(!Gu(r))return e.issues.push({path:n,message:`${n} must be an object, got ${Ku(r)}`,line:G(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${Ku(i)}`,line:G(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:G(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return Zu(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function td(e,t,n){return{json:hd(pd(n),e,t),keys:new Set([e,...Object.keys(n)])}}function nd(e){return(...t)=>e()(...t)}function rd(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:G(n.source,o.split(`.`))}),null}return a}}function id(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Hu(e,t,r,n)}}function ad(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${Ku(i)}`,line:G(e.source,[n])});return}return i}}}}function od(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${K(o)}`,line:G(e.source,[i])});return}return o}}}}function sd(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${K(a)}`,line:G(e.source,[r])});return}return a}}}}function cd(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Uu(e,t,r)}}function ld(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>Bu(e,t,r,n)??void 0}}function ud(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function dd(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=Bu(e,t,r,n);if(i===null)return;let a=ud(`${t}.${n}`,i);return a===null?i:Qu(e,`${t}.${n}`,a)??void 0}}}function fd(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>Wu(t,n,i,r,e)}}function pd(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function md(e){return pd(e.fields)}function hd(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function gd(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function _d(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const vd=/^[A-Za-z_][A-Za-z0-9_]*$/;function yd(e){return`#${e+1}`}const bd={rows:{}};function xd(e){return`rows`in e}function Sd(e){return Object.fromEntries(e.map((e,t)=>[yd(t),e]))}function Cd(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Sd(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Sd([n])}}function wd(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Td(e){return xd(e)?wd(e):e}function*Ed(e,t){if(!xd(e)){yield*Cu(e,t);return}yield[wd(e),t];for(let[n,r]of Object.entries(e.rows))yield*Cu(r,`${t}.rows.${n}`)}function Dd(e,t){return xd(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Cd(e)}function Od(e){if(!xd(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function kd(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:Md(t.segments,Ad(t.segments,e.segments??{})),root:Dd(e.root??bd,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:Md(t.presets,jd(t.presets,e.presets??{})),themeDefaults:Md(t.themeDefaults,e.themeDefaults??{}),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function Ad(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function jd(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function Md(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const Nd=`closed`,Pd=`🍫`;function Fd(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function Id(e,t,n,r){let i=Fd(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Ld(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Rd(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function zd(e,...t){return`{{ and ${[e,...t].map(Bd).join(` `)} }}`}function Bd(e){return`(eq .${e.variable} "${Ld(e.member)}")`}function Vd(e,t,n){return`{{ ${Hd(e,Ud(t),Ud(n))} }}`}function Hd(e,t,n){return`action "${e}" ${t} ${n}`}function Ud(e){return`"${Ld(e)}"`}function Wd(e,t){return{kind:`state`,key:e,default:t}}function Gd(e,t){return{set:e,cycle:[Nd,t]}}const Kd={required:!1,json:{enum:[...tl]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${tl.join(`, `)}`,line:G(e.source,[...t.split(`.`),n])});return}return Wu(e,t,r,n,tl)}},qd={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=Hu(e,t,r,n);return Fc(i)?i:Uu(e,t,r)}},Jd={required:!1,json:{anyOf:[{enum:[...Uc]},{type:`string`,pattern:`\\{\\{`}]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&Fc(i)?i:Wu(e,t,r,n,Uc)}},Yd=/^[^\r\n]*\S[^\r\n]*$/u,Xd=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),Zd={required:!1,json:{type:`string`,pattern:Yd.source,not:{pattern:Xd.source}},parse:(e,t,n,r)=>{let i=Hu(e,t,r,n);if(i===void 0||Yd.test(i)&&!Xd.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("✖", "✕") — the settings menu needs a glyph to click`,line:G(e.source,[...t.split(`.`),n])})}};function Qd(e){return{spec:fd(e),domain:{from:e}}}function $d(){return{spec:ad(),domain:`bool`}}function ef(e){return{spec:e,domain:`text`}}const tf={default_empty_value:ef(id()),default_separator:ef(id()),palette:{spec:qd,domain:{from:`themes`}},style:{spec:id(),domain:{from:`styles`}},effect:{spec:Jd,domain:{from:Uc}},preset:{spec:id(),domain:{from:`presets`}},endcaps:Qd(qc),variation:Qd(rl),shade:Qd(ol),autoWrap:$d(),padding:{spec:od(fl),domain:{...fl,step:1}},charset:Qd(Qc),updateNotice:$d(),colorCompatibility:{spec:Kd,domain:{from:tl}},menuGlyph:ef(Zd)},nf=Object.fromEntries(Object.entries(tf).map(([e,t])=>[e,t.spec]));function rf(e){return tf[e].domain}function af(e){let t=rf(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function of(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:G(e.source,[...n.split(`.`),r])})}}}function sf(e){return of(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function cf(e){return of(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}function lf(e,t,n){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(r,i,a,o)=>{let s=o[a];if(typeof s==`string`&&Fc(s)){r.issues.push({path:`${i}.${a}`,message:`${i}.${a}: a rule is not allowed here — ${t} ${n}, so it names a value. Write the rule in globals.${a} (or a preset's globals.${a}) instead.`,line:G(r.source,[...i.split(`.`),a])});return}return e.parse(r,i,a,o)}}}const uf={default_bg:"nothing reads it — a segment with no `bg:` wears the decoration tint of its place in the bar. Delete the key, and author `bg:` on the segments that need a fixed colour.",default_fg:"nothing reads it — a segment with no `fg:` wears text chosen for contrast against its background. Delete the key, and author `fg:` on the segments that need a fixed colour.",default_truncate_marker:'nothing reads it — a segment clipped to its `width:` always ends in "…". Delete the key.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},df={noun:`globals key`,fields:nf,removed:uf},ff={preset:sf(`a preset`),menuGlyph:cf(`a preset`)},pf={noun:`preset globals key`,fields:{...nf,...ff},removed:uf};function mf(e){return wf(e)&&!(e in ff)}const hf=`is decided later than any rule could be settled`,gf={noun:`editGlobals key`,removed:uf,fields:{...nf,preset:sf(`the editGlobals fragment`),menuGlyph:cf(`the editGlobals fragment`),palette:lf(nf.palette,`the editGlobals fragment`,hf),style:lf(nf.style,`the editGlobals fragment`,hf),effect:lf(nf.effect,`the editGlobals fragment`,hf)}},_f={noun:`theme default key`,fields:{...Object.fromEntries(Tu.map(e=>[e,nf[e]])),style:lf(nf.style,`a theme's default`,`is the look that theme wears by name`)}};function vf(e,t){if(!Gu(t))return e.issues.push({path:`themeDefaults`,message:`themeDefaults must be an object mapping theme names to { shade, variation, style }, got ${Ku(t)}`,line:G(e.source,[`themeDefaults`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=`themeDefaults.${r}`;if(!e.allowedPalettes.has(r)){e.issues.push({path:t,message:`${t}: "${r}" is not an installed theme${Ec(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:G(e.source,[`themeDefaults`,r])});continue}let a=qu(e,_f,t,i);a!==null&&(n[r]=a)}return n}function yf(e,t,n){return n===void 0?{}:qu(e,df,t,n)??{}}function bf(e,t,n){return qu(e,pf,t,n)??{}}function xf(){return md(pf)}function Sf(e,t,n){return qu(e,gf,t,n)??{}}const Cf=new Set(Object.keys(nf));function wf(e){return Cf.has(e)}function Tf(){return[...Cf]}const Ef={padding:1};function Df(e){let t=new Map;for(let[n,r]of Object.entries(Ef)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function Of(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${Du.join(`, `)})`,line:G(e.source,t.split(`.`))}),null):Nf(e,`${t}.cache`,n.cache)}function kf(e,t,n){if(n.cache!==void 0)return Nf(e,`${t}.cache`,n.cache)??void 0}function Af(e){return{required:!0,json:Pf(),parse:(t,n,r,i)=>Of(t,n,i,e)??void 0}}function jf(){return{required:!1,json:Pf(),parse:(e,t,n,r)=>kf(e,t,r)}}const Mf={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&If(n)?{ttl:n}:Qu(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${K(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return Qu(e,t,`cache.watch_file must be a path string, got ${K(n)}`);let r=ud(`cache.watch_file`,n);return r===null?{watch_file:n}:Qu(e,t,r)}},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:Qu(e,t,`cache.depends_on must be an array of variable-name strings, got ${K(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:Qu(e,t,`cache.key must be a non-empty template string, got ${K(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:Qu(e,t,`cache.never must be the literal boolean true, got ${K(n)}`)}}};function Nf(e,t,n){return $u(e,Mf,t,n)}function Pf(){return _d(Mf)}const Ff=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function If(e){return Ff.test(e)}function Lf(e,t,n){if(n===void 0)return{};if(!Gu(n))return e.issues.push({path:t,message:`${t} must be an object, got ${Ku(n)}`,line:G(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=ed(e,sp,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function Rf(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${Ku(i)}`,line:G(e.source,t.split(`.`))});return}return i}}}function zf(){return{required:!0,json:{enum:[...ku]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!ku.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${ku.join(`, `)}, got ${JSON.stringify(i)}`,line:G(e.source,[...t.split(`.`),`field`])});return}return i}}}function Bf(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return Vu(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Vf={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:Qu(e,t,`parse.text must be the literal boolean true, got ${K(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?Hf(e,t,n):Qu(e,t,`parse.regex must be a pattern string, got ${K(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:Qu(e,t,`parse.json must be the literal boolean true, got ${K(n)}`)}}};function Hf(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return Qu(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:Qu(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function Uf(){return{required:!1,json:_d(Vf),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:G(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:$u(e,Vf,`${t}.parse`,r.parse)??void 0)}}function Wf(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>Gu(r.parse)&&`json`in r.parse?Gf(e,t,r.default):Hu(e,t,r,`default`)}}function Gf(e,t,n){if(n!==void 0)return Kf(n)?n:Qu(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${K(n)}`)??void 0}function Kf(e){return e!==null&&qf(e)}function qf(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(qf);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(qf)}default:return!1}}const Jf={value:Rf(),default:id()},Yf={path:ld(),type:fd([`string`,`number`,`boolean`]),default:Bf()},Xf={name:ld(),default:id()},Zf={path:dd(),readMode:fd([`whole`,`first-line`]),parse:Uf(),cache:Af(`file`),default:Wf()},Qf={command:ld(),parse:Uf(),cache:Af(`shell`),default:Wf()},$f={template:ld(),cache:jf(),default:id()},ep={layout:ld(),default:id()},tp={cache:`a time variable reads the instant its render is drawn at, so it takes no cache policy — delete the key`},np={field:zf(),default:id()},rp={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},ip={key:ld(),default:id()},ap=`kind`;function op(e,t,n={}){return{...td(ap,e,t),parse:(r,i,a)=>{Ju(r,n,i,a);let o=Yu(r,t,i,a);return o===null?null:{kind:e,...o}}}}const sp={tag:ap,noun:`source kind`,memberNoun:`variable`,arms:{literal:op(`literal`,Jf),input:op(`input`,Yf),env:op(`env`,Xf),file:op(`file`,Zf),shell:op(`shell`,Qf),template:op(`template`,$f),time:op(`time`,ep,tp),git:op(`git`,np,rp),state:op(`state`,ip)}};function cp(){return gd(sp)}function lp(){return{type:`object`,additionalProperties:cp()}}const up=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],dp=[...up,`other`],fp={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`};function pp(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const mp=`groups.`,hp=`menus.`,gp=`edit.`,_p=`candybar.`,vp=[mp,hp,gp,_p];function yp(e){return vp.some(t=>e.startsWith(t))}function bp(e){let t=pp(e);return vp.find(e=>t.startsWith(pp(e)))}function xp(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:G(e.source,[`root`])})}const Sp=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function Cp(e){let t=Sp.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const wp=/^[A-Za-z_][A-Za-z0-9_]*$/,Tp={pattern:wp.source},Ep={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Dp={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`},step:{type:`integer`,minimum:1},atLeast:{type:`string`,...Tp}}}]},default:Ep}},Op=[`label`,`domain`,`default`],kp=[`min`,`max`,`step`,`atLeast`];function Ap(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function jp(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return Ap(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return Ap(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?Ap(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(Gu(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!kp.includes(e)).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i&&Number.isInteger(a)&&a>=1&&(o===void 0||typeof o==`string`)?{min:r,max:i,step:a,...o!==void 0&&{atLeast:o}}:Ap(e,t,`a range domain is { min, max, step?, atLeast? } with integers min ≤ max, a whole step ≥ 1, and atLeast naming another range setting, got ${JSON.stringify(n)}`)}return Ap(e,t,`domain must be "bool", a list of words, or { min, max }, got ${K(n)}`)}function Mp(e,t,n){if(!Gu(n))return Ap(e,t,`${t} must be { label, domain, default }, got ${Ku(n)}`);for(let r of Object.keys(n))Op.includes(r)||Ap(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Op.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Ap(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${K(r)}`);let a=jp(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Np(n.default)||!Pu(o,n.default)?Ap(e,`${t}.default`,`default must be ${Lu(o)}, got ${K(n.default)}`):o}function Np(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function Pp(){return{required:!1,json:{type:`object`,propertyNames:{...Tp,not:{const:Au}},additionalProperties:Dp},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!Gu(i))return Ap(e,a,`${a} must be an object of name → { label, domain, default }, got ${Ku(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!wp.test(t)){Ap(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(t===`theme`){Ap(e,`${a}.${t}`,`setting "${Au}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${Au}: "<theme>" }`);continue}let r=Mp(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function Fp(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:Ap(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${K(i)}`)}}}function Ip(){return{required:!1,json:{type:`object`,propertyNames:Tp,additionalProperties:Ep},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!Gu(i))return Ap(e,a,`a placement's "settings" must be an object of setting name → value, got ${Ku(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Np(n)?o[t]=n:Ap(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${Ku(n)}`);return o}}}function Lp(e){return new Set(Object.keys(e.segments).filter(e=>!yp(e)))}function Rp(e,t,n){if(t===void 0)return{};if(!Gu(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${Ku(t)}`,line:G(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=qu(e,n.has(i)?Wp:Up,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function zp(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?Qu(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${Cp(t.slice(9))}`)??void 0:Bu(e,t,r,n)??void 0}}function Bp(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${K(i)}`,line:G(e.source,[...t.split(`.`),n])})}}}}function Vp(){return{required:!1,json:lp(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return Lf(e,`${t}.${n}`,i)}}}const Hp={template:zp(),description:id(),group:fd(up),width:Bp(),justify:fd(Ru),truncate:fd(zu),bg:id(),fg:id(),when:id(),palette:cd(),vars:Vp(),settings:Pp()},Up={noun:`segment key`,fields:Hp},Wp={noun:`segment key`,fields:{...Hp,template:id()}},Gp=`#/definitions/LayoutNode`,Kp={kind:`container`,direction:`vertical`,children:[]};function qp(e){return{required:!0,json:{const:e},parse:()=>e}}function Jp(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${K(i)}`,line:G(e.source,[`root`])}),``)}}}function Yp(){return{required:!0,json:{enum:[...mu]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&mu.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${mu.join(`, `)} (got ${JSON.stringify(i)})`,line:G(e.source,[`root`])}),`vertical`)}}}function Xp(e){return{required:!0,json:{type:`array`,items:{$ref:Gp}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${Ku(a)}`,line:G(t.source,[`root`])}),[])}}}const Zp={noun:`layout-node key`,fields:{kind:qp(`segment`),name:Jp(),when:id(),id:Fp(),settings:Ip()}},Qp=()=>fd(Os),$p={noun:`layout-node key`,fields:{kind:qp(`container`),direction:Yp(),children:Xp(nd(()=>im)),when:id(),distribution:Qp()}};function em(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${K(i)}`,line:G(e.source,[`root`])}),``)}}}const tm={noun:`layout-node key`,fields:{seg:em(),when:id(),id:Fp(),settings:Ip()}},nm={noun:`layout-node key`,fields:{h:Xp(nd(()=>im)),when:id(),distribution:Qp()}},rm={noun:`layout-node key`,fields:{v:Xp(nd(()=>im)),when:id(),distribution:Qp()}},im=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:G(e.source,[`root`])}),Kp):{kind:`segment`,name:n};if(!Gu(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${Ku(n)}`,line:G(e.source,[`root`])}),Kp;if(n.kind===`container`)return qu(e,$p,t,n)??Kp;if(n.kind===`segment`)return qu(e,Zp,t,n)??Kp;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
42
43
  Old: { kind: "cells", segments: ["seg1", "seg2"] }
43
- New: { h: ["seg1", "seg2"] }`,line:G(e.source,[`root`])}),Of;if(n.kind===`group`){let r=Nl(e,qf,t,n);return r===null?Of:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),Yf(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:G(e.source,[`root`])}),Of}if(a){let r=Nl(e,Lf,t,n);return r===null?Of:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when},...r.id!==void 0&&{id:r.id},...r.settings!==void 0&&{settings:r.settings}}}if(r){let r=Nl(e,Rf,t,n);return r===null?Of:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=Nl(e,zf,t,n);return r===null?Of:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:G(e.source,[`root`])}),Of};function Vf(){return{required:!0,json:{type:`object`,propertyNames:{pattern:iu.source},additionalProperties:{$ref:Df}},parse:(e,t,n,r)=>{let i=r[n];if(!jl(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${Ml(i)}`,line:G(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!iu.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:G(e.source,[...t.split(`.`),n,r])});continue}a[r]=Bf(e,`${t}.${n}.${r}`,o)}return a}}}const Hf={noun:`root key`,fields:{rows:Vf(),when:Wl(),distribution:Pf()}};function Uf(e,t,n){return jl(n)&&`rows`in n?Nl(e,Hf,t,n)??{rows:{}}:Bf(e,t,n)}function Wf(){return{required:!0,json:{type:`string`,pattern:iu.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!iu.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${yu}", got ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}function Gf(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}}function Kf(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=El(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:G(e.source,[...t.split(`.`),n])});return}return i}}}}const qf={noun:`layout-node key`,fields:{kind:kf(`group`),name:Wf(),label:Kf(),open:Gl(),direction:Ql(tl),key:Gf(),bg:Wl(),fg:Wl(),when:Wl(),distribution:Pf(),children:Mf(Hl(()=>Bf))}};function Jf(e){return e.key??`groups.`+e.name}function Yf(e){let t=Yd+e.name;return wu(t,{variable:t,key:Jf(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function Xf(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function Zf(e,t){nf(e,t,Yd,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&Xf(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&Jf(t)===Jf(r)&&Xf(e,t.path,`group "${t.name}" shares key "${Jf(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=Jf(t);if(i.has(n)||i.set(n,yu),t.open===!0){let r=i.get(n);r!==`closed`&&Xf(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=Yd+e.name,r=Jf(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=Au(r,i.get(r)),o[t]=ju(r,e.name),s[t]={template:Du(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}var Qf=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?sp(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},$f=class extends Qf{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},ep=class extends Qf{name=`EvalError`;kind=`EvalError`},tp=class extends ep{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=cp(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},np=class extends ep{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},rp=class extends ep{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},ip=class extends rp{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},ap=class extends ep{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},op=class extends ep{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function sp(e,t){let n=e.split(`
44
+ New: { h: ["seg1", "seg2"] }`,line:G(e.source,[`root`])}),Kp;if(n.kind===`group`){let r=qu(e,dm,t,n);return r===null?Kp:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),pm(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:G(e.source,[`root`])}),Kp}if(a){let r=qu(e,tm,t,n);return r===null?Kp:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when},...r.id!==void 0&&{id:r.id},...r.settings!==void 0&&{settings:r.settings}}}if(r){let r=qu(e,nm,t,n);return r===null?Kp:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=qu(e,rm,t,n);return r===null?Kp:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:G(e.source,[`root`])}),Kp};function am(){return{required:!0,json:{type:`object`,propertyNames:{pattern:vd.source},additionalProperties:{$ref:Gp}},parse:(e,t,n,r)=>{let i=r[n];if(!Gu(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${Ku(i)}`,line:G(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!vd.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:G(e.source,[...t.split(`.`),n,r])});continue}a[r]=im(e,`${t}.${n}.${r}`,o)}return a}}}const om={noun:`root key`,fields:{rows:am(),when:id(),distribution:Qp()}};function sm(e,t,n){return Gu(n)&&`rows`in n?qu(e,om,t,n)??{rows:{}}:im(e,t,n)}function cm(){return{required:!0,json:{type:`string`,pattern:vd.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!vd.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${Nd}", got ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}function lm(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}}function um(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=Bu(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:G(e.source,[...t.split(`.`),n])});return}return i}}}}const dm={noun:`layout-node key`,fields:{kind:qp(`group`),name:cm(),label:um(),open:ad(),direction:fd(mu),key:lm(),bg:id(),fg:id(),when:id(),distribution:Qp(),children:Xp(nd(()=>im))}};function fm(e){return e.key??`groups.`+e.name}function pm(e){let t=mp+e.name;return Rd(t,{variable:t,key:fm(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function mm(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function hm(e,t){xp(e,t,mp,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&mm(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&fm(t)===fm(r)&&mm(e,t.path,`group "${t.name}" shares key "${fm(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=fm(t);if(i.has(n)||i.set(n,Nd),t.open===!0){let r=i.get(n);r!==`closed`&&mm(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=mp+e.name,r=fm(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=Wd(r,i.get(r)),o[t]=Gd(r,e.name),s[t]={template:Vd(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}var gm=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?Tm(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},_m=class extends gm{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},vm=class extends gm{name=`EvalError`;kind=`EvalError`},ym=class extends vm{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Em(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},bm=class extends vm{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},xm=class extends vm{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},Sm=class extends xm{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},Cm=class extends vm{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},wm=class extends vm{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Tm(e,t){let n=e.split(`
44
45
  `),r=t.line-1,i=[];if(r-1>=0&&r-1<n.length&&i.push({num:r,text:n[r-1]??``}),r>=0&&r<n.length&&i.push({num:r+1,text:n[r]??``}),r+1<n.length&&i.push({num:r+2,text:n[r+1]??``}),i.length===0)return``;let a=String(i[i.length-1]?.num??1).length,o=[];for(let e of i)if(o.push(` ${String(e.num).padStart(a,` `)} | ${e.text}`),e.num===t.line){let e=` ${` `.repeat(a)} | `,n=` `.repeat(Math.max(0,t.column-1));o.push(`${e}${n}^`)}return o.join(`
45
- `)}function cp(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:lp(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function lp(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function up(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const dp=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),fp={left:`{{`,right:`}}`};var pp=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=fp){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new $f(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&mp(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);mp(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);mp(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;mp(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;mp(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(gp(e)||hp(e)&&gp(this.src[this.offset+1]??``)||e===`.`&&gp(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&xp(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
46
+ `)}function Em(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Dm(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function Dm(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function Om(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const km=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),Am={left:`{{`,right:`}}`};var jm=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Am){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new _m(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&Mm(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);Mm(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);Mm(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;Mm(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;Mm(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(Pm(e)||Nm(e)&&Pm(this.src[this.offset+1]??``)||e===`.`&&Pm(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&zm(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
46
47
  `)throw this.err(`newline in interpreted string`,e,{found:`\\n`});if(n===`"`)return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated string literal`,e,{expected:`"`,found:`end of input`})}readRawString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){if(this.src[this.offset]==="`")return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated raw string literal`,e,{expected:"`",found:`end of input`})}readChar(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
47
- `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(hp(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);_p(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);vp(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);yp(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;gp(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);gp(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),hp(this.src[this.offset]??``)&&this.advanceBy(1);gp(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return _p(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);Sp(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&xp(this.src[this.offset+1]??``);)for(this.advanceBy(1);Sp(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!xp(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Sp(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&xp(this.src[this.offset+1]??``);)for(this.advanceBy(1);Sp(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;Sp(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=dp.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
48
+ `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(Nm(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);Fm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);Im(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);Lm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;Pm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);Pm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),Nm(this.src[this.offset]??``)&&this.advanceBy(1);Pm(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Fm(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);Bm(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&zm(this.src[this.offset+1]??``);)for(this.advanceBy(1);Bm(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!zm(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Bm(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&zm(this.src[this.offset+1]??``);)for(this.advanceBy(1);Bm(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;Bm(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=km.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
48
49
  `)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
49
- `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function mp(e){return e===` `||e===` `||e===`\r`||e===`
50
- `}function hp(e){return e===`+`||e===`-`}function gp(e){return e>=`0`&&e<=`9`}function _p(e){return gp(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function vp(e){return e>=`0`&&e<=`7`}function yp(e){return e===`0`||e===`1`}function bp(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function xp(e){return bp(e)||e===`_`}function Sp(e){return xp(e)||gp(e)}let Cp,wp;function Tp(e,t){return wp(e,t)}var Ep=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Cp=(t,n)=>new e(t,n),wp=(e,t)=>e.#e.get(t)??(e.#t&&wp(e.#t,t))}has(e){return wp(this,e)!==void 0}};function Dp(e,t,n=Ep.EMPTY){return new Op(e,t,n).parseTemplate()}var Op=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new pp(e,t):new pp(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:jp(n)});return n}errAt(e,t,n={}){return new $f(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${jp(e)}`,{found:jp(e)})}return{root:e,defines:Cp(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=Ap(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return kp(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${jp(n)} at top level`,{found:jp(n)})}return kp(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new $f(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new $f(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:jp(e)});return zp(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!Mp(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:jp(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[Np(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(Np(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;Mp(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return Np(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:zp(e.value,e.pos,this.source)};case`Number`:return Fp(e);case`Char`:return Ip(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${jp(e)}`,{expected:`command argument`,found:jp(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function kp(e,t){return{type:`List`,pos:e,nodes:t}}function Ap(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function jp(e){return e.type===`EOF`?`end of input`:e.value||e.type}function Mp(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function Np(e){return{type:`Variable`,pos:e.pos,idents:Pp(e.value)}}function Pp(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function Fp(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=Lp(i);return{...s,intValue:e}}if(a){let e=Rp(i);return{...s,floatValue:e}}let c=Rp(i);return{...s,complexValue:[0,c]}}function Ip(e,t){let n=Bp(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function Lp(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function Rp(e){return Number(e)}function zp(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
51
- `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new $f(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function Bp(e,t,n){let r=zp(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new $f(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function Vp(e,t){if(t(e)!==!1)for(let n of Hp(e))Vp(n,t)}function Hp(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return up(e)}}const Up=Symbol(`go-template-js.MISSING`);function Wp(e,t){if(e==null)return Up;if(e instanceof Map)return e.has(t)?e.get(t):Up;if(Array.isArray(e))return Up;if(typeof e==`object`){let n=e;return t in n?n[t]:Up}return Up}function Gp(e,t){let n=e;for(let e of t){if(n===Up)return Up;n=Wp(n,e)}return n}function Kp(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>Kp(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!Kp(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>Kp(e[n],t[n])):!1}return!1}const qp=new WeakSet;function Jp(e){return qp.add(e),e}function Yp(e){return qp.has(e)}function Xp(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function Zp(e,t){return{eq:{fn:(e,...t)=>t.some(t=>em(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!em(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>tm(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>tm(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>tm(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>tm(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>nm(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=rm(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>am(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>cm(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${cm(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>_m(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>bm(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>bm(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>dm(cm(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>mm(cm(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>gm(cm(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!Xp(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function Qp(){return{and:Jp({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!Xp(t))return t;return t}}),or:Jp({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),Xp(t))return t;return t}})}}function $p(e,t){return{...Zp(e,t),...Qp()}}function em(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):Kp(e,t)}function tm(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function nm(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function rm(e,t){if(Array.isArray(e)||typeof e==`string`){let n=im(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${om(t)}`);return e[t]}throw Error(`index: cannot index ${om(e)}`)}function im(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${sm(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function am(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=im(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function om(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function sm(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function cm(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=lm(a,t),r=o}return n}function lm(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const um={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function dm(e){return e.replace(/[\0"'&<>]/g,e=>um[e]??e)}const fm={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},pm=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function mm(e){let t=``;for(let n of e){let e=fm[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!pm.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const hm=new TextEncoder;function gm(e){let t=``,n=hm.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function _m(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=vm(l??``,u,d,n,r),o=c+1}return i}function vm(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?ym(t,n):ym(t,lm(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${sm(n)}=${lm(n,r)})`:ym(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return ym(t,bm(n,r,i));case`q`:return ym(t,JSON.stringify(lm(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${sm(n)}=${lm(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return ym(t,Number(n).toFixed(i))}case`t`:return ym(t,Xp(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return ym(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${sm(n)}=${lm(n,r)})`:typeof n==`bigint`?ym(t,n.toString(16)):ym(t,Math.trunc(n).toString(16));default:return`%!${e}(${sm(n)}=${lm(n,r)})`}}function ym(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function bm(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>bm(e,t,n)).join(` `)}]`:e instanceof Map?xm([...e.entries()],t,n):Sm(e)?xm(Object.entries(e),t,n):String(e)}function xm(e,t,n){let r=e=>bm(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function Sm(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Cm(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function wm(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function Tm(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function Em(e,t,n){e.vars.set(t,n)}const Dm=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],Om=new Set([`default`,`zero`,`error`]);function km(e){if(e===void 0)return`default`;if(Om.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${Am(e)}`)}function Am(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function jm(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${Am(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${Am(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${Am(e.right)}`);return{left:e.left,right:e.right}}}function Mm(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function Nm(e){let t=new Set(Dm);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${Dm.join(`, `)}`)}),Mm(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const Pm=Object.freeze({kind:`break`}),Fm=Object.freeze({kind:`continue`}),Im={kind:`none`};let Lm;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{Lm=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function Rm(e){let t=new Set,n=e=>{Vp(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const zm={kind:`dynamic`};function Bm(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=sh(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:zm}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return zm;let t=e.cmds[0];if(t===void 0)return zm;let n=t.args[0];return n===void 0||n.type!==`Identifier`?zm:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Bm)}}default:return zm}}function Vm(e){let t=[],n=e=>{Vp(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(Bm);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var Hm=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??Xm,this.isT=e.isT??Um,this.missingKey=km(e.missingKey),this.delims=jm(e.delims),this.funcs=Nm({...$p(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=Dp(e,this.delims,t);return Lm(n.source,e=>this.evalParsed(n,e),n.defines,Rm(n),Vm(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=Cm(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw Pm;case`Continue`:throw Fm;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new ep(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:up(e)}}evalIf(e,t,n){Xp(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(Xp(r)){let i=wm(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=ih(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=wm(t,o);if(i.length===1)Em(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;Em(a,e,r),Em(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===Fm)continue;throw e}}}catch(e){if(e===Pm)return;throw e}}evalTemplateInvoke(e,t,n){let r=Tp(n.defines,e.name);if(!r)throw new ep(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=wm(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=wm(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Tp(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new ep(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,Im);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)Em(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new ep(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new ep(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new tp(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=Yp(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){Gm(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof rp?new rp(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof op?new op(t.message,r,{source:i.source}):t instanceof Qf?t:new ep(`error calling ${e}: ${nh(t)}`,r,{source:i.source,cause:t})}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return sh(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new tp(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new ep(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=Gp(e,t);if(i!==Up)return i;if(this.missingKey===`error`)throw new ap(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=Tm(t,i);if(!a.found)throw new ep(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(bm(e,this.toString,this.isT)))}};const Um=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function Wm(e){return new Hm(e)}function Gm(e,t,n,r,i,a=Xm,o=Ym,s=Um){let{argTypes:c,arity:l}=t,u=Km(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new np(e,u,n.length,r,{source:i});let d=qm(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!Jm(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new ip(e,t+1,l,r,{source:i}):new rp(e,t+1,th(c),rh(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!Qm(n[f],l))throw new rp(e,t+1,`${th(`ordered`)} of the same kind as ${rh(n[f])}`,rh(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!$m(n[p],l))throw new rp(e,t+1,`${th(`comparable`)} of the same kind as ${rh(n[p])}`,rh(l),r,{source:i})}}}function Km(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function qm(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function Jm(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return Sm(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Sm(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||Sm(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Sm(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return Zm(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Ym(e){return e}function Xm(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new rp(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,rh(e),{line:0,column:0,offset:0})}function Zm(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Qm(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function $m(e,t){let n=eh(e),r=eh(t);return n===`nil`||r===`nil`?!0:n===r}function eh(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function th(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function nh(e){return e instanceof Error?e.message:String(e)}function rh(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function ih(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?ah([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?ah(Object.entries(e)):[]}function ah(e){return[...e].sort((e,t)=>oh(e[0],t[0]))}function oh(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function sh(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function ch(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function lh(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function uh(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function dh(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=uh(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function fh(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=uh(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function ph(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function mh(e){return JSON.stringify(e)??`null`}function hh(){return{atoi:{fn:e=>ch(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>dh(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>fh(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>lh(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>ph(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>mh(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const gh={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function _h(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*gh[a],n=n.slice(e[0].length)}return t?-r:r}function vh(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<gh.us?`${Math.floor(n)}ns`:n<gh.ms?yh(n,gh.us,3,`µs`):n<gh.s?yh(n,gh.ms,6,`ms`):bh(n),t?`-${r}`:r}function yh(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function bh(e){let t=Math.floor(e/gh.h);e-=t*gh.h;let n=Math.floor(e/gh.m);e-=n*gh.m;let r=Math.floor(e/gh.s),i=e-r*gh.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function xh(e){return e*gh.s}function Sh(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Ch(e,t){let n=t().getTime()-Sh(e).getTime();return vh(Math.round(n/1e3)*1e9)}const wh=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Th=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Eh=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Dh=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Oh(e){return e<10?`0${e}`:String(e)}function kh(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function Ah(e){return e<10?` ${e}`:String(e)}function jh(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Oh(Math.floor(n/60))}${Oh(n%60)}`}function Mh(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Oh(Math.floor(n/60))}:${Oh(n%60)}`}function Nh(e){return`${e>=0?`+`:`-`}${Oh(Math.floor(Math.abs(e)/60))}`}function Ph(e){return e===0?`Z`:jh(e)}function Fh(e){return e===0?`Z`:Mh(e)}function Ih(e){return e===0?`Z`:Nh(e)}function Lh(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const Rh=[[`.000000000`,e=>`.${Lh(e.ms,9,!1)}`],[`.999999999`,e=>{let t=Lh(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${Lh(e.ms,6,!1)}`],[`.999999`,e=>{let t=Lh(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${kh(e.ms)}`],[`.999`,e=>{let t=kh(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>wh[e.month-1]??`January`],[`Monday`,e=>Eh[e.weekday]??`Monday`],[`Z07:00`,e=>Fh(e.offsetMinutes)],[`-07:00`,e=>Mh(e.offsetMinutes)],[`Z0700`,e=>Ph(e.offsetMinutes)],[`-0700`,e=>jh(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Th[e.month-1]??`Jan`],[`Mon`,e=>Dh[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>Nh(e.offsetMinutes)],[`Z07`,e=>Ih(e.offsetMinutes)],[`15`,e=>Oh(e.hour)],[`01`,e=>Oh(e.month)],[`02`,e=>Oh(e.day)],[`_2`,e=>Ah(e.day)],[`03`,e=>Oh(e.hour12)],[`04`,e=>Oh(e.minute)],[`05`,e=>Oh(e.second)],[`06`,e=>Oh(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function zh(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of Rh)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const Bh={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function Vh(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const Hh=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Uh(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=Vh(new Intl.DateTimeFormat(`en-US`,{...Bh,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=Vh(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=Wh(Vh(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=Hh.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function Wh(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function Gh(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function Kh(e,t){return zh(e,Uh(Sh(t),Gh()))}function qh(e,t,n){return zh(e,Uh(Sh(t),n))}function Jh(e,t){let n=Sh(t),r=_h(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function Yh(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:vh(xh(t))}return typeof e==`bigint`?vh(xh(Number(e))):typeof e==`number`?vh(xh(e)):`0s`}const Xh=36e11*24*365,Zh=36e11*24*30,Qh=36e11*24,$h=36e11,eg=6e10,tg=1e9;function ng(e){let t=_h(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Xh?`${Math.floor(n/Xh)}y`:n>Zh?`${Math.floor(n/Zh)}mo`:n>Qh?`${Math.floor(n/Qh)}d`:n>$h?`${Math.floor(n/$h)}h`:n>eg?`${Math.floor(n/eg)}m`:n>tg?`${Math.floor(n/tg)}s`:`0s`}function rg(e){let t=Uh(Sh(e),Gh());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function ig(e,t){let n=Uh(Sh(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function ag(e){return e()}const og=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],sg=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function cg(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function lg(e,t,n){return[e.slice(t,t+n),t+n]}function ug(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function dg(e,t){for(let[n,r]of og.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function fg(e,t){for(let[n,r]of sg.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function pg(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function mg(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function hg(e,t){if(e[t]===` `){let[n,r]=ug(e,t+1,1,1);return[n,r]}return ug(e,t,1,2)}function gg(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=ug(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=ug(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=ug(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function _g(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=ug(e,t+1,2,2);return[n*r*60,i]}return gg(e,t,n)}function vg(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function yg(e,t,n){let[r,i]=lg(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function bg(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=dg(t,n);return i.month=e,[r,i]}case`Monday`:return[pg(t,n),i];case`Jan`:{let[e,r]=fg(t,n);return i.month=e,[r,i]}case`Mon`:return[mg(t,n),i];case`2006`:{let[e,r]=ug(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=ug(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=ug(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=ug(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=hg(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=ug(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=ug(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=ug(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=ug(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=ug(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=ug(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=ug(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=ug(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=ug(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[vg(t,n),i];case`-0700`:{let[e,r]=gg(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=gg(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=ug(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=_g(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=_g(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=_g(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=yg(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=yg(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=yg(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const xg=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function Sg(e,t){let n=0,r=0,i=cg();for(;n<e.length;){let a=!1;for(let o of xg)if(e.startsWith(o,n)){let[e,s]=bg(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function Cg(e,t){return Sg(e,t)}function wg(e){return String(Math.floor(Sh(e).getTime()/1e3))}function Tg(e=()=>new Date){return{now:{fn:()=>ag(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>Kh(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>qh(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>Jh(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>rg(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>ig(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>Yh(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>ng(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>Cg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>Ch(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>wg(e),argTypes:[`value`],arity:{kind:`exact`}}}}function Eg(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function Dg(...e){for(let t of e)if(!Eg(t))return t}function Og(e,t){return Eg(t)?e:t}function kg(e){return JSON.parse(e)}function Ag(e,t,n){return Xp(n)?e:t}function jg(e){return JSON.stringify(e)??`null`}function Mg(e){return JSON.stringify(e,null,2)??`null`}function Ng(){return{default:{fn:(e,t)=>Og(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>Eg(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>Dg(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>Ag(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>kg(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>jg(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>Mg(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function Pg(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function Fg(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return Pg(...t)}function Ig(e,t){return e[t]}function Lg(e,t){return t in e}function Rg(e){return Object.keys(e)}function zg(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function Bg(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function Vg(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function Hg(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ug(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function Wg(e,t,n){return e[t]=n,e}function Gg(e,t){return delete e[t],e}function Kg(e){return Object.values(e)}function qg(){return{dict:{fn:(...e)=>Pg(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>Ig(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>Wg(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>Gg(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>Rg(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>Kg(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>Ug(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>Hg(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>Vg(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>Lg(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>zg(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>Bg(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function Jg(e){throw new op(e)}function Yg(){return{fail:{fn:e=>Jg(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Xg(...e){for(let t of e)if(Eg(t))return!1;return!0}function Zg(...e){for(let t of e)if(!Eg(t))return!0;return!1}function Qg(e,t){return[...e,t]}function $g(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function e_(e){return e.filter(e=>!Eg(e))}function t_(...e){let t=[];for(let n of e)t.push(...n);return t}const n_={line:0,column:0,offset:0};function r_(e,t,n,r){return new rp(e,t,n,r,n_)}function i_(...e){if(e.length<3)throw r_(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!o_(t))throw r_(`dig`,e.length-1,`dict`,s_(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw r_(`dig`,e,`string`,s_(r[e]));return a_(t,n,r,e.length)}function a_(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!o_(a))throw r_(`dig`,r-1,`dict at intermediate key`,s_(a));return a_(a,t,n.slice(1),r)}function o_(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function s_(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function c_(e){return e[0]}function l_(e,t){return t.some(t=>Kp(t,e))}function u_(e){return e.slice(0,-1)}function d_(e){return e[e.length-1]}function f_(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function p_(...e){return e}function m_(e,t){return[t,...e]}function h_(e){return e.slice(1)}function g_(e){return[...e].reverse()}function __(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function v_(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function y_(e){let t=[];for(let n of e)t.some(e=>Kp(e,n))||t.push(n);return t}function b_(e,...t){return e.filter(e=>!t.some(t=>Kp(t,e)))}function x_(){return{list:{fn:(...e)=>p_(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>c_(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>d_(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>h_(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>u_(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>f_(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>g_(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>y_(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>b_(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>l_(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>e_(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>__(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>t_(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>$g(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>m_(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>Qg(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>v_(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>Qg(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>p_(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>i_(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Xg(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Zg(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function S_(...e){return e.reduce((e,t)=>e+t,0)}function C_(e){return e+1}function w_(e){return e+1}function T_(...e){return e.reduce((e,t)=>e+t,0)}function E_(e){return Math.ceil(e)}function D_(e,t){return Math.trunc(e/t)}function O_(e,...t){return t.reduce((e,t)=>e/t,e)}function k_(e){return Math.floor(e)}function A_(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function j_(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function M_(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function N_(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function P_(e,t){return e%t}function F_(...e){return e.reduce((e,t)=>e*t,1)}function I_(...e){return e.reduce((e,t)=>e*t,1)}function L_(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function R_(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function z_(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),R_(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return R_(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:R_(n,i+t,r).join(` `)}default:return``}}function B_(e,t){return e-t}function V_(e,...t){return t.reduce((e,t)=>e-t,e)}function H_(e){return R_(0,e,e<0?-1:1)}function U_(){return{add:{fn:(...e)=>S_(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>B_(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>F_(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>D_(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>P_(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>M_(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>A_(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>k_(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>E_(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>L_(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>T_(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>V_(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>I_(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>O_(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>C_(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>w_(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>j_(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>N_(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>A_(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>z_(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>H_(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>R_(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function W_(e){return Array.from(e)}function G_(e,t){return e===``?W_(t):t.split(e)}function K_(e,t){let n=W_(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function q_(e,t,n){let r=W_(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},J_=/^[-_\s]$/,Y_=/^\p{P}$/u,X_=/^\p{L}$/u,Z_=/^\p{Lu}$/u,Q_=/^\p{N}$/u;function $_(e){return e!==void 0&&J_.test(e)}function ev(e){return e!==void 0&&X_.test(e)}function tv(e){return e!==void 0&&Z_.test(e)}function nv(e){return e!==void 0&&Q_.test(e)}function rv(e){return e!==void 0&&Y_.test(e)}function iv(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if($_(n)){for(;r<e.length&&$_(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(rv(n)){for(;r<e.length&&rv(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(tv(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(tv(e[r])){let n=r;for(;n<e.length&&tv(e[n]);)n++;return n<e.length&&ev(e[n])?{word:{wt:q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(ev(e[r])){let n=r+1;for(;n<e.length&&ev(e[n])&&!tv(e[n]);)n++;return{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:q.UpperCase,text:n},next:r}}if(ev(n)){for(;r<e.length&&ev(e[r])&&!tv(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(nv(n)){for(;r<e.length&&nv(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!$_(e[r])&&!ev(e[r])&&!nv(e[r])&&!rv(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function av(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)$_(r)?e.push(n):tv(r)?e.push(r.toLowerCase()):e.push(r)}function ov(e,t){if(e.length===0)return``;let n=W_(e),r=[],{word:i,next:a}=iv(n,0);for(;a<n.length;){i.wt!==q.Connector&&av(r,i,t);let e=i,o=i;if({word:i,next:a}=iv(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)av(r,i,t),{word:i,next:a}=iv(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){av(r,o,t);continue}if(e.wt===q.Punct)continue;if(i.wt!==q.Number){i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=iv(n,a),i.wt!==q.Alphabet){av(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),av(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)av(r,i,t),{word:i,next:a}=iv(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return av(r,i,t),r.join(``).toLowerCase()}function sv(e){if(e.length===0)return``;let t=W_(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!$_(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,$_(i)&&$_(e)){n.push(e);continue}$_(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function cv(e){return sv(e)}function lv(...e){return e.join(` `)}function uv(e,t){return t.includes(e)}function dv(e,t){return t.startsWith(e)}function fv(e,t){return t.endsWith(e)}function pv(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
50
+ `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function Mm(e){return e===` `||e===` `||e===`\r`||e===`
51
+ `}function Nm(e){return e===`+`||e===`-`}function Pm(e){return e>=`0`&&e<=`9`}function Fm(e){return Pm(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function Im(e){return e>=`0`&&e<=`7`}function Lm(e){return e===`0`||e===`1`}function Rm(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function zm(e){return Rm(e)||e===`_`}function Bm(e){return zm(e)||Pm(e)}let Vm,Hm;function Um(e,t){return Hm(e,t)}var Wm=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Vm=(t,n)=>new e(t,n),Hm=(e,t)=>e.#e.get(t)??(e.#t&&Hm(e.#t,t))}has(e){return Hm(this,e)!==void 0}};function Gm(e,t,n=Wm.EMPTY){return new Km(e,t,n).parseTemplate()}var Km=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new jm(e,t):new jm(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:Ym(n)});return n}errAt(e,t,n={}){return new _m(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${Ym(e)}`,{found:Ym(e)})}return{root:e,defines:Vm(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=Jm(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return qm(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${Ym(n)} at top level`,{found:Ym(n)})}return qm(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new _m(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new _m(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:Ym(e)});return rh(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!Xm(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:Ym(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[Zm(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(Zm(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;Xm(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return Zm(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:rh(e.value,e.pos,this.source)};case`Number`:return $m(e);case`Char`:return eh(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${Ym(e)}`,{expected:`command argument`,found:Ym(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function qm(e,t){return{type:`List`,pos:e,nodes:t}}function Jm(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function Ym(e){return e.type===`EOF`?`end of input`:e.value||e.type}function Xm(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function Zm(e){return{type:`Variable`,pos:e.pos,idents:Qm(e.value)}}function Qm(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function $m(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=th(i);return{...s,intValue:e}}if(a){let e=nh(i);return{...s,floatValue:e}}let c=nh(i);return{...s,complexValue:[0,c]}}function eh(e,t){let n=ih(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function th(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function nh(e){return Number(e)}function rh(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
52
+ `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new _m(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function ih(e,t,n){let r=rh(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new _m(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function ah(e,t){if(t(e)!==!1)for(let n of oh(e))ah(n,t)}function oh(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return Om(e)}}const sh=Symbol(`go-template-js.MISSING`);function ch(e,t){if(e==null)return sh;if(e instanceof Map)return e.has(t)?e.get(t):sh;if(Array.isArray(e))return sh;if(typeof e==`object`){let n=e;return t in n?n[t]:sh}return sh}function lh(e,t){let n=e;for(let e of t){if(n===sh)return sh;n=ch(n,e)}return n}function uh(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>uh(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!uh(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>uh(e[n],t[n])):!1}return!1}const dh=new WeakSet;function fh(e){return dh.add(e),e}function ph(e){return dh.has(e)}function mh(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function hh(e,t){return{eq:{fn:(e,...t)=>t.some(t=>vh(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!vh(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>yh(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>yh(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>yh(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>yh(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>bh(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=xh(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>Ch(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>Eh(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${Eh(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>Fh(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>Rh(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>Rh(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>kh(Eh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>Mh(Eh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>Ph(Eh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!mh(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function gh(){return{and:fh({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!mh(t))return t;return t}}),or:fh({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),mh(t))return t;return t}})}}function _h(e,t){return{...hh(e,t),...gh()}}function vh(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):uh(e,t)}function yh(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function bh(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function xh(e,t){if(Array.isArray(e)||typeof e==`string`){let n=Sh(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${wh(t)}`);return e[t]}throw Error(`index: cannot index ${wh(e)}`)}function Sh(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${Th(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function Ch(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=Sh(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function wh(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Th(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function Eh(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=Dh(a,t),r=o}return n}function Dh(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const Oh={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function kh(e){return e.replace(/[\0"'&<>]/g,e=>Oh[e]??e)}const Ah={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},jh=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Mh(e){let t=``;for(let n of e){let e=Ah[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!jh.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Nh=new TextEncoder;function Ph(e){let t=``,n=Nh.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function Fh(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=Ih(l??``,u,d,n,r),o=c+1}return i}function Ih(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?Lh(t,n):Lh(t,Dh(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Th(n)}=${Dh(n,r)})`:Lh(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Lh(t,Rh(n,r,i));case`q`:return Lh(t,JSON.stringify(Dh(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Th(n)}=${Dh(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Lh(t,Number(n).toFixed(i))}case`t`:return Lh(t,mh(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return Lh(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Th(n)}=${Dh(n,r)})`:typeof n==`bigint`?Lh(t,n.toString(16)):Lh(t,Math.trunc(n).toString(16));default:return`%!${e}(${Th(n)}=${Dh(n,r)})`}}function Lh(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function Rh(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>Rh(e,t,n)).join(` `)}]`:e instanceof Map?zh([...e.entries()],t,n):Bh(e)?zh(Object.entries(e),t,n):String(e)}function zh(e,t,n){let r=e=>Rh(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function Bh(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Vh(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function Hh(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function Uh(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function Wh(e,t,n){e.vars.set(t,n)}const Gh=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],Kh=new Set([`default`,`zero`,`error`]);function qh(e){if(e===void 0)return`default`;if(Kh.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${Jh(e)}`)}function Jh(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function Yh(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${Jh(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${Jh(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${Jh(e.right)}`);return{left:e.left,right:e.right}}}function Xh(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function Zh(e){let t=new Set(Gh);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${Gh.join(`, `)}`)}),Xh(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const Qh=Object.freeze({kind:`break`}),$h=Object.freeze({kind:`continue`}),eg={kind:`none`};let tg;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{tg=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function ng(e){let t=new Set,n=e=>{ah(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const rg={kind:`dynamic`};function ig(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=Tg(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:rg}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return rg;let t=e.cmds[0];if(t===void 0)return rg;let n=t.args[0];return n===void 0||n.type!==`Identifier`?rg:{kind:`call`,name:n.ident,args:t.args.slice(1).map(ig)}}default:return rg}}function ag(e){let t=[],n=e=>{ah(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(ig);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var og=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??mg,this.isT=e.isT??sg,this.missingKey=qh(e.missingKey),this.delims=Yh(e.delims),this.funcs=Zh({..._h(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=Gm(e,this.delims,t);return tg(n.source,e=>this.evalParsed(n,e),n.defines,ng(n),ag(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=Vh(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw Qh;case`Continue`:throw $h;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new vm(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Om(e)}}evalIf(e,t,n){mh(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(mh(r)){let i=Hh(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=Sg(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=Hh(t,o);if(i.length===1)Wh(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;Wh(a,e,r),Wh(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===$h)continue;throw e}}}catch(e){if(e===Qh)return;throw e}}evalTemplateInvoke(e,t,n){let r=Um(n.defines,e.name);if(!r)throw new vm(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=Hh(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=Hh(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Um(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new vm(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,eg);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)Wh(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new vm(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new vm(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new ym(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=ph(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){lg(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof xm?new xm(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof wm?new wm(t.message,r,{source:i.source}):t instanceof gm?t:new vm(`error calling ${e}: ${bg(t)}`,r,{source:i.source,cause:t})}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return Tg(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new ym(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new vm(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=lh(e,t);if(i!==sh)return i;if(this.missingKey===`error`)throw new Cm(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=Uh(t,i);if(!a.found)throw new vm(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(Rh(e,this.toString,this.isT)))}};const sg=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function cg(e){return new og(e)}function lg(e,t,n,r,i,a=mg,o=pg,s=sg){let{argTypes:c,arity:l}=t,u=ug(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new bm(e,u,n.length,r,{source:i});let d=dg(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!fg(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new Sm(e,t+1,l,r,{source:i}):new xm(e,t+1,yg(c),xg(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!gg(n[f],l))throw new xm(e,t+1,`${yg(`ordered`)} of the same kind as ${xg(n[f])}`,xg(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!_g(n[p],l))throw new xm(e,t+1,`${yg(`comparable`)} of the same kind as ${xg(n[p])}`,xg(l),r,{source:i})}}}function ug(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function dg(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function fg(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return Bh(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Bh(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||Bh(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Bh(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return hg(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function pg(e){return e}function mg(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new xm(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,xg(e),{line:0,column:0,offset:0})}function hg(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function gg(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function _g(e,t){let n=vg(e),r=vg(t);return n===`nil`||r===`nil`?!0:n===r}function vg(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function yg(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function bg(e){return e instanceof Error?e.message:String(e)}function xg(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Sg(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?Cg([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Cg(Object.entries(e)):[]}function Cg(e){return[...e].sort((e,t)=>wg(e[0],t[0]))}function wg(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function Tg(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function Eg(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Dg(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function Og(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function kg(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=Og(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function Ag(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Og(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function jg(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function Mg(e){return JSON.stringify(e)??`null`}function Ng(){return{atoi:{fn:e=>Eg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>kg(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Ag(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Dg(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>jg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>Mg(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const Pg={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Fg(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*Pg[a],n=n.slice(e[0].length)}return t?-r:r}function Ig(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Pg.us?`${Math.floor(n)}ns`:n<Pg.ms?Lg(n,Pg.us,3,`µs`):n<Pg.s?Lg(n,Pg.ms,6,`ms`):Rg(n),t?`-${r}`:r}function Lg(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function Rg(e){let t=Math.floor(e/Pg.h);e-=t*Pg.h;let n=Math.floor(e/Pg.m);e-=n*Pg.m;let r=Math.floor(e/Pg.s),i=e-r*Pg.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function zg(e){return e*Pg.s}function Bg(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Vg(e,t){let n=t().getTime()-Bg(e).getTime();return Ig(Math.round(n/1e3)*1e9)}const Hg=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ug=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Wg=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Gg=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Kg(e){return e<10?`0${e}`:String(e)}function qg(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function Jg(e){return e<10?` ${e}`:String(e)}function Yg(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Kg(Math.floor(n/60))}${Kg(n%60)}`}function Xg(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${Kg(Math.floor(n/60))}:${Kg(n%60)}`}function Zg(e){return`${e>=0?`+`:`-`}${Kg(Math.floor(Math.abs(e)/60))}`}function Qg(e){return e===0?`Z`:Yg(e)}function $g(e){return e===0?`Z`:Xg(e)}function e_(e){return e===0?`Z`:Zg(e)}function t_(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const n_=[[`.000000000`,e=>`.${t_(e.ms,9,!1)}`],[`.999999999`,e=>{let t=t_(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${t_(e.ms,6,!1)}`],[`.999999`,e=>{let t=t_(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${qg(e.ms)}`],[`.999`,e=>{let t=qg(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>Hg[e.month-1]??`January`],[`Monday`,e=>Wg[e.weekday]??`Monday`],[`Z07:00`,e=>$g(e.offsetMinutes)],[`-07:00`,e=>Xg(e.offsetMinutes)],[`Z0700`,e=>Qg(e.offsetMinutes)],[`-0700`,e=>Yg(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Ug[e.month-1]??`Jan`],[`Mon`,e=>Gg[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>Zg(e.offsetMinutes)],[`Z07`,e=>e_(e.offsetMinutes)],[`15`,e=>Kg(e.hour)],[`01`,e=>Kg(e.month)],[`02`,e=>Kg(e.day)],[`_2`,e=>Jg(e.day)],[`03`,e=>Kg(e.hour12)],[`04`,e=>Kg(e.minute)],[`05`,e=>Kg(e.second)],[`06`,e=>Kg(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function r_(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of n_)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const i_={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function a_(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const o_=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function s_(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=a_(new Intl.DateTimeFormat(`en-US`,{...i_,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=a_(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=c_(a_(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=o_.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function c_(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function l_(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function u_(e,t){return r_(e,s_(Bg(t),l_()))}function d_(e,t,n){return r_(e,s_(Bg(t),n))}function f_(e,t){let n=Bg(t),r=Fg(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function p_(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Ig(zg(t))}return typeof e==`bigint`?Ig(zg(Number(e))):typeof e==`number`?Ig(zg(e)):`0s`}const m_=36e11*24*365,h_=36e11*24*30,g_=36e11*24,__=36e11,v_=6e10,y_=1e9;function b_(e){let t=Fg(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>m_?`${Math.floor(n/m_)}y`:n>h_?`${Math.floor(n/h_)}mo`:n>g_?`${Math.floor(n/g_)}d`:n>__?`${Math.floor(n/__)}h`:n>v_?`${Math.floor(n/v_)}m`:n>y_?`${Math.floor(n/y_)}s`:`0s`}function x_(e){let t=s_(Bg(e),l_());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function S_(e,t){let n=s_(Bg(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function C_(e){return e()}const w_=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],T_=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function E_(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function D_(e,t,n){return[e.slice(t,t+n),t+n]}function O_(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function k_(e,t){for(let[n,r]of w_.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function A_(e,t){for(let[n,r]of T_.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function j_(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function M_(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function N_(e,t){if(e[t]===` `){let[n,r]=O_(e,t+1,1,1);return[n,r]}return O_(e,t,1,2)}function P_(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=O_(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=O_(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=O_(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function F_(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=O_(e,t+1,2,2);return[n*r*60,i]}return P_(e,t,n)}function I_(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function L_(e,t,n){let[r,i]=D_(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function R_(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=k_(t,n);return i.month=e,[r,i]}case`Monday`:return[j_(t,n),i];case`Jan`:{let[e,r]=A_(t,n);return i.month=e,[r,i]}case`Mon`:return[M_(t,n),i];case`2006`:{let[e,r]=O_(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=O_(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=O_(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=O_(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=N_(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=O_(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=O_(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=O_(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=O_(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=O_(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=O_(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=O_(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=O_(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=O_(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[I_(t,n),i];case`-0700`:{let[e,r]=P_(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=P_(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=O_(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=F_(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=F_(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=F_(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=L_(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=L_(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=L_(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const z_=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function B_(e,t){let n=0,r=0,i=E_();for(;n<e.length;){let a=!1;for(let o of z_)if(e.startsWith(o,n)){let[e,s]=R_(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function V_(e,t){return B_(e,t)}function H_(e){return String(Math.floor(Bg(e).getTime()/1e3))}function U_(e=()=>new Date){return{now:{fn:()=>C_(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>u_(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>d_(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>f_(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>x_(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>S_(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>p_(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>b_(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>V_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>Vg(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>H_(e),argTypes:[`value`],arity:{kind:`exact`}}}}function W_(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function G_(...e){for(let t of e)if(!W_(t))return t}function K_(e,t){return W_(t)?e:t}function q_(e){return JSON.parse(e)}function J_(e,t,n){return mh(n)?e:t}function Y_(e){return JSON.stringify(e)??`null`}function X_(e){return JSON.stringify(e,null,2)??`null`}function Z_(){return{default:{fn:(e,t)=>K_(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>W_(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>G_(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>J_(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>q_(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>Y_(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>X_(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function Q_(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function $_(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return Q_(...t)}function ev(e,t){return e[t]}function tv(e,t){return t in e}function nv(e){return Object.keys(e)}function rv(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function iv(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function av(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function ov(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function sv(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function cv(e,t,n){return e[t]=n,e}function lv(e,t){return delete e[t],e}function uv(e){return Object.values(e)}function dv(){return{dict:{fn:(...e)=>Q_(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>ev(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>cv(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>lv(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>nv(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>uv(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>sv(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>ov(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>av(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>tv(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>rv(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>iv(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function fv(e){throw new wm(e)}function pv(){return{fail:{fn:e=>fv(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function mv(...e){for(let t of e)if(W_(t))return!1;return!0}function hv(...e){for(let t of e)if(!W_(t))return!0;return!1}function gv(e,t){return[...e,t]}function _v(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function vv(e){return e.filter(e=>!W_(e))}function yv(...e){let t=[];for(let n of e)t.push(...n);return t}const bv={line:0,column:0,offset:0};function xv(e,t,n,r){return new xm(e,t,n,r,bv)}function Sv(...e){if(e.length<3)throw xv(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!wv(t))throw xv(`dig`,e.length-1,`dict`,Tv(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw xv(`dig`,e,`string`,Tv(r[e]));return Cv(t,n,r,e.length)}function Cv(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!wv(a))throw xv(`dig`,r-1,`dict at intermediate key`,Tv(a));return Cv(a,t,n.slice(1),r)}function wv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Tv(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Ev(e){return e[0]}function Dv(e,t){return t.some(t=>uh(t,e))}function Ov(e){return e.slice(0,-1)}function kv(e){return e[e.length-1]}function Av(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function jv(...e){return e}function Mv(e,t){return[t,...e]}function Nv(e){return e.slice(1)}function Pv(e){return[...e].reverse()}function Fv(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Iv(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Lv(e){let t=[];for(let n of e)t.some(e=>uh(e,n))||t.push(n);return t}function Rv(e,...t){return e.filter(e=>!t.some(t=>uh(t,e)))}function zv(){return{list:{fn:(...e)=>jv(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Ev(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>kv(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>Nv(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>Ov(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Av(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>Pv(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>Lv(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>Rv(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Dv(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>vv(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>Fv(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>yv(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>_v(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>Mv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>gv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>Iv(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>gv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>jv(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Sv(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>mv(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>hv(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function Bv(...e){return e.reduce((e,t)=>e+t,0)}function Vv(e){return e+1}function Hv(e){return e+1}function Uv(...e){return e.reduce((e,t)=>e+t,0)}function Wv(e){return Math.ceil(e)}function Gv(e,t){return Math.trunc(e/t)}function Kv(e,...t){return t.reduce((e,t)=>e/t,e)}function qv(e){return Math.floor(e)}function Jv(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function Yv(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function Xv(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function Zv(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function Qv(e,t){return e%t}function $v(...e){return e.reduce((e,t)=>e*t,1)}function ey(...e){return e.reduce((e,t)=>e*t,1)}function ty(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function ny(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function ry(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),ny(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return ny(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:ny(n,i+t,r).join(` `)}default:return``}}function iy(e,t){return e-t}function ay(e,...t){return t.reduce((e,t)=>e-t,e)}function oy(e){return ny(0,e,e<0?-1:1)}function sy(){return{add:{fn:(...e)=>Bv(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>iy(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>$v(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>Gv(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>Qv(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>Xv(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>Jv(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>qv(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>Wv(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>ty(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>Uv(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>ay(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>ey(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>Kv(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>Vv(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>Hv(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>Yv(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>Zv(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>Jv(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>ry(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>oy(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>ny(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function cy(e){return Array.from(e)}function ly(e,t){return e===``?cy(t):t.split(e)}function uy(e,t){let n=cy(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function dy(e,t,n){let r=cy(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},fy=/^[-_\s]$/,py=/^\p{P}$/u,my=/^\p{L}$/u,hy=/^\p{Lu}$/u,gy=/^\p{N}$/u;function _y(e){return e!==void 0&&fy.test(e)}function vy(e){return e!==void 0&&my.test(e)}function yy(e){return e!==void 0&&hy.test(e)}function by(e){return e!==void 0&&gy.test(e)}function xy(e){return e!==void 0&&py.test(e)}function Sy(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(_y(n)){for(;r<e.length&&_y(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(xy(n)){for(;r<e.length&&xy(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(yy(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(yy(e[r])){let n=r;for(;n<e.length&&yy(e[n]);)n++;return n<e.length&&vy(e[n])?{word:{wt:q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(vy(e[r])){let n=r+1;for(;n<e.length&&vy(e[n])&&!yy(e[n]);)n++;return{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:q.UpperCase,text:n},next:r}}if(vy(n)){for(;r<e.length&&vy(e[r])&&!yy(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(by(n)){for(;r<e.length&&by(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!_y(e[r])&&!vy(e[r])&&!by(e[r])&&!xy(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function Cy(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)_y(r)?e.push(n):yy(r)?e.push(r.toLowerCase()):e.push(r)}function wy(e,t){if(e.length===0)return``;let n=cy(e),r=[],{word:i,next:a}=Sy(n,0);for(;a<n.length;){i.wt!==q.Connector&&Cy(r,i,t);let e=i,o=i;if({word:i,next:a}=Sy(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)Cy(r,i,t),{word:i,next:a}=Sy(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){Cy(r,o,t);continue}if(e.wt===q.Punct)continue;if(i.wt!==q.Number){i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Sy(n,a),i.wt!==q.Alphabet){Cy(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),Cy(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)Cy(r,i,t),{word:i,next:a}=Sy(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return Cy(r,i,t),r.join(``).toLowerCase()}function Ty(e){if(e.length===0)return``;let t=cy(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!_y(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,_y(i)&&_y(e)){n.push(e);continue}_y(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Ey(e){return Ty(e)}function Dy(...e){return e.join(` `)}function Oy(e,t){return t.includes(e)}function ky(e,t){return t.startsWith(e)}function Ay(e,t){return t.endsWith(e)}function jy(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
52
53
  `).map(e=>n+e).join(`
53
- `)}function mv(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function hv(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw r_(`join`,2,`list of strings/primitives`,`list element of type ${gv(e)}`);n.push(String(e))}return n.join(e)}function gv(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function _v(e){return ov(e,`-`)}function vv(e){return e.toLowerCase()}function yv(e,t){return`\n${pv(e,t)}`}function bv(e){return e.replace(/\s+/g,``)}function xv(e,t,n){return n===1?e:t}function Sv(...e){return e.map(e=>`"${e}"`).join(` `)}function Cv(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function wv(e,t){return t.repeat(Math.max(0,e))}function Tv(e,t,n){return G_(e,n).join(t)}function Ev(e){return ov(e,`_`)}function Dv(e,t){let n=G_(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function Ov(e,t){return G_(e,t)}function kv(e,t,n){let r=Av(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function Av(e,t,n){if(n===0)return[];let r=G_(t,e);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function jv(...e){return e.map(e=>`'${e}'`).join(` `)}function Mv(e,t,n){let r=W_(n),i=t<0||t>r.length?r.length:t,a=Math.min(Math.max(0,e),i);return r.slice(a,i).join(``)}function Nv(e){let t=``;for(let n of e)Pv(n)?t+=n.toLowerCase():Fv(n)?t+=n.toUpperCase():t+=n;return t}function Pv(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function Fv(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function Iv(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function Lv(e){return e.trim()}function Rv(e,t){if(e.length===0)return t;let n=new Set(W_(e)),r=W_(t),i=0;for(;i<r.length&&n.has(r[i]);)i+=1;let a=r.length;for(;a>i&&n.has(r[a-1]);)--a;return r.slice(i,a).join(``)}function zv(e,t){return t.startsWith(e)?t.slice(e.length):t}function Bv(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function Vv(e,t){let n=W_(t);if(e<0){let r=-e;return r>=n.length?t:n.slice(n.length-r).join(``)}return e>=n.length?t:n.slice(0,e).join(``)}function Hv(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function Uv(e){return e.toUpperCase()}function Wv(e,t){return Gv(e,`
54
- `,t)}function Gv(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
55
- `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function Kv(e,t,n){return Gv(e,t,n)}function qv(){return{abbrev:{fn:(e,t)=>K_(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>q_(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>cv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>lv(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>uv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>dv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>fv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>pv(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>mv(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>hv(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>_v(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>vv(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>yv(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>bv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>xv(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>Sv(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>Cv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>wv(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>Tv(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>Ev(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>Dv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>Ov(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>kv(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>jv(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>Mv(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>Nv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>Iv(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>Lv(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>Rv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>zv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>Bv(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>Vv(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>Hv(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>Uv(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>Wv(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>Kv(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function Jv(e){return e}function Yv(e,t,n){return n===void 0?Xd+Jd(e)+`.`+Jd(t):Xv(n)}function Xv(e){return Xd+Jd(e)}function Zv(e,t){return e+`.`+t}function Qv(e){return e+`.page`}const $v=[`closeOnPick`,`paged`,`key`,`distribution`],ey=e=>$v.includes(e),ty=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${bo.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function ny(e){for(let t of Object.keys(e))if(!ey(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${ty}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!xo(r))throw Error(`{{ menu }} option "distribution" must be one of: ${bo.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:Co(r)}}const ry=`default`,iy={};function ay(e){return[...new Set([ry,...Object.keys(e)])]}function oy(e,t,n){return Ts(void 0,e,t,ry,n)}function sy(e,t){let n={[ry]:iy,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${ry}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function cy(e,t){let n=sy(e.presets,t).root??ou;return{node:uu(pu(n,e.root)),path:mu(n)?`presets.${t}.root`:`root`}}function ly(e,t){return{...e.globals,...sy(e.presets,t).globals}}const uy=`menu`,dy=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,fy=e=>e.kind===`call`&&e.name===`dict`,py=e=>e.kind===`literal`&&typeof e.value!=`object`,my=e=>xu(``,e,2)===void 0;function hy(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&fy(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(fy))return t(`whose options (dict …) is not its last argument — ${dy}`);if(i!==void 0&&a===void 0&&!py(i)&&my(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=xu(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${dy}`);let c=a===void 0?{}:Fg(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=ny(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=tf(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${Xv(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function gy(e){let t=Wm({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===uy).map(hy)}catch{return`parse-failed`}}function _y(e){let t=Wm({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(uy)}catch{return!1}}function vy(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function yy(e,t){nf(e,t,Xd,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))_y(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:G(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&_y(i)&&vy(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of sl(du(t.root)))typeof n.when==`string`&&_y(n.when)&&vy(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!_y(r))continue;let n=gy(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:by(r.apply);n!==void 0&&vy(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function by(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(Jv(e)===`closed`)return`whose apply action is named "${yu}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function xy(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of ay(e.presets)){let a=new Map,s=new Map;for(let c of sl(cy(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,gy(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=rl(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||by(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=Jv(i),f=Yv(u,i,l.key),p=Qv(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=Zv(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=ju(f,d),n[f]=Au(f,yu),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const Sy=Wm({fromString:e=>e}),Cy=`edit.mode`,wy=`edit.configure`,Ty=`edit.toggle`,Ey=`edit.unconfigure`,Dy=[Ty,Ey],Oy=`arrange`,ky=`${Zd}draft.`;function Ay(e,t){return`${e}:${t}`}const jy={variable:Cy,key:Cy,member:Oy},My=Tu(jy);function Ny(e){try{return Sy.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function Py(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&Ny(e))return!0;return!1}function Fy(e,t){if(nf(e,t,Zd,`edit mode`),!Py(t))return;let{variables:n,actions:r}=Iy();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function Iy(){return{variables:{[Cy]:Au(Cy,yu),[wy]:Au(wy,yu)},actions:{[Ty]:ju(Cy,Oy),[Ey]:{set:wy,to:yu}}}}const Ly=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*Ry(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const zy=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,By=RegExp(`^(?:(\\$)(?:\\.(${zy}))?|\\.(${zy})?)(?=[\\s)]|$)`);function Vy(e,t,n){let r=By.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const Hy=/^(\w+)\b\s*([\s\S]*)$/;function*Uy(e,t){let n=[t];for(let r of Ry(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=Hy.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:Vy(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(Vy(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const Wy=/(?<![.$])\btemplate\s+$/;function*Gy(e,t,n){let r=0;for(let i of[...e.matchAll(Ly)]){let a=i.index+i[0].length;Wy.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:Vy(e.slice(a),t,n)}),r=a}}function*Ky(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...Uy(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...Gy(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const qy=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${zy})`,`g`);function*Jy({code:e,dot:t,root:n}){let r=e.replace(Ly,``);for(let e of[...r.matchAll(qy)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function Yy(e,t){let n=new Map;for(let r of Ky(e,t))for(let e of Jy(r))n.has(e)||n.set(e,r.via);return n}const Xy=/(?<![.$])\b(action|picker|menu|carousel)\s+$/,Zy={action:1,picker:2,menu:1,carousel:2};function*Qy(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(Ly)]){let o=e.slice(t,a.index),s=Xy.exec(o);if(s!==null)n=Zy[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function $y(e,t){let n=new Map;for(let{code:r,via:i}of Ky(e,t))for(let{name:e,site:t}of Qy(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function eb(e,t){return new Set([...tb(e,t)].filter(e=>Object.hasOwn(t,e)))}function tb(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of Ky(e,t))for(let{name:e}of Gy(r,i,a))n.add(e);return n}function nb(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function rb(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),ib(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function ib(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&fl(e.parse)===`json`}function ab(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=ob(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function ob(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var sb=ye((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:an}function r(){dn||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===fn}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){sn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){sn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return cn.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(re())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ie(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ae(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
56
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ne(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ie(e,t)}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(re=function(){return!!e})()}function ie(e,t){return(ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ae(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function w(e){var t=typeof Map==`function`?new Map:void 0;return(w=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ie(n,e)})(e)}function T(e){return Object.assign((function(t,n){if(se(n))return e.t(t,n);oe(t,n,e)}),e)}function oe(e,t,n){g(e,gn)||u(e,gn,ee({},e[gn])),function(e){return e.i===`override`}(n)||(e[gn][t]=n)}function se(e){return typeof e==`object`&&typeof e.kind==`string`}function ce(e,t,n){t===void 0&&(t=pn),n===void 0&&(n=pn);var r=new P(e);return t!==pn&&ft(r,t),n!==pn&&pt(r,n),r}function le(e,t,n){return St(e)?e:Array.isArray(e)?En.array(e,{name:n}):c(e)?En.object(e,void 0,{name:n}):p(e)?En.map(e,{name:n}):m(e)?En.set(e,{name:n}):typeof e!=`function`||lt(e)||yt(e)?e:l(e)?rr(e):Zn(n,e)}function ue(e){return e}function de(e,t){return{i:e,u:t,o:fe,s:pe,t:me}}function fe(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:lt(n.value)?1:(sn(r,t,he(e,this,t,n,!1)),2)}function pe(e,t,n,r){var i=he(e,this,t,n);return e.l(t,i,r)}function me(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Pe(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return lt(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(lt(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
57
- '`+s.i+`' can only be used on properties with a function value.`)}function he(e,t,n,r,i){var a,o,s;i===void 0&&(i=z.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Pe(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function ge(e,t){return{i:e,u:t,o:_e,s:ve,t:ye}}function _e(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!yt(e.h[t]))&&this.s(e,t,n,!1)===null?0:yt(n.value)?1:(sn(r,t,be(e,0,0,n,!1,!1)),2)}function ve(e,t,n,r){var i=be(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ye(e,t){var n,r=t.name,i=t.addInitializer;return yt(e)||(e=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function be(e,t,n,r,i,a){a===void 0&&(a=z.safeDescriptors);var o=r.value;return yt(o)||(o=rr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function xe(e,t){return{i:e,u:t,o:E,s:Se,t:Ce}}function E(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Se(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function Ce(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Ut(this)[N],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Fn(i))})),function(){return this[N].O(r)}}function we(e,t){return{i:e,u:t,o:Te,s:Ee,t:De}}function Te(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Ee(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??le,r)}function De(e,t){function n(e,t){var n=Ut(e)[N],i=new Nn(t,r.u?.enhancer??le,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[N].O(a)},set:function(e){return o.has(this)||n(this,e),this[N].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Oe(e){return{i:`true`,u:e,o:ke,s:Ae,t:je}}function ke(e,t,n,r){var i,a,o;if(n.get)return kn.o(e,t,n,r);if(n.set){var s=lt(n.set)?n.set:Pe(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!z.safeDescriptors||e.p,set:s})===null?0:2:(sn(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?rr.bound:rr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Zn.bound:Zn).o(e,t,n,r);var c=!1===this.u?.deep?En.ref:En;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function Ae(e,t,n,r){var i;return n.get?kn.s(e,t,n,r):n.set?e.l(t,{configurable:!z.safeDescriptors||e.p,set:Pe(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?En.ref:En).s(e,t,n,r))}function je(){t(`'`+this.i+`' cannot be used as a decorator`)}function Me(e){return e||bn}function D(e){return!0===e.deep?le:!1===e.deep?ue:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:le;var t,n,r}function Ne(e,t,n){return se(t)?xn.t(e,t):o(t)?void oe(e,t,xn):St(e)?e:c(e)?En.object(e,t,n):Array.isArray(e)?En.array(e,t):p(e)?En.map(e,t):m(e)?En.set(e,t):typeof e==`object`&&e?e:En.box(e,t)}function Pe(e,t,n,r){function i(){return Fe(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},jn&&(Mn.value=e,sn(i,`name`,Mn)),i}function Fe(e,t,n,r,i){var a=Ie(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Le(a)}}function Ie(e,t){var n=z.trackingDerivation,r=!t||!n;et();var i=z.allowStateChanges;r&&(Ke(),i=ze(!0));var a={A:r,k:n,M:i,V:Je(!0),R:!1,N:0,T:L++,C:An};return An=a.T,a}function Le(e){An!==e.T&&t(30),An=e.C,e._!==void 0&&(z.suppressReactionErrors=!0),Be(e.M),Ye(e.V),tt(),e.A&&qe(e.k),z.suppressReactionErrors=!1}function Re(e,t){var n=ze(e);try{return t()}finally{Be(n)}}function ze(e){var t=z.allowStateChanges;return z.allowStateChanges=e,t}function Be(e){z.allowStateChanges=e}function Ve(e){return e instanceof Rn}function He(e){switch(e.I){case R.L:return!1;case R.P:case R.K:return!0;case R.B:for(var t=Je(!0),n=Ke(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(Ln(o)){if(z.disableErrorBoundaries)o.get();else try{o.get()}catch{return qe(n),Ye(t),!0}if(e.I===R.K)return qe(n),Ye(t),!0}}return Xe(e),qe(n),Ye(t),!1}}function Ue(e,t,n){var r=Je(!0);Xe(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++z.runId;var i,a=z.trackingDerivation;if(z.trackingDerivation=e,z.inBatch++,!0===z.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Rn(e)}return z.inBatch--,z.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=R.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Qe(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Ze(l,e))}r!==R.L&&(e.I=r,e.H())}(e),Ye(r),i}function We(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Qe(t[n],e);e.I=R.P}function Ge(e){var t=Ke();try{return e()}finally{qe(t)}}function Ke(){var e=z.trackingDerivation;return z.trackingDerivation=null,e}function qe(e){z.trackingDerivation=e}function Je(e){var t=z.allowStateReads;return z.allowStateReads=e,t}function Ye(e){z.allowStateReads=e}function Xe(e){if(e.I!==R.L){e.I=R.L;for(var t=e.D,n=t.length;n--;)t[n].U=R.L}}function Ze(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Qe(e,t){e.F.delete(t),e.F.size===0&&$e(e)}function $e(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,z.pendingUnobservations.push(e))}function et(){z.inBatch++}function tt(){if(--z.inBatch==0){it();for(var e=z.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Fn&&n.X())}z.pendingUnobservations=[]}}function nt(e){var t=z.trackingDerivation;return t===null?(e.F.size===0&&z.inBatch>0&&$e(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&z.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function rt(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(e){e.I===R.L&&e.H(),e.I=R.K})))}function it(){z.inBatch>0||z.isRunningReactions||Wn(at)}function at(){z.isRunningReactions=!0;for(var e=z.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}z.isRunningReactions=!1}function ot(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function st(e){return function(t,n){return a(t)?Pe(t.name||`<unnamed action>`,t,e):a(n)?Pe(t,n,e):se(n)?(e?Jn:Kn).t(t,n):o(n)?oe(t,n,e?Jn:Kn):o(t)?T(de(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function ct(e){return Fe(0,!1,e,this,void 0)}function lt(e){return a(e)&&!0===e.isMobxAction}function ut(e,t){function n(){e(i)}var r;t===void 0&&(t=un);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=dt(t),s=!1;i=new Un(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Un(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function dt(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}function ft(e,t,n){return mt(`onBO`,e,t,n)}function pt(e,t,n){return mt(`onBUO`,e,t,n)}function mt(e,t,n,r){var i=typeof r==`function`?Xt(t,n):Xt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function ht(e,t,n,r){var i=M(t);return $t((function(){var t=Ut(e,r)[N];hn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function gt(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(gt)),n}function _t(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(_t)),t}function vt(e){a(e.cancel)&&e.cancel()}function yt(e){return!0===e?.isMobXFlow}function bt(e,t){return t===void 0?Ln(e):!1===Gt(e)||!e[N].j.has(t)?!1:Ln(Xt(e,t))}function xt(e,t){return!!e&&(t===void 0?Gt(e)||!!e[N]||_n(e)||Gn(e)||Ln(e):!!Gt(e)&&e[N].j.has(t))}function St(e){return xt(e)}function Ct(e){return Gt(e)?e[N].nt():gr(e)||B(e)?Array.from(e.keys()):Bt(e)?e.map((function(e,t){return t})):void t(5)}function wt(e,n){return Gt(e)?e[N].it(n):gr(e)||B(e)?e.has(n):Bt(e)?n>=0&&n<e.length:void t(10)}function Tt(e){if(Gt(e))return e[N].rt();t(38)}function Et(e,t,n){return e.set(t,n),n}function Dt(e,t){t===void 0&&(t=void 0),et();try{return e.apply(t)}finally{tt()}}function Ot(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[N].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Pe(`When-effect`,t),o=ut((function(t){Re(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function kt(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Ot(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function At(e){return e[N]}function jt(e){return e.et!==void 0&&e.et.length>0}function Mt(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Nt(e,n){var r=Ke();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{qe(r)}}function Pt(e){return e.ut!==void 0&&e.ut.length>0}function Ft(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function It(e,t){var n=Ke(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);qe(n)}}function Lt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),$t((function(){var r=new cr(n,t,i,!1);d(r.j,N,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function O(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function Rt(e){return function(){var t=this[N];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function k(e){return function(t,n){var r=this,i=this[N];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function zt(e){return function(){var t=this,n=this[N];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Bt(e){return s(e)&&fr(e[N])}function Vt(e){return e[Symbol.toStringTag]=`MapIterator`,nn(e)}function Ht(e){return e[Symbol.toStringTag]=`SetIterator`,nn(e)}function Ut(e,t){if(g(e,N))return e;var n=t?.name??`ObservableObject`;return u(e,N,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??Oe(e):void 0}(t))),e}function Wt(e){return yr[e]||(yr[e]={get:function(){return this[N].O(e)},set:function(t){return this[N].S(e,t)}})}function Gt(e){return!!s(e)&&xr(e[N])}function A(e,t,n){var r;(r=e.h[gn])==null||delete r[n]}function Kt(e){return{enumerable:!1,configurable:!0,get:function(){return this[N].ct(e)},set:function(t){this[N].ht(e,t)}}}function qt(e){sn(Er.prototype,``+e,Kt(e))}function Jt(e){if(e>wr){for(var t=wr;t<e+100;t++)qt(t);wr=e}}function Yt(e,t,n){return new Er(e,t,n)}function Xt(e,n){if(typeof e==`object`&&e){if(Bt(e))return n!==void 0&&t(23),e[N].st;if(B(e))return e.st;if(gr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Qt(e)),r}if(Gt(e)){if(!n)return t(26);var i=e[N].j.get(n);return i||t(27,n,Qt(e)),i}if(_n(e)||Ln(e)||Gn(e))return e}else if(a(e)&&Gn(e[N]))return e[N];t(28)}function Zt(e,n){return e||t(29),n===void 0?_n(e)||Ln(e)||Gn(e)||gr(e)||B(e)?e:e[N]?e[N]:void t(24,e):Zt(Xt(e,n))}function Qt(e,t){var n;if(t!==void 0)n=Xt(e,t);else{if(lt(e))return e.name;n=Gt(e)||gr(e)||B(e)?Zt(e):Xt(e)}return n.tt}function $t(e){var t=Ke(),n=ze(!0);et();try{return e()}finally{tt(),Be(n),qe(t)}}function en(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=tn(t),n=tn(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function tn(e){return Bt(e)?e.slice():p(e)||gr(e)||m(e)||B(e)?Array.from(e.entries()):e}function nn(e){return e[Symbol.iterator]=rn,Object.assign(Object.create(Or),e)}function rn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var an={},j=Object.assign,on=Object.getOwnPropertyDescriptor,sn=Object.defineProperty,cn=Object.prototype,ln=[];Object.freeze(ln);var un={};Object.freeze(un);var dn=typeof Proxy<`u`,fn=Object.toString(),pn=function(){},mn=Object.getOwnPropertySymbols!==void 0,hn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:mn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,M=Object.getOwnPropertyDescriptors||function(e){var t={};return hn(e).forEach((function(n){t[n]=on(e,n)})),t},gn=Symbol(`mobx-stored-annotations`),N=Symbol(`mobx administration`),P=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=R.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return nt(this)},t.reportChanged=function(){et(),rt(this),tt()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();P.pt=1,P.yt=2,P.wt=4;var _n=f(`Atom`,P),vn={identity:function(e,t){return e===t},structural:function(e,t){return en(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return en(e,t,1)}},yn=T({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),F=Oe(),bn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(bn);var xn=we(`observable`),Sn=we(`observable.ref`,{enhancer:ue}),I=we(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Gt(e)||Bt(e)||gr(e)||B(e)?e:Array.isArray(e)?En.array(e,{name:n,deep:!1}):c(e)?En.object(e,void 0,{name:n,deep:!1}):p(e)?En.map(e,{name:n,deep:!1}):m(e)?En.set(e,{name:n,deep:!1}):void 0}}),Cn=we(`observable.struct`,{enhancer:function(e,t){return en(e,t)?t:e}}),wn=T(xn);j(Ne,wn);var Tn,En=j(Ne,{box:function(e,t){var n=Me(t);return new Nn(e,D(n),n.name,!0,n.equals)},array:function(e,t){var n=Me(t);return(!1===z.useProxies||!1===n.proxy?Yt:Lt)(e,D(n),n.name)},map:function(e,t){var n=Me(t);return new hr(e,D(n),n.name)},set:function(e,t){var n=Me(t);return new vr(e,D(n),n.name)},object:function(e,t,n){return $t((function(){return ht(!1===z.useProxies||!1===n?.proxy?Ut({},n):function(e,t){var n;return r(),(n=(e=Ut(e,t))[N]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:T(Sn),shallow:T(I),deep:wn,struct:T(Cn)}),Dn=xe(`computed`),On=xe(`computed.struct`,{equals:vn.structural}),kn=function(e,t){if(se(t))return Dn.t(e,t);if(o(t))return oe(e,t,Dn);if(c(e))return T(xe(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Fn(n)};Object.assign(kn,Dn),kn.struct=T(On);var An=0,L=1,jn=(Tn=on((function(){}),`name`)?.configurable)!=null&&Tn,Mn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Nn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=vn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}ne(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==z.UNCHANGED&&this.gt(e)},n.xt=function(e){if(jt(this)){var t=Nt(this,{object:this,type:or,newValue:e});if(!t)return z.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?z.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Pt(this)&&It(this,{type:or,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return Mt(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:or,newValue:this.Ot,oldValue:void 0}),Ft(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(P),Pn=f(`ObservableValue`,Nn),Fn=function(){function e(e){this.I=R.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=R.L,this.G=0,this.Ot=new Rn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=In.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=Pe(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?vn.structural:vn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===R.L&&(e.U=R.B,e.F.forEach((function(e){e.I===R.L&&(e.I=R.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),z.inBatch!==0||this.F.size!==0||this.Nt){if(nt(this),He(this)){var e=z.trackingContext;this.Nt&&!e&&(z.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(t){t.I===R.B?t.I=R.K:t.I===R.L&&(e.U=R.L)})))}(this),z.trackingContext=e}}else He(this)&&(this.Tt(),et(),this.Ot=this.Ct(!1),tt());var n=this.Ot;if(Ve(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===R.P,n=this.Ct(!0),r=t||Ve(e)||Ve(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=ze(!1);if(e)t=Ue(this,this.derivation,this.Et);else if(!0===z.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Rn(e)}return Be(n),this.isComputing=!1,t},n.X=function(){this.Nt||(We(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return ut((function(){var a=n.get();if(!r||t){var o=Ke();e({observableKind:`computed`,debugObjectName:n.tt,type:or,object:n,newValue:a,oldValue:i}),qe(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Fn.It=1,Fn.Lt=2,Fn.pt=4,Fn.yt=8,Fn.wt=16;var R,In,Ln=f(`ComputedValue`,Fn);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(R||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(In||={});var Rn=function(e){this.cause=void 0,this.cause=e},zn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Vn=!0,Hn=!1,z=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Vn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Bn().version&&(Vn=!1),Vn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Bn):(setTimeout((function(){Hn||t(35)}),1),new Bn)}(),Un=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=R.P,this.q=0,this.G=0,this.bt=0,this.Mt=In.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,z.pendingReactions.push(this),it())},t.J=function(){if(!this.isDisposed){et(),this.isScheduled=!1;var e=z.trackingContext;if(z.trackingContext=this,He(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}z.trackingContext=e,tt()}},t.track=function(e){if(!this.isDisposed){et(),this.isRunning=!0;var t=z.trackingContext;z.trackingContext=this;var n=Ue(this,e,void 0);z.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&We(this),Ve(n)&&this.Dt(n.cause),tt()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(z.disableErrorBoundaries)throw e;z.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),z.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(et(),We(this),tt()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[N]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Un.Wt=1,Un.qt=2,Un.Gt=4,Un.Ht=8,Un.wt=16;var Wn=function(e){return e()},Gn=f(`Reaction`,Un),Kn=de(`action`),qn=de(`action.bound`,{bound:!0}),Jn=de(`autoAction`,{autoAction:!0}),Yn=de(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=st(!1);Object.assign(Xn,Kn);var Zn=st(!0);Object.assign(Zn,Jn),Xn.bound=T(qn),Zn.bound=T(Yn);var Qn=function(e){return e()},$n=0,er=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return ne(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(w(Error)),tr=ge(`flow`),nr=ge(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(se(t))return tr.t(e,t);if(o(t))return oe(e,t,tr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++$n,s=Xn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Xn(r+` - runid: `+o+` - cancel`,(function(){try{c&&vt(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(pn,pn),vt(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=T(nr);var ir={has:function(e,t){return At(e).it(t)},get:function(e,t){return At(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=At(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=At(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=At(e).l(t,n))==null||r},ownKeys:function(e){return At(e).rt()},preventExtensions:function(){t(13)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[N];return t===N?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(lr,t)?lr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[N];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},cr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new P(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return Mt(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),Ft(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Jt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=ln),jt(this)){var a=Nt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return ln;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=Pt(this),a=i||r?{observableKind:`array`,object:this.v,type:or,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&It(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Pt(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&It(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(jt(this)){var a=Nt(this,{type:or,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),lr={clear:function(){return this.splice(0)},replace:function(e){var t=this[N];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[N];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[N].ot(e,t,n)},push:function(){for(var e=this[N],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[N].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[N],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return z.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){z.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[N],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};O(`at`,Rt),O(`concat`,Rt),O(`flat`,Rt),O(`includes`,Rt),O(`indexOf`,Rt),O(`join`,Rt),O(`lastIndexOf`,Rt),O(`slice`,Rt),O(`toString`,Rt),O(`toLocaleString`,Rt),O(`toSorted`,Rt),O(`toSpliced`,Rt),O(`with`,Rt),O(`every`,k),O(`filter`,k),O(`find`,k),O(`findIndex`,k),O(`findLast`,k),O(`findLastIndex`,k),O(`flatMap`,k),O(`forEach`,k),O(`map`,k),O(`some`,k),O(`toReversed`,k),O(`reduce`,zt),O(`reduceRight`,zt);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[N]=pr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),$t((function(){i.lt=ce(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!z.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Nn(this.it(e),ue,`ObservableMap.key?`,!1);this.dt.set(e,r),pt(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(jt(this)){var r=Nt(this,{type:n?or:mr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(jt(this)&&!Nt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Pt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Dt((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&It(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==z.UNCHANGED){var r=Pt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&It(this,i)}},n.en=function(e,t){var n=this;Dt((function(){var r,i=new Nn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=Pt(this);r&&It(this,r?{observableKind:`map`,debugObjectName:this.tt,type:mr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Vt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Vt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return gr(e)&&(e=new Map(e)),Dt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!mn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return cn.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Dt((function(){Ge((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Dt((function(){for(var r,i=function(e){if(p(e)||gr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[N]=_r,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},$t((function(){i.st=ce(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Dt((function(){Ge((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(jt(this)){var n=Nt(this,{type:mr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Dt((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Pt(this);r&&It(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(jt(this)&&!Nt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Pt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Dt((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&It(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return Ht({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return Ht({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!B(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!B(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!B(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!B(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return B(e)&&(e=new Set(e)),Dt((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),B=f(`ObservableSet`,vr),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=F),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new P(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Fn)return n.set(t),!0;if(jt(this)){var r=Nt(this,{type:or,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==z.UNCHANGED){var i=Pt(this),a=i?{type:or,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&It(this,a)}return!0},n.ct=function(e){return z.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!z.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Nn(e in this.h,ue,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[gn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==cn;){var a=on(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}A(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&A(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{et();var r=this.Ut(e);if(!r)return r;if(jt(this)){var i=Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else sn(this.h,e,t);this.fn(e,t.value)}finally{tt()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{et();var i=this.Ut(e);if(!i)return i;if(jt(this)){var a=Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Wt(e),s={configurable:!z.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else sn(this.h,e,s);var c=new Nn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{tt()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{et();var r=this.Ut(e);if(!r)return r;if(jt(this)&&!Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Wt(e),a={configurable:!z.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else sn(this.h,e,a);this.j.set(e,new Fn(t)),this.fn(e,void 0)}finally{tt()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(jt(this)&&!Nt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;et();var r=Pt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=on(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Nn&&(a=i.Ot),rt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&It(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{tt()}return!0},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},n.fn=function(e,t){var n,r=Pt(this);r&&r&&It(this,r?{type:mr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),hn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=Kt(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};ur=Tr,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,$t((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,N,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}ne(t,e);var n=t.prototype;return n.concat=function(){this[N].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Bt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return nn({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[N].Ft()},set:function(e){this[N].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Jt(1e3);var Dr=cn.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:ot,extras:{getDebugName:Qt},$mobx:N}),e.$mobx=N,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Un,e._allowStateChanges=Re,e._allowStateChangesInsideComputed=ct,e._allowStateReadsEnd=Ye,e._allowStateReadsStart=Je,e._autoAction=Zn,e._endAction=Le,e._getAdministration=Zt,e._getGlobalState=function(){return z},e._interceptReads=function(e,t,n){var r;return gr(e)||Bt(e)||Pn(e)?r=Zt(e):Gt(e)&&(r=Zt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return z.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Bn;for(var t in e)zn.indexOf(t)===-1&&(z[t]=e[t]);z.allowStateChanges=!z.enforceActions},e._startAction=Ie,e.action=Xn,e.autorun=ut,e.comparer=vn,e.computed=kn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((z.pendingReactions.length||z.inBatch||z.isRunningReactions)&&t(36),Hn=!0,Vn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),z=new Bn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(z.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(z.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;z.enforceActions=s,z.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(z[t]=!!e[t])})),z.allowStateReads=!z.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Wn,Wn=function(e){return r((function(){return i(e)}))})},e.createAtom=ce,e.defineProperty=function(e,n,r){if(Gt(e))return e[N].l(n,r);t(39)},e.entries=function(e){return Gt(e)?Ct(e).map((function(t){return[t,e[t]]})):gr(e)?Ct(e).map((function(t){return[t,e.get(t)]})):B(e)?Array.from(e.entries()):Bt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=ht,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(wt(e,n))return Gt(e)?e[N].ct(n):gr(e)?e.get(n):Bt(e)?e[n]:void t(11)},e.getAtom=Xt,e.getDebugName=Qt,e.getDependencyTree=function(e,t){return gt(Xt(e,t))},e.getObserverTree=function(e,t){return _t(Xt(e,t))},e.has=wt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Zt(e,t).St(n)}(e,t,n):function(e,t){return Zt(e).St(t)}(e,t)},e.isAction=lt,e.isBoxedObservable=Pn,e.isComputed=function(e){return bt(e)},e.isComputedProp=function(e,t){return bt(e,t)},e.isFlow=yt,e.isFlowCancellationError=function(e){return e instanceof er},e.isObservable=St,e.isObservableArray=Bt,e.isObservableMap=gr,e.isObservableObject=Gt,e.isObservableProp=function(e,t){return xt(e,t)},e.isObservableSet=B,e.keys=Ct,e.makeAutoObservable=function(e,t,n){return c(e)?ht(e,e,t,n):($t((function(){var r=Ut(e,n)[N];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(hn(e),hn(i)));a.delete(`constructor`),a.delete(N),u(i,ar,a)}e[ar].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return $t((function(){var r=Ut(e,n)[N];t??=function(e){return g(e,gn)||u(e,gn,ee({},e[gn])),e[gn]}(e),hn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=En,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Zt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Zt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=ft,e.onBecomeUnobserved=pt,e.onReactionError=function(e){return z.globalReactionErrorHandlers.push(e),function(){var t=z.globalReactionErrorHandlers.indexOf(e);t>=0&&z.globalReactionErrorHandlers.splice(t,1)}},e.override=yn,e.ownKeys=Tt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Re(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=un);var a,o,s,c=n.name??`Reaction`,l=Xn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=dt(n),f=!0,p=!1,m=n.compareStructural?vn.structural:n.equals||vn.default,h=new Un(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Gt(e)?e[N].Ut(n):gr(e)||B(e)?e.delete(n):Bt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=ct,e.set=function e(n,r,i){if(arguments.length!==2||B(n))Gt(n)?n[N].ht(r,i):gr(n)?n.set(r,i):B(n)?n.add(r):Bt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),et(),r>=n.length&&(n.length=r+1),n[r]=i,tt()):t(8);else{et();var a=r;try{for(var o in a)e(n,o,a[o])}finally{tt()}}},e.spy=ot,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!St(t))return t;if(Pn(t)||Ln(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Bt(t)){var r=Et(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(B(t)){var i=Et(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(t)){var a=Et(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=Et(n,t,{});return Tt(t).forEach((function(r){cn.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Dt,e.untracked=Ge,e.values=function(e){return Gt(e)?Ct(e).map((function(t){return e[t]})):gr(e)?Ct(e).map((function(t){return e.get(t)})):B(e)?Array.from(e.values()):Bt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?kt(e,t):Ot(e,t,n||{})}})),cb=ye((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){I.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++I.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function ne(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function re(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function ie(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ae=Object.getOwnPropertySymbols!==void 0;function w(e){var t=Object.keys(e);if(!ae)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var T=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ae?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function oe(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function se(e){return e===null?null:typeof e==`object`?``+e:e}function ce(e,t){return c.hasOwnProperty.call(e,t)}var le=Object.getOwnPropertyDescriptors||function(e){var t={};return T(e).forEach(function(n){t[n]=o(e,n)}),t};function ue(e,t){return!!(e&t)}function de(e,t,n){return n?e|=t:e&=~t,e}function fe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function pe(e,t,n){if(xe())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&E(i,n.prototype),i}function me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}function he(e,t,n){return t&&me(e.prototype,t),n&&me(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function ge(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=we(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
54
+ `)}function My(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function Ny(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw xv(`join`,2,`list of strings/primitives`,`list element of type ${Py(e)}`);n.push(String(e))}return n.join(e)}function Py(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function Fy(e){return wy(e,`-`)}function Iy(e){return e.toLowerCase()}function Ly(e,t){return`\n${jy(e,t)}`}function Ry(e){return e.replace(/\s+/g,``)}function zy(e,t,n){return n===1?e:t}function By(...e){return e.map(e=>`"${e}"`).join(` `)}function Vy(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function Hy(e,t){return t.repeat(Math.max(0,e))}function Uy(e,t,n){return ly(e,n).join(t)}function Wy(e){return wy(e,`_`)}function Gy(e,t){let n=ly(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function Ky(e,t){return ly(e,t)}function qy(e,t,n){let r=Jy(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function Jy(e,t,n){if(n===0)return[];let r=ly(t,e);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function Yy(...e){return e.map(e=>`'${e}'`).join(` `)}function Xy(e,t,n){let r=cy(n),i=t<0||t>r.length?r.length:t,a=Math.min(Math.max(0,e),i);return r.slice(a,i).join(``)}function Zy(e){let t=``;for(let n of e)Qy(n)?t+=n.toLowerCase():$y(n)?t+=n.toUpperCase():t+=n;return t}function Qy(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function $y(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function eb(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function tb(e){return e.trim()}function nb(e,t){if(e.length===0)return t;let n=new Set(cy(e)),r=cy(t),i=0;for(;i<r.length&&n.has(r[i]);)i+=1;let a=r.length;for(;a>i&&n.has(r[a-1]);)--a;return r.slice(i,a).join(``)}function rb(e,t){return t.startsWith(e)?t.slice(e.length):t}function ib(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function ab(e,t){let n=cy(t);if(e<0){let r=-e;return r>=n.length?t:n.slice(n.length-r).join(``)}return e>=n.length?t:n.slice(0,e).join(``)}function ob(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function sb(e){return e.toUpperCase()}function cb(e,t){return lb(e,`
55
+ `,t)}function lb(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
56
+ `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function ub(e,t,n){return lb(e,t,n)}function db(){return{abbrev:{fn:(e,t)=>uy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>dy(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Ey(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Dy(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>Oy(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>ky(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Ay(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>jy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>My(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>Ny(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>Fy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>Iy(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>Ly(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>Ry(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>zy(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>By(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>Vy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>Hy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>Uy(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>Wy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>Gy(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>Ky(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>qy(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>Yy(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>Xy(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>Zy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>eb(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>tb(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>nb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>rb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>ib(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>ab(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>ob(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>sb(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>cb(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>ub(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function fb(e){return e}function pb(e,t,n){return n===void 0?hp+pp(e)+`.`+pp(t):mb(n)}function mb(e){return hp+pp(e)}function hb(e,t){return e+`.`+t}function gb(e){return e+`.page`}const _b=[`closeOnPick`,`paged`,`key`,`distribution`],vb=e=>_b.includes(e),yb=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${Os.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function bb(e){for(let t of Object.keys(e))if(!vb(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${yb}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!ks(r))throw Error(`{{ menu }} option "distribution" must be one of: ${Os.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:js(r)}}const xb=`default`,Sb={};function Cb(e){return[...new Set([xb,...Object.keys(e)])]}function wb(e,t,n){return Nc(void 0,e,t,xb,n)}function Tb(e,t){let n={[xb]:Sb,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${xb}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function Eb(e,t){let n=Tb(e.presets,t).root??bd;return{node:wd(Dd(n,e.root)),path:Od(n)?`presets.${t}.root`:`root`}}function Db(e,t){return{...e.globals,...Tb(e.presets,t).globals}}const Ob=`menu`,kb=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,Ab=e=>e.kind===`call`&&e.name===`dict`,jb=e=>e.kind===`literal`&&typeof e.value!=`object`,Mb=e=>Fd(``,e,2)===void 0;function Nb(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&Ab(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(Ab))return t(`whose options (dict …) is not its last argument — ${kb}`);if(i!==void 0&&a===void 0&&!jb(i)&&Mb(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=Fd(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${kb}`);let c=a===void 0?{}:$_(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=bb(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=bp(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${mb(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function Pb(e){let t=cg({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===Ob).map(Nb)}catch{return`parse-failed`}}function Fb(e){let t=cg({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(Ob)}catch{return!1}}function Ib(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function Lb(e,t){xp(e,t,hp,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))Fb(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:G(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&Fb(i)&&Ib(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of bu(Td(t.root)))typeof n.when==`string`&&Fb(n.when)&&Ib(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!Fb(r))continue;let n=Pb(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:Rb(r.apply);n!==void 0&&Ib(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function Rb(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(fb(e)===`closed`)return`whose apply action is named "${Nd}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function zb(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of Cb(e.presets)){let a=new Map,s=new Map;for(let c of bu(Eb(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,Pb(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=gu(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||Rb(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=fb(i),f=pb(u,i,l.key),p=gb(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=hb(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=Gd(f,d),n[f]=Wd(f,Nd),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const Bb=cg({fromString:e=>e}),Vb=`edit.mode`,Hb=`edit.configure`,Ub=`edit.toggle`,Wb=`edit.unconfigure`,Gb=[Ub,Wb],Kb=`arrange`,qb=`${gp}draft.`;function Jb(e,t){return`${e}:${t}`}const Yb={variable:Vb,key:Vb,member:Kb},Xb=zd(Yb);function Zb(e){try{return Bb.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function Qb(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&Zb(e))return!0;return!1}function $b(e,t){if(xp(e,t,gp,`edit mode`),!Qb(t))return;let{variables:n,actions:r}=ex();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function ex(){return{variables:{[Vb]:Wd(Vb,Nd),[Hb]:Wd(Hb,Nd)},actions:{[Ub]:Gd(Vb,Kb),[Wb]:{set:Hb,to:Nd}}}}const tx=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*nx(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const rx=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,ix=RegExp(`^(?:(\\$)(?:\\.(${rx}))?|\\.(${rx})?)(?=[\\s)]|$)`);function ax(e,t,n){let r=ix.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const ox=/^(\w+)\b\s*([\s\S]*)$/;function*sx(e,t){let n=[t];for(let r of nx(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=ox.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:ax(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(ax(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const cx=/(?<![.$])\btemplate\s+$/;function*lx(e,t,n){let r=0;for(let i of[...e.matchAll(tx)]){let a=i.index+i[0].length;cx.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:ax(e.slice(a),t,n)}),r=a}}function*ux(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...sx(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...lx(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const dx=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${rx})`,`g`);function*fx({code:e,dot:t,root:n}){let r=e.replace(tx,``);for(let e of[...r.matchAll(dx)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function px(e,t){let n=new Map;for(let r of ux(e,t))for(let e of fx(r))n.has(e)||n.set(e,r.via);return n}const mx=/(?<![.$])\b(action|picker|menu|carousel)\s+$/,hx={action:1,picker:2,menu:1,carousel:2};function*gx(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(tx)]){let o=e.slice(t,a.index),s=mx.exec(o);if(s!==null)n=hx[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function _x(e,t){let n=new Map;for(let{code:r,via:i}of ux(e,t))for(let{name:e,site:t}of gx(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function vx(e,t){return new Set([...yx(e,t)].filter(e=>Object.hasOwn(t,e)))}function yx(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of ux(e,t))for(let{name:e}of lx(r,i,a))n.add(e);return n}function bx(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function xx(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),Sx(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function Sx(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&Eu(e.parse)===`json`}function Cx(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=wx(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function wx(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var Tx=ye((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:on}function r(){fn||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===pn}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){cn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){cn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return ln.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(re())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ie(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ae(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
57
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function te(e){return(te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ne(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ie(e,t)}function re(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(re=function(){return!!e})()}function ie(e,t){return(ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ae(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function w(e){var t=typeof Map==`function`?new Map:void 0;return(w=function(e){function n(){return b(e,arguments,te(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ie(n,e)})(e)}function T(e){return Object.assign((function(t,n){if(se(n))return e.t(t,n);oe(t,n,e)}),e)}function oe(e,t,n){g(e,_n)||u(e,_n,ee({},e[_n])),function(e){return e.i===`override`}(n)||(e[_n][t]=n)}function se(e){return typeof e==`object`&&typeof e.kind==`string`}function ce(e,t,n){t===void 0&&(t=mn),n===void 0&&(n=mn);var r=new N(e);return t!==mn&&ft(r,t),n!==mn&&pt(r,n),r}function le(e,t,n){return St(e)?e:Array.isArray(e)?Dn.array(e,{name:n}):c(e)?Dn.object(e,void 0,{name:n}):p(e)?Dn.map(e,{name:n}):m(e)?Dn.set(e,{name:n}):typeof e!=`function`||lt(e)||yt(e)?e:l(e)?rr(e):Zn(n,e)}function ue(e){return e}function de(e,t){return{i:e,u:t,o:fe,s:pe,t:me}}function fe(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:lt(n.value)?1:(cn(r,t,he(e,this,t,n,!1)),2)}function pe(e,t,n,r){var i=he(e,this,t,n);return e.l(t,i,r)}function me(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Pe(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return lt(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(lt(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
58
+ '`+s.i+`' can only be used on properties with a function value.`)}function he(e,t,n,r,i){var a,o,s;i===void 0&&(i=R.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Pe(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function ge(e,t){return{i:e,u:t,o:_e,s:ve,t:ye}}function _e(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!yt(e.h[t]))&&this.s(e,t,n,!1)===null?0:yt(n.value)?1:(cn(r,t,be(e,0,0,n,!1,!1)),2)}function ve(e,t,n,r){var i=be(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ye(e,t){var n,r=t.name,i=t.addInitializer;return yt(e)||(e=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function be(e,t,n,r,i,a){a===void 0&&(a=R.safeDescriptors);var o=r.value;return yt(o)||(o=rr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function xe(e,t){return{i:e,u:t,o:E,s:Se,t:Ce}}function E(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Se(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function Ce(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Wt(this)[M],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new In(i))})),function(){return this[M].O(r)}}function we(e,t){return{i:e,u:t,o:Te,s:Ee,t:De}}function Te(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Ee(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??le,r)}function De(e,t){function n(e,t){var n=Wt(e)[M],i=new Pn(t,r.u?.enhancer??le,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[M].O(a)},set:function(e){return o.has(this)||n(this,e),this[M].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Oe(e){return{i:`true`,u:e,o:ke,s:Ae,t:je}}function ke(e,t,n,r){var i,a,o;if(n.get)return An.o(e,t,n,r);if(n.set){var s=lt(n.set)?n.set:Pe(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!R.safeDescriptors||e.p,set:s})===null?0:2:(cn(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?rr.bound:rr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Zn.bound:Zn).o(e,t,n,r);var c=!1===this.u?.deep?Dn.ref:Dn;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function Ae(e,t,n,r){var i;return n.get?An.s(e,t,n,r):n.set?e.l(t,{configurable:!R.safeDescriptors||e.p,set:Pe(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?Dn.ref:Dn).s(e,t,n,r))}function je(){t(`'`+this.i+`' cannot be used as a decorator`)}function Me(e){return e||xn}function D(e){return!0===e.deep?le:!1===e.deep?ue:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:le;var t,n,r}function Ne(e,t,n){return se(t)?Sn.t(e,t):o(t)?void oe(e,t,Sn):St(e)?e:c(e)?Dn.object(e,t,n):Array.isArray(e)?Dn.array(e,t):p(e)?Dn.map(e,t):m(e)?Dn.set(e,t):typeof e==`object`&&e?e:Dn.box(e,t)}function Pe(e,t,n,r){function i(){return Fe(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},Mn&&(Nn.value=e,cn(i,`name`,Nn)),i}function Fe(e,t,n,r,i){var a=Ie(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Le(a)}}function Ie(e,t){var n=R.trackingDerivation,r=!t||!n;et();var i=R.allowStateChanges;r&&(Ke(),i=ze(!0));var a={A:r,k:n,M:i,V:Je(!0),R:!1,N:0,T:I++,C:jn};return jn=a.T,a}function Le(e){jn!==e.T&&t(30),jn=e.C,e._!==void 0&&(R.suppressReactionErrors=!0),Be(e.M),Ye(e.V),tt(),e.A&&qe(e.k),R.suppressReactionErrors=!1}function Re(e,t){var n=ze(e);try{return t()}finally{Be(n)}}function ze(e){var t=R.allowStateChanges;return R.allowStateChanges=e,t}function Be(e){R.allowStateChanges=e}function Ve(e){return e instanceof zn}function He(e){switch(e.I){case L.L:return!1;case L.P:case L.K:return!0;case L.B:for(var t=Je(!0),n=Ke(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(Rn(o)){if(R.disableErrorBoundaries)o.get();else try{o.get()}catch{return qe(n),Ye(t),!0}if(e.I===L.K)return qe(n),Ye(t),!0}}return Xe(e),qe(n),Ye(t),!1}}function Ue(e,t,n){var r=Je(!0);Xe(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++R.runId;var i,a=R.trackingDerivation;if(R.trackingDerivation=e,R.inBatch++,!0===R.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new zn(e)}return R.inBatch--,R.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=L.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Qe(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Ze(l,e))}r!==L.L&&(e.I=r,e.H())}(e),Ye(r),i}function We(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Qe(t[n],e);e.I=L.P}function Ge(e){var t=Ke();try{return e()}finally{qe(t)}}function Ke(){var e=R.trackingDerivation;return R.trackingDerivation=null,e}function qe(e){R.trackingDerivation=e}function Je(e){var t=R.allowStateReads;return R.allowStateReads=e,t}function Ye(e){R.allowStateReads=e}function Xe(e){if(e.I!==L.L){e.I=L.L;for(var t=e.D,n=t.length;n--;)t[n].U=L.L}}function Ze(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Qe(e,t){e.F.delete(t),e.F.size===0&&$e(e)}function $e(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,R.pendingUnobservations.push(e))}function et(){R.inBatch++}function tt(){if(--R.inBatch==0){it();for(var e=R.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof In&&n.X())}R.pendingUnobservations=[]}}function nt(e){var t=R.trackingDerivation;return t===null?(e.F.size===0&&R.inBatch>0&&$e(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&R.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function rt(e){e.U!==L.K&&(e.U=L.K,e.F.forEach((function(e){e.I===L.L&&e.H(),e.I=L.K})))}function it(){R.inBatch>0||R.isRunningReactions||z(at)}function at(){R.isRunningReactions=!0;for(var e=R.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}R.isRunningReactions=!1}function ot(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function st(e){return function(t,n){return a(t)?Pe(t.name||`<unnamed action>`,t,e):a(n)?Pe(t,n,e):se(n)?(e?Jn:Kn).t(t,n):o(n)?oe(t,n,e?Jn:Kn):o(t)?T(de(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function ct(e){return Fe(0,!1,e,this,void 0)}function lt(e){return a(e)&&!0===e.isMobxAction}function ut(e,t){function n(){e(i)}var r;t===void 0&&(t=dn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=dt(t),s=!1;i=new Wn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Wn(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function dt(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}function ft(e,t,n){return mt(`onBO`,e,t,n)}function pt(e,t,n){return mt(`onBUO`,e,t,n)}function mt(e,t,n,r){var i=typeof r==`function`?Zt(t,n):Zt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function ht(e,t,n,r){var i=j(t);return en((function(){var t=Wt(e,r)[M];gn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function gt(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(gt)),n}function _t(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(_t)),t}function vt(e){a(e.cancel)&&e.cancel()}function yt(e){return!0===e?.isMobXFlow}function bt(e,t){return t===void 0?Rn(e):!1===Kt(e)||!e[M].j.has(t)?!1:Rn(Zt(e,t))}function xt(e,t){return!!e&&(t===void 0?Kt(e)||!!e[M]||vn(e)||Gn(e)||Rn(e):!!Kt(e)&&e[M].j.has(t))}function St(e){return xt(e)}function Ct(e){return Kt(e)?e[M].nt():gr(e)||B(e)?Array.from(e.keys()):Vt(e)?e.map((function(e,t){return t})):void t(5)}function wt(e,n){return Kt(e)?e[M].it(n):gr(e)||B(e)?e.has(n):Vt(e)?n>=0&&n<e.length:void t(10)}function Tt(e){if(Kt(e))return e[M].rt();t(38)}function Et(e,t,n){return e.set(t,n),n}function Dt(e,t){t===void 0&&(t=void 0),et();try{return e.apply(t)}finally{tt()}}function Ot(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[M].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Pe(`When-effect`,t),o=ut((function(t){Re(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function kt(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Ot(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function At(e){return e[M]}function jt(e){return e.et!==void 0&&e.et.length>0}function Mt(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Nt(e,n){var r=Ke();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{qe(r)}}function Pt(e){return e.ut!==void 0&&e.ut.length>0}function Ft(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function It(e,t){var n=Ke(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);qe(n)}}function Lt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),en((function(){var r=new cr(n,t,i,!1);d(r.j,M,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function Rt(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function zt(e){return function(){var t=this[M];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function O(e){return function(t,n){var r=this,i=this[M];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function Bt(e){return function(){var t=this,n=this[M];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Vt(e){return s(e)&&fr(e[M])}function Ht(e){return e[Symbol.toStringTag]=`MapIterator`,rn(e)}function Ut(e){return e[Symbol.toStringTag]=`SetIterator`,rn(e)}function Wt(e,t){if(g(e,M))return e;var n=t?.name??`ObservableObject`;return u(e,M,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??Oe(e):void 0}(t))),e}function Gt(e){return yr[e]||(yr[e]={get:function(){return this[M].O(e)},set:function(t){return this[M].S(e,t)}})}function Kt(e){return!!s(e)&&xr(e[M])}function k(e,t,n){var r;(r=e.h[_n])==null||delete r[n]}function qt(e){return{enumerable:!1,configurable:!0,get:function(){return this[M].ct(e)},set:function(t){this[M].ht(e,t)}}}function Jt(e){cn(Er.prototype,``+e,qt(e))}function Yt(e){if(e>wr){for(var t=wr;t<e+100;t++)Jt(t);wr=e}}function Xt(e,t,n){return new Er(e,t,n)}function Zt(e,n){if(typeof e==`object`&&e){if(Vt(e))return n!==void 0&&t(23),e[M].st;if(B(e))return e.st;if(gr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,$t(e)),r}if(Kt(e)){if(!n)return t(26);var i=e[M].j.get(n);return i||t(27,n,$t(e)),i}if(vn(e)||Rn(e)||Gn(e))return e}else if(a(e)&&Gn(e[M]))return e[M];t(28)}function Qt(e,n){return e||t(29),n===void 0?vn(e)||Rn(e)||Gn(e)||gr(e)||B(e)?e:e[M]?e[M]:void t(24,e):Qt(Zt(e,n))}function $t(e,t){var n;if(t!==void 0)n=Zt(e,t);else{if(lt(e))return e.name;n=Kt(e)||gr(e)||B(e)?Qt(e):Zt(e)}return n.tt}function en(e){var t=Ke(),n=ze(!0);et();try{return e()}finally{tt(),Be(n),qe(t)}}function tn(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=nn(t),n=nn(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function nn(e){return Vt(e)?e.slice():p(e)||gr(e)||m(e)||B(e)?Array.from(e.entries()):e}function rn(e){return e[Symbol.iterator]=an,Object.assign(Object.create(Or),e)}function an(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var on={},A=Object.assign,sn=Object.getOwnPropertyDescriptor,cn=Object.defineProperty,ln=Object.prototype,un=[];Object.freeze(un);var dn={};Object.freeze(dn);var fn=typeof Proxy<`u`,pn=Object.toString(),mn=function(){},hn=Object.getOwnPropertySymbols!==void 0,gn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:hn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,j=Object.getOwnPropertyDescriptors||function(e){var t={};return gn(e).forEach((function(n){t[n]=sn(e,n)})),t},_n=Symbol(`mobx-stored-annotations`),M=Symbol(`mobx administration`),N=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=L.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return nt(this)},t.reportChanged=function(){et(),rt(this),tt()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();N.pt=1,N.yt=2,N.wt=4;var vn=f(`Atom`,N),yn={identity:function(e,t){return e===t},structural:function(e,t){return tn(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return tn(e,t,1)}},bn=T({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),P=Oe(),xn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(xn);var Sn=we(`observable`),Cn=we(`observable.ref`,{enhancer:ue}),F=we(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Kt(e)||Vt(e)||gr(e)||B(e)?e:Array.isArray(e)?Dn.array(e,{name:n,deep:!1}):c(e)?Dn.object(e,void 0,{name:n,deep:!1}):p(e)?Dn.map(e,{name:n,deep:!1}):m(e)?Dn.set(e,{name:n,deep:!1}):void 0}}),wn=we(`observable.struct`,{enhancer:function(e,t){return tn(e,t)?t:e}}),Tn=T(Sn);A(Ne,Tn);var En,Dn=A(Ne,{box:function(e,t){var n=Me(t);return new Pn(e,D(n),n.name,!0,n.equals)},array:function(e,t){var n=Me(t);return(!1===R.useProxies||!1===n.proxy?Xt:Lt)(e,D(n),n.name)},map:function(e,t){var n=Me(t);return new hr(e,D(n),n.name)},set:function(e,t){var n=Me(t);return new vr(e,D(n),n.name)},object:function(e,t,n){return en((function(){return ht(!1===R.useProxies||!1===n?.proxy?Wt({},n):function(e,t){var n;return r(),(n=(e=Wt(e,t))[M]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:T(Cn),shallow:T(F),deep:Tn,struct:T(wn)}),On=xe(`computed`),kn=xe(`computed.struct`,{equals:yn.structural}),An=function(e,t){if(se(t))return On.t(e,t);if(o(t))return oe(e,t,On);if(c(e))return T(xe(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new In(n)};Object.assign(An,On),An.struct=T(kn);var jn=0,I=1,Mn=(En=sn((function(){}),`name`)?.configurable)!=null&&En,Nn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Pn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=yn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}ne(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==R.UNCHANGED&&this.gt(e)},n.xt=function(e){if(jt(this)){var t=Nt(this,{object:this,type:or,newValue:e});if(!t)return R.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?R.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Pt(this)&&It(this,{type:or,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return Mt(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:or,newValue:this.Ot,oldValue:void 0}),Ft(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(N),Fn=f(`ObservableValue`,Pn),In=function(){function e(e){this.I=L.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=L.L,this.G=0,this.Ot=new zn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Ln.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=Pe(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?yn.structural:yn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===L.L&&(e.U=L.B,e.F.forEach((function(e){e.I===L.L&&(e.I=L.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),R.inBatch!==0||this.F.size!==0||this.Nt){if(nt(this),He(this)){var e=R.trackingContext;this.Nt&&!e&&(R.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==L.K&&(e.U=L.K,e.F.forEach((function(t){t.I===L.B?t.I=L.K:t.I===L.L&&(e.U=L.L)})))}(this),R.trackingContext=e}}else He(this)&&(this.Tt(),et(),this.Ot=this.Ct(!1),tt());var n=this.Ot;if(Ve(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===L.P,n=this.Ct(!0),r=t||Ve(e)||Ve(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=ze(!1);if(e)t=Ue(this,this.derivation,this.Et);else if(!0===R.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new zn(e)}return Be(n),this.isComputing=!1,t},n.X=function(){this.Nt||(We(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return ut((function(){var a=n.get();if(!r||t){var o=Ke();e({observableKind:`computed`,debugObjectName:n.tt,type:or,object:n,newValue:a,oldValue:i}),qe(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();In.It=1,In.Lt=2,In.pt=4,In.yt=8,In.wt=16;var L,Ln,Rn=f(`ComputedValue`,In);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(L||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Ln||={});var zn=function(e){this.cause=void 0,this.cause=e},Bn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Vn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Hn=!0,Un=!1,R=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Hn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Vn().version&&(Hn=!1),Hn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Vn):(setTimeout((function(){Un||t(35)}),1),new Vn)}(),Wn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=L.P,this.q=0,this.G=0,this.bt=0,this.Mt=Ln.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,R.pendingReactions.push(this),it())},t.J=function(){if(!this.isDisposed){et(),this.isScheduled=!1;var e=R.trackingContext;if(R.trackingContext=this,He(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}R.trackingContext=e,tt()}},t.track=function(e){if(!this.isDisposed){et(),this.isRunning=!0;var t=R.trackingContext;R.trackingContext=this;var n=Ue(this,e,void 0);R.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&We(this),Ve(n)&&this.Dt(n.cause),tt()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(R.disableErrorBoundaries)throw e;R.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),R.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(et(),We(this),tt()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[M]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Wn.Wt=1,Wn.qt=2,Wn.Gt=4,Wn.Ht=8,Wn.wt=16;var z=function(e){return e()},Gn=f(`Reaction`,Wn),Kn=de(`action`),qn=de(`action.bound`,{bound:!0}),Jn=de(`autoAction`,{autoAction:!0}),Yn=de(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=st(!1);Object.assign(Xn,Kn);var Zn=st(!0);Object.assign(Zn,Jn),Xn.bound=T(qn),Zn.bound=T(Yn);var Qn=function(e){return e()},$n=0,er=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return ne(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(w(Error)),tr=ge(`flow`),nr=ge(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(se(t))return tr.t(e,t);if(o(t))return oe(e,t,tr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++$n,s=Xn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Xn(r+` - runid: `+o+` - cancel`,(function(){try{c&&vt(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(mn,mn),vt(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=T(nr);var ir={has:function(e,t){return At(e).it(t)},get:function(e,t){return At(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=At(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=At(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=At(e).l(t,n))==null||r},ownKeys:function(e){return At(e).rt()},preventExtensions:function(){t(13)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[M];return t===M?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(lr,t)?lr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[M];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},cr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new N(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return Mt(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),Ft(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Yt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=un),jt(this)){var a=Nt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return un;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=Pt(this),a=i||r?{observableKind:`array`,object:this.v,type:or,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&It(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Pt(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&It(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(jt(this)){var a=Nt(this,{type:or,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),lr={clear:function(){return this.splice(0)},replace:function(e){var t=this[M];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[M];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[M].ot(e,t,n)},push:function(){for(var e=this[M],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[M].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[M],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return R.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){R.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[M],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};Rt(`at`,zt),Rt(`concat`,zt),Rt(`flat`,zt),Rt(`includes`,zt),Rt(`indexOf`,zt),Rt(`join`,zt),Rt(`lastIndexOf`,zt),Rt(`slice`,zt),Rt(`toString`,zt),Rt(`toLocaleString`,zt),Rt(`toSorted`,zt),Rt(`toSpliced`,zt),Rt(`with`,zt),Rt(`every`,O),Rt(`filter`,O),Rt(`find`,O),Rt(`findIndex`,O),Rt(`findLast`,O),Rt(`findLastIndex`,O),Rt(`flatMap`,O),Rt(`forEach`,O),Rt(`map`,O),Rt(`some`,O),Rt(`toReversed`,O),Rt(`reduce`,Bt),Rt(`reduceRight`,Bt);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[M]=pr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),en((function(){i.lt=ce(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!R.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Pn(this.it(e),ue,`ObservableMap.key?`,!1);this.dt.set(e,r),pt(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(jt(this)){var r=Nt(this,{type:n?or:mr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(jt(this)&&!Nt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Pt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Dt((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&It(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==R.UNCHANGED){var r=Pt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&It(this,i)}},n.en=function(e,t){var n=this;Dt((function(){var r,i=new Pn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=Pt(this);r&&It(this,r?{observableKind:`map`,debugObjectName:this.tt,type:mr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Ht({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Ht({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return gr(e)&&(e=new Map(e)),Dt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!hn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return ln.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Dt((function(){Ge((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Dt((function(){for(var r,i=function(e){if(p(e)||gr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=le),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[M]=_r,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},en((function(){i.st=ce(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Dt((function(){Ge((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(jt(this)){var n=Nt(this,{type:mr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Dt((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Pt(this);r&&It(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(jt(this)&&!Nt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Pt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Dt((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&It(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return Ut({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return Ut({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!B(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!B(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!B(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!B(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return B(e)&&(e=new Set(e)),Dt((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),B=f(`ObservableSet`,vr),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=P),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new N(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof In)return n.set(t),!0;if(jt(this)){var r=Nt(this,{type:or,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==R.UNCHANGED){var i=Pt(this),a=i?{type:or,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&It(this,a)}return!0},n.ct=function(e){return R.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!R.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Pn(e in this.h,ue,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[_n])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==ln;){var a=sn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}k(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&k(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{et();var r=this.Ut(e);if(!r)return r;if(jt(this)){var i=Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else cn(this.h,e,t);this.fn(e,t.value)}finally{tt()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{et();var i=this.Ut(e);if(!i)return i;if(jt(this)){var a=Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Gt(e),s={configurable:!R.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else cn(this.h,e,s);var c=new Pn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{tt()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{et();var r=this.Ut(e);if(!r)return r;if(jt(this)&&!Nt(this,{object:this.v||this.h,name:e,type:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Gt(e),a={configurable:!R.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else cn(this.h,e,a);this.j.set(e,new In(t)),this.fn(e,void 0)}finally{tt()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(jt(this)&&!Nt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;et();var r=Pt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=sn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Pn&&(a=i.Ot),rt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&It(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{tt()}return!0},n._t=function(e){return Ft(this,e)},n.St=function(e){return Mt(this,e)},n.fn=function(e,t){var n,r=Pt(this);r&&r&&It(this,r?{type:mr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),gn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=qt(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};ur=Tr,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,en((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,M,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}ne(t,e);var n=t.prototype;return n.concat=function(){this[M].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Vt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return rn({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[M].Ft()},set:function(e){this[M].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Yt(1e3);var Dr=ln.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:ot,extras:{getDebugName:$t},$mobx:M}),e.$mobx=M,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Wn,e._allowStateChanges=Re,e._allowStateChangesInsideComputed=ct,e._allowStateReadsEnd=Ye,e._allowStateReadsStart=Je,e._autoAction=Zn,e._endAction=Le,e._getAdministration=Qt,e._getGlobalState=function(){return R},e._interceptReads=function(e,t,n){var r;return gr(e)||Vt(e)||Fn(e)?r=Qt(e):Kt(e)&&(r=Qt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return R.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Vn;for(var t in e)Bn.indexOf(t)===-1&&(R[t]=e[t]);R.allowStateChanges=!R.enforceActions},e._startAction=Ie,e.action=Xn,e.autorun=ut,e.comparer=yn,e.computed=An,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((R.pendingReactions.length||R.inBatch||R.isRunningReactions)&&t(36),Un=!0,Hn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),R=new Vn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(R.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(R.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;R.enforceActions=s,R.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(R[t]=!!e[t])})),R.allowStateReads=!R.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=z,z=function(e){return r((function(){return i(e)}))})},e.createAtom=ce,e.defineProperty=function(e,n,r){if(Kt(e))return e[M].l(n,r);t(39)},e.entries=function(e){return Kt(e)?Ct(e).map((function(t){return[t,e[t]]})):gr(e)?Ct(e).map((function(t){return[t,e.get(t)]})):B(e)?Array.from(e.entries()):Vt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=ht,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(wt(e,n))return Kt(e)?e[M].ct(n):gr(e)?e.get(n):Vt(e)?e[n]:void t(11)},e.getAtom=Zt,e.getDebugName=$t,e.getDependencyTree=function(e,t){return gt(Zt(e,t))},e.getObserverTree=function(e,t){return _t(Zt(e,t))},e.has=wt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Qt(e,t).St(n)}(e,t,n):function(e,t){return Qt(e).St(t)}(e,t)},e.isAction=lt,e.isBoxedObservable=Fn,e.isComputed=function(e){return bt(e)},e.isComputedProp=function(e,t){return bt(e,t)},e.isFlow=yt,e.isFlowCancellationError=function(e){return e instanceof er},e.isObservable=St,e.isObservableArray=Vt,e.isObservableMap=gr,e.isObservableObject=Kt,e.isObservableProp=function(e,t){return xt(e,t)},e.isObservableSet=B,e.keys=Ct,e.makeAutoObservable=function(e,t,n){return c(e)?ht(e,e,t,n):(en((function(){var r=Wt(e,n)[M];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(gn(e),gn(i)));a.delete(`constructor`),a.delete(M),u(i,ar,a)}e[ar].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return en((function(){var r=Wt(e,n)[M];t??=function(e){return g(e,_n)||u(e,_n,ee({},e[_n])),e[_n]}(e),gn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=Dn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Qt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Qt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=ft,e.onBecomeUnobserved=pt,e.onReactionError=function(e){return R.globalReactionErrorHandlers.push(e),function(){var t=R.globalReactionErrorHandlers.indexOf(e);t>=0&&R.globalReactionErrorHandlers.splice(t,1)}},e.override=bn,e.ownKeys=Tt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Re(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=dn);var a,o,s,c=n.name??`Reaction`,l=Xn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=dt(n),f=!0,p=!1,m=n.compareStructural?yn.structural:n.equals||yn.default,h=new Wn(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Kt(e)?e[M].Ut(n):gr(e)||B(e)?e.delete(n):Vt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=ct,e.set=function e(n,r,i){if(arguments.length!==2||B(n))Kt(n)?n[M].ht(r,i):gr(n)?n.set(r,i):B(n)?n.add(r):Vt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),et(),r>=n.length&&(n.length=r+1),n[r]=i,tt()):t(8);else{et();var a=r;try{for(var o in a)e(n,o,a[o])}finally{tt()}}},e.spy=ot,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!St(t))return t;if(Fn(t)||Rn(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Vt(t)){var r=Et(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(B(t)){var i=Et(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(t)){var a=Et(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=Et(n,t,{});return Tt(t).forEach((function(r){ln.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Dt,e.untracked=Ge,e.values=function(e){return Kt(e)?Ct(e).map((function(t){return e[t]})):gr(e)?Ct(e).map((function(t){return e.get(t)})):B(e)?Array.from(e.values()):Vt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?kt(e,t):Ot(e,t,n||{})}})),Ex=ye((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){F.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++F.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function te(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function ne(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function re(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function ie(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ae=Object.getOwnPropertySymbols!==void 0;function w(e){var t=Object.keys(e);if(!ae)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var T=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ae?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function oe(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function se(e){return e===null?null:typeof e==`object`?``+e:e}function ce(e,t){return c.hasOwnProperty.call(e,t)}var le=Object.getOwnPropertyDescriptors||function(e){var t={};return T(e).forEach(function(n){t[n]=o(e,n)}),t};function ue(e,t){return!!(e&t)}function de(e,t,n){return n?e|=t:e&=~t,e}function fe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function pe(e,t,n){if(xe())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&E(i,n.prototype),i}function me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Ce(r.key),r)}}function he(e,t,n){return t&&me(e.prototype,t),n&&me(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function ge(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=we(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
58
59
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _e(){return _e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_e.apply(null,arguments)}function ve(e){return ve=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ve(e)}function ye(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,E(e,t)}function be(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(xe=function(){return!!e})()}function E(e,t){return E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},E(e,t)}function Se(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Ce(e){var t=Se(e,`string`);return typeof t==`symbol`?t:t+``}function we(e,t){if(e){if(typeof e==`string`)return fe(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?fe(e,t):void 0}}function Te(e){var t=typeof Map==`function`?new Map:void 0;return Te=function(e){if(e===null||!be(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return pe(e,arguments,ve(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),E(n,e)},Te(e)}var Ee=Symbol(`mobx-stored-annotations`);function De(e){function t(t,n){if(je(n))return e.decorate_20223_(t,n);Oe(t,n,e)}return Object.assign(t,e)}function Oe(e,t,r){ce(e,Ee)||C(e,Ee,_e({},e[Ee])),qe(r)&&!ce(e[Ee],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),ke(e,r,t),qe(r)||(e[Ee][t]=r)}function ke(e,t,r){if(!qe(t)&&ce(e[Ee],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[Ee][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
59
60
  The field is already decorated with '@`+a+`'.`)+`
60
61
  Re-decorating fields is not allowed.
61
- Use '@override' decorator for methods overridden by subclass.`)}}function Ae(e){return ce(e,Ee)||C(e,Ee,_e({},e[Ee])),e[Ee]}function je(e){return typeof e==`object`&&typeof e.kind==`string`}function Me(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var D=Symbol(`mobx administration`),Ne=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=j.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Mn(this)},t.reportChanged=function(){L(),Nn(this),jn()},t.toString=function(){return this.name_},he(e,[{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=de(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=de(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();Ne.isBeingObservedMask_=1,Ne.isPendingUnobservationMask_=2,Ne.diffValueMask_=4;var Pe=te(`Atom`,Ne);function Fe(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ne(e);return t!==_&&_r(r,t),n!==_&&vr(r,n),r}function Ie(e,t){return e===t}function Le(e,t){return _a(e,t)}function Re(e,t){return _a(e,t,1)}function ze(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Be={identity:Ie,structural:Le,default:ze,shallow:Re};function Ve(e,t,n){return Kr(e)?e:Array.isArray(e)?k.array(e,{name:n}):x(e)?k.object(e,void 0,{name:n}):ne(e)?k.map(e,{name:n}):ie(e)?k.set(e,{name:n}):typeof e==`function`&&!lr(e)&&!Lr(e)?S(e)?Pr(e):sr(n,e):e}function He(e,t,r){if(e==null||ea(e)||Ii(e)||Vi(e)||Ki(e))return e;if(Array.isArray(e))return k.array(e,{name:r,deep:!1});if(x(e))return k.object(e,void 0,{name:r,deep:!1});if(ne(e))return k.map(e,{name:r,deep:!1});if(ie(e))return k.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Ue(e){return e}function We(e,t){return Kr(e)&&n(`observable.struct should not be used with observable values`),_a(e,t)?t:e}var Ge=`override`,Ke=De({annotationType_:Ge,make_:Je,extend_:Ye,decorate_20223_:Xe});function qe(e){return e.annotationType_===Ge}function Je(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
62
- '`+this.annotationType_+`' cannot be used on plain objects.`)),ce(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Ye(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Xe(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Ze(e,t){return{annotationType_:e,options_:t,make_:Qe,extend_:$e,decorate_20223_:et}}function Qe(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:lr(n.value)?1:(s(r,t,nt(e,this,t,n,!1)),2)}function $e(e,t,n,r){var i=nt(e,this,t,n);return e.defineProperty_(t,i,r)}function et(e,t){Me(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return qt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return lr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return lr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
62
+ Use '@override' decorator for methods overridden by subclass.`)}}function Ae(e){return ce(e,Ee)||C(e,Ee,_e({},e[Ee])),e[Ee]}function je(e){return typeof e==`object`&&typeof e.kind==`string`}function Me(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var D=Symbol(`mobx administration`),Ne=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=A.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Nn(this)},t.reportChanged=function(){I(),Pn(this),Mn()},t.toString=function(){return this.name_},he(e,[{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=de(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=de(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();Ne.isBeingObservedMask_=1,Ne.isPendingUnobservationMask_=2,Ne.diffValueMask_=4;var Pe=te(`Atom`,Ne);function Fe(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ne(e);return t!==_&&_r(r,t),n!==_&&vr(r,n),r}function Ie(e,t){return e===t}function Le(e,t){return va(e,t)}function Re(e,t){return va(e,t,1)}function ze(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Be={identity:Ie,structural:Le,default:ze,shallow:Re};function Ve(e,t,n){return Kr(e)?e:Array.isArray(e)?O.array(e,{name:n}):x(e)?O.object(e,void 0,{name:n}):ne(e)?O.map(e,{name:n}):ie(e)?O.set(e,{name:n}):typeof e==`function`&&!lr(e)&&!Lr(e)?S(e)?Pr(e):sr(n,e):e}function He(e,t,r){if(e==null||ea(e)||Li(e)||Hi(e)||Ki(e))return e;if(Array.isArray(e))return O.array(e,{name:r,deep:!1});if(x(e))return O.object(e,void 0,{name:r,deep:!1});if(ne(e))return O.map(e,{name:r,deep:!1});if(ie(e))return O.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Ue(e){return e}function We(e,t){return Kr(e)&&n(`observable.struct should not be used with observable values`),va(e,t)?t:e}var Ge=`override`,Ke=De({annotationType_:Ge,make_:Je,extend_:Ye,decorate_20223_:Xe});function qe(e){return e.annotationType_===Ge}function Je(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
63
+ '`+this.annotationType_+`' cannot be used on plain objects.`)),ce(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Ye(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Xe(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Ze(e,t){return{annotationType_:e,options_:t,make_:Qe,extend_:$e,decorate_20223_:et}}function Qe(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:lr(n.value)?1:(s(r,t,nt(e,this,t,n,!1)),2)}function $e(e,t,n,r){var i=nt(e,this,t,n);return e.defineProperty_(t,i,r)}function et(e,t){Me(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Jt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return lr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return lr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
63
64
  '`+o.annotationType_+`' can only be used on properties with a function value.`))}function tt(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
64
- '`+a+`' can only be used on properties with a function value.`))}function nt(e,t,n,r,i){var a,o;i===void 0&&(i=I.safeDescriptors),tt(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:qt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function rt(e,t){return{annotationType_:e,options_:t,make_:it,extend_:at,decorate_20223_:ot}}function it(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!ce(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,ct(e,this,t,n,!1,!1)),2)}function at(e,t,n,r){var i=ct(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function ot(e,t){var n;Me(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function st(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
65
- '`+a+`' can only be used on properties with a generator function value.`))}function ct(e,t,n,r,i,a){a===void 0&&(a=I.safeDescriptors),st(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function lt(e,t){return{annotationType_:e,options_:t,make_:ut,extend_:dt,decorate_20223_:ft}}function ut(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function dt(e,t,n,r){return pt(e,this,t,n),e.defineComputedProperty_(t,_e({},this.options_,{get:n.get,set:n.set}),r)}function ft(e,t){Me(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Zi(this)[D],i=_e({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new rn(i))}),function(){return this[D].getObservablePropValue_(r)}}function pt(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
66
- '`+a+`' can only be used on getter(+setter) properties.`))}function mt(e,t){return{annotationType_:e,options_:t,make_:ht,extend_:gt,decorate_20223_:_t}}function ht(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function gt(e,t,n,r){return vt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Ve,r)}function _t(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");Me(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Zi(e)[D],i=new tn(t,r.options_?.enhancer??Ve,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[D].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[D].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function vt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
67
- '`+a+`' cannot be used on getter/setter properties`))}var yt=`true`,bt=xt();function xt(e){return{annotationType_:yt,options_:e,make_:St,extend_:Ct,decorate_20223_:wt}}function St(e,t,n,r){var i;if(n.get)return Ut.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:qt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?sr.bound:sr).make_(e,t,n,r)}var l=this.options_?.deep===!1?k.ref:k;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function Ct(e,t,n,r){var i;return n.get?Ut.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:qt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?k.ref:k).extend_(e,t,n,r))}function wt(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var Tt=`observable`,Et=`observable.ref`,Dt=`observable.shallow`,Ot=`observable.struct`,kt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(kt);function At(e){return e||kt}var jt=mt(Tt),Mt=mt(Et,{enhancer:Ue}),Nt=mt(Dt,{enhancer:He}),Pt=mt(Ot,{enhancer:We}),Ft=De(jt);function It(e){return e.deep===!0?Ve:e.deep===!1?Ue:O(e.defaultDecorator)}function Lt(e){return e?e.defaultDecorator??xt(e):void 0}function O(e){return e?e.options_?.enhancer??Ve:Ve}function Rt(e,t,n){if(je(t))return jt.decorate_20223_(e,t);if(y(t)){Oe(e,t,jt);return}return Kr(e)?e:x(e)?k.object(e,t,n):Array.isArray(e)?k.array(e,t):ne(e)?k.map(e,t):ie(e)?k.set(e,t):typeof e==`object`&&e?e:k.box(e,t)}a(Rt,Ft);var k=a(Rt,{box:function(e,t){var n=At(t);return new tn(e,It(n),n.name,!0,n.equals)},array:function(e,t){var n=At(t);return(I.useProxies===!1||n.proxy===!1?da:Ai)(e,It(n),n.name)},map:function(e,t){var n=At(t);return new Bi(e,It(n),n.name)},set:function(e,t){var n=At(t);return new Gi(e,It(n),n.name)},object:function(e,t,n){return ha(function(){return Cr(I.useProxies===!1||n?.proxy===!1?Zi({},n):V({},n),e,t)})},ref:De(Mt),shallow:De(Nt),deep:Ft,struct:De(Pt)}),zt=`computed`,Bt=`computed.struct`,Vt=lt(zt),Ht=lt(Bt,{equals:Be.structural}),Ut=function(e,t){if(je(t))return Vt.decorate_20223_(e,t);if(y(t))return Oe(e,t,Vt);if(x(e))return De(lt(zt,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new rn(r)};Object.assign(Ut,Vt),Ut.struct=De(Ht);var Wt=0,Gt=1,A=o(function(){},`name`)?.configurable??!1,Kt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function qt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Jt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},A&&(Kt.value=e,s(a,`name`,Kt)),a}function Jt(e,t,n,r,i){var a=Yt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Xt(a)}}function Yt(e,t,n,r){var i=Wn()&&!!e,a=0;i&&(a=Date.now(),Kn({type:Xn,name:e,object:n,arguments:r?Array.from(r):l}));var o=I.trackingDerivation,s=!t||!o;L();var c=I.allowStateChanges;s&&(N(),c=Qt(!0));var u=_n(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Gt++,parentActionId_:Wt};return Wt=d.actionId_,d}function Xt(e){Wt!==e.actionId_&&n(30),Wt=e.parentActionId_,e.error_!==void 0&&(I.suppressReactionErrors=!0),$t(e.prevAllowStateChanges_),vn(e.prevAllowStateReads_),jn(),e.runAsAction_&&P(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),I.suppressReactionErrors=!1}function Zt(e,t){var n=Qt(e);try{return t()}finally{$t(n)}}function Qt(e){var t=I.allowStateChanges;return I.allowStateChanges=e,t}function $t(e){I.allowStateChanges=e}var en=`create`,tn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Be.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Wn()&&Gn({type:en,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ye(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==I.UNCHANGED){var n=Wn();n&&Kn({type:Ei,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(dn(this),H(this)){var t=vi(this,{object:this,type:Ei,newValue:e});if(!t)return I.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?I.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),yi(this)&&xi(this,{type:Ei,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return _i(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Ei,newValue:this.value_,oldValue:void 0}),bi(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return se(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ne),nn=te(`ObservableValue`,tn),rn=function(){function e(e){this.dependenciesState_=j.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=j.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new sn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=on.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=qt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Be.structural:Be.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Fn(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),I.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)ln(this)&&(this.warnAboutUntrackedRead_(),L(),this.value_=this.computeValue_(!1),jn());else if(Mn(this),ln(this)){var e=I.trackingContext;this.keepAlive_&&!e&&(I.trackingContext=this),this.trackAndCompute()&&Pn(this),I.trackingContext=e}var t=this.value_;if(cn(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===j.NOT_TRACKING_,n=this.computeValue_(!0),r=t||cn(e)||cn(n)||!this.equals_(e,n);return r&&(this.value_=n,Wn()&&Gn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Qt(!1),n;if(e)n=pn(this,this.derivation,this.scope_);else if(I.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new sn(e)}return $t(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(M(this),this.value_=void 0,this.isTracing_!==on.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return ur(function(){var a=n.get();if(!r||t){var o=N();e({observableKind:`computed`,debugObjectName:n.name_,type:Ei,object:n,newValue:a,oldValue:i}),P(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==on.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:I.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return se(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},he(e,[{key:`isComputing`,get:function(){return ue(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=de(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ue(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=de(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=de(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=de(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();rn.isComputingMask_=1,rn.isRunningSetterMask_=2,rn.isBeingObservedMask_=4,rn.isPendingUnobservationMask_=8,rn.diffValueMask_=16;var an=te(`ComputedValue`,rn),j;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(j||={});var on;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(on||={});var sn=function(e){this.cause=void 0,this.cause=e};function cn(e){return e instanceof sn}function ln(e){switch(e.dependenciesState_){case j.UP_TO_DATE_:return!1;case j.NOT_TRACKING_:case j.STALE_:return!0;case j.POSSIBLY_STALE_:for(var t=_n(!0),n=N(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(an(o)){if(I.disableErrorBoundaries)o.get();else try{o.get()}catch{return P(n),vn(t),!0}if(e.dependenciesState_===j.STALE_)return P(n),vn(t),!0}}return yn(e),P(n),vn(t),!1}}function un(){return I.trackingDerivation!==null}function dn(e){var t=e.observers_.size>0;!I.allowStateChanges&&(t||I.enforceActions===`always`)&&console.warn(`[MobX] `+(I.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function fn(e){!I.allowStateReads&&I.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function pn(e,t,n){var r=_n(!0);yn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++I.runId;var i=I.trackingDerivation;I.trackingDerivation=e,I.inBatch++;var a;if(I.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new sn(e)}return I.inBatch--,I.trackingDerivation=i,hn(e),mn(e),vn(r),a}function mn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:I.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function hn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=j.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&kn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,On(l,e))}r!==j.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function M(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)kn(t[n],e);e.dependenciesState_=j.NOT_TRACKING_}function gn(e){var t=N();try{return e()}finally{P(t)}}function N(){var e=I.trackingDerivation;return I.trackingDerivation=null,e}function P(e){I.trackingDerivation=e}function _n(e){var t=I.allowStateReads;return I.allowStateReads=e,t}function vn(e){I.allowStateReads=e}function yn(e){if(e.dependenciesState_!==j.UP_TO_DATE_){e.dependenciesState_=j.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=j.UP_TO_DATE_}}var F=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},xn=!0,Sn=!1,I=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(xn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new bn().version&&(xn=!1),xn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new bn):(setTimeout(function(){Sn||n(35)},1),new bn)}();function Cn(){if((I.pendingReactions.length||I.inBatch||I.isRunningReactions)&&n(36),Sn=!0,xn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),I=new bn}}function wn(){return I}function Tn(){var e=new bn;for(var t in e)F.indexOf(t)===-1&&(I[t]=e[t]);I.allowStateChanges=!I.enforceActions}function En(e){return e.observers_&&e.observers_.size>0}function Dn(e){return e.observers_}function On(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function kn(e,t){e.observers_.delete(t),e.observers_.size===0&&An(e)}function An(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,I.pendingUnobservations.push(e))}function L(){I.inBatch++}function jn(){if(--I.inBatch===0){Vn();for(var e=I.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof rn&&n.suspend_())}I.pendingUnobservations=[]}}function Mn(e){fn(e);var t=I.trackingDerivation;return t===null?(e.observers_.size===0&&I.inBatch>0&&An(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&I.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Nn(e){e.lowestObserverState_!==j.STALE_&&(e.lowestObserverState_=j.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===j.UP_TO_DATE_&&(t.isTracing_!==on.NONE&&R(t,e),t.onBecomeStale_()),t.dependenciesState_=j.STALE_}))}function Pn(e){e.lowestObserverState_!==j.STALE_&&(e.lowestObserverState_=j.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===j.POSSIBLY_STALE_?(t.dependenciesState_=j.STALE_,t.isTracing_!==on.NONE&&R(t,e)):t.dependenciesState_===j.UP_TO_DATE_&&(e.lowestObserverState_=j.UP_TO_DATE_)}))}function Fn(e){e.lowestObserverState_===j.UP_TO_DATE_&&(e.lowestObserverState_=j.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===j.UP_TO_DATE_&&(e.dependenciesState_=j.POSSIBLY_STALE_,e.onBecomeStale_())}))}function R(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===on.BREAK){var n=[];In(wr(e),n,1),Function(`debugger;
65
+ '`+a+`' can only be used on properties with a function value.`))}function nt(e,t,n,r,i){var a,o;i===void 0&&(i=F.safeDescriptors),tt(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Jt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function rt(e,t){return{annotationType_:e,options_:t,make_:it,extend_:at,decorate_20223_:ot}}function it(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!ce(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,ct(e,this,t,n,!1,!1)),2)}function at(e,t,n,r){var i=ct(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function ot(e,t){var n;Me(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function st(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
66
+ '`+a+`' can only be used on properties with a generator function value.`))}function ct(e,t,n,r,i,a){a===void 0&&(a=F.safeDescriptors),st(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function lt(e,t){return{annotationType_:e,options_:t,make_:ut,extend_:dt,decorate_20223_:ft}}function ut(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function dt(e,t,n,r){return pt(e,this,t,n),e.defineComputedProperty_(t,_e({},this.options_,{get:n.get,set:n.set}),r)}function ft(e,t){Me(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Zi(this)[D],i=_e({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new an(i))}),function(){return this[D].getObservablePropValue_(r)}}function pt(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
67
+ '`+a+`' can only be used on getter(+setter) properties.`))}function mt(e,t){return{annotationType_:e,options_:t,make_:ht,extend_:gt,decorate_20223_:_t}}function ht(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function gt(e,t,n,r){return vt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Ve,r)}function _t(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");Me(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Zi(e)[D],i=new nn(t,r.options_?.enhancer??Ve,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[D].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[D].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function vt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
68
+ '`+a+`' cannot be used on getter/setter properties`))}var yt=`true`,bt=xt();function xt(e){return{annotationType_:yt,options_:e,make_:St,extend_:Ct,decorate_20223_:wt}}function St(e,t,n,r){var i;if(n.get)return Wt.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:Jt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:F.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?sr.bound:sr).make_(e,t,n,r)}var l=this.options_?.deep===!1?O.ref:O;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function Ct(e,t,n,r){var i;return n.get?Wt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:F.safeDescriptors?e.isPlainObject_:!0,set:Jt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?O.ref:O).extend_(e,t,n,r))}function wt(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var Tt=`observable`,Et=`observable.ref`,Dt=`observable.shallow`,Ot=`observable.struct`,kt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(kt);function At(e){return e||kt}var jt=mt(Tt),Mt=mt(Et,{enhancer:Ue}),Nt=mt(Dt,{enhancer:He}),Pt=mt(Ot,{enhancer:We}),Ft=De(jt);function It(e){return e.deep===!0?Ve:e.deep===!1?Ue:Rt(e.defaultDecorator)}function Lt(e){return e?e.defaultDecorator??xt(e):void 0}function Rt(e){return e?e.options_?.enhancer??Ve:Ve}function zt(e,t,n){if(je(t))return jt.decorate_20223_(e,t);if(y(t)){Oe(e,t,jt);return}return Kr(e)?e:x(e)?O.object(e,t,n):Array.isArray(e)?O.array(e,t):ne(e)?O.map(e,t):ie(e)?O.set(e,t):typeof e==`object`&&e?e:O.box(e,t)}a(zt,Ft);var O=a(zt,{box:function(e,t){var n=At(t);return new nn(e,It(n),n.name,!0,n.equals)},array:function(e,t){var n=At(t);return(F.useProxies===!1||n.proxy===!1?fa:Ai)(e,It(n),n.name)},map:function(e,t){var n=At(t);return new Vi(e,It(n),n.name)},set:function(e,t){var n=At(t);return new Gi(e,It(n),n.name)},object:function(e,t,n){return ga(function(){return Cr(F.useProxies===!1||n?.proxy===!1?Zi({},n):_i({},n),e,t)})},ref:De(Mt),shallow:De(Nt),deep:Ft,struct:De(Pt)}),Bt=`computed`,Vt=`computed.struct`,Ht=lt(Bt),Ut=lt(Vt,{equals:Be.structural}),Wt=function(e,t){if(je(t))return Ht.decorate_20223_(e,t);if(y(t))return Oe(e,t,Ht);if(x(e))return De(lt(Bt,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new an(r)};Object.assign(Wt,Ht),Wt.struct=De(Ut);var Gt=0,Kt=1,k=o(function(){},`name`)?.configurable??!1,qt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Jt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Yt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},k&&(qt.value=e,s(a,`name`,qt)),a}function Yt(e,t,n,r,i){var a=Xt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Zt(a)}}function Xt(e,t,n,r){var i=z()&&!!e,a=0;i&&(a=Date.now(),Kn({type:Xn,name:e,object:n,arguments:r?Array.from(r):l}));var o=F.trackingDerivation,s=!t||!o;I();var c=F.allowStateChanges;s&&(M(),c=$t(!0));var u=vn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Kt++,parentActionId_:Gt};return Gt=d.actionId_,d}function Zt(e){Gt!==e.actionId_&&n(30),Gt=e.parentActionId_,e.error_!==void 0&&(F.suppressReactionErrors=!0),en(e.prevAllowStateChanges_),yn(e.prevAllowStateReads_),Mn(),e.runAsAction_&&N(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),F.suppressReactionErrors=!1}function Qt(e,t){var n=$t(e);try{return t()}finally{en(n)}}function $t(e){var t=F.allowStateChanges;return F.allowStateChanges=e,t}function en(e){F.allowStateChanges=e}var tn=`create`,nn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Be.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&z()&&Gn({type:tn,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ye(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==F.UNCHANGED){var n=z();n&&Kn({type:V,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(fn(this),vi(this)){var t=bi(this,{object:this,type:V,newValue:e});if(!t)return F.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?F.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),xi(this)&&Ci(this,{type:V,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return yi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:V,newValue:this.value_,oldValue:void 0}),Si(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return se(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ne),rn=te(`ObservableValue`,nn),an=function(){function e(e){this.dependenciesState_=A.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=A.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new cn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=sn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=Jt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Be.structural:Be.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){In(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),F.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)un(this)&&(this.warnAboutUntrackedRead_(),I(),this.value_=this.computeValue_(!1),Mn());else if(Nn(this),un(this)){var e=F.trackingContext;this.keepAlive_&&!e&&(F.trackingContext=this),this.trackAndCompute()&&Fn(this),F.trackingContext=e}var t=this.value_;if(ln(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===A.NOT_TRACKING_,n=this.computeValue_(!0),r=t||ln(e)||ln(n)||!this.equals_(e,n);return r&&(this.value_=n,z()&&Gn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=$t(!1),n;if(e)n=mn(this,this.derivation,this.scope_);else if(F.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new cn(e)}return en(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(j(this),this.value_=void 0,this.isTracing_!==sn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return ur(function(){var a=n.get();if(!r||t){var o=M();e({observableKind:`computed`,debugObjectName:n.name_,type:V,object:n,newValue:a,oldValue:i}),N(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==sn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:F.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return se(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},he(e,[{key:`isComputing`,get:function(){return ue(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=de(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ue(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=de(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ue(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=de(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ue(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=de(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();an.isComputingMask_=1,an.isRunningSetterMask_=2,an.isBeingObservedMask_=4,an.isPendingUnobservationMask_=8,an.diffValueMask_=16;var on=te(`ComputedValue`,an),A;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(A||={});var sn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(sn||={});var cn=function(e){this.cause=void 0,this.cause=e};function ln(e){return e instanceof cn}function un(e){switch(e.dependenciesState_){case A.UP_TO_DATE_:return!1;case A.NOT_TRACKING_:case A.STALE_:return!0;case A.POSSIBLY_STALE_:for(var t=vn(!0),n=M(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(on(o)){if(F.disableErrorBoundaries)o.get();else try{o.get()}catch{return N(n),yn(t),!0}if(e.dependenciesState_===A.STALE_)return N(n),yn(t),!0}}return bn(e),N(n),yn(t),!1}}function dn(){return F.trackingDerivation!==null}function fn(e){var t=e.observers_.size>0;!F.allowStateChanges&&(t||F.enforceActions===`always`)&&console.warn(`[MobX] `+(F.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function pn(e){!F.allowStateReads&&F.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function mn(e,t,n){var r=vn(!0);bn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++F.runId;var i=F.trackingDerivation;F.trackingDerivation=e,F.inBatch++;var a;if(F.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new cn(e)}return F.inBatch--,F.trackingDerivation=i,gn(e),hn(e),yn(r),a}function hn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:F.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function gn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=A.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&An(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,kn(l,e))}r!==A.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function j(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)An(t[n],e);e.dependenciesState_=A.NOT_TRACKING_}function _n(e){var t=M();try{return e()}finally{N(t)}}function M(){var e=F.trackingDerivation;return F.trackingDerivation=null,e}function N(e){F.trackingDerivation=e}function vn(e){var t=F.allowStateReads;return F.allowStateReads=e,t}function yn(e){F.allowStateReads=e}function bn(e){if(e.dependenciesState_!==A.UP_TO_DATE_){e.dependenciesState_=A.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=A.UP_TO_DATE_}}var P=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],xn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Sn=!0,Cn=!1,F=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Sn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new xn().version&&(Sn=!1),Sn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new xn):(setTimeout(function(){Cn||n(35)},1),new xn)}();function wn(){if((F.pendingReactions.length||F.inBatch||F.isRunningReactions)&&n(36),Cn=!0,Sn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),F=new xn}}function Tn(){return F}function En(){var e=new xn;for(var t in e)P.indexOf(t)===-1&&(F[t]=e[t]);F.allowStateChanges=!F.enforceActions}function Dn(e){return e.observers_&&e.observers_.size>0}function On(e){return e.observers_}function kn(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function An(e,t){e.observers_.delete(t),e.observers_.size===0&&jn(e)}function jn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,F.pendingUnobservations.push(e))}function I(){F.inBatch++}function Mn(){if(--F.inBatch===0){Hn();for(var e=F.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof an&&n.suspend_())}F.pendingUnobservations=[]}}function Nn(e){pn(e);var t=F.trackingDerivation;return t===null?(e.observers_.size===0&&F.inBatch>0&&jn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&F.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Pn(e){e.lowestObserverState_!==A.STALE_&&(e.lowestObserverState_=A.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===A.UP_TO_DATE_&&(t.isTracing_!==sn.NONE&&L(t,e),t.onBecomeStale_()),t.dependenciesState_=A.STALE_}))}function Fn(e){e.lowestObserverState_!==A.STALE_&&(e.lowestObserverState_=A.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===A.POSSIBLY_STALE_?(t.dependenciesState_=A.STALE_,t.isTracing_!==sn.NONE&&L(t,e)):t.dependenciesState_===A.UP_TO_DATE_&&(e.lowestObserverState_=A.UP_TO_DATE_)}))}function In(e){e.lowestObserverState_===A.UP_TO_DATE_&&(e.lowestObserverState_=A.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===A.UP_TO_DATE_&&(e.dependenciesState_=A.POSSIBLY_STALE_,e.onBecomeStale_())}))}function L(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===sn.BREAK){var n=[];Ln(wr(e),n,1),Function(`debugger;
68
69
  /*
69
70
  Tracing '`+e.name_+`'
70
71
 
@@ -72,30 +73,30 @@ You are entering this break point because derivation '`+e.name_+`' is being trac
72
73
  Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
73
74
  The stackframe you are looking for is at least ~6-8 stack-frames up.
74
75
 
75
- `+(e instanceof rn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
76
+ `+(e instanceof an?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
76
77
 
77
78
  The dependencies for this derivation are:
78
79
 
79
80
  `+n.join(`
80
81
  `)+`
81
82
  */
82
- `)()}}function In(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return In(e,t,n+1)})}var Ln=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=j.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=on.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,I.pendingReactions.push(this),Vn())},t.runReaction_=function(){if(!this.isDisposed){L(),this.isScheduled=!1;var e=I.trackingContext;if(I.trackingContext=this,ln(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Wn()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}I.trackingContext=e,jn()}},t.track=function(e){if(!this.isDisposed){L();var t=Wn(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=I.trackingContext;I.trackingContext=this;var i=pn(this,e,void 0);I.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&M(this),cn(i)&&this.reportExceptionInDerivation_(i.cause),t&&Jn({time:Date.now()-n}),jn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(I.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;I.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Wn()&&Gn({type:`error`,name:this.name_,message:n,error:``+e}),I.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(L(),M(this),jn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[D]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),li(this,e)},he(e,[{key:`isDisposed`,get:function(){return ue(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=de(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ue(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=de(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ue(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=de(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ue(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=de(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();Ln.isDisposedMask_=1,Ln.isScheduledMask_=2,Ln.isTrackPendingMask_=4,Ln.isRunningMask_=8,Ln.diffValueMask_=16;function Rn(e){return I.globalReactionErrorHandlers.push(e),function(){var t=I.globalReactionErrorHandlers.indexOf(e);t>=0&&I.globalReactionErrorHandlers.splice(t,1)}}var zn=100,Bn=function(e){return e()};function Vn(){I.inBatch>0||I.isRunningReactions||Bn(Hn)}function Hn(){I.isRunningReactions=!0;for(var e=I.pendingReactions,t=0;e.length>0;){++t===zn&&(console.error(`Reaction doesn't converge to a stable state after `+zn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}I.isRunningReactions=!1}var z=te(`Reaction`,Ln);function Un(e){var t=Bn;Bn=function(n){return e(function(){return t(n)})}}function Wn(){return!!I.spyListeners.length}function Gn(e){if(I.spyListeners.length)for(var t=I.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(_e({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?_e({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return I.spyListeners.push(e),g(function(){I.spyListeners=I.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Ze(Xn),nr=Ze(Zn,{bound:!0}),rr=Ze(Qn,{autoAction:!0}),ir=Ze($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return qt(t.name||er,t,e);if(v(r))return qt(t,r,e);if(je(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return Oe(t,r,e?rr:tr);if(y(t))return De(Ze(e?Qn:Xn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var or=ar(!1);Object.assign(or,tr);var sr=ar(!0);Object.assign(sr,rr),or.bound=De(nr),sr.bound=De(ir);function cr(e){return Jt(e.name||er,!1,e,this,void 0)}function lr(e){return v(e)&&e.isMobxAction===!0}function ur(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),lr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new Ln(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=fr(t),c=!1;o=new Ln(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var dr=function(e){return e()};function fr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:dr}function pr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=or(a,r.onError?mr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=fr(r),l=!0,d=!1,f,p=r.compareStructural?Be.structural:r.equals||Be.default,m=new Ln(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Zt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function mr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var hr=`onBO`,gr=`onBUO`;function _r(e,t,n){return B(hr,e,t,n)}function vr(e,t,n){return B(gr,e,t,n)}function B(e,t,n,r){var i=typeof r==`function`?fa(t,n):fa(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var yr=`never`,br=`always`,xr=`observed`;function Sr(e){e.isolateGlobalState===!0&&Cn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(I.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(I.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;I.enforceActions=r,I.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(I[t]=!!e[t])}),I.allowStateReads=!I.observableRequiresReaction,I.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Un(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Vi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Kr(t)||Kr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=le(t);return ha(function(){var t=Zi(e,i)[D];T(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(fa(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(fa(e,t))}function Dr(e){var t={name:e.name_};return En(e)&&(t.observers=Array.from(Dn(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ye(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Te(Error));function jr(e){return e instanceof Ar}var Mr=rt(`flow`),Nr=rt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(je(t))return Mr.decorate_20223_(e,t);if(y(t))return Oe(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=or(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=or(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=De(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function Rr(e,t,r){var i;if(Vi(e)||Ii(e)||nn(e))i=pa(e);else if(ea(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=pa(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function zr(e,t,n){return v(n)?Vr(e,t,n):Br(e,t)}function Br(e,t){return pa(e).intercept_(t)}function Vr(e,t,n){return pa(e,t).intercept_(n)}function Hr(e,t){return t===void 0?an(e):ea(e)===!1||!e[D].values_.has(t)?!1:an(fa(e,t))}function Ur(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Hr(e)}function Wr(e,t){return y(t)?Hr(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?ea(e)||!!e[D]||Pe(e)||z(e)||an(e):Vi(e)||Ii(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ea(e)?e[D].values_.has(t):!1:!1}function Kr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`expected a property name as second argument`)}function Jr(e){if(ea(e))return e[D].keys_();if(Vi(e)||Ki(e))return Array.from(e.keys());if(Ii(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(ea(e))return Jr(e).map(function(t){return e[t]});if(Vi(e))return Jr(e).map(function(t){return e.get(t)});if(Ki(e))return Array.from(e.values());if(Ii(e))return e.slice();n(6)}function Xr(e){if(ea(e))return Jr(e).map(function(t){return[t,e[t]]});if(Vi(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(Ki(e))return Array.from(e.entries());if(Ii(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!Ki(e)){L();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{jn()}return}ea(e)?e[D].set_(t,r):Vi(e)?e.set(t,r):Ki(e)?e.add(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),L(),t>=e.length&&(e.length=t+1),e[t]=r,jn()):n(8)}function Qr(e,t){ea(e)?e[D].delete_(t):Vi(e)||Ki(e)?e.delete(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function $r(e,t){if(ea(e))return e[D].has_(t);if(Vi(e)||Ki(e))return e.has(t);if(Ii(e))return t>=0&&t<e.length;n(10)}function ei(e,t){if($r(e,t)){if(ea(e))return e[D].get_(t);if(Vi(e))return e.get(t);if(Ii(e))return e[t];n(11)}}function ti(e,t,r){if(ea(e))return e[D].defineProperty_(t,r);n(39)}function ni(e){if(ea(e))return e[D].ownKeys_();n(38)}function ri(e,t,n,r){return v(n)?ai(e,t,n,r):ii(e,t,n)}function ii(e,t,n){return pa(e).observe_(t,n)}function ai(e,t,n,r){return pa(e,t).observe_(n,r)}function oi(e,t,n){return e.set(t,n),n}function si(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if(nn(e)||an(e))return si(e.get(),t);if(t.has(e))return t.get(e);if(Ii(e)){var n=oi(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=si(e,t)}),n}if(Ki(e)){var r=oi(t,e,new Set);return e.forEach(function(e){r.add(si(e,t))}),r}if(Vi(e)){var i=oi(t,e,new Map);return e.forEach(function(e,n){i.set(n,si(e,t))}),i}else{var a=oi(t,e,{});return ni(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=si(e[n],t))}),a}}function ci(e,t){return t&&n(`toJS no longer supports options`),si(e,new Map)}function li(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ui(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===on.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?on.BREAK:on.LOG}function ui(e){switch(e.length){case 0:return I.trackingDerivation;case 1:return fa(e[0]);case 2:return fa(e[0],e[1])}}function di(e,t){t===void 0&&(t=void 0),L();try{return e.apply(t)}finally{jn()}}function fi(e,t,n){return arguments.length===1||t&&typeof t==`object`?mi(e,t):pi(e,t,n||{})}function pi(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[D].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=qt(n.name+`-effect`,t),o=ur(function(t){Zt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function mi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=pi(e,n,_e({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function hi(e){return e[D]}var gi={has:function(e,t){return I.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),hi(e).has_(t)},get:function(e,t){return hi(e).get_(t)},set:function(e,t,n){return y(t)?(hi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),hi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?hi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),hi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return I.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),hi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function V(e,t){var n;return p(),e=Zi(e,t),(n=e[D]).proxy_??(n.proxy_=new Proxy(e,gi))}function H(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function _i(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function vi(e,t){var r=N();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{P(r)}}function yi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function bi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function xi(e,t){var n=N(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);P(n)}}function Si(e,t,r){return ha(function(){var i=Zi(e,r)[D];t&&e[Ee]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=Ae(e),T(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ci=Symbol(`mobx-keys`);function wi(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ea(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(ha(function(){var n=Zi(e,r)[D];if(!e[Ci]){var i=Object.getPrototypeOf(e),a=new Set([].concat(T(e),T(i)));a.delete(`constructor`),a.delete(D),C(i,Ci,a)}e[Ci].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ti=`splice`,Ei=`update`,Di=1e4,Oi={get:function(e,t){var n=e[D];return t===D?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):ce(ji,t)?ji[t]:e[t]},set:function(e,t,n){var r=e[D];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},ki=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Ne(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return _i(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),bi(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&ua(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;dn(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),H(this)){var a=vi(this,{object:this.proxy_,type:Ti,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<Di){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Wn(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Ei,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Wn(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ti,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&Jn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){dn(this.atom_);var i=r[e];if(H(this)){var a=vi(this,{type:Ei,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Ai(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ha(function(){var i=new ki(n,t,r,!1);ee(i.values_,D,i);var a=new Proxy(i.values_,Oi);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var ji={clear:function(){return this.splice(0)},replace:function(e){var t=this[D];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[D];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[D].spliceWithArray_(e,t,n)},push:function(){var e=this[D],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[D].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[D],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return I.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){I.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[D],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};U(`at`,Mi),U(`concat`,Mi),U(`flat`,Mi),U(`includes`,Mi),U(`indexOf`,Mi),U(`join`,Mi),U(`lastIndexOf`,Mi),U(`slice`,Mi),U(`toString`,Mi),U(`toLocaleString`,Mi),U(`toSorted`,Mi),U(`toSpliced`,Mi),U(`with`,Mi),U(`every`,Ni),U(`filter`,Ni),U(`find`,Ni),U(`findIndex`,Ni),U(`findLast`,Ni),U(`findLastIndex`,Ni),U(`flatMap`,Ni),U(`forEach`,Ni),U(`map`,Ni),U(`some`,Ni),U(`toReversed`,Ni),U(`reduce`,Pi),U(`reduceRight`,Pi);function U(e,t){typeof Array.prototype[e]==`function`&&(ji[e]=t(e))}function Mi(e){return function(){var t=this[D];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Ni(e){return function(t,n){var r=this,i=this[D];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Pi(e){return function(){var t=this,n=this[D];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Fi=te(`ObservableArrayAdministration`,ki);function Ii(e){return b(e)&&Fi(e[D])}var Li={},Ri=`add`,zi=`delete`,Bi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Ve),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[D]=Li,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ha(function(){i.keysAtom_=Fe(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!I.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new tn(this.has_(e),Ue,this.name_+`.`+oe(e)+`?`,!1);this.hasMap_.set(e,r),vr(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(H(this)){var r=vi(this,{type:n?Ei:Ri,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(dn(this.keysAtom_),H(this)&&!vi(this,{type:zi,object:this,name:e}))return!1;if(this.has_(e)){var n=Wn(),r=yi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:zi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),di(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&xi(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var r=Wn(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ei,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&xi(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;dn(this.keysAtom_),di(function(){var r,i=new tn(t,n.enhancer_,n.name_+`.`+oe(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Wn(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ri,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&xi(this,a),r&&Jn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Hi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Hi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=ge(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Vi(e)&&(e=new Map(e)),di(function(){x(e)?w(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):ne(e)?(re(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;di(function(){gn(function(){for(var t=ge(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return di(function(){for(var n=Ui(e),r=new Map,i=!1,a=ge(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=ge(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},he(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Vi=te(`ObservableMap`,Bi);function Hi(e){return e[Symbol.toStringTag]=`MapIterator`,xa(e)}function Ui(e){if(ne(e)||Vi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Wi={},Gi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Ve),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[D]=Wi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ha(function(){i.atom_=Fe(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;di(function(){gn(function(){for(var t=ge(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=ge(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(dn(this.atom_),H(this)){var n=vi(this,{type:Ri,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){di(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Wn(),i=yi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Ri,object:this,newValue:e}:null;r&&Kn(a),i&&xi(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(H(this)&&!vi(this,{type:zi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Wn(),r=yi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:zi,object:this,oldValue:e}:null;return n&&Kn(i),di(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&xi(this,i),n&&Jn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return qi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return qi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return ie(e)&&!Ki(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return ie(e)&&!Ki(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return ie(e)&&!Ki(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return ie(e)&&!Ki(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Ki(e)&&(e=new Set(e)),di(function(){Array.isArray(e)||ie(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},he(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Ki=te(`ObservableSet`,Gi);function qi(e){return e[Symbol.toStringTag]=`SetIterator`,xa(e)}var Ji=Object.create(null),Yi=`remove`,Xi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=bt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Ne(this.name_+`.keys`),this.isPlainObject_=x(this.target_),Ca(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof rn)return n.set(t),!0;if(H(this)){var r=vi(this,{type:Ei,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var i=yi(this),a=Wn(),o=i||a?{type:Ei,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Kn(o),n.setNewValue_(t),i&&xi(this,o),a&&Jn()}return!0},t.get_=function(e){return I.trackingDerivation&&!ce(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),ce(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!I.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new tn(e in this.target_,Ue,this.name_+`.`+oe(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(na(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Ee])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}ta(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);na(this,n,e);var i=n.extend_(this,e,t,r);return i&&ta(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),dn(this.keysAtom_);try{L();var r=this.delete_(e);if(!r)return r;if(H(this)){var i=vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=_e({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{jn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),dn(this.keysAtom_);try{L();var i=this.delete_(e);if(!i)return i;if(H(this)){var a=vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:t});if(!a)return null;t=a.newValue}var o=$i(e),c={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new tn(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{jn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),dn(this.keysAtom_);try{L();var r=this.delete_(e);if(!r)return r;if(H(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=$i(e),a={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new rn(t)),this.notifyPropertyAddition_(e,void 0)}finally{jn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),dn(this.keysAtom_),!ce(this.target_,e))return!0;if(H(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Yi}))return null;try{var n;L();var r=yi(this),i=Wn(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof tn&&(s=a.value_),Nn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Yi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&xi(this,c),i&&Jn()}}finally{jn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=yi(this),i=Wn();if(r||i){var a=r||i?{type:Ri,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&xi(this,a),i&&Jn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),T(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Zi(e,t){if(t&&ea(e)&&n(`Options can't be provided for already observable objects.`),ce(e,D))return pa(e)instanceof Xi||n(`Cannot convert '`+ma(e)+`' into observable object:
83
+ `)()}}function Ln(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return Ln(e,t,n+1)})}var Rn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=A.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=sn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,F.pendingReactions.push(this),Hn())},t.runReaction_=function(){if(!this.isDisposed){I(),this.isScheduled=!1;var e=F.trackingContext;if(F.trackingContext=this,un(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&z()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}F.trackingContext=e,Mn()}},t.track=function(e){if(!this.isDisposed){I();var t=z(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=F.trackingContext;F.trackingContext=this;var i=mn(this,e,void 0);F.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&j(this),ln(i)&&this.reportExceptionInDerivation_(i.cause),t&&Jn({time:Date.now()-n}),Mn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(F.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;F.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),z()&&Gn({type:`error`,name:this.name_,message:n,error:``+e}),F.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(I(),j(this),Mn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[D]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),li(this,e)},he(e,[{key:`isDisposed`,get:function(){return ue(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=de(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ue(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=de(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ue(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=de(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ue(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=de(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ue(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=de(this.flags_,e.diffValueMask_,t===1)}}])}();Rn.isDisposedMask_=1,Rn.isScheduledMask_=2,Rn.isTrackPendingMask_=4,Rn.isRunningMask_=8,Rn.diffValueMask_=16;function zn(e){return F.globalReactionErrorHandlers.push(e),function(){var t=F.globalReactionErrorHandlers.indexOf(e);t>=0&&F.globalReactionErrorHandlers.splice(t,1)}}var Bn=100,Vn=function(e){return e()};function Hn(){F.inBatch>0||F.isRunningReactions||Vn(Un)}function Un(){F.isRunningReactions=!0;for(var e=F.pendingReactions,t=0;e.length>0;){++t===Bn&&(console.error(`Reaction doesn't converge to a stable state after `+Bn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}F.isRunningReactions=!1}var R=te(`Reaction`,Rn);function Wn(e){var t=Vn;Vn=function(n){return e(function(){return t(n)})}}function z(){return!!F.spyListeners.length}function Gn(e){if(F.spyListeners.length)for(var t=F.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(_e({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?_e({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return F.spyListeners.push(e),g(function(){F.spyListeners=F.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Ze(Xn),nr=Ze(Zn,{bound:!0}),rr=Ze(Qn,{autoAction:!0}),ir=Ze($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return Jt(t.name||er,t,e);if(v(r))return Jt(t,r,e);if(je(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return Oe(t,r,e?rr:tr);if(y(t))return De(Ze(e?Qn:Xn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var or=ar(!1);Object.assign(or,tr);var sr=ar(!0);Object.assign(sr,rr),or.bound=De(nr),sr.bound=De(ir);function cr(e){return Yt(e.name||er,!1,e,this,void 0)}function lr(e){return v(e)&&e.isMobxAction===!0}function ur(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),lr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new Rn(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=fr(t),c=!1;o=new Rn(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var dr=function(e){return e()};function fr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:dr}function pr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=or(a,r.onError?mr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=fr(r),l=!0,d=!1,f,p=r.compareStructural?Be.structural:r.equals||Be.default,m=new Rn(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Qt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function mr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var hr=`onBO`,gr=`onBUO`;function _r(e,t,n){return B(hr,e,t,n)}function vr(e,t,n){return B(gr,e,t,n)}function B(e,t,n,r){var i=typeof r==`function`?pa(t,n):pa(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var yr=`never`,br=`always`,xr=`observed`;function Sr(e){e.isolateGlobalState===!0&&wn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(F.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(F.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;F.enforceActions=r,F.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(F[t]=!!e[t])}),F.allowStateReads=!F.observableRequiresReaction,F.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Wn(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Hi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Kr(t)||Kr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=le(t);return ga(function(){var t=Zi(e,i)[D];T(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(pa(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(pa(e,t))}function Dr(e){var t={name:e.name_};return Dn(e)&&(t.observers=Array.from(On(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ye(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Te(Error));function jr(e){return e instanceof Ar}var Mr=rt(`flow`),Nr=rt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(je(t))return Mr.decorate_20223_(e,t);if(y(t))return Oe(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=or(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=or(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=De(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function Rr(e,t,r){var i;if(Hi(e)||Li(e)||rn(e))i=ma(e);else if(ea(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ma(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function zr(e,t,n){return v(n)?Vr(e,t,n):Br(e,t)}function Br(e,t){return ma(e).intercept_(t)}function Vr(e,t,n){return ma(e,t).intercept_(n)}function Hr(e,t){return t===void 0?on(e):ea(e)===!1||!e[D].values_.has(t)?!1:on(pa(e,t))}function Ur(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Hr(e)}function Wr(e,t){return y(t)?Hr(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?ea(e)||!!e[D]||Pe(e)||R(e)||on(e):Hi(e)||Li(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ea(e)?e[D].values_.has(t):!1:!1}function Kr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`expected a property name as second argument`)}function Jr(e){if(ea(e))return e[D].keys_();if(Hi(e)||Ki(e))return Array.from(e.keys());if(Li(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(ea(e))return Jr(e).map(function(t){return e[t]});if(Hi(e))return Jr(e).map(function(t){return e.get(t)});if(Ki(e))return Array.from(e.values());if(Li(e))return e.slice();n(6)}function Xr(e){if(ea(e))return Jr(e).map(function(t){return[t,e[t]]});if(Hi(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(Ki(e))return Array.from(e.entries());if(Li(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!Ki(e)){I();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{Mn()}return}ea(e)?e[D].set_(t,r):Hi(e)?e.set(t,r):Ki(e)?e.add(t):Li(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),I(),t>=e.length&&(e.length=t+1),e[t]=r,Mn()):n(8)}function Qr(e,t){ea(e)?e[D].delete_(t):Hi(e)||Ki(e)?e.delete(t):Li(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function $r(e,t){if(ea(e))return e[D].has_(t);if(Hi(e)||Ki(e))return e.has(t);if(Li(e))return t>=0&&t<e.length;n(10)}function ei(e,t){if($r(e,t)){if(ea(e))return e[D].get_(t);if(Hi(e))return e.get(t);if(Li(e))return e[t];n(11)}}function ti(e,t,r){if(ea(e))return e[D].defineProperty_(t,r);n(39)}function ni(e){if(ea(e))return e[D].ownKeys_();n(38)}function ri(e,t,n,r){return v(n)?ai(e,t,n,r):ii(e,t,n)}function ii(e,t,n){return ma(e).observe_(t,n)}function ai(e,t,n,r){return ma(e,t).observe_(n,r)}function oi(e,t,n){return e.set(t,n),n}function si(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if(rn(e)||on(e))return si(e.get(),t);if(t.has(e))return t.get(e);if(Li(e)){var n=oi(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=si(e,t)}),n}if(Ki(e)){var r=oi(t,e,new Set);return e.forEach(function(e){r.add(si(e,t))}),r}if(Hi(e)){var i=oi(t,e,new Map);return e.forEach(function(e,n){i.set(n,si(e,t))}),i}else{var a=oi(t,e,{});return ni(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=si(e[n],t))}),a}}function ci(e,t){return t&&n(`toJS no longer supports options`),si(e,new Map)}function li(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ui(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===sn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?sn.BREAK:sn.LOG}function ui(e){switch(e.length){case 0:return F.trackingDerivation;case 1:return pa(e[0]);case 2:return pa(e[0],e[1])}}function di(e,t){t===void 0&&(t=void 0),I();try{return e.apply(t)}finally{Mn()}}function fi(e,t,n){return arguments.length===1||t&&typeof t==`object`?mi(e,t):pi(e,t,n||{})}function pi(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[D].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=Jt(n.name+`-effect`,t),o=ur(function(t){Qt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function mi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=pi(e,n,_e({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function hi(e){return e[D]}var gi={has:function(e,t){return F.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),hi(e).has_(t)},get:function(e,t){return hi(e).get_(t)},set:function(e,t,n){return y(t)?(hi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),hi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?hi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),hi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return F.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),hi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function _i(e,t){var n;return p(),e=Zi(e,t),(n=e[D]).proxy_??(n.proxy_=new Proxy(e,gi))}function vi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function yi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function bi(e,t){var r=M();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{N(r)}}function xi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Si(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Ci(e,t){var n=M(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);N(n)}}function wi(e,t,r){return ga(function(){var i=Zi(e,r)[D];t&&e[Ee]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=Ae(e),T(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ti=Symbol(`mobx-keys`);function Ei(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ea(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(ga(function(){var n=Zi(e,r)[D];if(!e[Ti]){var i=Object.getPrototypeOf(e),a=new Set([].concat(T(e),T(i)));a.delete(`constructor`),a.delete(D),C(i,Ti,a)}e[Ti].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Di=`splice`,V=`update`,H=1e4,Oi={get:function(e,t){var n=e[D];return t===D?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):ce(ji,t)?ji[t]:e[t]},set:function(e,t,n){var r=e[D];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},ki=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Ne(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return yi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Si(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&da(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;fn(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),vi(this)){var a=bi(this,{object:this.proxy_,type:Di,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<H){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&z(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:V,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&z(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Di,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Jn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){fn(this.atom_);var i=r[e];if(vi(this)){var a=bi(this,{type:V,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Ai(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ga(function(){var i=new ki(n,t,r,!1);ee(i.values_,D,i);var a=new Proxy(i.values_,Oi);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var ji={clear:function(){return this.splice(0)},replace:function(e){var t=this[D];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[D];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[D].spliceWithArray_(e,t,n)},push:function(){var e=this[D],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[D].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[D],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return F.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){F.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[D],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};Mi(`at`,Ni),Mi(`concat`,Ni),Mi(`flat`,Ni),Mi(`includes`,Ni),Mi(`indexOf`,Ni),Mi(`join`,Ni),Mi(`lastIndexOf`,Ni),Mi(`slice`,Ni),Mi(`toString`,Ni),Mi(`toLocaleString`,Ni),Mi(`toSorted`,Ni),Mi(`toSpliced`,Ni),Mi(`with`,Ni),Mi(`every`,Pi),Mi(`filter`,Pi),Mi(`find`,Pi),Mi(`findIndex`,Pi),Mi(`findLast`,Pi),Mi(`findLastIndex`,Pi),Mi(`flatMap`,Pi),Mi(`forEach`,Pi),Mi(`map`,Pi),Mi(`some`,Pi),Mi(`toReversed`,Pi),Mi(`reduce`,Fi),Mi(`reduceRight`,Fi);function Mi(e,t){typeof Array.prototype[e]==`function`&&(ji[e]=t(e))}function Ni(e){return function(){var t=this[D];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Pi(e){return function(t,n){var r=this,i=this[D];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Fi(e){return function(){var t=this,n=this[D];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Ii=te(`ObservableArrayAdministration`,ki);function Li(e){return b(e)&&Ii(e[D])}var Ri={},zi=`add`,Bi=`delete`,Vi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Ve),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[D]=Ri,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ga(function(){i.keysAtom_=Fe(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!F.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new nn(this.has_(e),Ue,this.name_+`.`+oe(e)+`?`,!1);this.hasMap_.set(e,r),vr(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(vi(this)){var r=bi(this,{type:n?V:zi,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(fn(this.keysAtom_),vi(this)&&!bi(this,{type:Bi,object:this,name:e}))return!1;if(this.has_(e)){var n=z(),r=xi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Bi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),di(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&Ci(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==F.UNCHANGED){var r=z(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:V,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&Ci(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;fn(this.keysAtom_),di(function(){var r,i=new nn(t,n.enhancer_,n.name_+`.`+oe(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=z(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:zi,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&Ci(this,a),r&&Jn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return U({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return U({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=ge(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Hi(e)&&(e=new Map(e)),di(function(){x(e)?w(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):ne(e)?(re(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;di(function(){_n(function(){for(var t=ge(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return di(function(){for(var n=Ui(e),r=new Map,i=!1,a=ge(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=ge(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},he(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Hi=te(`ObservableMap`,Vi);function U(e){return e[Symbol.toStringTag]=`MapIterator`,W(e)}function Ui(e){if(ne(e)||Hi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Wi={},Gi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Ve),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[D]=Wi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ga(function(){i.atom_=Fe(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;di(function(){_n(function(){for(var t=ge(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=ge(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(fn(this.atom_),vi(this)){var n=bi(this,{type:zi,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){di(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=z(),i=xi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:zi,object:this,newValue:e}:null;r&&Kn(a),i&&Ci(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(vi(this)&&!bi(this,{type:Bi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=z(),r=xi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Bi,object:this,oldValue:e}:null;return n&&Kn(i),di(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Ci(this,i),n&&Jn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return qi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return qi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return ie(e)&&!Ki(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return ie(e)&&!Ki(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return ie(e)&&!Ki(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return ie(e)&&!Ki(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Ki(e)&&(e=new Set(e)),di(function(){Array.isArray(e)||ie(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},he(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Ki=te(`ObservableSet`,Gi);function qi(e){return e[Symbol.toStringTag]=`SetIterator`,W(e)}var Ji=Object.create(null),Yi=`remove`,Xi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=bt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Ne(this.name_+`.keys`),this.isPlainObject_=x(this.target_),Ca(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof an)return n.set(t),!0;if(vi(this)){var r=bi(this,{type:V,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==F.UNCHANGED){var i=xi(this),a=z(),o=i||a?{type:V,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Kn(o),n.setNewValue_(t),i&&Ci(this,o),a&&Jn()}return!0},t.get_=function(e){return F.trackingDerivation&&!ce(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),ce(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!F.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new nn(e in this.target_,Ue,this.name_+`.`+oe(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(na(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Ee])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}ta(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);na(this,n,e);var i=n.extend_(this,e,t,r);return i&&ta(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),fn(this.keysAtom_);try{I();var r=this.delete_(e);if(!r)return r;if(vi(this)){var i=bi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=_e({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Mn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),fn(this.keysAtom_);try{I();var i=this.delete_(e);if(!i)return i;if(vi(this)){var a=bi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:t});if(!a)return null;t=a.newValue}var o=$i(e),c={configurable:F.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new nn(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{Mn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),fn(this.keysAtom_);try{I();var r=this.delete_(e);if(!r)return r;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:zi,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=$i(e),a={configurable:F.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new an(t)),this.notifyPropertyAddition_(e,void 0)}finally{Mn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),fn(this.keysAtom_),!ce(this.target_,e))return!0;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Yi}))return null;try{var n;I();var r=xi(this),i=z(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof nn&&(s=a.value_),Pn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Yi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&Ci(this,c),i&&Jn()}}finally{Mn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=xi(this),i=z();if(r||i){var a=r||i?{type:zi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&Ci(this,a),i&&Jn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),T(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Zi(e,t){if(t&&ea(e)&&n(`Options can't be provided for already observable objects.`),ce(e,D))return ma(e)instanceof Xi||n(`Cannot convert '`+ha(e)+`' into observable object:
83
84
  The target is already observable of different type.
84
85
  Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,D,new Xi(e,new Map,String(r),Lt(t))),e}var Qi=te(`ObservableObjectAdministration`,Xi);function $i(e){return Ji[e]||(Ji[e]={get:function(){return this[D].getObservablePropValue_(e)},set:function(t){return this[D].setObservablePropValue_(e,t)}})}function ea(e){return b(e)?Qi(e[D]):!1}function ta(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Ee])==null||delete r[n]}function na(e,t,r){if(Ca(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!qe(t)&&ce(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
85
86
  The field is already annotated with '`+a+`'.`)+`
86
87
  Re-annotating fields is not allowed.
87
- Use 'override' annotation for methods overridden by subclass.`)}}var ra=W(0),ia=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),aa=0,oa=function(){};function sa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}sa(oa,Array.prototype);var ca=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ha(function(){var e=new ki(r,n,i,!0);e.proxy_=a,ee(a,D,e),t&&t.length&&a.spliceWithArray(0,0,t),ia&&Object.defineProperty(a,`0`,ra)}),a}ye(t,e);var n=t.prototype;return n.concat=function(){this[D].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Ii(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return xa({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},he(t,[{key:`length`,get:function(){return this[D].getArrayLength_()},set:function(e){this[D].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(oa);Object.entries(ji).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(ca.prototype,t,n)});function W(e){return{enumerable:!1,configurable:!0,get:function(){return this[D].get_(e)},set:function(t){this[D].set_(e,t)}}}function la(e){s(ca.prototype,``+e,W(e))}function ua(e){if(e>aa){for(var t=aa;t<e+100;t++)la(t);aa=e}}ua(1e3);function da(e,t,n){return new ca(e,t,n)}function fa(e,t){if(typeof e==`object`&&e){if(Ii(e))return t!==void 0&&n(23),e[D].atom_;if(Ki(e))return e.atom_;if(Vi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ma(e)),r}if(ea(e)){if(!t)return n(26);var i=e[D].values_.get(t);return i||n(27,t,ma(e)),i}if(Pe(e)||an(e)||z(e))return e}else if(v(e)&&z(e[D]))return e[D];n(28)}function pa(e,t){if(e||n(29),t!==void 0)return pa(fa(e,t));if(Pe(e)||an(e)||z(e)||Vi(e)||Ki(e))return e;if(e[D])return e[D];n(24,e)}function ma(e,t){var n;if(t!==void 0)n=fa(e,t);else if(lr(e))return e.name;else n=ea(e)||Vi(e)||Ki(e)?pa(e):fa(e);return n.name_}function ha(e){var t=N(),n=Qt(!0);L();try{return e()}finally{jn(),$t(n),P(t)}}var ga=c.toString;function _a(e,t,n){return n===void 0&&(n=-1),va(e,t,n)}function va(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=ga.call(e);if(o!==ga.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=ya(e),t=ya(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!va(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(ce(t,m)&&va(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ya(e){return Ii(e)?e.slice():ne(e)||Vi(e)||ie(e)||Ki(e)?Array.from(e.entries()):e}var ba=i().Iterator?.prototype||{};function xa(e){return e[Symbol.iterator]=Sa,Object.assign(Object.create(ba),e)}function Sa(){return this}function Ca(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Yn,extras:{getDebugName:ma},$mobx:D}),e.$mobx=D,e.FlowCancellationError=Ar,e.ObservableMap=Bi,e.ObservableSet=Gi,e.Reaction=Ln,e._allowStateChanges=Zt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=vn,e._allowStateReadsStart=_n,e._autoAction=sr,e._endAction=Xt,e._getAdministration=pa,e._getGlobalState=wn,e._interceptReads=Rr,e._isComputingDerivation=un,e._resetGlobalState=Tn,e._startAction=Yt,e.action=or,e.autorun=ur,e.comparer=Be,e.computed=Ut,e.configure=Sr,e.createAtom=Fe,e.defineProperty=ti,e.entries=Xr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=ei,e.getAtom=fa,e.getDebugName=ma,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=$r,e.intercept=zr,e.isAction=lr,e.isBoxedObservable=nn,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Kr,e.isObservableArray=Ii,e.isObservableMap=Vi,e.isObservableObject=ea,e.isObservableProp=qr,e.isObservableSet=Ki,e.keys=Jr,e.makeAutoObservable=wi,e.makeObservable=Si,e.observable=k,e.observe=ri,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=Rn,e.override=Ke,e.ownKeys=ni,e.reaction=pr,e.remove=Qr,e.runInAction=cr,e.set=Zr,e.spy=Yn,e.toJS=ci,e.trace=li,e.transaction=di,e.untracked=gn,e.values=Yr,e.when=fi})),lb=ye(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=sb():t.exports=cb()}))();function ub(e){if(Array.isArray(e))return Object.freeze(e.map(ub));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=ub(r);return Object.freeze(t)}return e}function db(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function fb(e){return typeof e==`string`?e:String(e)}function pb(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function mb(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}function hb(e,t){if(!(e instanceof W))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=vi(e.style,t),n}function gb(e){return{fn:(t=>hb(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function _b(e){return{fn:((t,n)=>hb(n,new V({[e]:L.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function vb(e,t){return new V({[e]:t})}function yb(){let e={};for(let t of fi)e[t]=gb(vb(t,!0)),e[`not_${t}`]=gb(vb(t,!1));for(let[t,n]of Object.entries(mi))e[t]=gb(vb(n,!0));return e}const bb={fn:((e,t)=>hb(t,V.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},xb={fn:((e,t)=>hb(t,new V({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function Sb(){return{fg:_b(`color`),bg:_b(`bgcolor`),...yb(),link:xb,style:bb}}function Cb(e,t){let n;try{n=Un(e.trim())}catch(n){throw n instanceof kn?TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`,{cause:n}):n}return wb(n,t,JSON.stringify(e))}function wb(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function Tb(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function Eb(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`)}return e}const Db=Tb([`string`,`int`],((e,t)=>Er(Cb(e,`darken`),t).hex)),Ob=Tb([`string`,`int`],((e,t)=>Er(Cb(e,`lighten`),-t).hex)),kb={min:0,max:100,note:`0 = from, 100 = toward`},Ab=Tb([`string`,`string`,`float`],((e,t,n)=>Wn(Cb(e,`mix`),Cb(t,`mix`),Eb(n,`mix`,`percentage`,kb)/100).hex)),jb={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},Mb=Tb([`string`],(e=>Dr(Cb(e,`contrastOn`)).hex)),Nb={depth:F.TRUECOLOR},Pb=e=>Tb([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return Or(Cb(t,`readableOn`),Cb(n,`readableOn`),Eb(r,`readableOn`,`ratio`,jb),i,void 0,a).hex})),Fb={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function Ib(){let e={};for(let[t,n]of Object.entries(Fb)){let r=t;e[n]=Tb([`string`,`float`],((e,t)=>{let i={...cr,[r]:Eb(t,n,`amount`)};return B.fromRgba(Cb(e,n)).applyKey(i).toRgba().hex}))}return e}function Lb(e=()=>Nb){return{darken:Db,lighten:Ob,mix:Ab,contrastOn:Mb,readableOn:Pb(e),...Ib()}}function Rb(e,t){if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:wb(br(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function zb(e){return{color:{fn:(t=>br(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new ii(ui(n),Rb(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function Bb(e){return{...Sb(),...Lb(e)}}new V({color:`red`,dim:!0});const Vb=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,Hb=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function Ub(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(Vb);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(Hb);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function Wb(e){let t=e.match(Hb);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function Gb(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function Kb(e){return e.toLocaleString()}function qb(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function Jb(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const Yb=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],Xb=Yb.length;function Zb(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(Xb-1));o+=Yb[t]}return o}function Qb(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}function $b(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const ex=xs(),tx=[...Ps];function nx(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>Gb(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(pb(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>fb(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>mb(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>ex,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>tx,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>($b(`sparkline`,[`width`],n),Zb(Qb(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>Jb(e,qb(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function rx(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>Kb(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>Ub(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>Wb(e),argTypes:[`string`],arity:{kind:`exact`}}}}function ix(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return Wm({fromString:e=>new W(e),toString:e=>e.plain,isT:e=>e instanceof W,clock:t,missingKey:`error`,funcs:{...Ng(),...qv(),...x_(),...U_(),...Tg(t),...hh(),...Yg(),...qg(),...Bb(n&&(()=>({depth:n()}))),...nx(),...rx(t),...r??{}}})}function ax(e){return ox(e,new Set(e.names()),``)}function ox(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?cx(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return ox(e,t,a)}})}function sx(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function cx(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function J(e){return{kind:`ok`,value:e}}const Y={kind:`absent`};function X(e){return{kind:`failed`,reason:e}}function lx(e,t){return e?.kind===`ok`?e.value:t}function ux(e,t,n){return t.ok?J(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??dx(t.stderr)].filter(Boolean).join(`, `)}`)}function dx(e){return e.trim().split(`
88
- `,1)[0]??``}function fx(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function px(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const mx=/^[A-Za-z]:[\\/]/;function hx(e){let t=e.trim();if(mx.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function gx(e){return hx(e)?.host||null}function _x(e){let t=gx(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function vx(e){let t=new Map;for(let n of e.split(`
89
- `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function yx(e){return e.urls.find(e=>wx(e)!==null)??e.urls[0]??null}function bx(e){return e.find(e=>e.name===`origin`)??e[0]??null}function xx(e){let t=bx(e);return t?yx(t):null}function Sx(e){let t=bx(e);return t?t.urls.find(e=>_x(e)!==null)??yx(t):null}function Cx(e){let t=(hx(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function wx(e){let t=hx(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function Tx(e){let t=xx(e);return t===null?null:wx(t)}function Ex(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??dx(t.stderr)].filter(Boolean).join(`, `)}`)}function Dx(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ox(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
90
- `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?Y:J(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=J(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=J({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function kx(e){let t;try{t=JSON.parse(e)}catch(e){return X(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Dx(t))return X(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?J({number:n,state:r,url:i}):Y}function Ax(e){let t;try{t=JSON.parse(e)}catch(e){return X(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!Dx(t))return X(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?J({number:n,state:r,url:i}):Y}function jx(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var Mx=class{isGitRepo(e){try{return r.existsSync(l.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return Me({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?J(e):t&&this.isGitRepo(t)?J(t):this.isGitRepo(e)?J(e):this.findGitRoot(e)}async findGitRoot(e){let t=l.resolve(e);for(;;){if(this.isGitRepo(t))return J(t);let e=l.dirname(t);if(e===t)return Y;t=e}}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return X(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=fx(a.value.oid,e=>e.slice(0,7))),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.committedAt=await this.committedAt(r,a.value.oid)),t.showStashCount&&(o.stashCount=this.getStashCount(r));let s=t.showRepoName||t.showRepoUrl?await this.getRemotesAsync(r):void 0;return s!==void 0&&t.showRepoName&&(o.repoName=fx(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=fx(s,Tx)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=l.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return l.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(l.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(l.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(l.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(l.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(l.join(t,`rebase-merge`))||r.existsSync(l.join(t,`rebase-apply`))?J(`REBASE`):Y}catch(e){return X(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return px(ux(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async committedAt(e,t){return t.kind===`ok`?this.commitTimestampMs(e,t.value):t}commitTimes=new Map;async commitTimestampMs(e,t){let n=this.commitTimes.get(t);if(n!==void 0)return this.commitTimes.delete(t),this.commitTimes.set(t,n),n;let r=this.readCommitTimestampMs(e,t);for(this.commitTimes.set(t,r),r.then(e=>{e.kind!==`ok`&&this.commitTimes.get(t)===r&&this.commitTimes.delete(t)},()=>{this.commitTimes.get(t)===r&&this.commitTimes.delete(t)});this.commitTimes.size>256;){let e=this.commitTimes.keys().next().value;if(e===void 0)break;this.commitTimes.delete(e)}return r}async readCommitTimestampMs(e,t){let n=px(ux(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`,t,`--`],{cwd:e,timeout:2e3}),`absent`));if(n.kind!==`ok`)return n;let r=parseInt(n.value,10)*1e3;return Number.isNaN(r)?X(`git log -1: unparseable timestamp "${n.value}"`):J(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(l.join(t,`commondir`),`utf-8`).trim();if(e)return l.resolve(t,e)}catch{}return t}getStashCount(e){let t=l.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?J(0):X(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return J(i?i.split(`
91
- `).length:0)}async getRemotesAsync(e){let t=jx(l.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=ux(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:J(t.kind===`ok`?vx(t.value):[])}repoNameFrom(e,t){let n=xx(e);return(n===null?null:Cx(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Sx(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return Me({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=_x(t);return n===`github`?Ex(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,kx):n===`gitlab`?Ex(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Ax):Y}isWorktree(e){try{let t=l.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){E(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=ux(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(Ox(t.value)):t}};let Nx=null;function Px(e){if(Nx!==null)return Nx;r.mkdirSync(l.dirname(e),{recursive:!0});try{Nx=r.statSync(e).size}catch{Nx=0}return Nx}function Fx(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}Nx=0}const Ix=(e,t)=>E(t);function Z(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=$e(),t=Px(e);r.appendFileSync(e,n),Nx=t+Buffer.byteLength(n,`utf8`),Nx>=5242880&&Fx(e)}catch(e){Nx=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const Lx=(e,t)=>E(t);var Rx=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??Lx}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},zx=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const Bx={showSha:!0,showStashCount:!0};function Vx(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function Hx(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function Ux(e,t){return e.head!==t.head||e.index!==t.index}function Wx(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var Gx=class extends Mx{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new zx;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new Mx,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??Ix,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new Rx({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${Vx(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(J(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=Hx(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,Wx(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return Y;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,Wx(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...Bx});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...Bx}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=Hx(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),Ux(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const Kx=/\r\n|\r|\n/g,qx=e=>J(e.replace(Kx,` `).trim());function Jx(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(Kx,` `))}}const Yx=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}},Xx=e=>e.getTime()/1e3,Zx=e=>new Date(e*1e3);function Qx(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(E(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function $x(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const eS=`session.id`;function tS(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await Me({bin:`/bin/sh`,args:[`-c`,e],cwd:t,category:`user-shell`,signal:n});if(!r.ok&&r.reason===`aborted`)throw n.reason;return r.ok?J(r.stdout):X(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function nS(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await C(e,{encoding:`utf8`,signal:n});return J(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return X(`file unreadable: ${e}`)}}}}function rS(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?X(`${r.reason} in ${n}`):r}const iS=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],aS=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],oS=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],sS=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function cS(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>iS[e.getMonth()]],[`Monday`,e=>oS[e.getDay()]],[`Jan`,e=>aS[e.getMonth()]],[`Mon`,e=>sS[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const lS={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function uS(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=lS[t];try{return vS(r,e)}catch{return yS(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return lx(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return lx(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return lx(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return lx(e.stashCount,0)}}function dS(e){try{return o(e)}catch{return e}}function fS(e){try{return s(e).isDirectory()}catch{return!1}}function pS(e){let t=dS(e);return fS(t)?{dir:t,name:null,leaf:!0}:ab(t)}const mS=e=>`${e.dir}\0${e.name??``}`;var hS=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:pS(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=pS(e);if(t.watcher!==null&&mS(n)===mS(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.size===0&&(n.watcher?.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e?.close();this.watchers.clear()}size(){return this.watchers.size}},gS=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:re(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(ne(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ne(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function _S(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function vS(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?fb(e):t===`number`?pb(e):mb(e)}function yS(e){return e===`number`?0:e===`boolean`?!1:``}var bS=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new hS;ttlMgr=new gS;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new zx;abort=new AbortController;drawn=lb.observable.box(F.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=lb.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return Zx(e)};engine=ix({clock:this.now,drawnAt:this.drawnAt});gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new Gx({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,db(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,X(t))}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,tS(t,n.cwd,this.abort.signal),Qx(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,nS(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,qx,t.default,n);case`regex`:return this.scalarPublisher(e,Jx(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=rS(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,lx(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?Y:o,c=rS(s,Yx,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.declareDerived(e,()=>r.evaluate(ax(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>cS(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=lS[t.field],r=t.varDefault===void 0?yS(n):vS(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,uS(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(eS);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=_S(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,vS(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,lb.reaction)(()=>{let t=ax(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,lb.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,vS(this.defaultEmptyValue,t))}catch{this.store.setBox(e,yS(t))}}defaultFor(e){try{return vS(this.defaultEmptyValue,e)}catch{return yS(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const xS={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[eS]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},SS=`ne .tmux.pane ""`,CS={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},wS=Object.values(CS),TS=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],ES=new Set(TS.map(e=>e.configKey)),DS=new Map([...wS,...TS].map(e=>[e.configKey,e.effectiveVar])),OS=new Map(wS.map(e=>[e.sessionKey,e.effectiveVar]));function kS(e){return Object.fromEntries(Object.keys(CS).map(t=>[t,e(t)]))}const AS=new Map(Object.keys(CS).map(e=>[CS[e].sessionKey,e]));function jS(e,t,n){let r=new Set,i=e=>{for(let t of Yy(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of sl(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(eS);for(let t of Object.values(e.actions)){r.add(eS),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?OS.get(t.set):void 0,n=`persist`in t?DS.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function MS(e,t,n){let r=rb({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of jS(e,t,n.helpers)){if(nb(a,r))continue;let e=xS[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}const NS=new Map,PS=new Map;function FS(e){let t=LS(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function IS(e,t){return e===`bar`?t:FS(e)}function LS(e){let t=NS.get(e);if(t!==void 0)return t;let n=Yr(e);return n===null?null:(NS.set(e,n),n)}function RS(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=PS.get(n);if(r!==void 0)return r;let i=ri(e,t);return PS.set(n,i),i}function zS(e){let t=LS(e);return t===null?null:{kind:`decided`,name:e,value:t}}function BS(e,t,n){let r=zS(e);return r===null?(n(`${t} rendered "${ys}": "${e}" names no installed theme${vs(e)}`),HS()):r}function VS(e,t,n){return Os(e,t,n,HS(),zS)}function HS(){return zS(ys)}function US(e){return ks(VS(void 0,null,e),HS).value}const WS=new Map;function GS(e,t,n){WS.set(e,{permanent:!0,resolve:t,paletteOf:n})}GS(`themes`,()=>xs(),e=>FS(e));const KS=`placementThemes`;GS(KS,Ss,(e,t)=>IS(e,t.palette)),GS(`endcaps`,()=>Ps),GS(`variations`,()=>Ws),GS(`shades`,()=>qs),GS(`charsets`,()=>zs),GS(`colorCompatibilities`,()=>Hs);function qS(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>RS(n.basePalette,e.styles[t])}],[`presets`,{members:ay(e.presets)}]])}function JS(e){return[...new Set([...WS.keys(),...e.keys()])]}function YS(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=WS.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(ZS(e,t))}const XS=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function ZS(e,t){let n=XS.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${JS(t).join(`, `)})`}function QS(e,t,n){return e===`bool`?ec(t)!==null:`from`in e?YS(e.from,n).members.includes(t):tc(t,e)!==null}function $S(e,t){if(e===`bool`)return Qs.join(` or `);if(`from`in e){let{members:n}=YS(e.from,t),r=n.map(e=>JSON.stringify(e));if(n.length<=8)return`one of ${r.join(`, `)}`;let i=typeof e.from==`string`?` "${e.from}"`:``;return`one of the ${n.length}${i} names, such as ${r.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function eC(e){return{label:e.label,domain:tC(e.domain)}}function tC(e){return e===`theme`?{from:KS}:e===`bool`||`min`in e?e:{from:e}}function nC(e,t,n,r,i){let a=Cu(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...Qs]}},variables:{}};if(`from`in o)return rC(a,t,r,i,o.from);let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function rC(e,t,n,r,i){let a={variable:r,key:r,member:n},o=Zv(r,n),s=`${n}.open`,c=Qv(r),l=`${c}.first`;return{kind:`picker`,template:`{{ "${e}" }} {{ carousel "${n}" 0 "${s}" }}`,actions:{[n]:{set:t,from:i},[o]:ju(r,n),[c]:{set:c,int:!0},[l]:{set:c,to:`0`},[s]:{do:[o,l]}},variables:{[r]:Au(r,yu),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,template:`{{ picker "${n}" "${c}" false true true }}`}}}const iC=/^segments\.([^.]+)\.palette$/,aC=/^presets\.(.+)\.root$/,oC=/^presets\.(.+)\.globals\.([^.]+)$/;function sC(e){return`presets.${e}.root`}function cC(e,t){return`presets.${e}.globals.${t}`}function lC(e){if(ad(e))return{scope:`globals`,field:e};let t=iC.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=oC.exec(e);if(n&&Qu(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=aC.exec(e);return r?{scope:`preset-root`,preset:r[1]}:null}function uC(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`]}}const dC=`open`;function fC(e,t,n,r){let i={variable:e,key:e,member:dC};return r.variables[e]=Au(e,yu),r.actions[e]=ju(e,dC),r.segments[e]={template:Du(e,`(?)`,`✕`),...pC(n)},wu(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function pC(e){let[t,...n]=e;return t===void 0?{}:{when:Tu(t,...n)}}const mC=`none`;var hC=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function gC(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=_C(n,i),l=c!==mC,u=l?c===void 0?o:vC(a,c,`bg`):vC(a,`background`,`bg`);e.bg=u;let d=_C(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:Ko(a,e,t))(u):void 0:vC(a,d,`fg`);return new V({...l&&{bgcolor:L.fromRgba(u)},...f!==void 0&&{color:L.fromRgba(f)}})}function _C(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function vC(e,t,n){try{return br(e,t)}catch(e){throw e instanceof yr?new hC(t,n,e.message):e}}const yC={help:[`-h`,`--help`],version:[`-V`,`--version`]},bC=[`✚ inserts`,`✖ removes`,`⚙️ configures`,`↺ resets layout`],xC=`
88
+ Use 'override' annotation for methods overridden by subclass.`)}}var ra=la(0),ia=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),aa=0,oa=function(){};function sa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}sa(oa,Array.prototype);var ca=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ga(function(){var e=new ki(r,n,i,!0);e.proxy_=a,ee(a,D,e),t&&t.length&&a.spliceWithArray(0,0,t),ia&&Object.defineProperty(a,`0`,ra)}),a}ye(t,e);var n=t.prototype;return n.concat=function(){this[D].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Li(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return W({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},he(t,[{key:`length`,get:function(){return this[D].getArrayLength_()},set:function(e){this[D].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(oa);Object.entries(ji).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(ca.prototype,t,n)});function la(e){return{enumerable:!1,configurable:!0,get:function(){return this[D].get_(e)},set:function(t){this[D].set_(e,t)}}}function ua(e){s(ca.prototype,``+e,la(e))}function da(e){if(e>aa){for(var t=aa;t<e+100;t++)ua(t);aa=e}}da(1e3);function fa(e,t,n){return new ca(e,t,n)}function pa(e,t){if(typeof e==`object`&&e){if(Li(e))return t!==void 0&&n(23),e[D].atom_;if(Ki(e))return e.atom_;if(Hi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ha(e)),r}if(ea(e)){if(!t)return n(26);var i=e[D].values_.get(t);return i||n(27,t,ha(e)),i}if(Pe(e)||on(e)||R(e))return e}else if(v(e)&&R(e[D]))return e[D];n(28)}function ma(e,t){if(e||n(29),t!==void 0)return ma(pa(e,t));if(Pe(e)||on(e)||R(e)||Hi(e)||Ki(e))return e;if(e[D])return e[D];n(24,e)}function ha(e,t){var n;if(t!==void 0)n=pa(e,t);else if(lr(e))return e.name;else n=ea(e)||Hi(e)||Ki(e)?ma(e):pa(e);return n.name_}function ga(e){var t=M(),n=$t(!0);I();try{return e()}finally{Mn(),en(n),N(t)}}var _a=c.toString;function va(e,t,n){return n===void 0&&(n=-1),ya(e,t,n)}function ya(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=_a.call(e);if(o!==_a.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=ba(e),t=ba(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!ya(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(ce(t,m)&&ya(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ba(e){return Li(e)?e.slice():ne(e)||Hi(e)||ie(e)||Ki(e)?Array.from(e.entries()):e}var xa=i().Iterator?.prototype||{};function W(e){return e[Symbol.iterator]=Sa,Object.assign(Object.create(xa),e)}function Sa(){return this}function Ca(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Yn,extras:{getDebugName:ha},$mobx:D}),e.$mobx=D,e.FlowCancellationError=Ar,e.ObservableMap=Vi,e.ObservableSet=Gi,e.Reaction=Rn,e._allowStateChanges=Qt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=yn,e._allowStateReadsStart=vn,e._autoAction=sr,e._endAction=Zt,e._getAdministration=ma,e._getGlobalState=Tn,e._interceptReads=Rr,e._isComputingDerivation=dn,e._resetGlobalState=En,e._startAction=Xt,e.action=or,e.autorun=ur,e.comparer=Be,e.computed=Wt,e.configure=Sr,e.createAtom=Fe,e.defineProperty=ti,e.entries=Xr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=ei,e.getAtom=pa,e.getDebugName=ha,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=$r,e.intercept=zr,e.isAction=lr,e.isBoxedObservable=rn,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Kr,e.isObservableArray=Li,e.isObservableMap=Hi,e.isObservableObject=ea,e.isObservableProp=qr,e.isObservableSet=Ki,e.keys=Jr,e.makeAutoObservable=Ei,e.makeObservable=wi,e.observable=O,e.observe=ri,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=zn,e.override=Ke,e.ownKeys=ni,e.reaction=pr,e.remove=Qr,e.runInAction=cr,e.set=Zr,e.spy=Yn,e.toJS=ci,e.trace=li,e.transaction=di,e.untracked=_n,e.values=Yr,e.when=fi})),Dx=ye(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Tx():t.exports=Ex()}))();function Ox(e){if(Array.isArray(e))return Object.freeze(e.map(Ox));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=Ox(r);return Object.freeze(t)}return e}function kx(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function Ax(e){return typeof e==`string`?e:String(e)}function jx(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function Mx(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}function Nx(e,t){if(!(e instanceof W))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=ki(e.style,t),n}function Px(e){return{fn:(t=>Nx(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function Fx(e){return{fn:((t,n)=>Nx(n,new V({[e]:I.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function Ix(e,t){return new V({[e]:t})}function Lx(){let e={};for(let t of Ci)e[t]=Px(Ix(t,!0)),e[`not_${t}`]=Px(Ix(t,!1));for(let[t,n]of Object.entries(Ti))e[t]=Px(Ix(n,!0));return e}const Rx={fn:((e,t)=>Nx(t,V.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},zx={fn:((e,t)=>Nx(t,new V({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function Bx(){return{fg:Fx(`color`),bg:Fx(`bgcolor`),...Lx(),link:zx,style:Rx}}function Vx(e,t){let n;try{n=Wn(e.trim())}catch(n){throw n instanceof An?TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`,{cause:n}):n}return Hx(n,t,JSON.stringify(e))}function Hx(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function Ux(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function Wx(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`)}return e}const Gx=Ux([`string`,`int`],((e,t)=>Er(Vx(e,`darken`),t).hex)),Kx=Ux([`string`,`int`],((e,t)=>Er(Vx(e,`lighten`),-t).hex)),qx={min:0,max:100,note:`0 = from, 100 = toward`},Jx=Ux([`string`,`string`,`float`],((e,t,n)=>z(Vx(e,`mix`),Vx(t,`mix`),Wx(n,`mix`,`percentage`,qx)/100).hex)),Yx={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},Xx=Ux([`string`],(e=>Or(Vx(e,`contrastOn`)).hex)),Zx={depth:P.TRUECOLOR},Qx=e=>Ux([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return kr(Vx(t,`readableOn`),Vx(n,`readableOn`),Wx(r,`readableOn`,`ratio`,Yx),i,void 0,a).hex})),$x={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function eS(){let e={};for(let[t,n]of Object.entries($x)){let r=t;e[n]=Ux([`string`,`float`],((e,t)=>{let i={...cr,[r]:Wx(t,n,`amount`)};return B.fromRgba(Vx(e,n)).applyKey(i).toRgba().hex}))}return e}function tS(e=()=>Zx){return{darken:Gx,lighten:Kx,mix:Jx,contrastOn:Xx,readableOn:Qx(e),...eS()}}function nS(e,t){if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:Hx(br(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function rS(e){return{color:{fn:(t=>br(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new fi(vi(n),nS(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function iS(e){return{...Bx(),...tS(e)}}new V({color:`red`,dim:!0});const aS=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,oS=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function sS(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(aS);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(oS);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function cS(e){let t=e.match(oS);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function lS(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function uS(e){return e.toLocaleString()}function dS(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function fS(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const pS=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],mS=pS.length;function hS(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(mS-1));o+=pS[t]}return o}function gS(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}function _S(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const vS=kc(),yS=[...qc];function bS(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>lS(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(jx(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Ax(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Mx(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>vS,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>yS,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(_S(`sparkline`,[`width`],n),hS(gS(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>fS(e,dS(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function xS(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>uS(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>sS(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>cS(e),argTypes:[`string`],arity:{kind:`exact`}}}}function SS(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return cg({fromString:e=>new W(e),toString:e=>e.plain,isT:e=>e instanceof W,clock:t,missingKey:`error`,funcs:{...Z_(),...db(),...zv(),...sy(),...U_(t),...Ng(),...pv(),...dv(),...iS(n&&(()=>({depth:n()}))),...bS(),...xS(t),...r??{}}})}function CS(e){return wS(e,new Set(e.names()),``)}function wS(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?ES(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return wS(e,t,a)}})}function TS(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function ES(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function J(e){return{kind:`ok`,value:e}}const Y={kind:`absent`};function X(e){return{kind:`failed`,reason:e}}function DS(e,t){return e?.kind===`ok`?e.value:t}function OS(e,t,n){return t.ok?J(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??kS(t.stderr)].filter(Boolean).join(`, `)}`)}function kS(e){return e.trim().split(`
89
+ `,1)[0]??``}function AS(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function jS(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const MS=/^[A-Za-z]:[\\/]/;function NS(e){let t=e.trim();if(MS.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function PS(e){return NS(e)?.host||null}function FS(e){let t=PS(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function IS(e){let t=new Map;for(let n of e.split(`
90
+ `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function LS(e){return e.urls.find(e=>HS(e)!==null)??e.urls[0]??null}function RS(e){return e.find(e=>e.name===`origin`)??e[0]??null}function zS(e){let t=RS(e);return t?LS(t):null}function BS(e){let t=RS(e);return t?t.urls.find(e=>FS(e)!==null)??LS(t):null}function VS(e){let t=(NS(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function HS(e){let t=NS(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function US(e){let t=zS(e);return t===null?null:HS(t)}function WS(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??kS(t.stderr)].filter(Boolean).join(`, `)}`)}function GS(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function KS(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
91
+ `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?Y:J(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=J(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=J({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function qS(e){let t;try{t=JSON.parse(e)}catch(e){return X(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!GS(t))return X(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?J({number:n,state:r,url:i}):Y}function JS(e){let t;try{t=JSON.parse(e)}catch(e){return X(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!GS(t))return X(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?J({number:n,state:r,url:i}):Y}function YS(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var XS=class{isGitRepo(e){try{return r.existsSync(l.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return Me({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?J(e):t&&this.isGitRepo(t)?J(t):this.isGitRepo(e)?J(e):this.findGitRoot(e)}async findGitRoot(e){let t=l.resolve(e);for(;;){if(this.isGitRepo(t))return J(t);let e=l.dirname(t);if(e===t)return Y;t=e}}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return X(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=AS(a.value.oid,e=>e.slice(0,7))),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.committedAt=await this.committedAt(r,a.value.oid)),t.showStashCount&&(o.stashCount=this.getStashCount(r));let s=t.showRepoName||t.showRepoUrl?await this.getRemotesAsync(r):void 0;return s!==void 0&&t.showRepoName&&(o.repoName=AS(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=AS(s,US)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=l.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return l.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(l.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(l.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(l.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(l.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(l.join(t,`rebase-merge`))||r.existsSync(l.join(t,`rebase-apply`))?J(`REBASE`):Y}catch(e){return X(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return jS(OS(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async committedAt(e,t){return t.kind===`ok`?this.commitTimestampMs(e,t.value):t}commitTimes=new Map;async commitTimestampMs(e,t){let n=this.commitTimes.get(t);if(n!==void 0)return this.commitTimes.delete(t),this.commitTimes.set(t,n),n;let r=this.readCommitTimestampMs(e,t);for(this.commitTimes.set(t,r),r.then(e=>{e.kind!==`ok`&&this.commitTimes.get(t)===r&&this.commitTimes.delete(t)},()=>{this.commitTimes.get(t)===r&&this.commitTimes.delete(t)});this.commitTimes.size>256;){let e=this.commitTimes.keys().next().value;if(e===void 0)break;this.commitTimes.delete(e)}return r}async readCommitTimestampMs(e,t){let n=jS(OS(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`,t,`--`],{cwd:e,timeout:2e3}),`absent`));if(n.kind!==`ok`)return n;let r=parseInt(n.value,10)*1e3;return Number.isNaN(r)?X(`git log -1: unparseable timestamp "${n.value}"`):J(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(l.join(t,`commondir`),`utf-8`).trim();if(e)return l.resolve(t,e)}catch{}return t}getStashCount(e){let t=l.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?J(0):X(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return J(i?i.split(`
92
+ `).length:0)}async getRemotesAsync(e){let t=YS(l.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=OS(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:J(t.kind===`ok`?IS(t.value):[])}repoNameFrom(e,t){let n=zS(e);return(n===null?null:VS(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=BS(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return Me({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=FS(t);return n===`github`?WS(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,qS):n===`gitlab`?WS(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,JS):Y}isWorktree(e){try{let t=l.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){E(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=OS(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(KS(t.value)):t}};let ZS=null;function QS(e){if(ZS!==null)return ZS;r.mkdirSync(l.dirname(e),{recursive:!0});try{ZS=r.statSync(e).size}catch{ZS=0}return ZS}function $S(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}ZS=0}const eC=(e,t)=>E(t);function Z(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=$e(),t=QS(e);r.appendFileSync(e,n),ZS=t+Buffer.byteLength(n,`utf8`),ZS>=5242880&&$S(e)}catch(e){ZS=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const tC=(e,t)=>E(t);var nC=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??tC}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},rC=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const iC={showSha:!0,showStashCount:!0};function aC(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function oC(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function sC(e,t){return e.head!==t.head||e.index!==t.index}function cC(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var lC=class extends XS{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new rC;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new XS,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??eC,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new nC({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${aC(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(J(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=oC(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,cC(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return Y;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,cC(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...iC});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...iC}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=oC(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),sC(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const uC=/\r\n|\r|\n/g,dC=e=>J(e.replace(uC,` `).trim());function fC(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(uC,` `))}}const pC=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}},mC=e=>e.getTime()/1e3,hC=e=>new Date(e*1e3);function gC(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(E(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function _C(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const vC=`session.id`;function yC(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await Me({bin:`/bin/sh`,args:[`-c`,e],cwd:t,category:`user-shell`,signal:n});if(!r.ok&&r.reason===`aborted`)throw n.reason;return r.ok?J(r.stdout):X(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function bC(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await C(e,{encoding:`utf8`,signal:n});return J(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return X(`file unreadable: ${e}`)}}}}function xC(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?X(`${r.reason} in ${n}`):r}const SC=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],CC=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wC=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],TC=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function EC(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>SC[e.getMonth()]],[`Monday`,e=>wC[e.getDay()]],[`Jan`,e=>CC[e.getMonth()]],[`Mon`,e=>TC[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const DC={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function OC(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=DC[t];try{return IC(r,e)}catch{return LC(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return DS(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return DS(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return DS(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return DS(e.stashCount,0)}}function kC(e){try{return o(e)}catch{return e}}function AC(e){try{return s(e).isDirectory()}catch{return!1}}function jC(e){let t=kC(e);return AC(t)?{dir:t,name:null,leaf:!0}:Cx(t)}const MC=e=>`${e.dir}\0${e.name??``}`;var NC=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:jC(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=jC(e);if(t.watcher!==null&&MC(n)===MC(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.size===0&&(n.watcher?.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e?.close();this.watchers.clear()}size(){return this.watchers.size}},PC=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:re(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(ne(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ne(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function FC(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function IC(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?Ax(e):t===`number`?jx(e):Mx(e)}function LC(e){return e===`number`?0:e===`boolean`?!1:``}var RC=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new NC;ttlMgr=new PC;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new rC;abort=new AbortController;drawn=Dx.observable.box(P.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=Dx.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return hC(e)};engine=SS({clock:this.now,drawnAt:this.drawnAt});gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new lC({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,kx(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,X(t))}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,yC(t,n.cwd,this.abort.signal),gC(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,bC(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,dC,t.default,n);case`regex`:return this.scalarPublisher(e,fC(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=xC(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,DS(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?Y:o,c=xC(s,pC,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.declareDerived(e,()=>r.evaluate(CS(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>EC(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=DC[t.field],r=t.varDefault===void 0?LC(n):IC(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,OC(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(vC);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=FC(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,IC(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Dx.reaction)(()=>{let t=CS(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,Dx.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,IC(this.defaultEmptyValue,t))}catch{this.store.setBox(e,LC(t))}}defaultFor(e){try{return IC(this.defaultEmptyValue,e)}catch{return LC(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const zC={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[vC]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"effect.effective":{kind:`input`,path:`effect.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},BC=`ne .tmux.pane ""`,VC={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},effect:{configKey:`effect`,sessionKey:`effect`,effectiveVar:`effect.effective`,label:`✨`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},HC=Object.values(VC),UC=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],WC=new Set(UC.map(e=>e.configKey)),GC=new Map([...HC,...UC].map(e=>[e.configKey,e.effectiveVar])),KC=new Map(HC.map(e=>[e.sessionKey,e.effectiveVar]));function qC(e){return Object.fromEntries(Object.keys(VC).map(t=>[t,e(t)]))}const JC=new Map(Object.keys(VC).map(e=>[VC[e].sessionKey,e]));function YC(e,t,n){let r=new Set,i=e=>{for(let t of px(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of bu(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(vC);for(let t of Object.values(e.actions)){r.add(vC),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?KC.get(t.set):void 0,n=`persist`in t?GC.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function XC(e,t,n){let r=xx({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of YC(e,t,n.helpers)){if(bx(a,r))continue;let e=zC[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}const ZC=new Map,QC=new Map;function $C(e){let t=tw(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function ew(e,t){return e===`bar`?t:$C(e)}function tw(e){let t=ZC.get(e);if(t!==void 0)return t;let n=$r(e);return n===null?null:(ZC.set(e,n),n)}function nw(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=QC.get(n);if(r!==void 0)return r;let i=di(e,t);return QC.set(n,i),i}function rw(e){let t=tw(e);return t===null?null:{kind:`decided`,name:e,value:t}}function iw(e,t,n){let r=rw(e);return r===null?(n(`${t} rendered "${Dc}": "${e}" names no installed theme${Ec(e)}`),ow()):r}function aw(e,t,n){return Ic(e,t,n,ow(),rw)}function ow(){return rw(Dc)}function sw(e){return Lc(aw(void 0,null,e),ow).value}const cw=new Map;function lw(e,t,n){cw.set(e,{permanent:!0,resolve:t,paletteOf:n})}lw(`themes`,()=>kc(),e=>$C(e));const uw=`placementThemes`;lw(uw,Ac,(e,t)=>ew(e,t.palette)),lw(`endcaps`,()=>qc),lw(`variations`,()=>rl),lw(`shades`,()=>ol),lw(`charsets`,()=>Qc),lw(`colorCompatibilities`,()=>tl);function dw(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>nw(n.basePalette,e.styles[t])}],[`presets`,{members:Cb(e.presets)}]])}function fw(e){return[...new Set([...cw.keys(),...e.keys()])]}function pw(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=cw.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(hw(e,t))}const mw=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function hw(e,t){let n=mw.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${fw(t).join(`, `)})`}function gw(e,t,n){return e===`bool`?pl(t)!==null:`from`in e?pw(e.from,n).members.includes(t):ml(t,e)!==null}function _w(e,t){if(e===`bool`)return dl.join(` or `);if(`from`in e){let{members:n}=pw(e.from,t),r=n.map(e=>JSON.stringify(e));if(n.length<=8)return`one of ${r.join(`, `)}`;let i=typeof e.from==`string`?` "${e.from}"`:``;return`one of the ${n.length}${i} names, such as ${r.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function vw(e){return{label:e.label,domain:yw(e.domain)}}function yw(e){return e===`theme`?{from:uw}:e===`bool`||`min`in e?e:{from:e}}function bw(e,t,n,r,i){let a=Ld(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...dl]}},variables:{}};if(`from`in o)return xw(a,t,r,i,o.from);let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function xw(e,t,n,r,i){let a={variable:r,key:r,member:n},o=hb(r,n),s=`${n}.open`,c=gb(r),l=`${c}.first`;return{kind:`picker`,template:`{{ "${e}" }} {{ carousel "${n}" 0 "${s}" }}`,actions:{[n]:{set:t,from:i},[o]:Gd(r,n),[c]:{set:c,int:!0},[l]:{set:c,to:`0`},[s]:{do:[o,l]}},variables:{[r]:Wd(r,Nd),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,template:`{{ picker "${n}" "${c}" false true true }}`}}}const Sw=/^segments\.([^.]+)\.palette$/,Cw=/^presets\.(.+)\.root$/,ww=/^presets\.(.+)\.globals\.([^.]+)$/,Tw=/^themeDefaults\.(.+)\.([^.]+)$/;function Ew(e){return`presets.${e}.root`}function Dw(e,t){return`themeDefaults.${e}.${t}`}const Ow=e=>Tu.includes(e);function kw(e,t){return`presets.${e}.globals.${t}`}function Aw(e){if(wf(e))return{scope:`globals`,field:e};let t=Sw.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=ww.exec(e);if(n&&mf(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=Tw.exec(e);if(r&&Ow(r[2]))return{scope:`theme-default`,theme:r[1],field:r[2]};let i=Cw.exec(e);return i?{scope:`preset-root`,preset:i[1]}:null}function jw(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`];case`theme-default`:return[`themeDefaults`,e.theme,e.field]}}const Mw=`open`;function Nw(e,t,n,r){let i={variable:e,key:e,member:Mw};return r.variables[e]=Wd(e,Nd),r.actions[e]=Gd(e,Mw),r.segments[e]={template:Vd(e,`(?)`,`✕`),...Pw(n)},Rd(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function Pw(e){let[t,...n]=e;return t===void 0?{}:{when:zd(t,...n)}}const Fw=`none`;var Iw=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function Lw(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=Rw(n,i),l=c!==Fw,u=l?c===void 0?o:zw(a,c,`bg`):zw(a,`background`,`bg`);e.bg=u;let d=Rw(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:ec(a,e,t))(u):void 0:zw(a,d,`fg`);return new V({...l&&{bgcolor:I.fromRgba(u)},...f!==void 0&&{color:I.fromRgba(f)}})}function Rw(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function zw(e,t,n){try{return br(e,t)}catch(e){throw e instanceof yr?new Iw(t,n,e.message):e}}const Bw={help:[`-h`,`--help`],version:[`-V`,`--version`]},Vw=[`✚ inserts`,`✖ removes`,`⚙️ configures`,`↺ resets layout`],Hw=`
92
93
  cc-candybar - Beautiful powerline statusline for Claude Code
93
94
 
94
95
  Usage: cc-candybar [options]
95
96
 
96
97
  Standalone Commands:
97
- ${yC.help.join(`, `).padEnd(25)}Show this help
98
- ${yC.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
98
+ ${Bw.help.join(`, `).padEnd(25)}Show this help
99
+ ${Bw.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
99
100
 
100
101
  Debugging:
101
102
  CC_CANDYBAR_DEBUG=1 Enable debug logging for troubleshooting
@@ -108,7 +109,7 @@ Configuration:
108
109
 
109
110
  Every bar carries a settings menu, whatever your config says — no config
110
111
  needed, and writing your own \`root\` cannot delete it. Click
111
- it on the bar (${bu} by default; globals.menuGlyph changes it) for
112
+ it on the bar (${Pd} by default; globals.menuGlyph changes it) for
112
113
  preset switching and five tabs: ⚡ session (quick actions and commands),
113
114
  🎨 look (theme/style/variation/shade/endcaps), 📐 layout (new preset, edit mode,
114
115
  wrap, padding), ⚙ config (update notice) and
@@ -118,7 +119,7 @@ Configuration:
118
119
  failed row's [fix] to repair it (the same checks \`cc-candybar doctor\` runs).
119
120
 
120
121
  Anywhere the bar shows (?), clicking it reveals these same instructions
121
- in place. In edit mode: ${bC.join(`, `)}.
122
+ in place. In edit mode: ${Vw.join(`, `)}.
122
123
 
123
124
  Subcommands:
124
125
  install One-shot setup: stages the runtime (native render
@@ -159,27 +160,28 @@ Config tooling:
159
160
  config [--json] The effective merged config. (All three query the
160
161
  running daemon; none spawn one.)
161
162
 
162
- `,SC=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,CC={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function wC(e){let t=e[CC.socket]??``,n=e[CC.pane]??``;if(t===``||n===``)return null;let r=e[CC.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function TC(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const EC=CC.truecolor,DC={name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[EC];return typeof n==`string`&&n!==``?{ok:!1,reason:`${EC} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings-env`,name:EC,value:`1`}}}}}},OC={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},kC={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
163
- `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return TC([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${OC[e]}`)])}}},AC="re-run `cc-candybar install`";function jC(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${AC}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${AC}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${AC}`)}const MC=[kC,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${AC}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${AC}`};case`lost`:return TC([...jC(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},DC];function NC(e){return MC.map(t=>({check:t,verdict:t.probe(e)}))}function PC(e){return MC.find(t=>t.name===e)}const FC=`${Qd}doctor.`;function IC(e){let t=`${FC}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function LC(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function RC(e){return e.flatMap(({check:e,verdict:t})=>{let n=IC(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Zs}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:LC(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?Zs:Xs}]})}const zC={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function BC(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(zC).map(([t,n])=>[`${e}${t}`,n]))}}const VC=`armed`,HC=`disarmed`,UC=`.armed`,WC=e=>e.endsWith(UC);function GC(e,t,n){let r=`${e}${UC}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${VC}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:VC},[a]:{set:r,to:HC},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:HC}},disarm:a}}const KC=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function qC(e){return typeof e==`string`&&KC.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function JC(e){let t=qC(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const YC=[`/compact`,`/model`],XC=`/clear`;function ZC(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=GC(`${e}clear`,{arm:XC,confirm:`${XC} ✓ confirm`},[n]);return{template:YC.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${SS} }}`,actions:{...Object.fromEntries(YC.map(e=>[t(e),{slash:JC(e)}])),...r.actions,[n]:{slash:JC(XC)}},variables:r.variables,disarm:r.disarm}}function QC(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:l.resolve(t,n)}function $C(e){return e??l.join(h.homedir(),`.claude`)}function ew(e){return l.join(e,`settings.json`)}function tw(e){return l.join(e,`plugins`,`installed_plugins.json`)}function nw(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function rw(e){let t;try{let n=nw(e);if(/^\s*$/.test(n))return{};t=xc.parse(n)}catch(t){throw Error(`cannot read ${e}: ${iw(t)}`,{cause:t})}if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const iw=e=>e instanceof Error?e.message:String(e),aw=Array.from({length:10},(e,t)=>(t+1)*1e5),ow=aw[0],sw=aw[aw.length-1];function cw(e){let t;try{t=rw(e)}catch(e){return X(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?J(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=ow&&n<=sw?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${ow}–${sw} tokens)`)}function lw(e,t){let n=Math.min(t??sw,sw),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:aw.filter(e=>e<r).at(-1)??0,higher:aw.find(e=>e>r&&e<=n)??0}}function uw(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${SS} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:JC(`/autocompact auto`)},...Object.fromEntries(aw.map(t=>[`${e}${t}`,{slash:JC(`/autocompact ${t}`)}]))}}}const dw=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,fw=`${Qd}menu`,pw=`open`,mw=`${Qd}edit`,hw=`${Qd}toolbar`,gw=BC(Qd),_w=`${Qd}commands`,vw=ZC(`${_w}.`),yw=`${Qd}autocompact`,bw=uw(`${yw}.`,dw),xw=e=>({kind:`segment`,name:e}),Sw=`${Qd}tab`,Cw=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],ww=e=>`${Sw}.${e}`,Tw=e=>`${ww(e)}.toggle`,Ew=e=>({variable:Sw,key:Sw,member:e}),Dw=`${Qd}save`,Ow=`${Qd}preset.save`,kw=`${Qd}preset.delete`,Aw=`${Qd}resetAll`,jw=`${fw}.toggle`,Mw={variable:fw,key:fw,member:pw},Nw=`${Qd}undo`,Pw=`${Qd}back`,Fw=`${Pw}.step`,Iw=`${Qd}navigation.back`,Lw=Pw,Rw={template:`{{ if gt .${Iw} 0 }}{{ action "${Pw}" "◁" }}{{ else }}{{ fg (${SC}) "◁" }}{{ end }}`},zw=`${Qd}redo`,Bw=`${Qd}doctor`,Vw=`${Bw}.run`,Hw=e=>`${Bw}.fix.${e}`,Uw=e=>`${Bw}.${e}`,Ww=Xv(`${Qd}pickers`),Gw=[{template:`{{ themePreview }}`}],Kw={template:`{{ layoutPreview }}`},qw={preset:[Kw,{when:`{{ not .preset.bundled }}`,template:`{{ action "${kw}" (printf "🗑 delete %s" .${CS.preset.effectiveVar}) }}`}],theme:Gw,style:Gw,variation:[Kw],shade:[Kw]},Jw=e=>`${Qd}${e}`,Yw=e=>`${Qd}apply.${e}`,Xw=e=>`${Qd}reset.${e}`,Zw=e=>`${Qd}list.${e}`,Qw=(e,t)=>`${Zw(e)}.${t}`,$w=e=>`${Qd}resettable.${e}`,eT=e=>e.length===0?`false`:`(or ${e.map(e=>`.${$w(e)}`).join(` `)})`,tT=Object.keys(CS).map(e=>{let t=CS[e],n=Uu(t.configKey),r=nC({label:t.label,domain:n},t.sessionKey,t.effectiveVar,Yw(e),Ww);return{...t,name:e,control:r,beneath:qw[e]??[]}}),nT={preset:`door`,theme:`look`,style:`look`,variation:`look`,shade:`look`,endcaps:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},rT=e=>tT.filter(t=>nT[t.name]===e),iT=e=>rT(e).map(gT);new Set(tT.flatMap(e=>[e.sessionKey,e.configKey]));const aT=GC(Aw,{arm:`⟲`,confirm:`⟲ reset all?`},tT.map(e=>Xw(e.name))),oT=[`unsaved`,`history.undo`,`history.redo`],sT=e=>`${Qd}${e}`,cT=sT(`unsaved`),lT=(e,t)=>({body:t,shown:`(gt .${sT(e)} 0)`}),uT=[lT(`unsaved`,`{{ action "${Dw}" (printf "💾 save %d" .${cT}) }}`),lT(`history.undo`,`{{ action "${Nw}" "↶" }}`),lT(`history.redo`,`{{ action "${zw}" "↷" }}`),{body:aT.template,shown:`(or ${eT(tT.map(e=>e.name))} ${aT.armed})`}],dT={when:`{{ or ${uT.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+uT.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},fT=[{step:aT,place:`door`},{step:vw,place:`session`}],pT=e=>e.map(e=>e.step.disarm),mT=pT(fT),hT=pT(fT.filter(e=>e.place!==`door`));function gT(e){let t=Jw(e.name);return e.control.kind===`inline`?xw(t):wu(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[xw(Zw(e.name)),...e.beneath.map((t,n)=>xw(Qw(e.name,n)))]},`drop`)}function _T(e){return e===fw}function vT(e){let t=xw(fw);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[vT(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function yT(e){return bT(e)>0?e:vT(e)}function bT(e){let t=0;for(let n of sl(e))n.kind===`segment`&&_T(n.name)&&(t+=1);return t}function xT(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&_T(e.name)||e.opens!==void 0&&xT(e.opens.body,!0):e.children.some(e=>xT(e,n))}const ST={session:{direction:`vertical`,content:[xw(hw),{kind:`container`,direction:`horizontal`,children:[xw(_w),xw(yw)]}]},look:{direction:`horizontal`,content:[]},layout:{direction:`horizontal`,content:[xw(Ow),xw(mw)]},config:{direction:`horizontal`,content:[]},tools:{direction:`vertical`,content:[xw(Bw),...MC.map(e=>xw(Uw(e.name)))]}},CT=e=>({kind:`container`,direction:ST[e].direction,children:[...ST[e].content,...iT(e)]});function wT(e){return e.kind===`segment`?_T(e.name)?wu(e.name,Mw,ET,`above`):e:OT(e)}function TT(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[xw(Lw),...iT(`door`),xw(Dw)]},{kind:`container`,direction:`horizontal`,children:Cw.map(({member:e})=>wu(ww(e),Ew(e),CT(e),`drop`))}]}}const ET=TT();function DT(e){let t=new Map;for(let e of sl(ET))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${fw}.fold.${Jd(t)}`;return e.actions[i]={set:t,to:r.default},i})}function OT(e){return{...e,children:e.children.map(e=>wT(e))}}function kT(e){let t={variables:{[fw]:Au(fw,yu)},actions:{[jw]:ju(fw,pw),[Vw]:{doctor:`run`},[mw]:{do:[...Dy]},...gw.actions,...vw.actions,...bw.actions,[Dw]:{save:!0},[Nw]:{undo:!0},[Fw]:{back:!0},[Pw]:{do:[Fw,...mT]},[zw]:{redo:!0},[Ow]:{preset:`save`},[kw]:{preset:`delete`,name:`{{ .${CS.preset.effectiveVar} }}`}},segments:{[fw]:{template:`{{ $door := ${Ou(fw,ku(e),ku(`✖`))} }}{{ if ${Eu(Mw)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[hw]:{template:gw.template},[_w]:{template:vw.template,when:vw.when},[yw]:{template:bw.template,bg:bw.bg,when:bw.when},[Lw]:Rw,[Dw]:dT,[Ow]:{template:`{{ action "${Ow}" "+ preset" }}`},[Bw]:{template:`{{ action "${Vw}" "🩺 doctor" }}`},[mw]:{template:`{{ action "${mw}" "✎ arrange" "✎ done" }}`}}};t.variables[Iw]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of oT)t.variables[sT(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[Sw]=Au(Sw,`session`);for(let{member:e,label:n}of Cw){t.actions[Tw(e)]=ju(Sw,e),t.actions[ww(e)]={do:[Tw(e),...hT]};let r=eT(rT(e).map(e=>e.name)),i=`(ternary ${ku(` •`)} "" ${r})`,a=e=>`(print ${ku(e)} ${i})`;t.segments[ww(e)]={template:`{{ ${Ou(ww(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,vw.variables,aT.variables),jT(t),AT(t),t.actions[fw]={do:[jw,...mT,...DT(t)]},t}function AT(e){for(let t of MC){let n=IC(t.name),r=Hw(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[Uw(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${Xs}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function jT(e){for(let t of tT){Object.assign(e.actions,t.control.actions);let n=Xw(t.name);e.actions[n]={reset:t.configKey},e.variables[$w(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${$w(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[Jw(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&(e.segments[Zw(t.name)]={template:t.control.list.template}),t.beneath.forEach((n,r)=>{e.segments[Qw(t.name,r)]=n})}Object.assign(e.actions,aT.actions)}function MT(e){let{variables:t,actions:n}=Iy();Object.assign(e.variables,t),Object.assign(e.actions,n)}function NT(e){let t=kT(e.globals.menuGlyph??`🍫`);MT(t);let n={...e.presets},r=[];for(let t of ay(e.presets)){let{node:i}=cy(e,t),a=wT(yT(i));r.push(a),n[t]={...sy(e.presets,t),root:a}}let i=MS(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const PT=`${Zd}live`,FT=[`☐ live`,`☑ live`],IT=`${Zd}done`,LT=`${Zd}cancel`,RT=`${Zd}rewind`,zT=`${Zd}changes`,BT=`(gt .${zT} 0)`,VT=`(or ${BT} (gt .${cT} 0))`,HT={variable:PT,key:PT,member:`open`};function UT(e){return`${Zd}configuring.p${e}`}function WT(e){return`and ${Eu(jy)} (not ${Eu(HT)}) (ne .${UT(e)} "true")`}function GT(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${wy} "${Cu(e)}")`).join(` `)} false }}`}}function KT(e,t,n){return`{{ if ${WT(e)} }}${t}{{ else }}${n}{{ end }}`}const qT=`{{ and ${Eu(jy)} .preset.customized }}`,JT=ef;function YT(e){return new Map([...qS(e),...ZT(e)])}const XT=`${Zd}addable`;function ZT(e){return new Map([[XT,{members:Object.keys(e.segments).filter(e=>!JT(e)),library:{groups:Kd.map(e=>({id:e,label:qd[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function QT(e,t,n){return n.segments[e]={template:t,when:My,bg:mC},{kind:`segment`,name:e}}function $T(e,t,n){let r=`${Zd}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${Go}`}) (action "${r}" "✖") }}`}function eE(e){return`{{ if ${Eu(jy)} }}${e}{{ end }}`}function tE(e,t){return e.reduce((e,t)=>`{{ if and ${Eu(jy)} ${Eu(t)} }}true{{ else }}${e}{{ end }}`,t)}function nE(e){return e.flatMap(e=>[...sl(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function rE(e,t,n){return`${ky}${e}.${t}.${n}`}function iE(e,t,n,r){let i=rl(n),a=`${Zd}${e.presetIdent}`,o=Ay(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=Xv(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:yu},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:wy,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=rE(e.presetIdent,i,r),l=`${ky}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:xl(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=nC(eC(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};let p=`${d}.list`;return e.artifacts.segments[d]={template:f.template},e.artifacts.segments[p]={template:f.list.template},wu(d,f.list.ref,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:p}]},`drop`)});return{term:`{{ action "${s}" "⚙️" }}`,ref:{variable:wy,key:wy,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const aE=`${Zd}label:`;function oE(e){if(e.startsWith(aE)){let t=e.slice(aE.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function sE(e,t,n,r){let{artifacts:i}=n,a=rl(e),o=`${aE}${a}:${e.name}`;i.segments[o]={template:`{{ "${Cu(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=e.settings?.[gl];return{...wu(o,r.ref,r.body,`drop`,tE([r.ref],`{{ ${WT(n.presetIdent)} }}`)),...s!==void 0&&{settings:{theme:s}},drafts:{[gl]:r.drafts[gl]}}}function cE(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${Zd}${i}.insert.${t}`,s=`${Zd}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:XT,anchor:n,relation:r};let c=Jv(o),l=Yv(s,o,void 0),u=Qv(l),d=Zv(l,c);return a.variables[l]=Au(l,yu),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=ju(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Eu({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Go}`}) $m }}{{ end }}`}}function lE(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!JT(e.name)),i=e=>lE(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=ol(o,i);if(JT(o.name)){n.push(s);continue}let c=rl(o),l=a===r?[cE(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=cE(t,u,c,`after`),f=$T(t,u,c),p=t.segments[o.name],m=iE(t,u,o,_l(p)),h=eE(f),g=eE(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>QT(e.host,e.template,t.artifacts)),{...sE(o,p,t,m),lead:h,trail:g},{...s,when:KT(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},QT(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:tE(nE(n),KT(t.presetIdent,`true`,e.when))}}}function uE(e,t,n,r,i,a,o){let s=`${Zd}${t}.resetLayout`,c=`${Zd}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:qT},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},dE(e,o)]}}function dE(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),dE(n,t)]}:{...e,children:[...e.children,t]}}function fE(e,t,n,r,i,a){let{node:o}=cy(e,t),s={presetIdent:Jd(t),rootKey:sC(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=lE(o,s);return n.variables[UT(s.presetIdent)]=GT(s.configured),uE(c,s.presetIdent,s.rootKey,n,r,i,a)}function pE(e){let t={variables:{},actions:{},segments:{}},n=fC(`${Zd}help`,bC,[jy],t);t.variables[PT]=Au(PT,yu),t.actions[PT]=ju(PT,HT.member),t.segments[PT]={template:Du(PT,...FT),when:My};let r={kind:`segment`,name:PT},i=n;t.variables[zT]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[IT]={do:[Dw,...Dy]},t.segments[IT]={template:`{{ if ${VT} }}{{ action "${IT}" "✓ save" }}{{ else }}{{ action "${IT}" "✓ done" }}{{ end }}`,when:My},t.actions[RT]={rewind:!0},t.actions[LT]={do:[RT,...Dy]},t.segments[LT]={template:`{{ action "${LT}" "↩ cancel" }}`,when:`{{ and ${Eu(jy)} ${BT} }}`};let a=[{kind:`segment`,name:IT},{kind:`segment`,name:LT}],o={...e.presets},s=[];for(let n of ay(e.presets)){let c=fE(e,n,t,a,r,i);s.push(c),o[n]={...sy(e.presets,n),root:c}}let c=MS(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}const mE=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`doctor`,`ceiling`,`slash`,`do`];function hE(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function gE(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function _E(e,t){if(t===void 0)return{};if(!jl(t))return Q(e,`actions`,`actions must be an object, got ${Ml(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=vE(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Q(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function vE(e,t,n){if(!jl(n))return Q(e,t,`${t} must be an action object, got ${Ml(n)}`),null;if(`persistWhen`in n)return Q(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=mE.filter(e=>e in n);return r.length===1?yE[r[0]](e,t,n):(Q(e,t,`action must declare exactly one of: ${mE.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const yE={set:(e,t,n)=>ZE(e,t,n,`set`,qE),persist:(e,t,n)=>ZE(e,t,n,`persist`,JE),copy:bE(`copy`),open:bE(`open`),reset:xE,undo:CE(`undo`),redo:CE(`redo`),back:CE(`back`),rewind:CE(`rewind`),save:CE(`save`),preset:wE,doctor:TE,ceiling:EE,slash:DE,do:OE};function bE(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=El(t,n,r,e);return i===null?null:{[e]:i}}}function xE(e,t,n){for(let r of Object.keys(n))r!==`reset`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=kE(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const SE={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function CE(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(Q(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${SE[e]}), got ${K(r[e])}`),null)}}function wE(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return Q(e,`${t}.preset`,`preset must be "save" or "delete", got ${K(r)}`),null;if(r===`save`)return{preset:`save`};let a=El(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function TE(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return Q(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${K(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||PC(a)===void 0?(Q(e,`${t}.check`,`doctor fix must name a check (have: ${MC.map(e=>e.name).join(`, `)}), got ${K(a)}`),null):{doctor:`fix`,check:a}}function EE(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return Q(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${K(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?(Q(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${K(a)}`),null):{ceiling:`set`,to:a}}function DE(e,t,n){for(let r of Object.keys(n))r!==`slash`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=qC(n.slash);return r.kind===`refused`?(Q(e,`${t}.slash`,r.reason),null):{slash:r.line}}function OE(e,t,n){for(let r of Object.keys(n))r!==`do`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?(Q(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${K(r)}`),null):{do:r}}function kE(e,t,n,r,i,a){let o=El(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(Q(e,s,i),null):o.includes(`/`)?(Q(e,s,a(o)),null):o}const AE={set:`the SessionState key to write`,persist:`the config globals field to write`};function jE(e,t,n,r){let i=AE[r],a=kE(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function ME(e){return e===`set`?`set-state`:`set-config`}const NE={to:QE(`set`)},PE={to:QE(`persist`)},FE={from:$E(`set`)},IE={from:$E(`persist`)},LE={min:iD(),max:iD(),by:iD()},RE={int:tD()},zE={cycle:eD(`set`)},BE={cycle:eD(`persist`)},VE={removeSegment:nD(`removeSegment`)},HE={insertSegment:nD(`insertSegment`),anchor:nD(`anchor`),relation:rD()},UE={insertSegmentFrom:$E(`persist`),anchor:nD(`anchor`),relation:rD()},WE={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},GE={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function KE(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>Fl(e,t,n,r),c=$l(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?Ul(s,...n):s}}const qE=[KE(`set`,NE),KE(`set`,FE),KE(`set`,LE,[WE,GE]),KE(`set`,RE),KE(`set`,zE)],JE=[KE(`persist`,PE),KE(`persist`,IE),KE(`persist`,LE,[WE,GE]),KE(`persist`,BE),KE(`persist`,VE),KE(`persist`,HE,[],[`insertSegment`]),KE(`persist`,UE,[],[`insertSegmentFrom`])];function YE(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function XE(e){let t=YE(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function ZE(e,t,n,r,i){let a=jE(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Q(e,t,`${XE(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||Q(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function QE(e){let t=ME(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>kE(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function $E(e){let t=ME(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){Q(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){Q(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){Q(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){Q(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){Q(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}Q(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${K(o)}`)}}}function eD(e){let t=ME(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){Q(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${Ml(o)}`);return}let c=o;if(c.length<2){Q(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){Q(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){Q(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){Q(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function tD(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){Q(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${K(r[n])}`);return}return!0}}}function nD(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=El(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){Q(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){Q(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function rD(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){Q(e,`${t}.${n}`,`relation must be "before" or "after", got ${K(i)}`);return}return i}}}function iD(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){Q(e,`${t}.${n}`,`${n} must be an integer, got ${K(i)}`);return}return i}}}function aD(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const oD={noun:`style key`,fields:{hueShift:ql(),chromaScale:ql({min:0}),lightnessScale:ql(),lightnessShift:ql()}};function sD(e,t){if(!jl(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${Ml(t)}`,line:G(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:G(e.source,[`styles`,r])});continue}if(Ls(r)){e.issues.push({path:`styles.${r}`,message:aD(`styles.${r}`,r,`globals.endcaps`),line:G(e.source,[`styles`,r])});continue}let t=Nl(e,oD,`styles.${r}`,i);t!==null&&(n[r]={...cr,...t})}return n}const cD={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:Uf(e,`${t}.${n}`,r[n])},globals:{required:!1,json:nd(),parse:(e,t,n,r)=>r[n]===void 0?void 0:td(e,`${t}.${n}`,r[n])}}};function lD(e,t){if(!jl(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${Ml(t)}`,line:G(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:G(e.source,[`presets`,r])});continue}let t=Nl(e,cD,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function uD(e,t){if(t===void 0)return{};if(!jl(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${Ml(t)}`,line:G(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${K(i)}`,line:G(e.source,[`helpers`,r])});continue}n[r]=i}return n}const dD=new Map([[`session.budget.amount`,{segment:`session`,setting:`budget`}],[`session.budget.warningThreshold`,{segment:`session`,setting:`warnAt`}],[`today.budget.amount`,{segment:`today`,setting:`budget`}],[`today.budget.warningThreshold`,{segment:`today`,setting:`warnAt`}],[`block.budget.heatThreshold`,{segment:`block`,setting:`warnAt`}],[`block.budget.warningThreshold`,{segment:`block`,setting:`errorAt`}],[`weekly.budget.heatThreshold`,{segment:`weekly`,setting:`warnAt`}],[`weekly.budget.warningThreshold`,{segment:`weekly`,setting:`errorAt`}],[`burn.eta.errorMinutes`,{segment:`burnrate`,setting:`errorWithin`}],[`burn.eta.warnMinutes`,{segment:`burnrate`,setting:`warnWithin`}]]);function fD(e){return`it became the "${e.setting}" setting of each "${e.segment}" placement — set it on the placement where a row places "${e.segment}" ({ seg: "${e.segment}", settings: { ${e.setting}: <value> } }), or redeclare segments.${e.segment}.settings.${e.setting} with the default every placement should start from`}function pD(e){let t=dD.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${fD(t)}`}function mD(e){let t=dD.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${fD(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function hD(e,t){let n=new Map;for(let e of Object.keys(t)){let t=Jd(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:G(e.source,[`presets`])})}function gD(e,t,n){let r=[[[`globals`],t.globals.style],[[`editGlobals`],t.editGlobals.style],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style])];for(let[n,i]of r){if(i===void 0||Ds(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:Ls(i)?aD(r,i,`${n.join(`.`)}.endcaps`):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:G(e.source,[...n,`style`])})}t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:G(e.source,[`globals`,`preset`])}),hD(e,t.presets),zD(e,t);let i=rb(t);for(let t of i.names)t!==`settings`&&!t.startsWith(yD)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:G(e.source,[`variables`,t])});let a=(t,n,r)=>{bT(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${fw}" ${bT(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),xT(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${fw}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and shade, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of sl(t)){if(e.kind!==`segment`)continue;let t=rl(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=al(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||nl[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of fu(n,r)){let n=G(e.source,o.split(`.`));if(a.when!==void 0&&(jD(e,`${o}.when`,a.when,i,{line:n}),AD(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(_T(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${fw}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${fw}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${af(a.name)}`,line:n}),DD(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,uu(t.root)]]);for(let e of ay(t.presets)){let{node:n,path:r}=cy(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,G(e.source,t.split(`.`)));RD(e,t,i,()=>!0)}const _D=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function vD(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=G(e.source,[`actions`,n,r]);if(!ay(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${ay(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${af(i)}`,line:c})},p=new Set(il(cy(t,a).node)),m=(r,i)=>{!rf.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${af(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const yD=`settings.`;function bD(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>yD+e)])}}function xD(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:G(e.source,[`segments`,t,`settings`,n])})},a=wD(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of yl(n,CD(n)))i(e,`the defaults do not stand together: ${t}`)}function SD(e){return wD(e).length>0||yl(e,CD(e)).length>0}function CD(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function wD(e){let t=t=>vl(TD(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||vl(TD(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${ED(e,n).join(`, `)||`none`})`}];let i=[n];for(let e=r;e!==void 0;e=t(e)){if(e===n)return i.every(e=>n<=e)?[{setting:n,message:`atLeast closes a cycle (${[...i,n].join(` ≥ `)}) — every setting on it could only ever equal the rest`}]:[];if(i.includes(e))return[];i.push(e)}return[]})}function TD(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function ED(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&vl(n)!==void 0).map(([e])=>e)}function DD(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=_l(a),s=`${r}: placement "${rl(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:bl(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?vs(a):``}, but it must be ${Cl(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}let c=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n.settings?.[e]??t.default]));if(!(!Object.entries(c).every(([e,t])=>bl(o[e],t))||SD(o)))for(let{message:t}of yl(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function OD(e,t,n,r,i){n.kind===`template`&&jD(e,`${t}.template`,n.template,r,{segCtx:i}),ml(n)&&n.cache&&`key`in n.cache&&jD(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function kD(e,t,n,r,i){if(ml(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:G(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function AD(e,t,n,r){try{Sy.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function jD(e,t,n,r,i){for(let[a,o]of Yy(n,r.helpers)){if(nb(a,r))continue;if(a.startsWith(yD)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??G(e.source,t.split(`.`))});continue}if(o!==null){MD(e,o,`Template references unknown variable ".${a}"${mD(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&nb(n,r)?` (segment-local vars are namespaced — write ".${n}")`:mD(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??G(e.source,t.split(`.`))})}}function MD(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:G(e.source,[`helpers`,t])})}function ND(e,t,n,r,i){let a=n.set,o=Uu(CS[r].configKey),s=`${a} takes ${$S(o,i)}`;if(`min`in n&&(o===`bool`||`from`in o)){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:G(e.source,[`actions`,t,`min`])});return}let c=ID(n,i);if(c===FD){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:G(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!QS(o,e.value,i));if(l.length!==0){if(a===CS.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>Ls(e.value)))){let r=CS.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:aD(`actions.${t}.to`,n.to,`set: "${r}", to`),line:G(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:G(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=PD?r.join(`, `):`${r.slice(0,PD).join(`, `)} and ${r.length-PD} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:G(e.source,[`actions`,t,n])})}}}const PD=3,FD=Symbol(`any integer`);function ID(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?YS(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:FD}function LD(e,t){return Object.entries(e).filter(([e])=>t(e))}function RD(e,t,n,r){let i=YT(t),a=JS(i);for(let[n,o]of LD(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${ZS(r,i)}`,line:G(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;ES.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:G(e.source,[`actions`,n,`set`])});let s=AS.get(o.set);s!==void 0&&ND(e,n,o,s,i)}for(let[n,i]of LD(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&gE(o)?`"${r}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${r}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:G(e.source,[`actions`,n,`do`])})});for(let[n,i]of LD(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=lC(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${od().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, or a "presets.<name>.root" target`,line:G(e.source,[`actions`,n,a])});continue}let s=_D.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){vD(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!ay(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${ay(t.presets).join(`, `)})`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${af(o.segment)}`,line:G(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:G(e.source,[`actions`,n,a])})}}for(let[i,a]of LD(t.variables,r)){OD(e,`variables.${i}`,a,n);let t=pD(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:G(e.source,[`variables`,i])})}for(let[i,a]of LD(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))OD(e,`segments.${i}.vars.${t}`,r,n,i);let r=_l(a);xD(e,i,r);let o=bD(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){jD(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of $y(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu or carousel)`:``;if(o!==null){MD(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:G(e.source,[`segments`,i,n])})}}}}for(let[i,a]of LD(t.variables,r))kD(e,`variables.${i}`,a,n);for(let[i,a]of LD(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))kD(e,`segments.${i}.vars.${t}`,r,n,i)}function zD(e,t){let n=new Set;for(let r of ay(t.presets)){let i=ly(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||Bs(s??``))continue;let c=o.default_separator===void 0?sy(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:G(e.source,[...c,`default_separator`])}))}}}function BD(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=VD(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:G(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function VD(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of Yy(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),ml(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const HD=[`json5`,`json`];function UD(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function WD(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function GD(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?HD.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...HD.map(e=>l.join(r,`.cc-candybar.${e}`)),...HD.map(e=>`${KD()}.${e}`)])]}function KD(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function qD(e,t,n){let i=[],a=new Map;for(let o of GD(e,t,n)){let e=UD(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:JD(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function JD(e){let t=KD();return e.find(e=>HD.some(n=>e===`${t}.${n}`))??`${t}.${HD[0]}`}function YD(e,t,n){let r=qD(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null}}function XD(e){return ZD(e).join(`
164
- `)||null}function ZD(e){switch(e.kind){case`chain`:return e.unchecked.map(e=>`Config location could not be checked: ${e.path} — ${e.error}`);case`missing`:return[`Config file not found: ${e.path} — rendering the bundled default until it appears`];case`unreadable`:return[`Config file could not be read: ${e.path} — ${e.error} — rendering the bundled default until it can be`]}}function QD(e,t){let n=GD(e,t).filter(e=>UD(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.join(t,n);r.has(i)||r.set(i,[]),r.get(i).push(e)}let i=[...r.values()].filter(e=>e.length>1);return i.length===0?null:`config-extension collision: ${i.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function $D(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const eO=new Set([`data`,`segments`,`helpers`,`actions`]),tO=`plugin.json5`,nO=/^[a-z][a-z0-9_]*$/;function rO(e){let t=l.basename(l.dirname(e));return nO.test(t)?t:void 0}const iO=`plugins.`;function aO(e){return`${iO}${e}.data`}function oO(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:sO(e)}}}function sO(e){return e instanceof Xc?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function cO(e,t){return e.map(e=>l.resolve(l.dirname(t),WD(e)))}function lO(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=rO(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${tO}, and the folder's name is the plugin's: move this file to <dir>/<name>/${tO} and list that`;return s(t,o===void 0?e.config:fO(dO(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${nO}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=dO(e.config,o),d=oO(()=>{let a=r.readFileSync(n,`utf-8`),s=hu(vO(n,o,{source:a,json:ot.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,fO(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function uO(e){let t=`${iO}${e}.`;return e=>e.startsWith(t)}function dO(e,t){let n=uO(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function fO(e,t,n){return{...e,variables:{...e.variables,[aO(t)]:{kind:`dropped`,reason:$D(n),definition:n.path}}}}function pO(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function mO(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(pO)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:$D(e)}));return t=>{let i=pO(t);if(i===void 0)return[];let a=e.config.variables[aO(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function hO(e,t){let n=ay(e.presets).flatMap(t=>[...sl(cy(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,gO(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=pO(t),r=n===void 0?void 0:e.variables[aO(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>$y(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...tb(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${aO(pO(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function gO(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,_O(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function _O(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function vO(e,t,{source:n,json:r},{projectDir:i}){let a=[],o=()=>{throw new Xc(e,a)};if(!jl(r))return a.push({path:``,message:`a plugin definition must be an object, got ${Ml(r)}`}),o();for(let e of Object.keys(r))eO.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...eO].join(`, `)}`});let s=xO(r.data,e,i,a);if(jl(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(xs()),groups:[]},l=vd(c,`data`,{[aO(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))jl(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:bO(t,bf(c,r.segments,new Set)),helpers:bO(t,uD(c,r.helpers)),actions:bO(t,_E(c,r.actions))};for(let[e,t]of yO(u))try{Sy.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*yO(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function bO(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${iO}${e}.${t}`,n]))}function xO(e,t,n,r){if(typeof e==`string`&&e!==``)return l.resolve(l.dirname(t),WD(e));if(jl(e)&&Object.keys(e).length===1&&typeof e.project==`string`&&e.project!==``){let t=e.project;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.project`,message:`data.project "${t}" must be a path inside the project, relative to its root (like ".lit/candybar.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.project`,message:`data is read from the session's project, and this load has none`});return}return l.resolve(n,t)}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { project: "<path>" } relative to the session's project`})}function SO(e){let t=(process.env.XDG_DATA_DIRS||CO()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function CO(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function wO(e){let t=SO(e),n=new Map,r=[],i=[];for(let e of t){let t=TO(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,tO));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${tO}: move this file to ${l.join(e,`<name>`,tO)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function TO(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||EO(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function EO(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}function DO(e,t,n,i){return e===null?{...IO,config:hu(IO.raw,t)}:kO(e,r.readFileSync(e,`utf-8`),t,n,i)}const OO={projectDir:null,beneath:{dropped:[],rendering:new Map}};function kO(e,t,n,r,i){let a=zO(e,t,i,(t,a)=>{let o=lO(cO(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>PO(t,n,r,e,i)),s=mO(o,r.beneath.dropped);return{inherited:new Set([...yf(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=hO(hu(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map($D)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const AO=new WeakMap;function jO(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,MO(e)])]),a=AO.get(n)??new Map;AO.set(n,a);let o=String(t.projectDir),s=a.get(o);if(s?.key===i)return s.layer;let c=lO(e,t,{config:n,rendering:new Map},(e,t,n)=>PO(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function MO(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function NO(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s=wO(i.projectDir),c=jO(s.definitions,i,t,o),l={...c,dropped:[...c.dropped,...s.strays]};n.warned(s.unchecked.map(e=>`Plugin folder could not be listed: ${e.path} — ${e.error}`));let u=l.config,d=[];for(let t of e){n.entered(t);let e=d.at(-1)?.plugins,r=kO(t,a(t),d.at(-1)?.config??u,{...i,beneath:{dropped:[...l.dropped,...d.flatMap(e=>e.plugins.dropped)],rendering:e?.rendering??l.rendering}},o);n.warned(r.warnings),d.push({...r,path:t})}let f=new Set(d.flatMap(e=>[...e.plugins.reached])),p=e=>f.has(e.path),m=l.dropped.filter(p),h=l.dropped.filter(e=>!p(e));n.warned(m.map($D));let g={roots:s.roots,loaded:l.loaded,dropped:m,unreached:h,reached:f,rendering:d.at(-1)?.plugins.rendering??l.rendering},_=d.at(-1);if(_===void 0)return{layers:d,base:u,installed:g,config:LO(DO(null,u,OO),`<default>`,o)};try{return{layers:d,base:u,installed:g,config:LO(_,_.path,o)}}catch(e){for(let e of d.slice(0,-1))n.entered(e.path),LO(e,e.path,o);throw n.entered(_.path),e}}function PO(e,t,n,r,i){if(n){LO(FO(e),r,i);return}let a=uO(t),o=[],s={source:``,issues:o,allowedPalettes:new Set,groups:[]};if(RD(s,e,rb(e),a),BD(s,e,a),o.length>0)throw new Xc(r,o)}function FO(e){return{config:e,raw:{root:e.root,presets:e.presets},source:``}}const IO={raw:{},source:``,warnings:[],plugins:{loaded:[],dropped:[],reached:new Set,rendering:new Map}};function LO({config:e,raw:t,source:n},r=`<config>`,i=new Set(xs())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(gD(o,e,t),BD(o,e),a.length>0)throw new Xc(r,a);let s=xy(e,a);if(a.length>0)throw new Xc(r,a);return pE(NT(s))}function RO(e,t,n=new Set(xs()),r=BO){return zO(e,t,n,()=>({inherited:r,layer:null})).raw}function zO(e,t,n,r){let i=VO(e,t),a=$c(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(xs()),groups:[]};if(!jl(i))throw new Xc(e,[{path:``,message:`Config root must be an object, got ${Ml(i)}`}],o);let{inherited:l,layer:u}=r(i.plugins===void 0?[]:WO({...c,issues:[]},i.plugins)??[],jl(i.segments)?Object.keys(i.segments):[]),d=HO(c,i,l);if(s.length>0)throw new Xc(e,s,o);return{raw:d,warnings:o,layer:u}}const BO=new Set;function VO(e,t){try{return ot.default.parse(t)}catch(t){let n=t;throw new Xc(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function HO(e,t,n){for(let n of Object.keys(t))UO.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...UO].join(`, `)}`,line:G(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=ed(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=vd(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=bf(e,t.segments,n)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
163
+ `,Uw=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,Ww={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function Gw(e){let t=e[Ww.socket]??``,n=e[Ww.pane]??``;if(t===``||n===``)return null;let r=e[Ww.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function Kw(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const qw=Ww.truecolor,Jw={name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[qw];return typeof n==`string`&&n!==``?{ok:!1,reason:`${qw} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings-env`,name:qw,value:`1`}}}}}},Yw={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},Xw={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
164
+ `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return Kw([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${Yw[e]}`)])}}},Zw="re-run `cc-candybar install`";function Qw(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${Zw}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${Zw}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${Zw}`)}const $w=[Xw,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${Zw}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${Zw}`};case`lost`:return Kw([...Qw(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},Jw];function eT(e){return $w.map(t=>({check:t,verdict:t.probe(e)}))}function tT(e){return $w.find(t=>t.name===e)}const nT=`${_p}doctor.`;function rT(e){let t=`${nT}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function iT(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function aT(e){return e.flatMap(({check:e,verdict:t})=>{let n=rT(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:ul}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:iT(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?ul:ll}]})}const oT={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function sT(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(oT).map(([t,n])=>[`${e}${t}`,n]))}}const cT=`armed`,lT=`disarmed`,uT=`.armed`,dT=e=>e.endsWith(uT);function fT(e,t,n){let r=`${e}${uT}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${cT}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:cT},[a]:{set:r,to:lT},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:lT}},disarm:a}}const pT=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function mT(e){return typeof e==`string`&&pT.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function hT(e){let t=mT(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const gT=[`/compact`,`/model`],_T=`/clear`;function vT(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=fT(`${e}clear`,{arm:_T,confirm:`${_T} ✓ confirm`},[n]);return{template:gT.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${BC} }}`,actions:{...Object.fromEntries(gT.map(e=>[t(e),{slash:hT(e)}])),...r.actions,[n]:{slash:hT(_T)}},variables:r.variables,disarm:r.disarm}}function yT(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:l.resolve(t,n)}function bT(e){return e??l.join(h.homedir(),`.claude`)}function xT(e){return l.join(e,`settings.json`)}function ST(e){return l.join(e,`plugins`,`installed_plugins.json`)}function CT(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function wT(e){let t;try{let n=CT(e);if(/^\s*$/.test(n))return{};t=Pl.parse(n)}catch(t){throw Error(`cannot read ${e}: ${TT(t)}`,{cause:t})}if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const TT=e=>e instanceof Error?e.message:String(e),ET=Array.from({length:10},(e,t)=>(t+1)*1e5),DT=ET[0],OT=ET[ET.length-1];function kT(e){let t;try{t=wT(e)}catch(e){return X(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?J(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=DT&&n<=OT?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${DT}–${OT} tokens)`)}function AT(e,t){let n=Math.min(t??OT,OT),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:ET.filter(e=>e<r).at(-1)??0,higher:ET.find(e=>e>r&&e<=n)??0}}function jT(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${BC} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:hT(`/autocompact auto`)},...Object.fromEntries(ET.map(t=>[`${e}${t}`,{slash:hT(`/autocompact ${t}`)}]))}}}const MT=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,NT=`${_p}menu`,PT=`open`,FT=`${_p}edit`,IT=`${_p}toolbar`,LT=sT(_p),RT=`${_p}commands`,zT=vT(`${RT}.`),BT=`${_p}autocompact`,VT=jT(`${BT}.`,MT),HT=e=>({kind:`segment`,name:e}),UT=`${_p}tab`,WT=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],GT=e=>`${UT}.${e}`,KT=e=>`${GT(e)}.toggle`,qT=e=>({variable:UT,key:UT,member:e}),JT=`${_p}save`,YT=`${_p}preset.save`,XT=`${_p}preset.delete`,ZT=`${_p}themeDefault.save`,QT=`${_p}themeDefault.differs`,$T=`${_p}themeDefault.theme`,eE={when:`{{ .${QT} }}`,template:`{{ action "${ZT}" (printf "⤓ default for %s" .${$T}) }}`},tE=`${_p}resetAll`,nE=`${NT}.toggle`,rE={variable:NT,key:NT,member:PT},iE=`${_p}undo`,aE=`${_p}back`,oE=`${aE}.step`,sE=`${_p}navigation.back`,cE=aE,lE={template:`{{ if gt .${sE} 0 }}{{ action "${aE}" "◁" }}{{ else }}{{ fg (${Uw}) "◁" }}{{ end }}`},uE=`${_p}redo`,dE=`${_p}doctor`,fE=`${dE}.run`,pE=e=>`${dE}.fix.${e}`,mE=e=>`${dE}.${e}`,hE=mb(`${_p}pickers`),gE=[{template:`{{ themePreview }}`}],_E={template:`{{ layoutPreview }}`},vE={preset:[_E,{when:`{{ not .preset.bundled }}`,template:`{{ action "${XT}" (printf "🗑 delete %s" .${VC.preset.effectiveVar}) }}`}],theme:gE,style:gE,variation:[_E],shade:[_E]},yE=e=>`${_p}${e}`,bE=e=>`${_p}apply.${e}`,xE=e=>`${_p}reset.${e}`,SE=e=>`${_p}list.${e}`,CE=(e,t)=>`${SE(e)}.${t}`,wE=e=>`${_p}resettable.${e}`,TE=e=>e.length===0?`false`:`(or ${e.map(e=>`.${wE(e)}`).join(` `)})`,EE=Object.keys(VC).map(e=>{let t=VC[e],n=af(t.configKey),r=bw({label:t.label,domain:n},t.sessionKey,t.effectiveVar,bE(e),hE);return{...t,name:e,control:r,beneath:vE[e]??[]}}),DE={preset:`door`,theme:`look`,style:`look`,effect:`look`,variation:`look`,shade:`look`,endcaps:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},OE=e=>EE.filter(t=>DE[t.name]===e),kE=e=>OE(e).map(VE);new Set(EE.flatMap(e=>[e.sessionKey,e.configKey]));const AE=fT(tE,{arm:`⟲`,confirm:`⟲ reset all?`},EE.map(e=>xE(e.name))),jE=[`unsaved`,`history.undo`,`history.redo`],ME=e=>`${_p}${e}`,NE=ME(`unsaved`),PE=(e,t)=>({body:t,shown:`(gt .${ME(e)} 0)`}),FE=[PE(`unsaved`,`{{ action "${JT}" (printf "💾 save %d" .${NE}) }}`),PE(`history.undo`,`{{ action "${iE}" "↶" }}`),PE(`history.redo`,`{{ action "${uE}" "↷" }}`),{body:AE.template,shown:`(or ${TE(EE.map(e=>e.name))} ${AE.armed})`}],IE={when:`{{ or ${FE.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+FE.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},LE=[{step:AE,place:`door`},{step:zT,place:`session`}],RE=e=>e.map(e=>e.step.disarm),zE=RE(LE),BE=RE(LE.filter(e=>e.place!==`door`));function VE(e){let t=yE(e.name);return e.control.kind===`inline`?HT(t):Rd(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[HT(SE(e.name)),...e.beneath.map((t,n)=>HT(CE(e.name,n)))]},`drop`)}function HE(e){return e===NT}function UE(e){let t=HT(NT);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[UE(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function WE(e){return GE(e)>0?e:UE(e)}function GE(e){let t=0;for(let n of bu(e))n.kind===`segment`&&HE(n.name)&&(t+=1);return t}function KE(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&HE(e.name)||e.opens!==void 0&&KE(e.opens.body,!0):e.children.some(e=>KE(e,n))}const qE={session:{direction:`vertical`,content:[HT(IT),{kind:`container`,direction:`horizontal`,children:[HT(RT),HT(BT)]}],after:[]},look:{direction:`horizontal`,content:[],after:[HT(ZT)]},layout:{direction:`horizontal`,content:[HT(YT),HT(FT)],after:[]},config:{direction:`horizontal`,content:[],after:[]},tools:{direction:`vertical`,content:[HT(dE),...$w.map(e=>HT(mE(e.name)))],after:[]}},JE=e=>({kind:`container`,direction:qE[e].direction,children:[...qE[e].content,...kE(e),...qE[e].after]});function YE(e){return e.kind===`segment`?HE(e.name)?Rd(e.name,rE,ZE,`above`):e:$E(e)}function XE(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[HT(cE),...kE(`door`),HT(JT)]},{kind:`container`,direction:`horizontal`,children:WT.map(({member:e})=>Rd(GT(e),qT(e),JE(e),`drop`))}]}}const ZE=XE();function QE(e){let t=new Map;for(let e of bu(ZE))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${NT}.fold.${pp(t)}`;return e.actions[i]={set:t,to:r.default},i})}function $E(e){return{...e,children:e.children.map(e=>YE(e))}}function eD(e){let t={variables:{[NT]:Wd(NT,Nd)},actions:{[nE]:Gd(NT,PT),[fE]:{doctor:`run`},[FT]:{do:[...Gb]},...LT.actions,...zT.actions,...VT.actions,[JT]:{save:!0},[iE]:{undo:!0},[oE]:{back:!0},[aE]:{do:[oE,...zE]},[uE]:{redo:!0},[YT]:{preset:`save`},[ZT]:{themeDefault:`save`},[XT]:{preset:`delete`,name:`{{ .${VC.preset.effectiveVar} }}`}},segments:{[NT]:{template:`{{ $door := ${Hd(NT,Ud(e),Ud(`✖`))} }}{{ if ${Bd(rE)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[IT]:{template:LT.template},[RT]:{template:zT.template,when:zT.when},[BT]:{template:VT.template,bg:VT.bg,when:VT.when},[cE]:lE,[JT]:IE,[ZT]:eE,[YT]:{template:`{{ action "${YT}" "+ preset" }}`},[dE]:{template:`{{ action "${fE}" "🩺 doctor" }}`},[FT]:{template:`{{ action "${FT}" "✎ arrange" "✎ done" }}`}}};t.variables[QT]={kind:`input`,path:`themeDefault.differs`,type:`boolean`,default:!1},t.variables[$T]={kind:`input`,path:`themeDefault.theme`,type:`string`,default:``},t.variables[sE]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of jE)t.variables[ME(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[UT]=Wd(UT,`session`);for(let{member:e,label:n}of WT){t.actions[KT(e)]=Gd(UT,e),t.actions[GT(e)]={do:[KT(e),...BE]};let r=TE(OE(e).map(e=>e.name)),i=`(ternary ${Ud(` •`)} "" ${r})`,a=e=>`(print ${Ud(e)} ${i})`;t.segments[GT(e)]={template:`{{ ${Hd(GT(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,zT.variables,AE.variables),nD(t),tD(t),t.actions[NT]={do:[nE,...zE,...QE(t)]},t}function tD(e){for(let t of $w){let n=rT(t.name),r=pE(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[mE(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${ll}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function nD(e){for(let t of EE){Object.assign(e.actions,t.control.actions);let n=xE(t.name);e.actions[n]={reset:t.configKey},e.variables[wE(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${wE(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[yE(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&(e.segments[SE(t.name)]={template:t.control.list.template}),t.beneath.forEach((n,r)=>{e.segments[CE(t.name,r)]=n})}Object.assign(e.actions,AE.actions)}function rD(e){let{variables:t,actions:n}=ex();Object.assign(e.variables,t),Object.assign(e.actions,n)}function iD(e){let t=eD(e.globals.menuGlyph??`🍫`);rD(t);let n={...e.presets},r=[];for(let t of Cb(e.presets)){let{node:i}=Eb(e,t),a=YE(WE(i));r.push(a),n[t]={...Tb(e.presets,t),root:a}}let i=XC(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const aD=`${gp}live`,oD=[`☐ live`,`☑ live`],sD=`${gp}done`,cD=`${gp}cancel`,lD=`${gp}rewind`,uD=`${gp}changes`,dD=`(gt .${uD} 0)`,fD=`(or ${dD} (gt .${NE} 0))`,pD={variable:aD,key:aD,member:`open`};function mD(e){return`${gp}configuring.p${e}`}function hD(e){return`and ${Bd(Yb)} (not ${Bd(pD)}) (ne .${mD(e)} "true")`}function gD(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${Hb} "${Ld(e)}")`).join(` `)} false }}`}}function _D(e,t,n){return`{{ if ${hD(e)} }}${t}{{ else }}${n}{{ end }}`}const vD=`{{ and ${Bd(Yb)} .preset.customized }}`,yD=yp;function bD(e){return new Map([...dw(e),...SD(e)])}const xD=`${gp}addable`;function SD(e){return new Map([[xD,{members:Object.keys(e.segments).filter(e=>!yD(e)),library:{groups:dp.map(e=>({id:e,label:fp[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function CD(e,t,n){return n.segments[e]={template:t,when:Xb,bg:Fw},{kind:`segment`,name:e}}function wD(e,t,n){let r=`${gp}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${$s}`}) (action "${r}" "✖") }}`}function TD(e){return`{{ if ${Bd(Yb)} }}${e}{{ end }}`}function ED(e,t){return e.reduce((e,t)=>`{{ if and ${Bd(Yb)} ${Bd(t)} }}true{{ else }}${e}{{ end }}`,t)}function DD(e){return e.flatMap(e=>[...bu(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function OD(e,t,n){return`${qb}${e}.${t}.${n}`}function kD(e,t,n,r){let i=gu(n),a=`${gp}${e.presetIdent}`,o=Jb(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=mb(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:Nd},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:Hb,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=OD(e.presetIdent,i,r),l=`${qb}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:Fu(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=bw(vw(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};let p=`${d}.list`;return e.artifacts.segments[d]={template:f.template},e.artifacts.segments[p]={template:f.list.template},Rd(d,f.list.ref,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:p}]},`drop`)});return{term:`{{ action "${s}" "⚙️" }}`,ref:{variable:Hb,key:Hb,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const AD=`${gp}label:`;function jD(e){if(e.startsWith(AD)){let t=e.slice(AD.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function MD(e,t,n,r){let{artifacts:i}=n,a=gu(e),o=`${AD}${a}:${e.name}`;i.segments[o]={template:`{{ "${Ld(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=e.settings?.[Au];return{...Rd(o,r.ref,r.body,`drop`,ED([r.ref],`{{ ${hD(n.presetIdent)} }}`)),...s!==void 0&&{settings:{theme:s}},drafts:{[Au]:r.drafts[Au]}}}function ND(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${gp}${i}.insert.${t}`,s=`${gp}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:xD,anchor:n,relation:r};let c=fb(o),l=pb(s,o,void 0),u=gb(l),d=hb(l,c);return a.variables[l]=Wd(l,Nd),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=Gd(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Bd({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${$s}`}) $m }}{{ end }}`}}function PD(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!yD(e.name)),i=e=>PD(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=yu(o,i);if(yD(o.name)){n.push(s);continue}let c=gu(o),l=a===r?[ND(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=ND(t,u,c,`after`),f=wD(t,u,c),p=t.segments[o.name],m=kD(t,u,o,ju(p)),h=TD(f),g=TD(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>CD(e.host,e.template,t.artifacts)),{...MD(o,p,t,m),lead:h,trail:g},{...s,when:_D(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},CD(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:ED(DD(n),_D(t.presetIdent,`true`,e.when))}}}function FD(e,t,n,r,i,a,o){let s=`${gp}${t}.resetLayout`,c=`${gp}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:vD},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},ID(e,o)]}}function ID(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),ID(n,t)]}:{...e,children:[...e.children,t]}}function LD(e,t,n,r,i,a){let{node:o}=Eb(e,t),s={presetIdent:pp(t),rootKey:Ew(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=PD(o,s);return n.variables[mD(s.presetIdent)]=gD(s.configured),FD(c,s.presetIdent,s.rootKey,n,r,i,a)}function RD(e){let t={variables:{},actions:{},segments:{}},n=Nw(`${gp}help`,Vw,[Yb],t);t.variables[aD]=Wd(aD,Nd),t.actions[aD]=Gd(aD,pD.member),t.segments[aD]={template:Vd(aD,...oD),when:Xb};let r={kind:`segment`,name:aD},i=n;t.variables[uD]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[sD]={do:[JT,...Gb]},t.segments[sD]={template:`{{ if ${fD} }}{{ action "${sD}" "✓ save" }}{{ else }}{{ action "${sD}" "✓ done" }}{{ end }}`,when:Xb},t.actions[lD]={rewind:!0},t.actions[cD]={do:[lD,...Gb]},t.segments[cD]={template:`{{ action "${cD}" "↩ cancel" }}`,when:`{{ and ${Bd(Yb)} ${dD} }}`};let a=[{kind:`segment`,name:sD},{kind:`segment`,name:cD}],o={...e.presets},s=[];for(let n of Cb(e.presets)){let c=LD(e,n,t,a,r,i);s.push(c),o[n]={...Tb(e.presets,n),root:c}}let c=XC(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}const zD=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`themeDefault`,`doctor`,`ceiling`,`slash`,`do`];function BD(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function VD(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function HD(e,t){if(t===void 0)return{};if(!Gu(t))return Q(e,`actions`,`actions must be an object, got ${Ku(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=UD(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Q(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function UD(e,t,n){if(!Gu(n))return Q(e,t,`${t} must be an action object, got ${Ku(n)}`),null;if(`persistWhen`in n)return Q(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=zD.filter(e=>e in n);return r.length===1?WD[r[0]](e,t,n):(Q(e,t,`action must declare exactly one of: ${zD.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const WD={set:(e,t,n)=>CO(e,t,n,`set`,yO),persist:(e,t,n)=>CO(e,t,n,`persist`,bO),copy:GD(`copy`),open:GD(`open`),reset:KD,undo:JD(`undo`),redo:JD(`redo`),back:JD(`back`),rewind:JD(`rewind`),save:JD(`save`),preset:YD,themeDefault:XD,doctor:ZD,ceiling:QD,slash:$D,do:eO};function GD(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=Bu(t,n,r,e);return i===null?null:{[e]:i}}}function KD(e,t,n){for(let r of Object.keys(n))r!==`reset`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=tO(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const qD={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function JD(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(Q(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${qD[e]}), got ${K(r[e])}`),null)}}function YD(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return Q(e,`${t}.preset`,`preset must be "save" or "delete", got ${K(r)}`),null;if(r===`save`)return{preset:`save`};let a=Bu(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function XD(e,t,n){for(let r of Object.keys(n))r!==`themeDefault`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a themeDefault action. Expected only: themeDefault`);return n.themeDefault===`save`?{themeDefault:`save`}:(Q(e,`${t}.themeDefault`,`themeDefault must be "save" (it saves the look the session draws as the active theme's default), got ${K(n.themeDefault)}`),null)}function ZD(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return Q(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${K(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||tT(a)===void 0?(Q(e,`${t}.check`,`doctor fix must name a check (have: ${$w.map(e=>e.name).join(`, `)}), got ${K(a)}`),null):{doctor:`fix`,check:a}}function QD(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return Q(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${K(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?(Q(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${K(a)}`),null):{ceiling:`set`,to:a}}function $D(e,t,n){for(let r of Object.keys(n))r!==`slash`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=mT(n.slash);return r.kind===`refused`?(Q(e,`${t}.slash`,r.reason),null):{slash:r.line}}function eO(e,t,n){for(let r of Object.keys(n))r!==`do`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?(Q(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${K(r)}`),null):{do:r}}function tO(e,t,n,r,i,a){let o=Bu(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(Q(e,s,i),null):o.includes(`/`)?(Q(e,s,a(o)),null):o}const nO={set:`the SessionState key to write`,persist:`the config globals field to write`};function rO(e,t,n,r){let i=nO[r],a=tO(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function iO(e){return e===`set`?`set-state`:`set-config`}const aO={to:wO(`set`)},oO={to:wO(`persist`)},sO={from:TO(`set`)},cO={from:TO(`persist`)},lO={min:AO(),max:AO(),by:AO()},uO={int:DO()},dO={cycle:EO(`set`)},fO={cycle:EO(`persist`)},pO={removeSegment:OO(`removeSegment`)},mO={insertSegment:OO(`insertSegment`),anchor:OO(`anchor`),relation:kO()},hO={insertSegmentFrom:TO(`persist`),anchor:OO(`anchor`),relation:kO()},gO={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},_O={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function vO(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>Yu(e,t,n,r),c=pd(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?rd(s,...n):s}}const yO=[vO(`set`,aO),vO(`set`,sO),vO(`set`,lO,[gO,_O]),vO(`set`,uO),vO(`set`,dO)],bO=[vO(`persist`,oO),vO(`persist`,cO),vO(`persist`,lO,[gO,_O]),vO(`persist`,fO),vO(`persist`,pO),vO(`persist`,mO,[],[`insertSegment`]),vO(`persist`,hO,[],[`insertSegmentFrom`])];function xO(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function SO(e){let t=xO(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function CO(e,t,n,r,i){let a=rO(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Q(e,t,`${SO(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||Q(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function wO(e){let t=iO(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>tO(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function TO(e){let t=iO(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){Q(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){Q(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){Q(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){Q(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){Q(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}Q(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${K(o)}`)}}}function EO(e){let t=iO(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){Q(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${Ku(o)}`);return}let c=o;if(c.length<2){Q(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){Q(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){Q(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){Q(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function DO(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){Q(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${K(r[n])}`);return}return!0}}}function OO(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=Bu(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){Q(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){Q(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function kO(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){Q(e,`${t}.${n}`,`relation must be "before" or "after", got ${K(i)}`);return}return i}}}function AO(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){Q(e,`${t}.${n}`,`${n} must be an integer, got ${K(i)}`);return}return i}}}function jO(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const MO={noun:`style key`,fields:{hueShift:sd(),chromaScale:sd({min:0}),lightnessScale:sd(),lightnessShift:sd()}};function NO(e,t){if(!Gu(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${Ku(t)}`,line:G(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:G(e.source,[`styles`,r])});continue}if(Xc(r)){e.issues.push({path:`styles.${r}`,message:jO(`styles.${r}`,r,`globals.endcaps`),line:G(e.source,[`styles`,r])});continue}let t=qu(e,MO,`styles.${r}`,i);t!==null&&(n[r]={...cr,...t})}return n}const PO={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:sm(e,`${t}.${n}`,r[n])},globals:{required:!1,json:xf(),parse:(e,t,n,r)=>r[n]===void 0?void 0:bf(e,`${t}.${n}`,r[n])}}};function FO(e,t){if(!Gu(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${Ku(t)}`,line:G(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:G(e.source,[`presets`,r])});continue}let t=qu(e,PO,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function IO(e,t){if(t===void 0)return{};if(!Gu(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${Ku(t)}`,line:G(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${K(i)}`,line:G(e.source,[`helpers`,r])});continue}n[r]=i}return n}const LO=new Map([[`session.budget.amount`,{segment:`session`,setting:`budget`}],[`session.budget.warningThreshold`,{segment:`session`,setting:`warnAt`}],[`today.budget.amount`,{segment:`today`,setting:`budget`}],[`today.budget.warningThreshold`,{segment:`today`,setting:`warnAt`}],[`block.budget.heatThreshold`,{segment:`block`,setting:`warnAt`}],[`block.budget.warningThreshold`,{segment:`block`,setting:`errorAt`}],[`weekly.budget.heatThreshold`,{segment:`weekly`,setting:`warnAt`}],[`weekly.budget.warningThreshold`,{segment:`weekly`,setting:`errorAt`}],[`burn.eta.errorMinutes`,{segment:`burnrate`,setting:`errorWithin`}],[`burn.eta.warnMinutes`,{segment:`burnrate`,setting:`warnWithin`}]]);function RO(e){return`it became the "${e.setting}" setting of each "${e.segment}" placement — set it on the placement where a row places "${e.segment}" ({ seg: "${e.segment}", settings: { ${e.setting}: <value> } }), or redeclare segments.${e.segment}.settings.${e.setting} with the default every placement should start from`}function zO(e){let t=LO.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${RO(t)}`}function BO(e){let t=LO.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${RO(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function VO(e,t){let n=new Map;for(let e of Object.keys(t)){let t=pp(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:G(e.source,[`presets`])})}function HO(e,t,n){let r=[[[`globals`],t.globals.style,`globals.endcaps`],[[`editGlobals`],t.editGlobals.style,`editGlobals.endcaps`],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style,`presets.${e}.globals.endcaps`]),...Object.entries(t.themeDefaults).map(([e,t])=>[[`themeDefaults`,e],t.style,`globals.endcaps`])];for(let[n,i,a]of r){if(i===void 0||Fc(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:Xc(i)?jO(r,i,a):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:G(e.source,[...n,`style`])})}t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:G(e.source,[`globals`,`preset`])}),VO(e,t.presets),dk(e,t);let i=xx(t);for(let t of i.names)t!==`settings`&&!t.startsWith(GO)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:G(e.source,[`variables`,t])});let a=(t,n,r)=>{GE(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${NT}" ${GE(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),KE(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${NT}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and shade, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of bu(t)){if(e.kind!==`segment`)continue;let t=gu(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=vu(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||hu[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of Ed(n,r)){let n=G(e.source,o.split(`.`));if(a.when!==void 0&&(rk(e,`${o}.when`,a.when,i,{line:n}),nk(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(HE(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${NT}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${NT}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${Cp(a.name)}`,line:n}),$O(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,wd(t.root)]]);for(let e of Cb(t.presets)){let{node:n,path:r}=Eb(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,G(e.source,t.split(`.`)));uk(e,t,i,()=>!0)}const UO=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function WO(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=G(e.source,[`actions`,n,r]);if(!Cb(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Cb(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${Cp(i)}`,line:c})},p=new Set(_u(Eb(t,a).node)),m=(r,i)=>{!Sp.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${Cp(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const GO=`settings.`;function KO(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>GO+e)])}}function qO(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:G(e.source,[`segments`,t,`settings`,n])})},a=XO(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Nu(n,YO(n)))i(e,`the defaults do not stand together: ${t}`)}function JO(e){return XO(e).length>0||Nu(e,YO(e)).length>0}function YO(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function XO(e){let t=t=>Mu(ZO(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Mu(ZO(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${QO(e,n).join(`, `)||`none`})`}];let i=[n];for(let e=r;e!==void 0;e=t(e)){if(e===n)return i.every(e=>n<=e)?[{setting:n,message:`atLeast closes a cycle (${[...i,n].join(` ≥ `)}) — every setting on it could only ever equal the rest`}]:[];if(i.includes(e))return[];i.push(e)}return[]})}function ZO(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function QO(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Mu(n)!==void 0).map(([e])=>e)}function $O(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=ju(a),s=`${r}: placement "${gu(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:Pu(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?Ec(a):``}, but it must be ${Lu(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}let c=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n.settings?.[e]??t.default]));if(!(!Object.entries(c).every(([e,t])=>Pu(o[e],t))||JO(o)))for(let{message:t}of Nu(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function ek(e,t,n,r,i){n.kind===`template`&&rk(e,`${t}.template`,n.template,r,{segCtx:i}),Ou(n)&&n.cache&&`key`in n.cache&&rk(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function tk(e,t,n,r,i){if(Ou(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:G(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function nk(e,t,n,r){try{Bb.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function rk(e,t,n,r,i){for(let[a,o]of px(n,r.helpers)){if(bx(a,r))continue;if(a.startsWith(GO)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??G(e.source,t.split(`.`))});continue}if(o!==null){ik(e,o,`Template references unknown variable ".${a}"${BO(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&bx(n,r)?` (segment-local vars are namespaced — write ".${n}")`:BO(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??G(e.source,t.split(`.`))})}}function ik(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:G(e.source,[`helpers`,t])})}function ak(e,t,n,r,i){let a=n.set,o=af(VC[r].configKey),s=`${a} takes ${_w(o,i)}`;if(`min`in n&&(o===`bool`||`from`in o)){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:G(e.source,[`actions`,t,`min`])});return}let c=ck(n,i);if(c===sk){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:G(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!gw(o,e.value,i));if(l.length!==0){if(a===VC.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>Xc(e.value)))){let r=VC.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:jO(`actions.${t}.to`,n.to,`set: "${r}", to`),line:G(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:G(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=ok?r.join(`, `):`${r.slice(0,ok).join(`, `)} and ${r.length-ok} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:G(e.source,[`actions`,t,n])})}}}const ok=3,sk=Symbol(`any integer`);function ck(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?pw(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:sk}function lk(e,t){return Object.entries(e).filter(([e])=>t(e))}function uk(e,t,n,r){let i=bD(t),a=fw(i);for(let[n,o]of lk(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${hw(r,i)}`,line:G(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;WC.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:G(e.source,[`actions`,n,`set`])});let s=JC.get(o.set);s!==void 0&&ak(e,n,o,s,i)}for(let[n,i]of lk(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&VD(o)?`"${r}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${r}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:G(e.source,[`actions`,n,`do`])})});for(let[n,i]of lk(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=Aw(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${Tf().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, a "themeDefaults.<theme>.<shade|variation|style>" target, or a "presets.<name>.root" target`,line:G(e.source,[`actions`,n,a])});continue}let s=UO.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){WO(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!Cb(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${Cb(t.presets).join(`, `)})`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`theme-default`&&!e.allowedPalettes.has(o.theme)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names theme "${o.theme}" which is not installed${Ec(o.theme)} (have: ${[...e.allowedPalettes].sort().join(`, `)})`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${Cp(o.segment)}`,line:G(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:G(e.source,[`actions`,n,a])})}}for(let[i,a]of lk(t.variables,r)){ek(e,`variables.${i}`,a,n);let t=zO(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:G(e.source,[`variables`,i])})}for(let[i,a]of lk(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))ek(e,`segments.${i}.vars.${t}`,r,n,i);let r=ju(a);qO(e,i,r);let o=KO(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){rk(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of _x(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu or carousel)`:``;if(o!==null){ik(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:G(e.source,[`segments`,i,n])})}}}}for(let[i,a]of lk(t.variables,r))tk(e,`variables.${i}`,a,n);for(let[i,a]of lk(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))tk(e,`segments.${i}.vars.${t}`,r,n,i)}function dk(e,t){let n=new Set;for(let r of Cb(t.presets)){let i=Db(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||$c(s??``))continue;let c=o.default_separator===void 0?Tb(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:G(e.source,[...c,`default_separator`])}))}}}function fk(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=pk(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:G(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function pk(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of px(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),Ou(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const mk=[`json5`,`json`];function hk(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function gk(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function _k(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?mk.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...mk.map(e=>l.join(r,`.cc-candybar.${e}`)),...mk.map(e=>`${vk()}.${e}`)])]}function vk(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function yk(e,t,n){let i=[],a=new Map;for(let o of _k(e,t,n)){let e=hk(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:bk(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function bk(e){let t=vk();return e.find(e=>mk.some(n=>e===`${t}.${n}`))??`${t}.${mk[0]}`}function xk(e,t,n){let r=yk(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null}}function Sk(e){return Ck(e).join(`
165
+ `)||null}function Ck(e){switch(e.kind){case`chain`:return e.unchecked.map(e=>`Config location could not be checked: ${e.path} — ${e.error}`);case`missing`:return[`Config file not found: ${e.path} — rendering the bundled default until it appears`];case`unreadable`:return[`Config file could not be read: ${e.path} — ${e.error} — rendering the bundled default until it can be`]}}function wk(e,t){let n=_k(e,t).filter(e=>hk(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.join(t,n);r.has(i)||r.set(i,[]),r.get(i).push(e)}let i=[...r.values()].filter(e=>e.length>1);return i.length===0?null:`config-extension collision: ${i.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function Tk(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const Ek=new Set([`data`,`segments`,`helpers`,`actions`]),Dk=`plugin.json5`,Ok=/^[a-z][a-z0-9_]*$/;function kk(e){let t=l.basename(l.dirname(e));return Ok.test(t)?t:void 0}const Ak=`plugins.`;function jk(e){return`${Ak}${e}.data`}function Mk(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:Nk(e)}}}function Nk(e){return e instanceof lu?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function Pk(e,t){return e.map(e=>l.resolve(l.dirname(t),gk(e)))}function Fk(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=kk(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${Dk}, and the folder's name is the plugin's: move this file to <dir>/<name>/${Dk} and list that`;return s(t,o===void 0?e.config:Rk(Lk(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${Ok}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=Lk(e.config,o),d=Mk(()=>{let a=r.readFileSync(n,`utf-8`),s=kd(Wk(n,o,{source:a,json:ot.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,Rk(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function Ik(e){let t=`${Ak}${e}.`;return e=>e.startsWith(t)}function Lk(e,t){let n=Ik(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function Rk(e,t,n){return{...e,variables:{...e.variables,[jk(t)]:{kind:`dropped`,reason:Tk(n),definition:n.path}}}}function zk(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function Bk(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(zk)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:Tk(e)}));return t=>{let i=zk(t);if(i===void 0)return[];let a=e.config.variables[jk(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function Vk(e,t){let n=Cb(e.presets).flatMap(t=>[...bu(Eb(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,Hk(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=zk(t),r=n===void 0?void 0:e.variables[jk(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>_x(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...yx(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${jk(zk(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function Hk(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,Uk(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function Uk(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function Wk(e,t,{source:n,json:r},{projectDir:i}){let a=[],o=()=>{throw new lu(e,a)};if(!Gu(r))return a.push({path:``,message:`a plugin definition must be an object, got ${Ku(r)}`}),o();for(let e of Object.keys(r))Ek.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...Ek].join(`, `)}`});let s=qk(r.data,e,i,a);if(Gu(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(kc()),groups:[]},l=Lf(c,`data`,{[jk(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))Gu(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:Kk(t,Rp(c,r.segments,new Set)),helpers:Kk(t,IO(c,r.helpers)),actions:Kk(t,HD(c,r.actions))};for(let[e,t]of Gk(u))try{Bb.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*Gk(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function Kk(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${Ak}${e}.${t}`,n]))}function qk(e,t,n,r){if(typeof e==`string`&&e!==``)return l.resolve(l.dirname(t),gk(e));if(Gu(e)&&Object.keys(e).length===1&&typeof e.project==`string`&&e.project!==``){let t=e.project;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.project`,message:`data.project "${t}" must be a path inside the project, relative to its root (like ".lit/candybar.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.project`,message:`data is read from the session's project, and this load has none`});return}return l.resolve(n,t)}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { project: "<path>" } relative to the session's project`})}function Jk(e){let t=(process.env.XDG_DATA_DIRS||Yk()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function Yk(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function Xk(e){let t=Jk(e),n=new Map,r=[],i=[];for(let e of t){let t=Zk(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,Dk));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${Dk}: move this file to ${l.join(e,`<name>`,Dk)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function Zk(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||Qk(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function Qk(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}function $k(e,t,n,i){return e===null?{...cA,config:kd(cA.raw,t)}:tA(e,r.readFileSync(e,`utf-8`),t,n,i)}const eA={projectDir:null,beneath:{dropped:[],rendering:new Map}};function tA(e,t,n,r,i){let a=dA(e,t,i,(t,a)=>{let o=Fk(Pk(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>oA(t,n,r,e,i)),s=Bk(o,r.beneath.dropped);return{inherited:new Set([...Lp(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=Vk(kd(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map(Tk)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const nA=new WeakMap;function rA(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,iA(e)])]),a=nA.get(n)??new Map;nA.set(n,a);let o=String(t.projectDir),s=a.get(o);if(s?.key===i)return s.layer;let c=Fk(e,t,{config:n,rendering:new Map},(e,t,n)=>oA(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function iA(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function aA(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s=Xk(i.projectDir),c=rA(s.definitions,i,t,o),l={...c,dropped:[...c.dropped,...s.strays]};n.warned(s.unchecked.map(e=>`Plugin folder could not be listed: ${e.path} — ${e.error}`));let u=l.config,d=[];for(let t of e){n.entered(t);let e=d.at(-1)?.plugins,r=tA(t,a(t),d.at(-1)?.config??u,{...i,beneath:{dropped:[...l.dropped,...d.flatMap(e=>e.plugins.dropped)],rendering:e?.rendering??l.rendering}},o);n.warned(r.warnings),d.push({...r,path:t})}let f=new Set(d.flatMap(e=>[...e.plugins.reached])),p=e=>f.has(e.path),m=l.dropped.filter(p),h=l.dropped.filter(e=>!p(e));n.warned(m.map(Tk));let g={roots:s.roots,loaded:l.loaded,dropped:m,unreached:h,reached:f,rendering:d.at(-1)?.plugins.rendering??l.rendering},_=d.at(-1);if(_===void 0)return{layers:d,base:u,installed:g,config:lA($k(null,u,eA),`<default>`,o)};try{return{layers:d,base:u,installed:g,config:lA(_,_.path,o)}}catch(e){for(let e of d.slice(0,-1))n.entered(e.path),lA(e,e.path,o);throw n.entered(_.path),e}}function oA(e,t,n,r,i){if(n){lA(sA(e),r,i);return}let a=Ik(t),o=[],s={source:``,issues:o,allowedPalettes:new Set,groups:[]};if(uk(s,e,xx(e),a),fk(s,e,a),o.length>0)throw new lu(r,o)}function sA(e){return{config:e,raw:{root:e.root,presets:e.presets},source:``}}const cA={raw:{},source:``,warnings:[],plugins:{loaded:[],dropped:[],reached:new Set,rendering:new Map}};function lA({config:e,raw:t,source:n},r=`<config>`,i=new Set(kc())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(HO(o,e,t),fk(o,e),a.length>0)throw new lu(r,a);let s=zb(e,a);if(a.length>0)throw new lu(r,a);return RD(iD(s))}function uA(e,t,n=new Set(kc()),r=fA){return dA(e,t,n,()=>({inherited:r,layer:null})).raw}function dA(e,t,n,r){let i=pA(e,t),a=fu(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(kc()),groups:[]};if(!Gu(i))throw new lu(e,[{path:``,message:`Config root must be an object, got ${Ku(i)}`}],o);let{inherited:l,layer:u}=r(i.plugins===void 0?[]:gA({...c,issues:[]},i.plugins)??[],Gu(i.segments)?Object.keys(i.segments):[]),d=mA(c,i,l);if(s.length>0)throw new lu(e,s,o);return{raw:d,warnings:o,layer:u}}const fA=new Set;function pA(e,t){try{return ot.default.parse(t)}catch(t){let n=t;throw new lu(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function mA(e,t,n){for(let n of Object.keys(t))hA.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...hA].join(`, `)}`,line:G(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=yf(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=Lf(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=Rp(e,t.segments,n)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
165
166
  Replace: layout: [["seg1", "seg2"], ["seg3"]]
166
167
  With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
167
- Single-row example: root: { h: ["seg1", "seg2"] }`,line:G(e.source,[`layout`])}),t.root!==void 0&&(r.root=Uf(e,`root`,t.root)),t.actions!==void 0&&(r.actions=_E(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:G(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=sD(e,t.styles)),t.presets!==void 0&&(r.presets=lD(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=rd(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=uD(e,t.helpers)),t.plugins!==void 0&&(r.plugins=WO(e,t.plugins)),Zf(e,r),yy(e,r),Fy(e,r),nf(e,r,Qd,`the global settings menu`),r}const UO=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`presets`,`editGlobals`,`helpers`,`plugins`]);function WO(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${Ml(t)}`,line:G(e.source,[`plugins`])})}function GO(e){let t=ZO(e.termCols),n=ZO(e.termRows),r=QO(e.ssh),i=YO(e.tmux),a=JO(e.configEnv),o=qO(e.claudeConfigDir),s=KO(e.mementoEnv);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r},...i!==void 0&&{tmux:i},...a!==void 0&&{configEnv:a},...o!==void 0&&{claudeConfigDir:o},...s!==void 0&&{mementoEnv:s}}}function KO(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=et.filter(e=>t[e]!==void 0);return n.every(e=>qO(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function qO(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function JO(e){return typeof e==`string`&&e!==``?WD(e):void 0}function YO(e){if(e===null)return null;if(typeof e!=`object`)return;let{socket:t,pane:n,truecolor:r}=e;if(!(typeof t!=`string`||t===``)&&!(typeof n!=`string`||n===``)&&!(r!==null&&(typeof r!=`string`||r===``)))return{socket:t,pane:n,truecolor:r}}const XO=1e4;function ZO(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>XO?XO:t}function QO(e){return typeof e==`boolean`?e:void 0}function $O(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var ek=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function tk(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function nk(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new ek(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new ek(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function rk(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=nk(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(tk(t))})}async function ik(e,t,n){let r=null;try{r=await lk(Be(),t.connectMs);let i=await rk(r,{v:3,...e},t.budgetMs);return sk(e.kind,i,n)}catch(e){return ck(e)}finally{r&&r.destroy()}}function ak(e,t){return typeof e==`string`?e:t}function ok(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function sk(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=ak(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:ok(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function ck(e){if(e instanceof ek||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function lk(e,t){return new Promise((n,r)=>{let i=x.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function uk(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const dk=`1.122.0`,fk={connectMs:50,budgetMs:150},pk={connectMs:50,budgetMs:200};function mk(e){let t=e.output;return typeof t==`string`?t:void 0}function hk(e,t,n,r){return ik({kind:`render`,hookData:e,args:t,cwd:n,...r},fk,mk)}function gk(e,t){return ik({kind:`click`,verb:e,value:t,clientVersion:dk},pk,mk)}function _k(e){let t=[];for(let n of e){let e=n.read();if(e.kind===`text`)return`# memory report from: ${n.name}\n${e.text}`;t.push(`# ${n.name}: unavailable — ${e.reason}`)}return[`# memory report: no probe answered`,...t.length>0?t:[`# no probe is known for this platform`]].join(`
168
- `)}function vk(e,t){return e===`darwin`?[yk(`footprint`,[`-p`,String(t)]),yk(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[bk(`/proc/self/smaps_rollup`),bk(`/proc/self/status`)]:[]}function yk(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=D({bin:e,args:[...t],timeoutMs:5e3,category:`limits.memory-report`});return n.ok?n.stdout.trim().length>0?{kind:`text`,text:n.stdout}:{kind:`unavailable`,reason:`exited 0 but printed nothing`}:{kind:`unavailable`,reason:`${n.reason}${n.error===void 0?``:`: ${n.error}`}${xk(n.stderr)}`}}}}function bk(e){return{name:e,read:()=>{try{let t=r.readFileSync(e,`utf8`);return t.trim().length>0?{kind:`text`,text:t}:{kind:`unavailable`,reason:`empty file`}}catch(e){return{kind:`unavailable`,reason:e.message}}}}}function xk(e){let t=e.split(`
169
- `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const Sk=`CC_CANDYBAR_RSS_LIMIT_MB`;function Ck(e){let t=e[Sk];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${Sk} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function wk(e){return Ck(e)*2}const Tk=1024*1024;function Ek(e){return Ck(e)*Tk}const Dk={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function Ok(e,t,n){let{prefix:r,suffix:i}=Dk[t];return l.join(e,`${r}${n}${i}`)}function kk(e){for(let t of Object.keys(Dk)){let{prefix:n,suffix:r}=Dk[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function Ak(e){let t=e.rssLimitBytes??512*Tk,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let{rss:i,heapTotal:a}=e.memoryBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t} (v8 heap ${a}); recording memory then shutting down`);let o=`${new Date(e.now()).toISOString().replace(/[:.]/g,`-`)}-${e.pid}`;return jk(e.log,`memory report`,()=>{let t=Ok(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),jk(e.log,`heap snapshot`,()=>{let t=Ok(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),jk(e.log,`artifact rotation`,()=>{Nk(e.listArtifacts(),n,e.removeFile)}),e.shutdown(0),!0}function a(){let{rss:n,heapTotal:r}=e.memoryBytes();return n>t*.75?`rss ${n} approaching limit ${t} (v8 heap ${r})`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function jk(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function Mk(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=kk(t);if(n===null)return t;let{prefix:r,suffix:i}=Dk[n];return t.slice(r.length,t.length-i.length)}function Nk(e,t,n){let r=new Map;for(let t of e){let e=Mk(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.keys()].sort((e,t)=>t.localeCompare(e));for(let e of i.slice(t))for(let t of r.get(e)??[])try{n(t)}catch{}}function Pk(e,t,n={}){let i=ze();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Z,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>_k(vk(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>ie.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>kk(e)!==null).map(e=>l.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function Fk(e={}){if(Zk()!==null)return;let n=e.spawn??Qk,r=Jk();if(r.kind===`contended`){let e=Lk();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),Ik(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),Ik(n);return}try{Ik(n)}finally{Xk()}}function Ik(e){Wk()&&Rk(e)}function Lk(){try{let e=r.statSync(Ye());return Date.now()-e.mtimeMs}catch{return null}}function Rk(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
170
- `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function zk(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function Bk(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function Vk(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function Hk(e,n){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function Uk(){try{r.unlinkSync(Ze())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function Wk(){let e=Xe(),n=Ze(),r=Vk(n),i=zk(Gk(e),Bk(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),Kk(e),Hk(n,Math.min(r+1,5)),!0)}function Gk(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function Kk(e){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let qk=null;function Jk(){let e=Ye();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return qk={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!Yk(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function Yk(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function Xk(){if(!qk)return;let{fd:e,path:t}=qk;qk=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function Zk(){try{return r.mkdirSync(ze(),{recursive:!0}),null}catch(e){return`mkdir ${ze()}: ${e.message}`}}function Qk(){let e=t.execPath,n=t.argv[1];return n?Ne({bin:e,args:[`--max-old-space-size=${wk(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const $k=`cc-candybar`,eA=`dispatch`,tA=`set-state`,nA=`step-state`,rA=`copy`,iA=`open-vscode`,aA=`toolbar-toggle`,oA=`show-config-error`,sA=`show-config-warning`,cA=`set-config`,lA=`step-config`,uA=`save`,dA=`save-preset`,fA=`delete-preset`,pA=`reset-config`,mA=`apply-layout-op`,hA=`undo`,gA=`redo`,_A=`back`,vA=`rewind`,yA=`apply-update`,bA=`doctor-run`,xA=`doctor-fix`,SA=`doctor-probe`,CA=`ceiling`,wA=`slash`;function TA(e){return e.map(encodeURIComponent).join(`/`)}function EA(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function DA(e){return`${$k}://${eA}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${TA(e.args)}`)}`).join(`&`)}`}function OA(e){return new w(e).getAll(`e`).map(MA)}const kA=new Set([tA,pA]);function AA(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&jA(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function jA(e,t){if(e.verb!==t.verb||!kA.has(e.verb))return;let[n,r]=[MA(e.value),MA(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function MA(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const NA=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function PA(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function FA(e){return NA.test(e)?e:PA(e)}const IA=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function LA(e){let t=IA.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function RA(e){return e.join(`.`)}function zA([e,t,n],[r,i,a]){return e-r||t-i||n-a}const BA=`@promptctl/cc-candybar`;async function VA(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return X(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?LA(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function HA(e,t){let n=LA(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=zA(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function UA(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${RA(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${RA(t.installed)} is newer than the registry's latest release (${RA(t.latest)}): an unpublished build.\n`};case`stale`:{let n=RA(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${RA(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const WA=`CCCandybarURLHandler`,GA=[],KA={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function qA(e,t){return[e,...t].map(FA).join(` `)}function JA(){return l.join(h.homedir(),`Applications`,`${WA}.app`)}function YA(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function XA(){if(process.platform===`darwin`)return l.join(h.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??l.join(h.homedir(),`.local`,`share`);return l.join(e,`cc-candybar`)}function ZA(){return l.join(XA(),`bin`,`cc-candybar`)}function QA(){return l.join(XA(),`dist`,`index.mjs`)}function $A(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
171
- `)}function ej(e){let t=/do shell script "'([^']+)' '([^']+)' url-handle "/.exec(e);if(t===null)return null;let n=e=>e.replace(/\\"/g,`"`);return{node:n(t[1]),script:n(t[2])}}function tj(e){return l.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function nj(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:l.resolve(l.dirname(e),`..`,`dist`,`index.mjs`)}function rj(t){let n=KA[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:l.resolve(l.dirname(t),`..`,`bin`,`cc-candybar`)}}function ij(e,t){l.resolve(e)!==l.resolve(t)&&r.copyFileSync(e,t)}function aj(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${BA}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function oj(){let e=nj(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=rj(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(l.dirname(QA()),{recursive:!0}),r.mkdirSync(l.dirname(ZA()),{recursive:!0}),ij(e,QA()),ij(t.sourcePath,ZA()),r.chmodSync(ZA(),493),r.rmSync(l.join(XA(),`url-handler.mjs`),{force:!0});let n=aj(ZA());return process.stdout.write(`Staged cc-candybar v${dk} runtime at ${XA()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:ZA(),distPath:QA(),entryKind:n}}function sj(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${$k}</string>`,` </array>`,` </dict>`,`</array>`].join(`
172
- `)}]}function cj(e){let t=JA();r.mkdirSync(l.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=D({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,$A(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=l.join(t,`Contents`,`Info.plist`);for(let{key:e}of sj())D({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of sj()){let n=D({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${$k}:// with Launch Services\n`);let a=D({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${WA}.app installed and registered.\n`),process.stdout.write(` Test: open '${$k}://hello-world' && pbpaste\n`)}function lj(){YA(),cj(oj().distPath)}function uj(e,t=$k){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:rA,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function dj(e){e||(process.stderr.write(`url-handle: missing URL argument.
173
- `),process.exit(1));let t;try{t=uj(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await gk(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(Fk(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(fj(n)+`
174
- `),process.exit(1)}function fj(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function pj(){return`✓ install complete.
168
+ Single-row example: root: { h: ["seg1", "seg2"] }`,line:G(e.source,[`layout`])}),t.root!==void 0&&(r.root=sm(e,`root`,t.root)),t.actions!==void 0&&(r.actions=HD(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:G(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=NO(e,t.styles)),t.themeDefaults!==void 0&&(r.themeDefaults=vf(e,t.themeDefaults)),t.presets!==void 0&&(r.presets=FO(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=Sf(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=IO(e,t.helpers)),t.plugins!==void 0&&(r.plugins=gA(e,t.plugins)),hm(e,r),Lb(e,r),$b(e,r),xp(e,r,_p,`the global settings menu`),r}const hA=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`themeDefaults`,`presets`,`editGlobals`,`helpers`,`plugins`]);function gA(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${Ku(t)}`,line:G(e.source,[`plugins`])})}function _A(e){let t=CA(e.termCols),n=CA(e.termRows),r=wA(e.ssh),i=xA(e.tmux),a=bA(e.configEnv),o=yA(e.claudeConfigDir),s=vA(e.mementoEnv);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r},...i!==void 0&&{tmux:i},...a!==void 0&&{configEnv:a},...o!==void 0&&{claudeConfigDir:o},...s!==void 0&&{mementoEnv:s}}}function vA(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=et.filter(e=>t[e]!==void 0);return n.every(e=>yA(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function yA(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function bA(e){return typeof e==`string`&&e!==``?gk(e):void 0}function xA(e){if(e===null)return null;if(typeof e!=`object`)return;let{socket:t,pane:n,truecolor:r}=e;if(!(typeof t!=`string`||t===``)&&!(typeof n!=`string`||n===``)&&!(r!==null&&(typeof r!=`string`||r===``)))return{socket:t,pane:n,truecolor:r}}const SA=1e4;function CA(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>SA?SA:t}function wA(e){return typeof e==`boolean`?e:void 0}function TA(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var EA=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function DA(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function OA(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new EA(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new EA(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function kA(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=OA(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(DA(t))})}async function AA(e,t,n){let r=null;try{r=await FA(Be(),t.connectMs);let i=await kA(r,{v:3,...e},t.budgetMs);return NA(e.kind,i,n)}catch(e){return PA(e)}finally{r&&r.destroy()}}function jA(e,t){return typeof e==`string`?e:t}function MA(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function NA(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=jA(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:MA(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function PA(e){if(e instanceof EA||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function FA(e,t){return new Promise((n,r)=>{let i=x.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function IA(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const LA=`1.124.0`,RA={connectMs:50,budgetMs:150},zA={connectMs:50,budgetMs:200};function BA(e){let t=e.output;return typeof t==`string`?t:void 0}function VA(e,t,n,r){return AA({kind:`render`,hookData:e,args:t,cwd:n,...r},RA,BA)}function HA(e,t){return AA({kind:`click`,verb:e,value:t,clientVersion:LA},zA,BA)}function UA(e){let t=[];for(let n of e){let e=n.read();if(e.kind===`text`)return`# memory report from: ${n.name}\n${e.text}`;t.push(`# ${n.name}: unavailable — ${e.reason}`)}return[`# memory report: no probe answered`,...t.length>0?t:[`# no probe is known for this platform`]].join(`
169
+ `)}function WA(e,t){return e===`darwin`?[GA(`footprint`,[`-p`,String(t)]),GA(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[KA(`/proc/self/smaps_rollup`),KA(`/proc/self/status`)]:[]}function GA(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=D({bin:e,args:[...t],timeoutMs:5e3,category:`limits.memory-report`});return n.ok?n.stdout.trim().length>0?{kind:`text`,text:n.stdout}:{kind:`unavailable`,reason:`exited 0 but printed nothing`}:{kind:`unavailable`,reason:`${n.reason}${n.error===void 0?``:`: ${n.error}`}${qA(n.stderr)}`}}}}function KA(e){return{name:e,read:()=>{try{let t=r.readFileSync(e,`utf8`);return t.trim().length>0?{kind:`text`,text:t}:{kind:`unavailable`,reason:`empty file`}}catch(e){return{kind:`unavailable`,reason:e.message}}}}}function qA(e){let t=e.split(`
170
+ `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const JA=`CC_CANDYBAR_RSS_LIMIT_MB`;function YA(e){let t=e[JA];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${JA} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function XA(e){return YA(e)*2}const ZA=1024*1024;function QA(e){return YA(e)*ZA}const $A={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function ej(e,t,n){let{prefix:r,suffix:i}=$A[t];return l.join(e,`${r}${n}${i}`)}function tj(e){for(let t of Object.keys($A)){let{prefix:n,suffix:r}=$A[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function nj(e){let t=e.rssLimitBytes??512*ZA,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let{rss:i,heapTotal:a}=e.memoryBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t} (v8 heap ${a}); recording memory then shutting down`);let o=`${new Date(e.now()).toISOString().replace(/[:.]/g,`-`)}-${e.pid}`;return rj(e.log,`memory report`,()=>{let t=ej(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),rj(e.log,`heap snapshot`,()=>{let t=ej(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),rj(e.log,`artifact rotation`,()=>{aj(e.listArtifacts(),n,e.removeFile)}),e.shutdown(0),!0}function a(){let{rss:n,heapTotal:r}=e.memoryBytes();return n>t*.75?`rss ${n} approaching limit ${t} (v8 heap ${r})`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function rj(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function ij(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=tj(t);if(n===null)return t;let{prefix:r,suffix:i}=$A[n];return t.slice(r.length,t.length-i.length)}function aj(e,t,n){let r=new Map;for(let t of e){let e=ij(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.keys()].sort((e,t)=>t.localeCompare(e));for(let e of i.slice(t))for(let t of r.get(e)??[])try{n(t)}catch{}}function oj(e,t,n={}){let i=ze();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Z,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>UA(WA(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>ie.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>tj(e)!==null).map(e=>l.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function sj(e={}){if(Cj()!==null)return;let n=e.spawn??wj,r=bj();if(r.kind===`contended`){let e=lj();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),cj(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),cj(n);return}try{cj(n)}finally{Sj()}}function cj(e){gj()&&uj(e)}function lj(){try{let e=r.statSync(Ye());return Date.now()-e.mtimeMs}catch{return null}}function uj(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
171
+ `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function dj(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function fj(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function pj(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function mj(e,n){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function hj(){try{r.unlinkSync(Ze())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function gj(){let e=Xe(),n=Ze(),r=pj(n),i=dj(_j(e),fj(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),vj(e),mj(n,Math.min(r+1,5)),!0)}function _j(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function vj(e){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let yj=null;function bj(){let e=Ye();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return yj={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!xj(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function xj(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function Sj(){if(!yj)return;let{fd:e,path:t}=yj;yj=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function Cj(){try{return r.mkdirSync(ze(),{recursive:!0}),null}catch(e){return`mkdir ${ze()}: ${e.message}`}}function wj(){let e=t.execPath,n=t.argv[1];return n?Ne({bin:e,args:[`--max-old-space-size=${XA(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const Tj=`cc-candybar`,Ej=`dispatch`,Dj=`set-state`,Oj=`step-state`,kj=`copy`,Aj=`open-vscode`,jj=`toolbar-toggle`,Mj=`show-config-error`,Nj=`show-config-warning`,Pj=`set-config`,Fj=`step-config`,Ij=`save`,Lj=`save-preset`,Rj=`save-theme-default`,zj=`delete-preset`,Bj=`reset-config`,Vj=`apply-layout-op`,Hj=`undo`,Uj=`redo`,Wj=`back`,Gj=`rewind`,Kj=`apply-update`,qj=`doctor-run`,Jj=`doctor-fix`,Yj=`doctor-probe`,Xj=`ceiling`,Zj=`slash`;function Qj(e){return e.map(encodeURIComponent).join(`/`)}function $j(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function eM(e){return`${Tj}://${Ej}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${Qj(e.args)}`)}`).join(`&`)}`}function tM(e){return new w(e).getAll(`e`).map(aM)}const nM=new Set([Dj,Bj]);function rM(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&iM(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function iM(e,t){if(e.verb!==t.verb||!nM.has(e.verb))return;let[n,r]=[aM(e.value),aM(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function aM(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const oM=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function sM(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function cM(e){return oM.test(e)?e:sM(e)}const lM=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function uM(e){let t=lM.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function dM(e){return e.join(`.`)}function fM([e,t,n],[r,i,a]){return e-r||t-i||n-a}const pM=`@promptctl/cc-candybar`;async function mM(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return X(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?uM(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function hM(e,t){let n=uM(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=fM(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function gM(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${dM(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${dM(t.installed)} is newer than the registry's latest release (${dM(t.latest)}): an unpublished build.\n`};case`stale`:{let n=dM(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${dM(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const _M=`CCCandybarURLHandler`,vM=[],yM={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function bM(e,t){return[e,...t].map(cM).join(` `)}function xM(){return l.join(h.homedir(),`Applications`,`${_M}.app`)}function SM(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function CM(){if(process.platform===`darwin`)return l.join(h.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??l.join(h.homedir(),`.local`,`share`);return l.join(e,`cc-candybar`)}function wM(){return l.join(CM(),`bin`,`cc-candybar`)}function TM(){return l.join(CM(),`dist`,`index.mjs`)}function EM(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
172
+ `)}function DM(e){let t=/do shell script "'([^']+)' '([^']+)' url-handle "/.exec(e);if(t===null)return null;let n=e=>e.replace(/\\"/g,`"`);return{node:n(t[1]),script:n(t[2])}}function OM(e){return l.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function kM(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:l.resolve(l.dirname(e),`..`,`dist`,`index.mjs`)}function AM(t){let n=yM[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:l.resolve(l.dirname(t),`..`,`bin`,`cc-candybar`)}}function jM(e,t){l.resolve(e)!==l.resolve(t)&&r.copyFileSync(e,t)}function MM(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${pM}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function NM(){let e=kM(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=AM(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(l.dirname(TM()),{recursive:!0}),r.mkdirSync(l.dirname(wM()),{recursive:!0}),jM(e,TM()),jM(t.sourcePath,wM()),r.chmodSync(wM(),493),r.rmSync(l.join(CM(),`url-handler.mjs`),{force:!0});let n=MM(wM());return process.stdout.write(`Staged cc-candybar v${LA} runtime at ${CM()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:wM(),distPath:TM(),entryKind:n}}function PM(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${Tj}</string>`,` </array>`,` </dict>`,`</array>`].join(`
173
+ `)}]}function FM(e){let t=xM();r.mkdirSync(l.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=D({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,EM(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=l.join(t,`Contents`,`Info.plist`);for(let{key:e}of PM())D({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of PM()){let n=D({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${Tj}:// with Launch Services\n`);let a=D({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${_M}.app installed and registered.\n`),process.stdout.write(` Test: open '${Tj}://hello-world' && pbpaste\n`)}function IM(){SM(),FM(NM().distPath)}function LM(e,t=Tj){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:kj,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function RM(e){e||(process.stderr.write(`url-handle: missing URL argument.
174
+ `),process.exit(1));let t;try{t=LM(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await HA(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(sj(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(zM(n)+`
175
+ `),process.exit(1)}function zM(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function BM(){return`✓ install complete.
175
176
  Restart Claude Code to pick up the new statusline.
176
- Tip: every bar carries a settings menu — click it (${bu} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/shade/endcaps/wrap/padding controls.\n`}async function mj(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...GA],i=oj();process.platform===`darwin`?cj(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
177
- `),hj(i.binPath,r,t),process.stdout.write(pj());let a=UA(BA,HA(dk,await VA(BA,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function hj(e,t,n,i){let a=i??ew($C(QC(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,c=[e,FA(e),PA(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}o.statusLine={type:`command`,command:qA(e,t)},Fe(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function gj(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function _j(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function vj(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function yj(e,t){let n=_j(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function bj(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function xj(e,t,n,r){let i=Sj(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function Sj(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function Cj(e){let t=!1;function n(){let n=xj(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function wj(e,t=D){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function Tj(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function Ej(e,t=wj){let n=t(e);return n.kind===`start`?n.token:null}const Dj=`CC_CANDYBAR_PARENT_PID`;function Oj(e){let t=e[Dj];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${Dj} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function kj(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function Aj(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function jj(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function Mj(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function Nj(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function Pj(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function Fj(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function Ij(e){if(!e.isolated)return{decision:Mj(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=Mj(!0,Fj(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function Lj(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function Rj(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Je(),ceiling:jj(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>Tj(e,t,{readStartTime:wj,pidAlive:Aj}),listFiles:Nj,readEntry:Pj,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?He:e=>{He(l.dirname(e)),He(e)},...t}}function zj(e){return e<32||e===127||e>=128&&e<=159}function Bj(e){let t=``;for(let n of e)t+=zj(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Vj(e,t){let n=Bj(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const Hj=`\x1B[38;2;255;255;255m`,Uj=`\x1B[48;2;200;40;40m`;function Wj(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const Gj={fg:Wj(Hj),bg:Wj(Uj)},Kj={fg:Wj(`\x1B[38;2;0;0;0m`),bg:Wj(`\x1B[48;2;220;160;40m`)},qj=new yi({"strip.separator":`default`,"strip.rail":`default`});function Jj(e){return qj.resolve(e)}function Yj(e,t){return eo(e,{...t,theme:qj,onStyleError:e=>{throw e}})}const Xj=new Map;function Zj(e){let t=Xj.get(e);if(t!==void 0)return t;let n=t=>{let n=t.seam.map(t=>({...t,glyph:e}));return{...t,seam:n,divider:n}},{shape:r,ascii:i}=Za.plain,a=new Fa(n(r),Bs(e)?n(i):i);return Xj.set(e,a),a}function Qj(e,t){return e===`plain`&&t!==void 0?Zj(t):Za[e]}const $j=e=>({asciiOnly:e===`ascii`}),eM=new Map;function tM(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=eM.get(t);if(n!==void 0)return n;let r=Qj(e.endcaps,e.separator),i=e=>new W(`x`,{end:``,overflow:`ignore`,style:new V({bgcolor:e})}),a=t=>new W(Yj(new ha(t,r),{colorSystem:null,...$j(e.charset)}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return eM.set(t,s),s}function nM(e){return tM(e).chrome}function rM(e){return tM(e).seam}function iM(e,t){if(e.length===0)return``;let n=Qj(t.endcaps,t.separator),r={colorSystem:t.colorCompatibility,...$j(t.charset)},i=t.wrap&&Number.isFinite(t.width)?Yj(new oo([...e],{joiner:n}),{width:t.width,...r}):Yj(new ha([...e],n),r);if(!i.endsWith(`
178
- `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return i.slice(0,-1)}function aM(e){return Math.min(20,e??20)}const oM={heading:`ERROR`,glyph:`⚠`,colors:Gj},sM={heading:`WARNING`,glyph:`⚠`,colors:Kj},cM={heading:`UPDATE`,glyph:`⬆`,colors:Kj};function lM(e,t){return{text:Bj(e),link:t}}function uM(e,t,n){let[r,...i]=[dM(e,oM,oA),t,dM(n,sM,sA)].flat();return r===void 0?null:{channels:[r,...i]}}function dM(e,t,n){let r=DA([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>lM(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function fM(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
179
- `)}function pM(e,t,n,r){if(t===null)return e;let i=mM(r),a=t.channels.flatMap(e=>hM(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[gM(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
180
- `);return e?`${l}\n${e}`:l}function mM(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function hM(e,t){let n=new V({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=Kt(Math.max(2,t.width-1)),i=(e,t)=>new W(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>iM([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>Zt(e,r)).map(e=>i(e,t))})],t).split(`
181
- `))}function gM(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new V({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new W(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(oe(a.path).href)):c(`full text unavailable: ${Bj(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Bj(o),s.withLink(oe(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=W.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,iM([m],r)}const _M=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function vM(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function yM(e,t){return r.readdirSync(t).filter(_M).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?yM(e,i):[[l.relative(e,i).split(l.sep).join(`/`),vM(i,a)]]})}function bM(e){let t=se.createHash(`sha256`);for(let[n,r]of yM(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const xM=e=>e.slice(0,7);function SM(e){return l.dirname(l.dirname(e))}function CM(){return{version:dk,digest:`30dc7361fff1c302f0b219c9bcb0f83d2638920fe266929cc242ba494328105b`}}function wM(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function TM(e,t){try{let n=SM(T(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=bM(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:wM(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var $=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};function EM(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function DM(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function OM(e,t,n){let r=al(e,new Set(n.map(il).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const kM=/^-?\d+$/;function AM(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function jM(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!kM.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function MM(e,t,n){return r=>r?kM.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function NM(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!kM.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function PM(e){return e===`config`?`set-config`:`set-state`}function FM(e,t,n){return t.kind===`int`?jM(`menu page "${e}"`):t.kind===`range`?MM(t.min,t.max,`${n} stepper "${e}"`):AM(t.allowed,`${n} "${e}"`,PM(n))}function IM(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:NM(e,n,t)}))}function LM(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of IM(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,FM(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function RM(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};LM(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=LM(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const zM=RM({},`config`,KM);function BM(e,t){return zM.register(e,t)}function VM(e){return zM.gateFor(e)}function HM(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:YS(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[EM({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[EM({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:YS(e.insertSegmentFrom,t).members.map(t=>EM({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function UM(e,t){let n=cd(e).get(t);return n===void 0?null:String(n)}function WM(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?lC(n.persist):null;e?.scope===`preset-root`&&t.add(sC(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function GM(e){let t=YT(e);return[...WM(e),...Object.values(e.actions).flatMap(e=>HM(e,t))]}function KM(e){return IM(GM(e),`config`)}const qM=ZC(`commands.`),JM=uw(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),YM=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,XM=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${YM}) (basename .project_dir) (ne (${YM}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,ZM=`{{ ${SC} }}`,QM={min:0,max:100,step:5},$M={warnAt:{label:`warning at %`,domain:QM,default:50},errorAt:{label:`error at %`,domain:{...QM,atLeast:`warnAt`},default:80}};function eN(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:QM,default:80}}}const tN={globals:{palette:`tokyo-night`},variables:{...qM.variables,...xS,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``},"activity.ticket.id":{kind:`input`,path:`activity.ticket.id`,type:`string`,default:``},"activity.ticket.phase":{kind:`input`,path:`activity.ticket.phase`,type:`string`,default:``},"activity.ticket.epic.done":{kind:`input`,path:`activity.ticket.epic.done`,type:`number`,default:0},"activity.ticket.epic.total":{kind:`input`,path:`activity.ticket.epic.total`,type:`number`,default:0},"activity.ticket.unread":{kind:`input`,path:`activity.ticket.unread`,type:`string`,default:``},"ticket.detail":{kind:`state`,key:`ticket-detail`,default:`collapsed`}},segments:{directory:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:XM},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:ZM,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:BC(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:qM.template,when:qM.when},themeSwitcher:{group:`session-tools`,description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{group:`cost-limits`,description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:eN(0)},today:{group:`cost-limits`,description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:eN(50)},block:{group:`cost-limits`,description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:$M,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:$M,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .settings.errorWithin "warning" .settings.warnWithin (tint) }}`,settings:{errorWithin:{label:`error within (min)`,domain:{min:0,max:300,step:5},default:30},warnWithin:{label:`warning within (min)`,domain:{min:0,max:300,step:5,atLeast:`errorWithin`},default:60}},when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{group:`activity`,description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${Go} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-context`,description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{group:`model-context`,description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:JM.template,bg:JM.bg,when:JM.when},metrics:{group:`activity`,description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},ticket:{group:`activity`,description:`The lit ticket this session started; expands to its workflow phase and its epic's done/total.`,template:`🎫 {{ action "copyTicket" .activity.ticket.id }}{{ if eq .ticket.detail "expanded" }} · {{ .activity.ticket.phase }}{{ if .activity.ticket.epic.total }} · epic {{ .activity.ticket.epic.done }}/{{ .activity.ticket.epic.total }}{{ end }}{{ if .activity.ticket.unread }} · ⚠ unreadable {{ abbrev 40 .activity.ticket.unread }}{{ end }}{{ end }} {{ action "ticketDetail" "▸" "◂" }}`,when:`{{ ne .activity.ticket.id "" }}`},activity:{group:`activity`,description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`ticket`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...BC(``).actions,...qM.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},ticketDetail:{set:`ticket-detail`,cycle:[`collapsed`,`expanded`]},copyTicket:{copy:`{{ .activity.ticket.id }}`},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},...JM.actions},styles:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{endcaps:`plain`,style:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${Go}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:dw(`.`),formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},nN=new Set([tN.globals.palette,...Object.values(tN.segments).map(e=>e.palette)].filter(e=>e!==void 0)),rN=hu(RO(`<default>`,JSON.stringify(tN),nN),tN),iN=ay(rN.presets);function aN(e){return iN.includes(e)}function oN(e){if(!e)return 0;try{return s(e).mtimeMs}catch{return 0}}const sN=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function cN(e){return((...t)=>sN.run(()=>e(...t)))}const lN=cN(ee),uN=cN(C),dN=cN(te);async function fN(e,t){return sN.run(async()=>{let n=null;try{n=await S(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{E(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function pN(e,t){return sN.run(async()=>{let n=null;try{n=await S(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return J({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?Y:X(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{E(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const mN=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function hN(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function gN(e){let t=await _N(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function _N(e){for(let t of[65536,1048576]){let n=await pN(e,t);if(n.kind!==`ok`)return n;let r=vN(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function vN(e,t){let n=e.toString(`utf8`).split(`
182
- `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!mN.test(t))continue;let r=hN(t);if(r!=null)return r}return null}function yN(e,t){return{...e,claudeConfigDir:$C(t.claudeConfigDir),env:t.mementoEnv}}const bN=l.join(`lib`,`ceiling_config.py`),xN=l.join(`skills`,`ceiling`,`bin`,`ceiling`);function SN(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function CN(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return X(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return J(n)}function wN(e,t){if(!r.existsSync(e))return Y;let n;try{n=SN(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return X(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return Y;let a=CN([l.join(l.dirname(l.dirname(e)),`settings.json`),l.join(t,`.claude`,`settings.json`),l.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[bN,xN].filter(e=>!r.existsSync(l.join(i.installPath,e)));return o.length===0?J(i.installPath):X(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function TN(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:et]);return{...Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))),...e.env,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function EN(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function DN(e){let t;try{t=JSON.parse(e)}catch{return X(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?J({ceiling:i,session:r}):X(`memento read: unexpected answer: ${e.trim()}`)}async function ON(e,t){let n=await Me({bin:`python3`,args:[`-c`,`
177
+ Tip: every bar carries a settings menu — click it (${Pd} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/shade/endcaps/wrap/padding controls.\n`}async function VM(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...vM],i=NM();process.platform===`darwin`?FM(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
178
+ `),HM(i.binPath,r,t),process.stdout.write(BM());let a=gM(pM,hM(LA,await mM(pM,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function HM(e,t,n,i){let a=i??xT(bT(yT(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,c=[e,cM(e),sM(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}o.statusLine={type:`command`,command:bM(e,t)},Fe(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function UM(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function WM(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function GM(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function KM(e,t){let n=WM(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function qM(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function JM(e,t,n,r){let i=YM(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function YM(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function XM(e){let t=!1;function n(){let n=JM(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function ZM(e,t=D){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function QM(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function $M(e,t=ZM){let n=t(e);return n.kind===`start`?n.token:null}const eN=`CC_CANDYBAR_PARENT_PID`;function tN(e){let t=e[eN];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${eN} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function nN(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function rN(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function iN(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function aN(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function oN(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function sN(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function cN(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function lN(e){if(!e.isolated)return{decision:aN(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=aN(!0,cN(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function uN(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function dN(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Je(),ceiling:iN(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>QM(e,t,{readStartTime:ZM,pidAlive:rN}),listFiles:oN,readEntry:sN,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?He:e=>{He(l.dirname(e)),He(e)},...t}}function fN(e){return e<32||e===127||e>=128&&e<=159}function pN(e){let t=``;for(let n of e)t+=fN(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function mN(e,t){let n=pN(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const hN=`\x1B[38;2;255;255;255m`,gN=`\x1B[48;2;200;40;40m`;function _N(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const vN={fg:_N(hN),bg:_N(gN)},yN={fg:_N(`\x1B[38;2;0;0;0m`),bg:_N(`\x1B[48;2;220;160;40m`)},bN=new Ai({"strip.separator":`default`,"strip.rail":`default`});function xN(e){return bN.resolve(e)}const SN=RegExp(`\\x1b\\[[0-9;]*m|${la.source}`,`g`),CN={kind:`still`},wN=si;function TN(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t/4294967296}var EN=class{inForce=null;rows=new Map;frame={effect:Hc,t:0,made:0,reused:0};constructor(e){this.key=e}lastFrame(){return this.frame}get rowCount(){return this.rows.size}motion(e,t){this.inForce?.name!==e&&(this.inForce={name:e,since:t},this.rows.clear());let n=this.rows,r=new Map;this.rows=r;let i=t-this.inForce.since,a={effect:e,t:i,made:0,reused:0};if(this.frame=a,e===`none`)return()=>CN;let o=ls.loops[e];return e=>({kind:`moving`,wrap:(t,s)=>{let c=`${this.key}#${e}`,l=n.get(e),u=l?.span===s,d=u?l.effect:o({span:s,z:TN(c)*4096});return a[u?`reused`:`made`]++,r.set(e,{span:s,effect:d}),new ho(t,d,{t:i,key:c,theme:wN})}})}},DN=class{sessions=new Map;constructor(e=256){this.maxSessions=e}of(e){let t=this.sessions.get(e)??new EN(e);this.sessions.delete(e),this.sessions.set(e,t);for(let e of this.sessions.keys()){if(this.sessions.size<=this.maxSessions)break;this.sessions.delete(e)}return t}getStats(){let e=0;for(let t of this.sessions.values())e+=t.rowCount;return{sessions:this.sessions.size,rows:e}}};function ON(e){return Math.max(0,...e.split(`
179
+ `).map(e=>k(e.replace(SN,``))))}function kN(e,t){return mo(e,{...t,theme:bN,onStyleError:e=>{throw e}})}const AN=new Map;function jN(e){let t=AN.get(e);if(t!==void 0)return t;let n=t=>{let n=t.seam.map(t=>({...t,glyph:e}));return{...t,seam:n,divider:n}},{shape:r,ascii:i}=uo.plain,a=new Ja(n(r),$c(e)?n(i):i);return AN.set(e,a),a}function MN(e,t){return e===`plain`&&t!==void 0?jN(t):uo[e]}const NN=e=>({asciiOnly:e===`ascii`}),PN=new Map;function FN(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=PN.get(t);if(n!==void 0)return n;let r=MN(e.endcaps,e.separator),i=e=>new W(`x`,{end:``,overflow:`ignore`,style:new V({bgcolor:e})}),a=t=>new W(kN(new Oa(t,r),{colorSystem:null,...NN(e.charset)}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return PN.set(t,s),s}function IN(e){return FN(e).chrome}function LN(e){return FN(e).seam}function RN(e,t,n=CN){if(e.length===0)return``;let r=MN(t.endcaps,t.separator),i=t.wrap&&Number.isFinite(t.width),a={colorSystem:t.colorCompatibility,...NN(t.charset),...i?{width:t.width}:{}},o=i?new hs([...e],{joiner:r}):new Oa([...e],r),s=n.kind===`still`?kN(o,a):kN(n.wrap(o,ON(kN(o,a))),a);if(!s.endsWith(`
180
+ `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return s.slice(0,-1)}function zN(e){return Math.min(20,e??20)}const BN={heading:`ERROR`,glyph:`⚠`,colors:vN},VN={heading:`WARNING`,glyph:`⚠`,colors:yN},HN={heading:`UPDATE`,glyph:`⬆`,colors:yN};function UN(e,t){return{text:pN(e),link:t}}function WN(e,t,n){let[r,...i]=[GN(e,BN,Mj),t,GN(n,VN,Nj)].flat();return r===void 0?null:{channels:[r,...i]}}function GN(e,t,n){let r=eM([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>UN(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function KN(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
181
+ `)}function qN(e,t,n,r){if(t===null)return e;let i=JN(r),a=t.channels.flatMap(e=>YN(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[XN(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
182
+ `);return e?`${l}\n${e}`:l}function JN(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function YN(e,t){let n=new V({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=qt(Math.max(2,t.width-1)),i=(e,t)=>new W(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>RN([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>Qt(e,r)).map(e=>i(e,t))})],t).split(`
183
+ `))}function XN(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new V({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new W(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(oe(a.path).href)):c(`full text unavailable: ${pN(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(pN(o),s.withLink(oe(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=W.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,RN([m],r)}const ZN=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function QN(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function $N(e,t){return r.readdirSync(t).filter(ZN).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?$N(e,i):[[l.relative(e,i).split(l.sep).join(`/`),QN(i,a)]]})}function eP(e){let t=se.createHash(`sha256`);for(let[n,r]of $N(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const tP=e=>e.slice(0,7);function nP(e){return l.dirname(l.dirname(e))}function rP(){return{version:LA,digest:`8cd5ef98f7cf951d7672a0fba55d3ba9ca342c3dbe119361cecf812efa0b84c2`}}function iP(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function aP(e,t){try{let n=nP(T(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=eP(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:iP(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var $=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};function oP(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function sP(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function cP(e,t,n){let r=vu(e,new Set(n.map(_u).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const lP=/^-?\d+$/;function uP(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function dP(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!lP.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function fP(e,t,n){return r=>r?lP.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function pP(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!lP.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function mP(e){return e===`config`?`set-config`:`set-state`}function hP(e,t,n){return t.kind===`int`?dP(`menu page "${e}"`):t.kind===`range`?fP(t.min,t.max,`${n} stepper "${e}"`):uP(t.allowed,`${n} "${e}"`,mP(n))}function gP(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:pP(e,n,t)}))}function _P(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of gP(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,hP(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function vP(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};_P(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=_P(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const yP=vP({},`config`,EP);function bP(e,t){return yP.register(e,t)}function xP(e){return yP.gateFor(e)}function SP(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:pw(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[oP({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[oP({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:pw(e.insertSegmentFrom,t).members.map(t=>oP({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function CP(e,t){let n=Df(e).get(t);return n===void 0?null:String(n)}function wP(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?Aw(n.persist):null;e?.scope===`preset-root`&&t.add(Ew(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function TP(e){let t=bD(e);return[...wP(e),...Object.values(e.actions).flatMap(e=>SP(e,t))]}function EP(e){return gP(TP(e),`config`)}const DP={},OP=vT(`commands.`),kP=jT(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),AP=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,jP=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${AP}) (basename .project_dir) (ne (${AP}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,MP=`{{ ${Uw} }}`,NP={min:0,max:100,step:5},PP={warnAt:{label:`warning at %`,domain:NP,default:50},errorAt:{label:`error at %`,domain:{...NP,atLeast:`warnAt`},default:80}};function FP(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:NP,default:80}}}const IP={globals:{palette:`tokyo-night`},variables:{...OP.variables,...zC,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``},"activity.ticket.id":{kind:`input`,path:`activity.ticket.id`,type:`string`,default:``},"activity.ticket.phase":{kind:`input`,path:`activity.ticket.phase`,type:`string`,default:``},"activity.ticket.epic.done":{kind:`input`,path:`activity.ticket.epic.done`,type:`number`,default:0},"activity.ticket.epic.total":{kind:`input`,path:`activity.ticket.epic.total`,type:`number`,default:0},"activity.ticket.unread":{kind:`input`,path:`activity.ticket.unread`,type:`string`,default:``},"ticket.detail":{kind:`state`,key:`ticket-detail`,default:`collapsed`}},segments:{directory:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:jP},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:MP,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:sT(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:OP.template,when:OP.when},themeSwitcher:{group:`session-tools`,description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{group:`cost-limits`,description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:FP(0)},today:{group:`cost-limits`,description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:FP(50)},block:{group:`cost-limits`,description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:PP,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:PP,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .settings.errorWithin "warning" .settings.warnWithin (tint) }}`,settings:{errorWithin:{label:`error within (min)`,domain:{min:0,max:300,step:5},default:30},warnWithin:{label:`warning within (min)`,domain:{min:0,max:300,step:5,atLeast:`errorWithin`},default:60}},when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{group:`activity`,description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${$s} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-context`,description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{group:`model-context`,description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:kP.template,bg:kP.bg,when:kP.when},metrics:{group:`activity`,description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},ticket:{group:`activity`,description:`The lit ticket this session started; expands to its workflow phase and its epic's done/total.`,template:`🎫 {{ action "copyTicket" .activity.ticket.id }}{{ if eq .ticket.detail "expanded" }} · {{ .activity.ticket.phase }}{{ if .activity.ticket.epic.total }} · epic {{ .activity.ticket.epic.done }}/{{ .activity.ticket.epic.total }}{{ end }}{{ if .activity.ticket.unread }} · ⚠ unreadable {{ abbrev 40 .activity.ticket.unread }}{{ end }}{{ end }} {{ action "ticketDetail" "▸" "◂" }}`,when:`{{ ne .activity.ticket.id "" }}`},activity:{group:`activity`,description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`ticket`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...sT(``).actions,...OP.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},ticketDetail:{set:`ticket-detail`,cycle:[`collapsed`,`expanded`]},copyTicket:{copy:`{{ .activity.ticket.id }}`},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},...kP.actions},styles:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},themeDefaults:DP,presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{endcaps:`plain`,style:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${$s}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:MT(`.`),formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},LP=new Set([IP.globals.palette,...Object.keys(IP.themeDefaults),...Object.values(IP.segments).map(e=>e.palette)].filter(e=>e!==void 0)),RP=kd(uA(`<default>`,JSON.stringify(IP),LP),IP),zP=Cb(RP.presets);function BP(e){return zP.includes(e)}const VP=Object.freeze({});function HP(e,t){return e.kind===`decided`?t[e.name]??VP:VP}function UP(e,t){return{...e,...Object.fromEntries(Tu.map(n=>[n,e[n]??t[n]]))}}function WP(e){if(!e)return 0;try{return s(e).mtimeMs}catch{return 0}}const GP=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function KP(e){return((...t)=>GP.run(()=>e(...t)))}const qP=KP(ee),JP=KP(C),YP=KP(te);async function XP(e,t){return GP.run(async()=>{let n=null;try{n=await S(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{E(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function ZP(e,t){return GP.run(async()=>{let n=null;try{n=await S(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return J({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?Y:X(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{E(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const QP=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function $P(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function eF(e){let t=await tF(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function tF(e){for(let t of[65536,1048576]){let n=await ZP(e,t);if(n.kind!==`ok`)return n;let r=nF(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function nF(e,t){let n=e.toString(`utf8`).split(`
184
+ `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!QP.test(t))continue;let r=$P(t);if(r!=null)return r}return null}function rF(e,t){return{...e,claudeConfigDir:bT(t.claudeConfigDir),env:t.mementoEnv}}const iF=l.join(`lib`,`ceiling_config.py`),aF=l.join(`skills`,`ceiling`,`bin`,`ceiling`);function oF(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function sF(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return X(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return J(n)}function cF(e,t){if(!r.existsSync(e))return Y;let n;try{n=oF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return X(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return Y;let a=sF([l.join(l.dirname(l.dirname(e)),`settings.json`),l.join(t,`.claude`,`settings.json`),l.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[iF,aF].filter(e=>!r.existsSync(l.join(i.installPath,e)));return o.length===0?J(i.installPath):X(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function lF(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:et]);return{...Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))),...e.env,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function uF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function dF(e){let t;try{t=JSON.parse(e)}catch{return X(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?J({ceiling:i,session:r}):X(`memento read: unexpected answer: ${e.trim()}`)}async function fF(e,t){let n=await Me({bin:`python3`,args:[`-c`,`
183
185
  import json, math, sys
184
186
  sys.path.insert(0, sys.argv[1])
185
187
  from ceiling_config import CONFIG_NAME, anchored, ceiling_in, in_force, session_directory
@@ -188,41 +190,41 @@ ceiling = in_force(directory, anchored(sys.argv[3]))
188
190
  layer = ceiling_in(directory / CONFIG_NAME)
189
191
  print(json.dumps({"ceiling": "off" if ceiling == math.inf else ceiling,
190
192
  "session": layer.text if layer else None}))
191
- `,l.join(e,`lib`),t.sessionId,t.cwd],env:TN(t),timeoutMs:3e3,category:`memento.read`});return n.ok?DN(n.stdout):X(EN(n))}function kN(e,t,n){let r=D({bin:l.join(e,xN),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:TN(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(EN(r))}function AN(){return{locate:e=>wN(tw(e.claudeConfigDir),e.projectDir),read:ON,move:kN}}function jN(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${FA(n)} `,i=e.added_dirs.map(e=>` --add-dir ${FA(e)}`).join(``);return`cd ${FA(e.project_dir)} && ${r}claude --resume ${FA(t)}${i}`}function MN(e,t,n){let r=oy(t(`preset`),e.globals.preset,e.presets),i=ly(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:VS(a.palette,t(`theme`),i.palette),style:Ns(a.style,t(`style`),i.style,e.styles),endcaps:Rs(a.endcaps,t(`endcaps`),i.endcaps),variation:Ks(a.variation,t(`variation`),i.variation),shade:Ys(a.shade,t(`shade`),i.shade),separator:a.default_separator??i.default_separator,autoWrap:rc(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:ac(a.padding,t(`padding`),i.padding),charset:a.charset??i.charset??`unicode`,updateNotice:ic(a.updateNotice,t(`updateNotice`),i.updateNotice),colorCompatibility:a.colorCompatibility??i.colorCompatibility??`truecolor`}}function NN(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function PN(e){return{theme:e.theme,style:e.style,preset:e.preset,variation:e.variation,shade:e.shade}}function FN(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:aN(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},shade:{effective:e.shade},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice}}}const IN=10*1e3;function LN(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function RN(e,t){if(!(t<60))return e*3600/t}function zN(e,t,n,r){let i=r-t;if(i<50||i>IN)return;let a=n-e;if(!(a<=0))return a*1e3/i}function BN(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=zN(t.input,t.atMs,n.input,n.atMs),i=zN(t.output,t.atMs,n.output,n.atMs),a=zN(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function VN(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>IN)continue;let o=zN(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function HN(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function UN(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>HN(h.hostname())),i=n(`user`,()=>h.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function WN(e,t){let n=new Map;for(let[t,r]of Object.entries(e.variables))n.set(t,r);for(let[t,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))n.set(`${t}.${e}`,i);let r=[],i=new Set,a=t=>Yy(t,e.helpers).keys(),o=ly(e,t);for(let e of Es){let t=o[e];if(Ds(t))for(let e of a(t))r.push(e)}for(let n of sl(cy(e,t).node)){if(n.when)for(let e of a(n.when))r.push(e);if(n.kind!==`segment`)continue;let t=e.segments[n.name];if(t){for(let e of[t.template,t.when,t.bg,t.fg])if(e)for(let t of a(e))r.push(t)}}let s=new Set;for(;r.length>0;){let e=r.pop();for(let t of KN(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)s.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return s}function GN(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=WN(e,n);return t.set(n,i),i}}function KN(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function qN(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function JN(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function YN(e,t,n,r,i,a,o,{configPath:s,...c}){let l=e=>qN(i,e),u=Zx(t).getTime(),d=o.tmux??null,f=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[p,m,h,g,_,v,y,b,x,S,C]=await Promise.all([f(`git`,l(`git`),()=>n.gitProvider.getGitInfo(r??e.workspace?.current_dir,JN(i),e.workspace?.project_dir)),f(`session`,l(`session.cost`)||l(`session.tokens`)||l(`burn`),()=>n.usageStore.getUsageInfo(e.session_id,e)),f(`today`,l(`today`),()=>n.usageStore.getTodayInfo(e,o.claudeConfigDir,t)),f(`context`,l(`context`)||l(`autocompact`),()=>n.contextProvider.getContextInfo(e)),f(`metrics`,l(`metrics`)||l(`burn`),()=>n.metricsProvider.getMetricsInfo(e.session_id,e)),f(`activity`,l(`activity`),()=>n.activityProvider.getActivityInfo(e.session_id,e)),f(`tmux`,l(`tmux.session`),()=>d===null?Promise.resolve(Y):n.tmuxService.getSessionName(d)),f(`cache`,l(`cache`),()=>gN(e.transcript_path)),f(`speed`,l(`speed`),()=>n.usageStore.observeSpeed(e.session_id,e.transcript_path,u)),f(`memento`,l(`memento`),()=>n.mementoProvider.getCeiling(yN({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:r??e.workspace?.current_dir??``},o))),f(`autocompact`,l(`autocompact`),()=>Promise.resolve(n.autoCompact(ew($C(o.claudeConfigDir)))))]),ee=[],te=e=>{if(e.kind===`failed`){ee.push(e.reason);return}return e.kind===`ok`?e.value:void 0},ne=rP(p,u);ee.push(...ne.failures);let re=UN(o);ee.push(...re.failures);let ie=te(m),ae=te(h),w=te(g),T=te(_),oe=te(v),se=te(y),ce=te(b),le=QN(S);S.kind===`failed`&&ee.push(`memento: ${S.reason}`);let ue=XN(C,w?.maxTokens);C.kind===`failed`&&ee.push(`autocompact: ${C.reason}`);for(let e of ee)n.log(`warn`,`provider fetch failed: ${e}`);let de=e.rate_limits?.five_hour,fe=e.rate_limits?.seven_day,pe=de?LN(de.used_percentage,de.resets_at,18e6,u):void 0,me=fe?LN(fe.used_percentage,fe.resets_at,6048e5,u):void 0,he=ie?.session.cost,ge=T?.sessionDuration,_e=l(`burn`)&&he!=null&&ge!=null?RN(he,ge):void 0,ve=te(x),ye=ve===void 0?void 0:BN(ve),be=ve===void 0?void 0:VN(ve),xe=ye!==void 0||be!==void 0?{...ye,...be!==void 0&&{history:be}}:void 0,E=nP(process.env.HOME??process.env.USERPROFILE),Se=e.workspace?{...e.workspace,current_dir:nP(e.workspace.current_dir)??``,project_dir:nP(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>nP(e)??e)}:e.workspace,Ce=ie===void 0?void 0:tP({cost:ie.session.cost,tokens:ie.session.tokens}),we=ae===void 0?void 0:{cost:ae.cost,tokens:ae.tokens},Te=T===void 0?void 0:tP({lastResponseTime:T.lastResponseTime,responseTime:T.responseTime,sessionDuration:T.sessionDuration,messageCount:T.messageCount,linesAdded:T.linesAdded,linesRemoved:T.linesRemoved}),Ee=oe===void 0?void 0:$N(oe);return{...e,...Se!==void 0&&{workspace:Se},...E!==void 0&&{home:E},...ne.git!==void 0&&{git:ne.git},...d!==null&&{tmux:{pane:d.pane,...se!==void 0&&{session:se}}},host:re.host,...FN(a),history:n.history(e.session_id),navigation:{back:n.navigation(e.session_id)},...c,...s!==null&&{configPath:s},resumeCommand:jN(Se,e.session_id,o.claudeConfigDir),...Ce!==void 0&&{session:Ce},...we!==void 0&&{today:we},..._e!==void 0&&{burn:{costPerHour:_e}},...xe!==void 0&&{speed:xe},...l(`block`)&&de!==void 0&&{block:{nativeUtilization:de.used_percentage,resetsAt:de.resets_at,...pe!==void 0&&{etaMinutes:pe}}},...fe!==void 0&&{weekly:{percentage:fe.used_percentage,resetsAt:fe.resets_at,...me!==void 0&&{etaMinutes:me}}},...ce!==void 0&&{cache:{expiresAt:ce}},...w!==void 0&&{context:{totalTokens:w.totalTokens,contextLeft:w.contextLeftPercentage}},...Te!==void 0&&{metrics:Te},...Ee!==void 0&&{activity:Ee},...le!==void 0&&{memento:le},...ue!==void 0&&{autocompact:ue}}}function XN(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return lw(e.value,t)}}const ZN=e=>e.trim().split(`
192
- `).at(-1).trim();function QN(e){switch(e.kind){case`absent`:return;case`failed`:return{error:ZN(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function $N(e){let t=e.todos.findIndex(e=>e.active),n=e.todos.length===0?void 0:{total:e.todos.length,completed:e.todos.filter(e=>e.done).length,...t>=0&&{position:t+1,active:e.todos[t].text}},r=eP(e.running),i=eP(e.done),a=r===void 0&&i===void 0?void 0:{...r!==void 0&&{running:r},...i!==void 0&&{done:i}},o=e.ticket===null?void 0:{id:e.ticket.id,phase:e.ticket.phase,...e.ticket.epic!==null&&{epic:e.ticket.epic},...e.ticket.unread!==null&&{unread:e.ticket.unread}};if(!(o===void 0&&e.command===null&&n===void 0&&a===void 0))return{...o!==void 0&&{ticket:o},...e.command!==null&&{command:e.command},...n!==void 0&&{todo:n},...a!==void 0&&{tool:a}}}function eP(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function tP(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function nP(e){return e===void 0||e.length===0||l.sep!==`\\`?e:e.replace(/\\/g,`/`)}function rP(e,t){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let n=e.value,r=[],i=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){r.push(`git.${e}: ${t.reason}`);return}return t.value}},a=i(`aheadBehind`,n.aheadBehind),o=i(`sha`,n.sha),s=i(`operation`,n.operation),c=i(`timeSinceCommit`,n.committedAt),l=c===void 0?void 0:Math.floor((t-c)/1e3),u=i(`stash`,n.stashCount),d=i(`upstream`,n.upstream),f=i(`repoName`,n.repoName),p=i(`repoUrl`,n.repoUrl),m=n.pullRequest,h={};return m?.kind===`ok`?(h.prNumber=m.value.number,h.prState=m.value.state,h.prUrl=m.value.url):m?.kind===`failed`&&(r.push(`git.pr: ${m.reason}`),h.prError=m.reason),{git:{branch:n.branch,status:n.status,...a!==void 0&&{ahead:a.ahead,behind:a.behind},...n.workingTree!==void 0&&{staged:n.workingTree.staged,unstaged:n.workingTree.unstaged,untracked:n.workingTree.untracked,conflicts:n.workingTree.conflicts},...o!==void 0&&{sha:o},...s!==void 0&&{operation:s},...l!==void 0&&{timeSinceCommit:l},...u!==void 0&&{stash:u},...d!==void 0&&{upstream:d},...f!==void 0&&{repoName:f},...p!==void 0&&{repoUrl:p},...h},failures:r}}const iP={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,shade:e=>e.shade,autoWrap:e=>e.autoWrap?Xs:Zs,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?Xs:Zs},aP=Object.entries(CS),oP=new Set(wS.map(e=>e.sessionKey)),sP=()=>!1;function cP(e,t){return MN(e,e=>oP.has(e)?t(e):null,sP)}function lP(e,t,n,r){return e.flatMap(([e,i])=>{let a=iP[e](t);return a===null||a===iP[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function uP(e,t,n){return iP[n](cP(e,t))}function dP(e,t){let n=cP(e,t),r=MN(e,()=>null,sP),i=MN(e,e=>e===CS.preset.sessionKey?n.preset:null,sP);return lP(aP,n,e=>e===`preset`?r:i,t=>fP(e,n.preset,t.configKey))}function fP(e,t,n){return n in(sy(e.presets,t).globals??{})?cC(t,n):n}function pP(e,t,n){let r=oy(t(CS.preset.sessionKey),e.globals.preset,e.presets),i=lC(n);return{key:i?.scope===`globals`?fP(e,r,i.field):n,globals:ly(e,r)}}function mP(e,t){let{preset:n}=cP(e,t);return _P(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Sl(a,s);return c===void 0||xl(c)===xl(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function hP(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return ay(e.presets).flatMap(n=>{let i=_P(e,n);return[...new Set(i.filter(e=>r.has(e.key)).map(e=>e.id))].flatMap(e=>{let n=i.filter(t=>t.id===e);return yl(Object.fromEntries(n.map(e=>[e.setting,e.decl])),Object.fromEntries(n.map(e=>{let n=r.get(e.key)??t(e.key),i=n===null?void 0:Sl(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const gP=new WeakMap;function _P(e,t){let n=gP.get(e)??new Map;gP.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...sl(cy(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=_l(e.segments[t.name])[n];return{id:r,setting:n,key:i,decl:a,saved:t.settings?.[n]??a.default}})),a=[...new Map(i.map(e=>[e.key,e])).values()];return n.set(t,a),a}function vP(e,t){let n=cP(e,t),r=MN(e,e=>e===CS.preset.sessionKey?n.preset:null,sP);return{from:n.preset,globals:sy(e.presets,n.preset).globals??{},picks:lP(aP.filter(([e])=>e!==`preset`),n,()=>r,e=>e.configKey),placements:mP(e,t)}}function yP(e){return{sessionKeys:wS.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...Qu(e)?iN.map(t=>cC(t,e)):[]]}}function bP(e){return new Set(wS.map(e=>e.configKey).filter(t=>yP(t).fileKeys.some(t=>CP(e,SP(t)))))}function xP(e,t,n){let r=dP(e,n),i=new Set(r.map(e=>e.configKey)),a=kS(e=>i.has(CS[e].configKey)||t.has(CS[e].configKey));return{unsaved:r.length+mP(e,n).length,resettable:a}}function SP(e){let t=lC(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return uC(t)}function CP(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&CP(e[n],r)}const wP=xs(),TP=new Set(wP),EP=new Set(Ps),DP=e=>e?TP.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${wP.join(`, `)})`}:{ok:!1,reason:`theme name is required`},OP=e=>e?EP.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${Ps.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},kP=new Set([`1`,`true`]),AP=new Set([`0`,`false`]),jP={endcaps:OP,theme:DP,"toolbar-expanded":e=>kP.has(e)?{ok:!0,value:`1`}:AP.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},MP=RM(jP,`state`,zP);function NP(e,t){return MP.register(e,t)}function PP(e){return MP.gateFor(e)}function FP(e,t){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:YS(e.from,t).members}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function IP(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(jP,e.key))}function LP(e,t,n){let r=AS.get(n);if(r!==void 0)return uP(e,t,r);let i=Object.values(e.variables).find(e=>e.kind===`state`&&e.key===n);return i?.kind===`state`?i.default??null:null}function RP(e){let t=YT(e);return IP(Object.values(e.actions).flatMap(e=>FP(e,t)))}function zP(e){return IM(RP(e))}const BP=`update.dismissed`,VP=`updateNotice`,HP=CS.updateNotice.sessionKey;function UP(e){return e.kind===`source`?e.newer.digest:RA(e.newer)}const WP=e=>`${e.version} [${xM(e.digest)}]`;function GP(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:WP(e.newer),running:WP(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:RA(e.newer),running:RA(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${BA}@${RA(e.newer)}`,`install`]}}}}const KP={kind:`idle`},qP={kind:`running`};function JP(e,t,n){if(e===null)return[];let r=UP(e);if(!n.enabled||n.dismissed===r)return[];let i=GP(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
193
- `),c=DA([{verb:sA,args:[s]}]),l=t.kind===`running`?lM(`[${i.busy}]`,c):lM(`[${i.act}]`,DA([{verb:yA,args:[n.sessionId]}]));return[{severity:cM,message:s,lines:[[lM(a,c),l,lM(`[dismiss]`,DA([{verb:tA,args:[n.sessionId,BP,r]}])),lM(`[disable]`,DA([{verb:cA,args:[n.sessionId,VP,`false`]},{verb:tA,args:[n.sessionId,HP,`false`]}]))],...o.map(e=>[lM(e,c)])]}]}function YP(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function XP(e){switch(e.kind){case`current`:return[`info`,`build: current ${WP(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${WP(e.source)}, running ${WP(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function ZP(e){switch(e.kind){case`current`:return[`info`,`release: current ${RA(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${RA(e.latest)}, running ${RA(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${RA(e.installed)}, latest ${RA(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function QP(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const $P=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function eF(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=$P(e.stderr)??e.error??$P(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function tF(){let e=[BM(VP,[`false`]),NP(HP,[`false`]),NP(BP,[])];return()=>e.forEach(e=>e())}function nF(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=KP,d=null,f=QP(s),p=QP(s),m=()=>YP(c,l);function h(){let e=m(),t=e===null?null:UP(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:NP(BP,[t])})}function g(){c=TM(t,CM),f(XP(c)),h()}async function _(){l=HA(dk,await VA(BA,a,i)),p(ZP(l)),h()}return{arm(){tF(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>JP(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=GP(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=qP,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),Me({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=KP,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=eF(n);u={kind:`failed`,identity:UP(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var rF=class{static CACHE_DIR=Re();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return E(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(E(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(E(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return E(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=l.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),E(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await de(50);else throw e}return E(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),E(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&E(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){E(`Failed to create cache directories:`,e)}}static createProjectHash(e){return ce(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){E(`Cache for ${e} is locked, waiting...`),await de(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(E(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(E(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return E(`No shared ${e} usage cache found`),null;E(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await de(75)}}return E(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){E(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=l.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),E(`[CACHE-SET] ${e} disk cache stored`)}catch(t){E(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const iF={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var aF=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await rF.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await rF.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new ae(this.GITHUB_PRICING_URL),n=ue({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){E(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){E(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(E(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),E(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(E(`Invalid pricing data structure`),e(null))}catch(t){E(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{E(`Response error:`,t),e(null)})});n.on(`error`,t=>{E(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{E(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return E(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return E(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),E(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(E(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(iF).length} models`),this.executionCache=iF,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(iF).length} models`),iF)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return E(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),E(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const oF=String.raw`(?:^|[\s;&|(])`,sF=e=>RegExp(`(?:^|:)(?:${e})$`),cF=[{phase:`impl`,tool:`Edit`,match:/^/},{phase:`impl`,tool:`MultiEdit`,match:/^/},{phase:`impl`,tool:`Write`,match:/^/},{phase:`impl`,tool:`NotebookEdit`,match:/^/},{phase:`review`,tool:`Bash`,match:RegExp(`${oF}gh\\s+pr\\s+create\\b`)},{phase:`review`,tool:`Skill`,match:sF(`code-review|simplify`)},{phase:`groom`,tool:`Bash`,match:RegExp(`${oF}lit\\s+(done|close)\\b`)},{phase:`groom`,tool:`Skill`,match:sF(`groom-backlog`)},{phase:`handoff`,tool:`Skill`,match:sF(`message-in-a-bottle`)}],lF=e=>RegExp(`${oF}lit\\s+(?:${e})(?:\\s+(?:--?[\\w-]+(?:=\\S*)?|''))*\\s+([A-Za-z0-9][\\w.-]*)`),uF=[{verb:lF(`start`),to:`in_progress`},{verb:lF(`done|close`),to:`closed`}];function dF(e){return cF.find(t=>t.tool===e.tool&&t.match.test(e.subject))?.phase}function fF(e,t){if(t.tool===`Bash`)for(let{verb:n,to:r}of uF){let i=n.exec(t.subject)?.[1];if(i!==void 0)return{call:e,id:i,to:r}}}const pF=/^lit:state (.*)$/gm;function mF(e){return[...e.matchAll(pF)].map(([e,t])=>hF(t)??{kind:`unreadable`,line:e.trim()})}function hF(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t!=`object`||!t)return;let{id:n,status:r,epic:i}=t;if(typeof n!=`string`||typeof r!=`string`)return;if(i===null)return{kind:`state`,id:n,status:r,epic:null};if(typeof i!=`object`||i===void 0)return;let a=i;if(!(typeof a.id!=`string`||typeof a.done!=`number`||typeof a.total!=`number`))return{kind:`state`,id:n,status:r,epic:{id:a.id,done:a.done,total:a.total}}}function gF(e,t){let n=t??{};return{tool:e,subject:e===`Bash`&&typeof n.command==`string`?yF(n.command):e===`Skill`&&typeof n.skill==`string`?n.skill:e}}const _F=/(<<-?\s*(['"]?)(\w+)\2[^\n]*\n)[\s\S]*?\n\s*\3(?=\n|$)/g,vF=/'[^']*'|"(?:[^"\\]|\\.)*"/g;function yF(e){return e.replace(_F,`$1`).replace(vF,`''`)}function bF(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(e=>typeof e==`object`&&e&&typeof e.text==`string`?[e.text]:[]):[]}const xF=/^(\S+) \[(open|in_progress|closed)\//gm,SF=/^Ticket (\S+) has been closed\./gm,CF={sentinels:[],said:[]};function wF(e){let t;for(let n of bF(e)){let e=n.includes(`lit:state `),r=n.includes(` [`),i=n.includes(`has been closed.`);if(!(!e&&!r&&!i)){if(t??={sentinels:[],said:[]},e&&t.sentinels.push(...mF(n)),r)for(let[,e,r]of n.matchAll(xF))t.said.push({id:e,status:r});if(i)for(let[,e]of n.matchAll(SF))t.said.push({id:e,status:`closed`})}}if(t===void 0)return CF;for(let e of t.sentinels)e.kind===`state`&&t.said.push({id:e.id,status:e.status});return t}const TF=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function EF(e){if(typeof e==`string`)return TF.exec(e)?.[1]}function DF(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function OF(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o,s=[],c=[],l,u=[];if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n});let i=gF(n,t.input),o=fF(e,i);o!==void 0&&s.push(o),l=dF(i)??l,n===`TodoWrite`&&(a=DF(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id,n=wF(t.content);if(u.push(...n.sentinels),typeof e==`string`){i.push(e);for(let t of n.said)c.push({call:e,...t})}break}case`text`:o??=t.text;break;default:break}}let d=n?EF(o):void 0,f=s.length===0&&l===void 0&&u.length===0&&c.length===0?void 0:{...s.length>0&&{claims:s},...l!==void 0&&{phase:l},...u.length>0&&{sentinels:u},...c.length>0&&{said:c}};if(!(r.length===0&&i.length===0&&a===void 0&&d===void 0&&f===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...d!==void 0&&{command:d},...f!==void 0&&{lit:f}}}function kF(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function AF(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await lN(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){E(`Failed to read projects directory ${e}:`,t)}}return t}async function jF(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await lN(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await uN(t,`utf-8`)).split(`
194
- `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{E(`Failed to check agent file ${t}`)}}}catch(e){E(`Failed to read subagents directory ${i}:`,e)}return r}function MF(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}const NF=new Map;async function PF(e){try{let t=await dN(e),n=t.size,r=NF.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return E(`[parse-cache] hit ${e}`),NF.delete(e),NF.set(e,r),r.entries;let i;return n>1048576?(E(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await zF(e)):i=await LF(e),E(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(NF.delete(e),NF.size>=16&&NF.delete(NF.keys().next().value),NF.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return E(`Transcript not present yet: ${e}`),[];throw t}}function FF(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,activity:OF(e),raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function IF(e){let t=[];for(let n of e.split(`
195
- `))if(n.trim())try{let e=FF(JSON.parse(n));e&&t.push(e)}catch(e){E(`Failed to parse JSONL line: ${e}`);continue}return t}async function LF(e){return IF(await uN(e,`utf-8`))}async function RF(e,t){let n=await fN(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:IF(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function zF(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=fe({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=FF(JSON.parse(t));e&&r.push(e)}catch(e){E(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{E(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{E(`File stream error for ${e}:`,t),n(t)})})}var BF=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function VF(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const HF=new Map,UF={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},WF={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function GF(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function KF(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function qF(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function JF(e,t,n,r){let i=GF(new Date(KF())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:qF(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await aF.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=GF(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...UF};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function YF(e){let t=0,n=0,r=qF(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...UF};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:WF,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function XF(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var ZF=class{entries=new Map;flight=new BF;seeded=new Map;seededDay=``;speedRings=new Map;speedFlight=new BF;maxEntries;staleAgeMs;log;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.log=e.logger??Ix,this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:WF,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=GF(Zx(n)),i=kF(t);try{await this.ensureSeeded(r,i)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...UF},c=!1;for(let[t,n]of this.entries){let i=n.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n.days:HF;c||=a.has(r);let l=a.get(r)??UF;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?J({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):Y}async observeSpeed(e,t,n){let r=oN(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=VF(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(e)??[],s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),this.speedRings.set(e,o),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return Y;let r=n??oN(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,J(i);if(!t)return i?J(i):Y;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),J(o)}async refold(e,t,n){let r=await jF(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await RF(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await JF(r,l,s,c)),e===t&&(a=c.mtimeMs)}return J({files:i,...YF(i),mainMtime:a})}ensureSeeded(e,t){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let n=t.join(`\0`),r=this.seeded.get(n);if(r)return r;let i=this.seed(t);return this.seeded.set(n,i),i.catch(()=>{this.seeded.get(n)===i&&this.seeded.delete(n)}),i}async seed(e){let t=KF(),n=await AF(e),r=[];for(let e of n){let n;try{n=await lN(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=p(e,i),a;try{a=(await dN(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await XF(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&this.log(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,this.log(`info`,`usageStore seed sessions=${r.length} dirs=${e.join(`,`)}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,this.log(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),this.log(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},QF=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return E(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);E(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{E(`Calculating context tokens from transcript: ${e}`);let n=await PF(e);if(n.length===0)return E(`No entries in transcript`),Y;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,E(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return E(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return E(`No main chain entries with usage data found`),Y}catch(e){return X(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return J(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},$F=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=oN(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await RF(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const eI={messageCount:0,recent:[]};function tI(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!MF(t),recent:n.length>20?n.slice(-20):n}}function nI(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(MF(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var rI=class{fold=new $F(eI,tI);async getMetricsInfo(e,t){if(E(`Getting metrics from hook data for session: ${e}`),!t.cost)return Y;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`metrics (${e}): ${n.reason}`):J({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:nI(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};function iI(e,t,n){return n.some(e=>e.call===t.call&&e.id===t.id&&e.status===t.to)?t.to===`closed`?e?.id===t.id?null:e:{id:t.id,phase:`prep`,epic:e?.id===t.id?e.epic:null,unread:null}:e}function aI(e,t,n){let r=[...e.claims,...t?.claims??[]],i=e=>n.includes(e.call),a=r.filter(i).reduce((e,n)=>iI(e,n,t?.said??[]),e.ticket),o=r.filter(e=>!i(e));if(a===null||t===void 0)return{claims:o,ticket:a};let s=t.sentinels??[],c=s.findLast(e=>e.kind===`state`&&e.id===a.id),l=s.findLast(e=>e.kind===`unreadable`);return{claims:o,ticket:{id:a.id,phase:t.phase??a.phase,epic:c?.kind===`state`?c.epic:a.epic,unread:l?.kind===`unreadable`?l.line:a.unread}}}const oI={ticket:null,claims:[],command:null,todos:[],pending:[],done:[]};function sI(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function cI(e,t){if(t.isSidechain)return e;let n=MF(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=sI(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos,...aI(n,r.lit,r.finished??[])}}function lI(e){return{ticket:e.ticket,command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>sI(e,t.name),[]),done:e.done}}var uI=class{fold=new $F(oI,cI);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(lI(n.value))}};function dI(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function fI(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function pI(e,t,n,r){return fI(D(dI(e,t,n,r)),n)}async function mI(e,t,n){return fI(await Me(dI(e,t,n)),n)}const hI=e=>`${e.socket}\n${e.pane}`;var gI=class{names=new Map;asking=new BF;constructor(e=Date.now){this.now=e}getSessionName(e){let t=hI(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){E(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await mI(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?J(r):Y:X(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const _I=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:et.map(t=>e.env?.[t]??null)]);var vI=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=_I(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=_I(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function yI(e){return{gitProvider:new Gx({watchers:e.watchers,logger:e.logger}),usageStore:new ZF({logger:e.logger}),contextProvider:new QF,metricsProvider:new rI,activityProvider:new uI,tmuxService:new gI,mementoProvider:new vI(AN()),autoCompact:cw,log:e.logger}}function bI(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function xI(e,t){let n=W.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function SI(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function CI({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function wI(e){let t=CI(e);if(t.length===1)return e.text;let n=xI(t);return n.style=e.text.style,n}function TI(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,lead:s=[],trail:c=[]}=t;if(e.length===0)return[];let l=xI(e,a).pad(o),u=new W(` `.repeat(o)),d={...s.length>0&&{lead:xI([u,...s],a)},...c.length>0&&{trail:xI([...c,u],a)}};if(n===`auto`)return[{text:l,...d}];let f={justify:r,truncate:i};return n===`fill`?[{text:l,fill:f,...d}]:(SI(l,n,f),[{text:l,...d}])}const EI=RegExp(`\\x1b\\[[0-9;]*m|${Xi.source}`,`g`);function DI(e){return A(e.replace(EI,``))}function OI(e,t){let n=e.map(wI),r=[];if(e.forEach(({fill:e},t)=>{e!==void 0&&r.push({at:t,how:e})}),r.length===0||!Number.isFinite(t.width))return n;let i=iM(n,t).split(`
196
- `);if(i.length>1)return n;let a=Math.max(0,t.width-DI(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];SI(l,l.cellLength+c,i),n[t]=wI(e[t])}),n}function kI(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=AI(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:Jj(a.style)};if(e.style.link){i();let r=AI([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function AI(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>jI(e.frag,n?n.add(e.style):e.style)),i=W.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function jI(e,t){let n=e.copy();return n.style=t,n}function MI(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,NI(e,t,o,n,r,i));return i}function NI(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=YS(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=DS.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=YS(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=YS(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:II(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:II(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:hE(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:II(e,n.name,t)};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function PI(e){return e.kind===`do`?PI(e.head):e}function FI(e){switch(PI(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function II(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function LI(e,t){return e.has(t)?fb(e.read(t)):``}function RI(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function zI(e,t,n,r){let i=new W(e,{style:V.combine([r,new V({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function BI(e,t){return Math.max(e.members.indexOf(LI(t,e.stateVar)),0)}function VI(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=LI(r,e.stateVar);return{effects:[{verb:tA,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=LI(r,e.stateVar);return{effects:[{verb:tA,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=LI(r,e.stateVar);return{effects:[{verb:tA,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(BI(e,r)+1)%e.members.length];return{effects:[{verb:tA,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:nA,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:rA,args:[RI(e.text,ax(r))]}],active:!1};case`open`:return{effects:[{verb:iA,args:[RI(e.target,ax(r))]}],active:!1};case`persist-literal`:{let t=LI(r,e.stateVar);return{effects:[{verb:cA,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=LI(r,e.stateVar);return{effects:[{verb:cA,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(BI(e,r)+1)%e.members.length];return{effects:[{verb:cA,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:lA,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:pA,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:hA,args:[i]}],active:!1};case`redo`:return{effects:[{verb:gA,args:[i]}],active:!1};case`back`:return{effects:[{verb:_A,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:vA,args:[i]}],active:!1};case`save`:return{effects:[{verb:uA,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:dA,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:fA,args:[i,RI(e.name,ax(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:bA,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:xA,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:CA,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:wA,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:mA,args:[i,e.key,EM(e.op)]}],active:!1};case`do`:{let a=VI(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>VI(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:mA,args:[i,e.key,EM(r)]}],active:!1}}}}function HI(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:Su(`action "${e}"`,n,t.members.length,BI(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function UI(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=HI(e,PI(r),t,i),{effects:s,active:c}=VI(r,a,o,i,LI(i,`session.id`));return zI(a,DA(s),c)}function WI(e){return{action:{fn:(t,...n)=>UI(t,n,e),argTypes:[`string`,`string`],arity:{kind:`variadic`},returnType:`T`}}}function GI(e,t){return zI(`✕`,DA([{verb:tA,args:[LI(e,`session.id`),t,yu]}]),!1)}function KI(e,t,n){return new V({bgcolor:L.fromRgba(t),color:L.fromRgba(Ko(e,t,n))})}function qI({tint:e,text:t}){return new V({bgcolor:L.fromRgba(e),color:L.fromRgba(t)})}function JI(e,t,n){return new V({color:L.fromRgba(Or(Fo(e,`warning`),t,Go,n))})}function YI(e,t,n){return V.combine([KI(e,t,n),JI(e,t,n)])}function XI(e,t,n){return KI(e.palette,fs(e.palette,e.disclosure,[t],n),n)}function ZI(e,t,n,r,i,a){return r===void 0?n=>XI(e,{...n,distribution:t},i):(e,t)=>QI(r(t,n),a,i)}function QI(e,t,n){return new V({bgcolor:L.fromRgba(t),color:L.fromRgba(Or(Fo(e,`primary`),t,4.5,n))})}function $I(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>eL(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function eL(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function tL(e,t){return new W(e).truncate(t,{marker:`…`}).plain}function nL(e){return{current:null,drawnAt:e}}function rL(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function iL(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function aL(e){return new W(e).cellLength}function oL(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function sL(e){return Math.max(1,oL(e)-(aL(`✕`)+2*e.padding+e.seamCols))}function cL(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function lL(e,t,n){let r=aL(`←`)+1+aL(`→`)+1,i=cL(e,t,n);return(i.length>1?cL(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function uL(e,t){let n=[];for(let t of e)n.length>0&&n.push(new W(` `)),n.push(t);let r=W.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function dL(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function fL(e,t,n){let r=e.compiled.get(t),i=r&&PI(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function pL(e,t,n,r,i,a,o){let s=fL(i,e,`picker`),c=i.compiled.get(e),l=i.store,u=LI(l,`session.id`),d=`stateVar`in s?LI(l,s.stateVar):void 0,f=r?n.kind===`led`?sL(i):oL(i):1/0,p=n.kind===`led`?0:aL(`✕`)+1,m=s.library&&{groups:s.library.groups,entries:s.options.map(s.library.entry)},h=m===void 0?lL(s.options.map(aL),f,p):$I(m.entries,m.groups,r),g=parseInt(LI(l,t.stateVar),10),_=Number.isInteger(g)?Math.max(0,Math.min(g,h.length-1)):0,v=h[_]??[],y=e=>DA([{verb:tA,args:[u,t.key,String(e)]}]),b=n.kind===`led`?[]:[{verb:tA,args:[u,...n.writes.flatMap(([e,t])=>[e,t])]}],x=n.kind===`own`&&n.onPick?b:[],S=e=>DA([...VI(c,e,e,l,u).effects,...x]),C=(e,t)=>{let n=s.options[e];return zI(t,S(n),n===d,a({index:e,count:s.options.length},n))},ee=n.kind===`led`?[]:[zI(`✕`,DA(b),!1,o)];_>0&&ee.push(zI(`←`,y(_-1),!1));let te=_<h.length-1?[zI(`→`,y(_+1),!1)]:[];if(m===void 0){let e=v.flatMap(e=>e.indices);return[uL([...ee,...e.map(e=>C(e,s.options[e])),...te],r)]}let ne=new V({bold:!0}),re=h.length>1?` ${_+1}/${h.length}`:``,ie=v.length===1?[new W(`${v[0].label}${re}`,{style:ne})]:[],ae=[uL([...ee,...ie,...te],r)];for(let e of v){v.length>1&&ae.push(uL([new W(e.label,{style:ne})],r));let t=Math.max(...e.indices.map(e=>aL(s.options[e])));for(let n of e.indices){let e=s.options[n],i=m.entries[n].description,a=i===void 0?void 0:Bj(i),o=` `.repeat(t-aL(e)+2),c=a===void 0?e:`${e}${o}${a}`;ae.push(uL([C(n,tL(c,f))],r))}}return ae}function mL(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{$b(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=dL(e,r,`set-int`,`an int action ({ set, int: true })`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=fL(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=iL(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=pL(n,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,ZI(u,Co(void 0),e,l.paletteOf,t.drawnAt(),u.bg),JI(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function hL(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+aL(e(-(s+1)))+1+aL(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function gL(e,t,n,r,i,a){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let o=n.store;if(!o.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let s=n.compiled.get(e),c=LI(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return uL([],!0);let d=LI(o,t.stateVar),f=Math.max(l.indexOf(d),0),p=e=>((f+e)%u+u)%u,m=e=>l[p(e)],h=new Map,g=e=>{let t=h.get(e);if(t!==void 0)return t;let n=DA(VI(s,m(e),m(e),o,c).effects);return h.set(e,n),n},_=e=>zI(m(e),g(e),m(e)===d,r({index:p(e),count:u},m(e))),v=a===void 0?_(0):zI(m(0),DA(VI(n.compiled.get(a),m(0),void 0,o,c).effects),!1),y=hL(m,u,aL(`◀`)+1+v.cellLength+1+aL(`▶`),sL(n),i),b=e=>Array.from({length:y},(t,n)=>_(e*(n+1)));return uL([...b(-1).reverse(),zI(`◀`,g(-1),!1),v,zI(`▶`,g(1),!1),...b(1)],!0)}function _L(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if($b(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&FI(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=fL(e,n,`carousel`),l=iL(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return gL(n,c,e,ZI(l,Co(void 0),e,c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}const vL=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function yL(e,t,n,r){let i=is(e,n,r),a=(t,n)=>({text:t,colour:n,ink:Ko(e,n,r)});return[vo(t).map((n,i)=>{let a=Io(e,n);return{text:vL[i%vL.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}}),[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,Fo(e,`warning`)),a(`error`,Fo(e,`error`))]]}function bL(e,t,n,r,i){let a=yL(e,t,n,r).flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new W(` ${e} `,{style:qI({tint:n,text:r})})}))),o=[],s=0;for(let{gap:e,cell:t}of a){if(s+=e.length+t.cellLength,s>i)break;e!==``&&o.push(new W(e)),o.push(t)}let c=W.fromFragments(o);return c.overflow=`ignore`,c.end=``,c}function xL(e,t){return{themePreview:{fn:()=>bL(e.palette,e.decor,{...iL(t,`{{ themePreview }}`).disclosure,depth:0},t.drawnAt(),sL(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}const SL=e=>e.slice(e.lastIndexOf(`.`)+1),CL=(e,t)=>{let n=new W(SL(e));return n.truncate(t,{marker:`…`}),n.plain};function wL(e,t){let n=e.map(e=>e.map(({name:e})=>aL(SL(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function TL(e,t,n,r){let i=wL(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new W(` ${CL(s,i)} `,{style:qI(gs(l,{kind:`bar`,decor:t,address:c},n))});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=W.fromFragments(a.flatMap((e,t)=>t===0?e:[new W(`
197
- `),...e]));return o.overflow=`ignore`,o.end=``,o}function EL(e,t){return{layoutPreview:{fn:()=>TL(e.layout(),e.decor,t.drawnAt(),sL(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function DL(e,t,n,r){let i=iL(r.activeSegment,`{{ menu }}`),a=r.action,o=Yv(i.placementId,e,n.key),s=Qv(o),c=Jv(e),l=LI(a.store,o)===c,u=LI(a.store,`session.id`),d=l?yu:c,f=zI(Su(`{{ menu "${e}" }}`,t,2,+!!l),DA([{verb:tA,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=is(i.palette,i.disclosure,t).plane;return pL(e,{key:s,stateVar:s},{kind:`own`,writes:[[o,yu],[s,`0`]],onPick:n.closeOnPick},n.paged,a,ZI(i,n.distribution,a,fL(a,e,`menu`).paletteOf,t,c),JI(i.palette,c,t))})():[]),f}const OL=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function kL(e,t){let n=t[t.length-1],r=OL(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:ny(r??{})}}function AL(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=kL(t,n);return DL(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function jL(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=ML(t,n,r),c=[];for(let e=0;e<r;e++){let t=e<s,l=t&&o!==void 0?o(e*n/r):void 0;c.push(new W(t?i:a,{style:l===void 0?void 0:new V({color:l})}))}let l=W.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function ML(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?0:Math.min(n,Math.max(0,Math.round(e/t*n)))}function NL(e){let t={fn:(()=>{let t=iL(e,`{{ bgOf }}`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],arity:{kind:`exact`},returnType:`string`},n={fn:(()=>iL(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r={fn:((t,n)=>{let{palette:r}=iL(e,`{{ keptOn }}`),i=br(r,t),a=br(r,n),o=P(Ar(i,F.TRUECOLOR),Ar(a,F.TRUECOLOR)),s=Math.min(Go,Math.max(o,3));return(kr(i,e.drawnAt(),(e,t)=>P(e,t(a))>=s)??i).hex}),argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`string`},i=zb(()=>iL(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),a={fn:((e,t,n,r,a,o,...s)=>{let c=o===void 0?void 0:[o,...PL(s)];return jL({value:e,max:t,width:n,filled:r,empty:a,colourAt:c===void 0?void 0:e=>String(i.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...i,bgOf:t,tint:n,keptOn:r,gauge:a}}function PL(e){return e.flatMap(e=>{let t=e.indexOf(`:`),n=t<0?NaN:Number(e.slice(0,t));if(!Number.isFinite(n))throw Error(`{{ gauge }} stop "${e}" must be "<position>:<colour>", e.g. "80:error" or "80:#ff0000"`);return[n,e.slice(t+1)]})}function FL(e){let t=[],n=[];for(let r of e){if(!r.contains(`
193
+ `,l.join(e,`lib`),t.sessionId,t.cwd],env:lF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?dF(n.stdout):X(uF(n))}function pF(e,t,n){let r=D({bin:l.join(e,aF),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:lF(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(uF(r))}function mF(){return{locate:e=>cF(ST(e.claudeConfigDir),e.projectDir),read:fF,move:pF}}function hF(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${cM(n)} `,i=e.added_dirs.map(e=>` --add-dir ${cM(e)}`).join(``);return`cd ${cM(e.project_dir)} && ${r}claude --resume ${cM(t)}${i}`}function gF(e,t,n){let r=wb(t(`preset`),e.globals.preset,e.presets),i=Db(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{},o=aw(a.palette,t(`theme`),i.palette),s=UP(i,HP(o,e.themeDefaults));return{preset:r,presetCustomized:n(r),theme:o,style:Vc(a.style,t(`style`),s.style,e.styles),effect:Kc(a.effect,t(`effect`),s.effect),endcaps:Zc(a.endcaps,t(`endcaps`),s.endcaps),variation:al(a.variation,t(`variation`),s.variation),shade:cl(a.shade,t(`shade`),s.shade),separator:a.default_separator??s.default_separator,autoWrap:gl(a.autoWrap,t(`autoWrap`),s.autoWrap),padding:vl(a.padding,t(`padding`),s.padding),charset:a.charset??s.charset??`unicode`,updateNotice:_l(a.updateNotice,t(`updateNotice`),s.updateNotice),colorCompatibility:a.colorCompatibility??s.colorCompatibility??`truecolor`}}function _F(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function vF(e){return{theme:e.theme,style:e.style,effect:e.effect,preset:e.preset,variation:e.variation,shade:e.shade}}function yF(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:BP(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},shade:{effective:e.shade},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice}}}const bF=10*1e3;function xF(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function SF(e,t){if(!(t<60))return e*3600/t}function CF(e,t,n,r){let i=r-t;if(i<50||i>bF)return;let a=n-e;if(!(a<=0))return a*1e3/i}function wF(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=CF(t.input,t.atMs,n.input,n.atMs),i=CF(t.output,t.atMs,n.output,n.atMs),a=CF(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function TF(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>bF)continue;let o=CF(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function EF(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function DF(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>EF(h.hostname())),i=n(`user`,()=>h.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function OF(e,t){let n=new Map;for(let[t,r]of Object.entries(e.variables))n.set(t,r);for(let[t,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))n.set(`${t}.${e}`,i);let r=[],i=new Set,a=t=>px(t,e.helpers).keys(),o=Db(e,t);for(let e of Pc){let t=o[e];if(Fc(t))for(let e of a(t))r.push(e)}for(let n of bu(Eb(e,t).node)){if(n.when)for(let e of a(n.when))r.push(e);if(n.kind!==`segment`)continue;let t=e.segments[n.name];if(t){for(let e of[t.template,t.when,t.bg,t.fg])if(e)for(let t of a(e))r.push(t)}}let s=new Set;for(;r.length>0;){let e=r.pop();for(let t of AF(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)s.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return s}function kF(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=OF(e,n);return t.set(n,i),i}}function AF(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function jF(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function MF(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function NF(e,t,n,r,i,a,o,{configPath:s,...c}){let l=e=>jF(i,e),u=hC(t).getTime(),d=o.tmux??null,f=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[p,m,h,g,_,v,y,b,x,S,C]=await Promise.all([f(`git`,l(`git`),()=>n.gitProvider.getGitInfo(r??e.workspace?.current_dir,MF(i),e.workspace?.project_dir)),f(`session`,l(`session.cost`)||l(`session.tokens`)||l(`burn`),()=>n.usageStore.getUsageInfo(e.session_id,e)),f(`today`,l(`today`),()=>n.usageStore.getTodayInfo(e,o.claudeConfigDir,t)),f(`context`,l(`context`)||l(`autocompact`),()=>n.contextProvider.getContextInfo(e)),f(`metrics`,l(`metrics`)||l(`burn`),()=>n.metricsProvider.getMetricsInfo(e.session_id,e)),f(`activity`,l(`activity`),()=>n.activityProvider.getActivityInfo(e.session_id,e)),f(`tmux`,l(`tmux.session`),()=>d===null?Promise.resolve(Y):n.tmuxService.getSessionName(d)),f(`cache`,l(`cache`),()=>eF(e.transcript_path)),f(`speed`,l(`speed`),()=>n.usageStore.observeSpeed(e.session_id,e.transcript_path,u)),f(`memento`,l(`memento`),()=>n.mementoProvider.getCeiling(rF({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:r??e.workspace?.current_dir??``},o))),f(`autocompact`,l(`autocompact`),()=>Promise.resolve(n.autoCompact(xT(bT(o.claudeConfigDir)))))]),ee=[],te=e=>{if(e.kind===`failed`){ee.push(e.reason);return}return e.kind===`ok`?e.value:void 0},ne=VF(p,u);ee.push(...ne.failures);let re=DF(o);ee.push(...re.failures);let ie=te(m),ae=te(h),w=te(g),T=te(_),oe=te(v),se=te(y),ce=te(b),le=IF(S);S.kind===`failed`&&ee.push(`memento: ${S.reason}`);let ue=PF(C,w?.maxTokens);C.kind===`failed`&&ee.push(`autocompact: ${C.reason}`);for(let e of ee)n.log(`warn`,`provider fetch failed: ${e}`);let de=e.rate_limits?.five_hour,fe=e.rate_limits?.seven_day,pe=de?xF(de.used_percentage,de.resets_at,18e6,u):void 0,me=fe?xF(fe.used_percentage,fe.resets_at,6048e5,u):void 0,he=ie?.session.cost,ge=T?.sessionDuration,_e=l(`burn`)&&he!=null&&ge!=null?SF(he,ge):void 0,ve=te(x),ye=ve===void 0?void 0:wF(ve),be=ve===void 0?void 0:TF(ve),xe=ye!==void 0||be!==void 0?{...ye,...be!==void 0&&{history:be}}:void 0,E=BF(process.env.HOME??process.env.USERPROFILE),Se=e.workspace?{...e.workspace,current_dir:BF(e.workspace.current_dir)??``,project_dir:BF(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>BF(e)??e)}:e.workspace,Ce=ie===void 0?void 0:zF({cost:ie.session.cost,tokens:ie.session.tokens}),we=ae===void 0?void 0:{cost:ae.cost,tokens:ae.tokens},Te=T===void 0?void 0:zF({lastResponseTime:T.lastResponseTime,responseTime:T.responseTime,sessionDuration:T.sessionDuration,messageCount:T.messageCount,linesAdded:T.linesAdded,linesRemoved:T.linesRemoved}),Ee=oe===void 0?void 0:LF(oe);return{...e,...Se!==void 0&&{workspace:Se},...E!==void 0&&{home:E},...ne.git!==void 0&&{git:ne.git},...d!==null&&{tmux:{pane:d.pane,...se!==void 0&&{session:se}}},host:re.host,...yF(a),history:n.history(e.session_id),navigation:{back:n.navigation(e.session_id)},...c,...s!==null&&{configPath:s},resumeCommand:hF(Se,e.session_id,o.claudeConfigDir),...Ce!==void 0&&{session:Ce},...we!==void 0&&{today:we},..._e!==void 0&&{burn:{costPerHour:_e}},...xe!==void 0&&{speed:xe},...l(`block`)&&de!==void 0&&{block:{nativeUtilization:de.used_percentage,resetsAt:de.resets_at,...pe!==void 0&&{etaMinutes:pe}}},...fe!==void 0&&{weekly:{percentage:fe.used_percentage,resetsAt:fe.resets_at,...me!==void 0&&{etaMinutes:me}}},...ce!==void 0&&{cache:{expiresAt:ce}},...w!==void 0&&{context:{totalTokens:w.totalTokens,contextLeft:w.contextLeftPercentage}},...Te!==void 0&&{metrics:Te},...Ee!==void 0&&{activity:Ee},...le!==void 0&&{memento:le},...ue!==void 0&&{autocompact:ue}}}function PF(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return AT(e.value,t)}}const FF=e=>e.trim().split(`
194
+ `).at(-1).trim();function IF(e){switch(e.kind){case`absent`:return;case`failed`:return{error:FF(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function LF(e){let t=e.todos.findIndex(e=>e.active),n=e.todos.length===0?void 0:{total:e.todos.length,completed:e.todos.filter(e=>e.done).length,...t>=0&&{position:t+1,active:e.todos[t].text}},r=RF(e.running),i=RF(e.done),a=r===void 0&&i===void 0?void 0:{...r!==void 0&&{running:r},...i!==void 0&&{done:i}},o=e.ticket===null?void 0:{id:e.ticket.id,phase:e.ticket.phase,...e.ticket.epic!==null&&{epic:e.ticket.epic},...e.ticket.unread!==null&&{unread:e.ticket.unread}};if(!(o===void 0&&e.command===null&&n===void 0&&a===void 0))return{...o!==void 0&&{ticket:o},...e.command!==null&&{command:e.command},...n!==void 0&&{todo:n},...a!==void 0&&{tool:a}}}function RF(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function zF(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function BF(e){return e===void 0||e.length===0||l.sep!==`\\`?e:e.replace(/\\/g,`/`)}function VF(e,t){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let n=e.value,r=[],i=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){r.push(`git.${e}: ${t.reason}`);return}return t.value}},a=i(`aheadBehind`,n.aheadBehind),o=i(`sha`,n.sha),s=i(`operation`,n.operation),c=i(`timeSinceCommit`,n.committedAt),l=c===void 0?void 0:Math.floor((t-c)/1e3),u=i(`stash`,n.stashCount),d=i(`upstream`,n.upstream),f=i(`repoName`,n.repoName),p=i(`repoUrl`,n.repoUrl),m=n.pullRequest,h={};return m?.kind===`ok`?(h.prNumber=m.value.number,h.prState=m.value.state,h.prUrl=m.value.url):m?.kind===`failed`&&(r.push(`git.pr: ${m.reason}`),h.prError=m.reason),{git:{branch:n.branch,status:n.status,...a!==void 0&&{ahead:a.ahead,behind:a.behind},...n.workingTree!==void 0&&{staged:n.workingTree.staged,unstaged:n.workingTree.unstaged,untracked:n.workingTree.untracked,conflicts:n.workingTree.conflicts},...o!==void 0&&{sha:o},...s!==void 0&&{operation:s},...l!==void 0&&{timeSinceCommit:l},...u!==void 0&&{stash:u},...d!==void 0&&{upstream:d},...f!==void 0&&{repoName:f},...p!==void 0&&{repoUrl:p},...h},failures:r}}const HF={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,effect:e=>e.effect.kind===`decided`?e.effect.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,shade:e=>e.shade,autoWrap:e=>e.autoWrap?ll:ul,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?ll:ul},UF=Object.entries(VC),WF=new Set(HC.map(e=>e.sessionKey)),GF=()=>!1;function KF(e,t){return gF(e,e=>WF.has(e)?t(e):null,GF)}const qF=[`preset`,`theme`];function JF(e,t,n){let r=new Set(qF.slice(0,n).map(e=>VC[e].sessionKey));return gF(e,e=>r.has(e)?t(e):null,GF)}function YF(e,t){let n=Array.from({length:qF.length+1},(n,r)=>JF(e,t,r));return e=>{let t=qF.indexOf(e);return n[t===-1?qF.length:t]}}function XF(e,t,n,r){return e.flatMap(([e,i])=>{let a=HF[e](t);return a===null||a===HF[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function ZF(e,t,n){return HF[n](KF(e,t))}function QF(e,t){let n=KF(e,t);return XF(UF,n,YF(e,t),t=>$F(e,n.preset,t.configKey))}function $F(e,t,n){return n in(Tb(e.presets,t).globals??{})?kw(t,n):n}function eI(e,t,n){let r=wb(t(VC.preset.sessionKey),e.globals.preset,e.presets),i=Aw(n);return{key:i?.scope===`globals`?$F(e,r,i.field):n,globals:Db(e,r)}}function tI(e,t){let{preset:n}=KF(e,t);return iI(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Iu(a,s);return c===void 0||Fu(c)===Fu(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function nI(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return Cb(e.presets).flatMap(n=>{let i=iI(e,n);return[...new Set(i.filter(e=>r.has(e.key)).map(e=>e.id))].flatMap(e=>{let n=i.filter(t=>t.id===e);return Nu(Object.fromEntries(n.map(e=>[e.setting,e.decl])),Object.fromEntries(n.map(e=>{let n=r.get(e.key)??t(e.key),i=n===null?void 0:Iu(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const rI=new WeakMap;function iI(e,t){let n=rI.get(e)??new Map;rI.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...bu(Eb(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=ju(e.segments[t.name])[n];return{id:r,setting:n,key:i,decl:a,saved:t.settings?.[n]??a.default}})),a=[...new Map(i.map(e=>[e.key,e])).values()];return n.set(t,a),a}function aI(e,t){let n=KF(e,t);return{from:n.preset,globals:Tb(e.presets,n.preset).globals??{},picks:XF(UF.filter(([e])=>e!==`preset`),n,YF(e,t),e=>e.configKey),placements:tI(e,t)}}function oI(e,t){return gF({...e,globals:{palette:t},presets:{}},()=>null,GF)}function sI(e,t){let n=KF(e,t),r=HF.theme(n);if(r===null)return{kind:`rule`};let i=oI(e,r),a=Db(e,n.preset),o=Object.fromEntries(Tu.map(e=>[e,HF[e](a[e]===void 0?n:i)]));return{kind:`look`,theme:r,look:o,differs:Tu.some(e=>o[e]!==HF[e](i))}}function cI(e){return{sessionKeys:HC.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...mf(e)?zP.map(t=>kw(t,e)):[],...Ow(e)?kc().map(t=>Dw(t,e)):[]]}}function lI(e){return new Set(HC.map(e=>e.configKey).filter(t=>cI(t).fileKeys.some(t=>fI(e,dI(t)))))}function uI(e,t,n){let r=QF(e,n),i=new Set(r.map(e=>e.configKey)),a=qC(e=>i.has(VC[e].configKey)||t.has(VC[e].configKey)),o=sI(e,n);return{unsaved:r.length+tI(e,n).length,resettable:a,themeDefault:o.kind===`look`&&o.differs?{differs:!0,theme:o.theme}:{differs:!1}}}function dI(e){let t=Aw(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return jw(t)}function fI(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&fI(e[n],r)}const pI=kc(),mI=new Set(pI),hI=new Set(qc),gI=e=>e?mI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${pI.join(`, `)})`}:{ok:!1,reason:`theme name is required`},_I=e=>e?hI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${qc.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},vI=new Set([`1`,`true`]),yI=new Set([`0`,`false`]),bI={endcaps:_I,theme:gI,"toolbar-expanded":e=>vI.has(e)?{ok:!0,value:`1`}:yI.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},xI=vP(bI,`state`,OI);function SI(e,t){return xI.register(e,t)}function CI(e){return xI.gateFor(e)}function wI(e,t){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:pw(e.from,t).members}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function TI(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(bI,e.key))}function EI(e,t,n){let r=JC.get(n);if(r!==void 0)return ZF(e,t,r);let i=Object.values(e.variables).find(e=>e.kind===`state`&&e.key===n);return i?.kind===`state`?i.default??null:null}function DI(e){let t=bD(e);return TI(Object.values(e.actions).flatMap(e=>wI(e,t)))}function OI(e){return gP(DI(e))}const kI=`update.dismissed`,AI=`updateNotice`,jI=VC.updateNotice.sessionKey;function MI(e){return e.kind===`source`?e.newer.digest:dM(e.newer)}const NI=e=>`${e.version} [${tP(e.digest)}]`;function PI(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:NI(e.newer),running:NI(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:dM(e.newer),running:dM(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${pM}@${dM(e.newer)}`,`install`]}}}}const FI={kind:`idle`},II={kind:`running`};function LI(e,t,n){if(e===null)return[];let r=MI(e);if(!n.enabled||n.dismissed===r)return[];let i=PI(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
195
+ `),c=eM([{verb:Nj,args:[s]}]),l=t.kind===`running`?UN(`[${i.busy}]`,c):UN(`[${i.act}]`,eM([{verb:Kj,args:[n.sessionId]}]));return[{severity:HN,message:s,lines:[[UN(a,c),l,UN(`[dismiss]`,eM([{verb:Dj,args:[n.sessionId,kI,r]}])),UN(`[disable]`,eM([{verb:Pj,args:[n.sessionId,AI,`false`]},{verb:Dj,args:[n.sessionId,jI,`false`]}]))],...o.map(e=>[UN(e,c)])]}]}function RI(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function zI(e){switch(e.kind){case`current`:return[`info`,`build: current ${NI(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${NI(e.source)}, running ${NI(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function BI(e){switch(e.kind){case`current`:return[`info`,`release: current ${dM(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${dM(e.latest)}, running ${dM(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${dM(e.installed)}, latest ${dM(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function VI(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const HI=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function UI(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=HI(e.stderr)??e.error??HI(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function WI(){let e=[bP(AI,[`false`]),SI(jI,[`false`]),SI(kI,[])];return()=>e.forEach(e=>e())}function GI(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=FI,d=null,f=VI(s),p=VI(s),m=()=>RI(c,l);function h(){let e=m(),t=e===null?null:MI(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:SI(kI,[t])})}function g(){c=aP(t,rP),f(zI(c)),h()}async function _(){l=hM(LA,await mM(pM,a,i)),p(BI(l)),h()}return{arm(){WI(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>LI(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=PI(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=II,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),Me({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=FI,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=UI(n);u={kind:`failed`,identity:MI(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var KI=class{static CACHE_DIR=Re();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return E(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(E(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(E(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return E(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=l.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),E(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await de(50);else throw e}return E(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),E(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&E(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){E(`Failed to create cache directories:`,e)}}static createProjectHash(e){return ce(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){E(`Cache for ${e} is locked, waiting...`),await de(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(E(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(E(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return E(`No shared ${e} usage cache found`),null;E(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await de(75)}}return E(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){E(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=l.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),E(`[CACHE-SET] ${e} disk cache stored`)}catch(t){E(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const qI={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var JI=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await KI.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await KI.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new ae(this.GITHUB_PRICING_URL),n=ue({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){E(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){E(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(E(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),E(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(E(`Invalid pricing data structure`),e(null))}catch(t){E(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{E(`Response error:`,t),e(null)})});n.on(`error`,t=>{E(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{E(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return E(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return E(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),E(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(E(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(qI).length} models`),this.executionCache=qI,E(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(qI).length} models`),qI)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return E(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),E(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const YI=String.raw`(?:^|[\s;&|(])`,XI=e=>RegExp(`(?:^|:)(?:${e})$`),ZI=[{phase:`impl`,tool:`Edit`,match:/^/},{phase:`impl`,tool:`MultiEdit`,match:/^/},{phase:`impl`,tool:`Write`,match:/^/},{phase:`impl`,tool:`NotebookEdit`,match:/^/},{phase:`review`,tool:`Bash`,match:RegExp(`${YI}gh\\s+pr\\s+create\\b`)},{phase:`review`,tool:`Skill`,match:XI(`code-review|simplify`)},{phase:`groom`,tool:`Bash`,match:RegExp(`${YI}lit\\s+(done|close)\\b`)},{phase:`groom`,tool:`Skill`,match:XI(`groom-backlog`)},{phase:`handoff`,tool:`Skill`,match:XI(`message-in-a-bottle`)}],QI=e=>RegExp(`${YI}lit\\s+(?:${e})(?:\\s+(?:--?[\\w-]+(?:=\\S*)?|''))*\\s+([A-Za-z0-9][\\w.-]*)`),$I=[{verb:QI(`start`),to:`in_progress`},{verb:QI(`done|close`),to:`closed`}];function eL(e){return ZI.find(t=>t.tool===e.tool&&t.match.test(e.subject))?.phase}function tL(e,t){if(t.tool===`Bash`)for(let{verb:n,to:r}of $I){let i=n.exec(t.subject)?.[1];if(i!==void 0)return{call:e,id:i,to:r}}}const nL=/^lit:state (.*)$/gm;function rL(e){return[...e.matchAll(nL)].map(([e,t])=>iL(t)??{kind:`unreadable`,line:e.trim()})}function iL(e){let t;try{t=JSON.parse(e)}catch{return}if(typeof t!=`object`||!t)return;let{id:n,status:r,epic:i}=t;if(typeof n!=`string`||typeof r!=`string`)return;if(i===null)return{kind:`state`,id:n,status:r,epic:null};if(typeof i!=`object`||i===void 0)return;let a=i;if(!(typeof a.id!=`string`||typeof a.done!=`number`||typeof a.total!=`number`))return{kind:`state`,id:n,status:r,epic:{id:a.id,done:a.done,total:a.total}}}function aL(e,t){let n=t??{};return{tool:e,subject:e===`Bash`&&typeof n.command==`string`?cL(n.command):e===`Skill`&&typeof n.skill==`string`?n.skill:e}}const oL=/(<<-?\s*(['"]?)(\w+)\2[^\n]*\n)[\s\S]*?\n\s*\3(?=\n|$)/g,sL=/'[^']*'|"(?:[^"\\]|\\.)*"/g;function cL(e){return e.replace(oL,`$1`).replace(sL,`''`)}function lL(e){return typeof e==`string`?[e]:Array.isArray(e)?e.flatMap(e=>typeof e==`object`&&e&&typeof e.text==`string`?[e.text]:[]):[]}const uL=/^(\S+) \[(open|in_progress|closed)\//gm,dL=/^Ticket (\S+) has been closed\./gm,fL={sentinels:[],said:[]};function pL(e){let t;for(let n of lL(e)){let e=n.includes(`lit:state `),r=n.includes(` [`),i=n.includes(`has been closed.`);if(!(!e&&!r&&!i)){if(t??={sentinels:[],said:[]},e&&t.sentinels.push(...rL(n)),r)for(let[,e,r]of n.matchAll(uL))t.said.push({id:e,status:r});if(i)for(let[,e]of n.matchAll(dL))t.said.push({id:e,status:`closed`})}}if(t===void 0)return fL;for(let e of t.sentinels)e.kind===`state`&&t.said.push({id:e.id,status:e.status});return t}const mL=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function hL(e){if(typeof e==`string`)return mL.exec(e)?.[1]}function gL(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function _L(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o,s=[],c=[],l,u=[];if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n});let i=aL(n,t.input),o=tL(e,i);o!==void 0&&s.push(o),l=eL(i)??l,n===`TodoWrite`&&(a=gL(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id,n=pL(t.content);if(u.push(...n.sentinels),typeof e==`string`){i.push(e);for(let t of n.said)c.push({call:e,...t})}break}case`text`:o??=t.text;break;default:break}}let d=n?hL(o):void 0,f=s.length===0&&l===void 0&&u.length===0&&c.length===0?void 0:{...s.length>0&&{claims:s},...l!==void 0&&{phase:l},...u.length>0&&{sentinels:u},...c.length>0&&{said:c}};if(!(r.length===0&&i.length===0&&a===void 0&&d===void 0&&f===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...d!==void 0&&{command:d},...f!==void 0&&{lit:f}}}function vL(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function yL(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await qP(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){E(`Failed to read projects directory ${e}:`,t)}}return t}async function bL(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await qP(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await JP(t,`utf-8`)).split(`
196
+ `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{E(`Failed to check agent file ${t}`)}}}catch(e){E(`Failed to read subagents directory ${i}:`,e)}return r}function xL(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}const SL=new Map;async function CL(e){try{let t=await YP(e),n=t.size,r=SL.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return E(`[parse-cache] hit ${e}`),SL.delete(e),SL.set(e,r),r.entries;let i;return n>1048576?(E(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await OL(e)):i=await EL(e),E(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(SL.delete(e),SL.size>=16&&SL.delete(SL.keys().next().value),SL.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return E(`Transcript not present yet: ${e}`),[];throw t}}function wL(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,activity:_L(e),raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function TL(e){let t=[];for(let n of e.split(`
197
+ `))if(n.trim())try{let e=wL(JSON.parse(n));e&&t.push(e)}catch(e){E(`Failed to parse JSONL line: ${e}`);continue}return t}async function EL(e){return TL(await JP(e,`utf-8`))}async function DL(e,t){let n=await XP(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:TL(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function OL(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=fe({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=wL(JSON.parse(t));e&&r.push(e)}catch(e){E(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{E(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{E(`File stream error for ${e}:`,t),n(t)})})}var kL=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function AL(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const jL=new Map,ML={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},NL={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function PL(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function FL(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function IL(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function LL(e,t,n,r){let i=PL(new Date(FL())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:IL(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await JI.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=PL(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...ML};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function RL(e){let t=0,n=0,r=IL(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...ML};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:NL,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function zL(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var BL=class{entries=new Map;flight=new kL;seeded=new Map;seededDay=``;speedRings=new Map;speedFlight=new kL;maxEntries;staleAgeMs;log;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.log=e.logger??eC,this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:NL,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=PL(hC(n)),i=vL(t);try{await this.ensureSeeded(r,i)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...ML},c=!1;for(let[t,n]of this.entries){let i=n.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n.days:jL;c||=a.has(r);let l=a.get(r)??ML;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?J({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):Y}async observeSpeed(e,t,n){let r=WP(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=AL(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(e)??[],s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),this.speedRings.set(e,o),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return Y;let r=n??WP(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,J(i);if(!t)return i?J(i):Y;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),J(o)}async refold(e,t,n){let r=await bL(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await DL(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await LL(r,l,s,c)),e===t&&(a=c.mtimeMs)}return J({files:i,...RL(i),mainMtime:a})}ensureSeeded(e,t){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let n=t.join(`\0`),r=this.seeded.get(n);if(r)return r;let i=this.seed(t);return this.seeded.set(n,i),i.catch(()=>{this.seeded.get(n)===i&&this.seeded.delete(n)}),i}async seed(e){let t=FL(),n=await yL(e),r=[];for(let e of n){let n;try{n=await qP(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=p(e,i),a;try{a=(await YP(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await zL(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&this.log(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,this.log(`info`,`usageStore seed sessions=${r.length} dirs=${e.join(`,`)}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,this.log(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),this.log(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},VL=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return E(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);E(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{E(`Calculating context tokens from transcript: ${e}`);let n=await CL(e);if(n.length===0)return E(`No entries in transcript`),Y;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,E(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return E(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return E(`No main chain entries with usage data found`),Y}catch(e){return X(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return J(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},HL=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=WP(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await DL(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const UL={messageCount:0,recent:[]};function WL(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!xL(t),recent:n.length>20?n.slice(-20):n}}function GL(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(xL(r))t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var KL=class{fold=new HL(UL,WL);async getMetricsInfo(e,t){if(E(`Getting metrics from hook data for session: ${e}`),!t.cost)return Y;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`metrics (${e}): ${n.reason}`):J({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:GL(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};function qL(e,t,n){return n.some(e=>e.call===t.call&&e.id===t.id&&e.status===t.to)?t.to===`closed`?e?.id===t.id?null:e:{id:t.id,phase:`prep`,epic:e?.id===t.id?e.epic:null,unread:null}:e}function JL(e,t,n){let r=[...e.claims,...t?.claims??[]],i=e=>n.includes(e.call),a=r.filter(i).reduce((e,n)=>qL(e,n,t?.said??[]),e.ticket),o=r.filter(e=>!i(e));if(a===null||t===void 0)return{claims:o,ticket:a};let s=t.sentinels??[],c=s.findLast(e=>e.kind===`state`&&e.id===a.id),l=s.findLast(e=>e.kind===`unreadable`);return{claims:o,ticket:{id:a.id,phase:t.phase??a.phase,epic:c?.kind===`state`?c.epic:a.epic,unread:l?.kind===`unreadable`?l.line:a.unread}}}const YL={ticket:null,claims:[],command:null,todos:[],pending:[],done:[]};function XL(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function ZL(e,t){if(t.isSidechain)return e;let n=xL(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=XL(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos,...JL(n,r.lit,r.finished??[])}}function QL(e){return{ticket:e.ticket,command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>XL(e,t.name),[]),done:e.done}}var $L=class{fold=new HL(YL,ZL);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(QL(n.value))}};function eR(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function tR(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function nR(e,t,n,r){return tR(D(eR(e,t,n,r)),n)}async function rR(e,t,n){return tR(await Me(eR(e,t,n)),n)}const iR=e=>`${e.socket}\n${e.pane}`;var aR=class{names=new Map;asking=new kL;constructor(e=Date.now){this.now=e}getSessionName(e){let t=iR(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){E(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await rR(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?J(r):Y:X(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const oR=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:et.map(t=>e.env?.[t]??null)]);var sR=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=oR(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=oR(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function cR(e){return{gitProvider:new lC({watchers:e.watchers,logger:e.logger}),usageStore:new BL({logger:e.logger}),contextProvider:new VL,metricsProvider:new KL,activityProvider:new $L,tmuxService:new aR,mementoProvider:new sR(mF()),autoCompact:kT,log:e.logger}}function lR(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function uR(e,t){let n=W.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function dR(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function fR({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function pR(e){let t=fR(e);if(t.length===1)return e.text;let n=uR(t);return n.style=e.text.style,n}function mR(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,lead:s=[],trail:c=[]}=t;if(e.length===0)return[];let l=uR(e,a).pad(o),u=new W(` `.repeat(o)),d={...s.length>0&&{lead:uR([u,...s],a)},...c.length>0&&{trail:uR([...c,u],a)}};if(n===`auto`)return[{text:l,...d}];let f={justify:r,truncate:i};return n===`fill`?[{text:l,fill:f,...d}]:(dR(l,n,f),[{text:l,...d}])}function hR(e,t){let n=e.map(pR),r=[];if(e.forEach(({fill:e},t)=>{e!==void 0&&r.push({at:t,how:e})}),r.length===0||!Number.isFinite(t.width))return n;let i=RN(n,t).split(`
198
+ `);if(i.length>1)return n;let a=Math.max(0,t.width-ON(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];dR(l,l.cellLength+c,i),n[t]=pR(e[t])}),n}function gR(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=_R(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:xN(a.style)};if(e.style.link){i();let r=_R([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function _R(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>vR(e.frag,n?n.add(e.style):e.style)),i=W.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function vR(e,t){let n=e.copy();return n.style=t,n}function yR(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,bR(e,t,o,n,r,i));return i}function bR(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=pw(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=GC.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=pw(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=pw(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:CR(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:CR(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:BD(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:CR(e,n.name,t)};if(`themeDefault`in n)return{kind:`theme-default-save`};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function xR(e){return e.kind===`do`?xR(e.head):e}function SR(e){switch(xR(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`theme-default-save`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function CR(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function wR(e,t){return e.has(t)?Ax(e.read(t)):``}function TR(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function ER(e,t,n,r){let i=new W(e,{style:V.combine([r,new V({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function DR(e,t){return Math.max(e.members.indexOf(wR(t,e.stateVar)),0)}function OR(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=wR(r,e.stateVar);return{effects:[{verb:Dj,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=wR(r,e.stateVar);return{effects:[{verb:Dj,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=wR(r,e.stateVar);return{effects:[{verb:Dj,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(DR(e,r)+1)%e.members.length];return{effects:[{verb:Dj,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:Oj,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:kj,args:[TR(e.text,CS(r))]}],active:!1};case`open`:return{effects:[{verb:Aj,args:[TR(e.target,CS(r))]}],active:!1};case`persist-literal`:{let t=wR(r,e.stateVar);return{effects:[{verb:Pj,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=wR(r,e.stateVar);return{effects:[{verb:Pj,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(DR(e,r)+1)%e.members.length];return{effects:[{verb:Pj,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:Fj,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Bj,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:Hj,args:[i]}],active:!1};case`redo`:return{effects:[{verb:Uj,args:[i]}],active:!1};case`back`:return{effects:[{verb:Wj,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:Gj,args:[i]}],active:!1};case`save`:return{effects:[{verb:Ij,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:Lj,args:[i]}],active:!1};case`theme-default-save`:return{effects:[{verb:Rj,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:zj,args:[i,TR(e.name,CS(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:qj,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:Jj,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:Xj,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:Zj,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:Vj,args:[i,e.key,oP(e.op)]}],active:!1};case`do`:{let a=OR(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>OR(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:Vj,args:[i,e.key,oP(r)]}],active:!1}}}}function kR(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:Id(`action "${e}"`,n,t.members.length,DR(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]}}function AR(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=kR(e,xR(r),t,i),{effects:s,active:c}=OR(r,a,o,i,wR(i,`session.id`));return ER(a,eM(s),c)}function jR(e){return{action:{fn:(t,...n)=>AR(t,n,e),argTypes:[`string`,`string`],arity:{kind:`variadic`},returnType:`T`}}}function MR(e,t){return ER(`✕`,eM([{verb:Dj,args:[wR(e,`session.id`),t,Nd]}]),!1)}function NR(e,t,n){return new V({bgcolor:I.fromRgba(t),color:I.fromRgba(ec(e,t,n))})}function PR({tint:e,text:t}){return new V({bgcolor:I.fromRgba(e),color:I.fromRgba(t)})}function FR(e,t,n){return new V({color:I.fromRgba(kr(Us(e,`warning`),t,$s,n))})}function IR(e,t,n){return V.combine([NR(e,t,n),FR(e,t,n)])}function LR(e,t,n){return NR(e.palette,bc(e.palette,e.disclosure,[t],n),n)}function RR(e,t,n,r,i,a){return r===void 0?n=>LR(e,{...n,distribution:t},i):(e,t)=>zR(r(t,n),a,i)}function zR(e,t,n){return new V({bgcolor:I.fromRgba(t),color:I.fromRgba(kr(Us(e,`primary`),t,4.5,n))})}function BR(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>VR(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function VR(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function HR(e,t){return new W(e).truncate(t,{marker:`…`}).plain}function UR(e){return{current:null,drawnAt:e}}function WR(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function GR(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function KR(e){return new W(e).cellLength}function qR(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function JR(e){return Math.max(1,qR(e)-(KR(`✕`)+2*e.padding+e.seamCols))}function YR(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function XR(e,t,n){let r=KR(`←`)+1+KR(`→`)+1,i=YR(e,t,n);return(i.length>1?YR(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function ZR(e,t){let n=[];for(let t of e)n.length>0&&n.push(new W(` `)),n.push(t);let r=W.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function QR(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function $R(e,t,n){let r=e.compiled.get(t),i=r&&xR(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function ez(e,t,n,r,i,a,o){let s=$R(i,e,`picker`),c=i.compiled.get(e),l=i.store,u=wR(l,`session.id`),d=`stateVar`in s?wR(l,s.stateVar):void 0,f=r?n.kind===`led`?JR(i):qR(i):1/0,p=n.kind===`led`?0:KR(`✕`)+1,m=s.library&&{groups:s.library.groups,entries:s.options.map(s.library.entry)},h=m===void 0?XR(s.options.map(KR),f,p):BR(m.entries,m.groups,r),g=parseInt(wR(l,t.stateVar),10),_=Number.isInteger(g)?Math.max(0,Math.min(g,h.length-1)):0,v=h[_]??[],y=e=>eM([{verb:Dj,args:[u,t.key,String(e)]}]),b=n.kind===`led`?[]:[{verb:Dj,args:[u,...n.writes.flatMap(([e,t])=>[e,t])]}],x=n.kind===`own`&&n.onPick?b:[],S=e=>eM([...OR(c,e,e,l,u).effects,...x]),C=(e,t)=>{let n=s.options[e];return ER(t,S(n),n===d,a({index:e,count:s.options.length},n))},ee=n.kind===`led`?[]:[ER(`✕`,eM(b),!1,o)];_>0&&ee.push(ER(`←`,y(_-1),!1));let te=_<h.length-1?[ER(`→`,y(_+1),!1)]:[];if(m===void 0){let e=v.flatMap(e=>e.indices);return[ZR([...ee,...e.map(e=>C(e,s.options[e])),...te],r)]}let ne=new V({bold:!0}),re=h.length>1?` ${_+1}/${h.length}`:``,ie=v.length===1?[new W(`${v[0].label}${re}`,{style:ne})]:[],ae=[ZR([...ee,...ie,...te],r)];for(let e of v){v.length>1&&ae.push(ZR([new W(e.label,{style:ne})],r));let t=Math.max(...e.indices.map(e=>KR(s.options[e])));for(let n of e.indices){let e=s.options[n],i=m.entries[n].description,a=i===void 0?void 0:pN(i),o=` `.repeat(t-KR(e)+2),c=a===void 0?e:`${e}${o}${a}`;ae.push(ZR([C(n,HR(c,f))],r))}}return ae}function tz(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{_S(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=QR(e,r,`set-int`,`an int action ({ set, int: true })`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=$R(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=GR(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=ez(n,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,RR(u,js(void 0),e,l.paletteOf,t.drawnAt(),u.bg),FR(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function nz(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+KR(e(-(s+1)))+1+KR(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function rz(e,t,n,r,i,a){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let o=n.store;if(!o.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let s=n.compiled.get(e),c=wR(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return ZR([],!0);let d=wR(o,t.stateVar),f=Math.max(l.indexOf(d),0),p=e=>((f+e)%u+u)%u,m=e=>l[p(e)],h=new Map,g=e=>{let t=h.get(e);if(t!==void 0)return t;let n=eM(OR(s,m(e),m(e),o,c).effects);return h.set(e,n),n},_=e=>ER(m(e),g(e),m(e)===d,r({index:p(e),count:u},m(e))),v=a===void 0?_(0):ER(m(0),eM(OR(n.compiled.get(a),m(0),void 0,o,c).effects),!1),y=nz(m,u,KR(`◀`)+1+v.cellLength+1+KR(`▶`),JR(n),i),b=e=>Array.from({length:y},(t,n)=>_(e*(n+1)));return ZR([...b(-1).reverse(),ER(`◀`,g(-1),!1),v,ER(`▶`,g(1),!1),...b(1)],!0)}function iz(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(_S(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&SR(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=$R(e,n,`carousel`),l=GR(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return rz(n,c,e,RR(l,js(void 0),e,c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}const az=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function oz(e,t,n,r){let i=fc(e,n,r),a=(t,n)=>({text:t,colour:n,ink:ec(e,n,r)});return[Es(t).map((n,i)=>{let a=Ws(e,n);return{text:az[i%az.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}}),[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,Us(e,`warning`)),a(`error`,Us(e,`error`))]]}function sz(e,t,n,r,i){let a=oz(e,t,n,r).flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new W(` ${e} `,{style:PR({tint:n,text:r})})}))),o=[],s=0;for(let{gap:e,cell:t}of a){if(s+=e.length+t.cellLength,s>i)break;e!==``&&o.push(new W(e)),o.push(t)}let c=W.fromFragments(o);return c.overflow=`ignore`,c.end=``,c}function cz(e,t){return{themePreview:{fn:()=>sz(e.palette,e.decor,{...GR(t,`{{ themePreview }}`).disclosure,depth:0},t.drawnAt(),JR(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}const lz=e=>e.slice(e.lastIndexOf(`.`)+1),uz=(e,t)=>{let n=new W(lz(e));return n.truncate(t,{marker:`…`}),n.plain};function dz(e,t){let n=e.map(e=>e.map(({name:e})=>KR(lz(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function fz(e,t,n,r){let i=dz(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new W(` ${uz(s,i)} `,{style:PR(wc(l,{kind:`bar`,decor:t,address:c},n))});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=W.fromFragments(a.flatMap((e,t)=>t===0?e:[new W(`
199
+ `),...e]));return o.overflow=`ignore`,o.end=``,o}function pz(e,t){return{layoutPreview:{fn:()=>fz(e.layout(),e.decor,t.drawnAt(),JR(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function mz(e,t,n,r){let i=GR(r.activeSegment,`{{ menu }}`),a=r.action,o=pb(i.placementId,e,n.key),s=gb(o),c=fb(e),l=wR(a.store,o)===c,u=wR(a.store,`session.id`),d=l?Nd:c,f=ER(Id(`{{ menu "${e}" }}`,t,2,+!!l),eM([{verb:Dj,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=fc(i.palette,i.disclosure,t).plane;return ez(e,{key:s,stateVar:s},{kind:`own`,writes:[[o,Nd],[s,`0`]],onPick:n.closeOnPick},n.paged,a,RR(i,n.distribution,a,$R(a,e,`menu`).paletteOf,t,c),FR(i.palette,c,t))})():[]),f}const hz=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function gz(e,t){let n=t[t.length-1],r=hz(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:bb(r??{})}}function _z(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=gz(t,n);return mz(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function vz(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=yz(t,n,r),c=[];for(let e=0;e<r;e++){let t=e<s,l=t&&o!==void 0?o(e*n/r):void 0;c.push(new W(t?i:a,{style:l===void 0?void 0:new V({color:l})}))}let l=W.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function yz(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?0:Math.min(n,Math.max(0,Math.round(e/t*n)))}function bz(e){let t={fn:(()=>{let t=GR(e,`{{ bgOf }}`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],arity:{kind:`exact`},returnType:`string`},n={fn:(()=>GR(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r={fn:((t,n)=>{let{palette:r}=GR(e,`{{ keptOn }}`),i=br(r,t),a=br(r,n),o=N(jr(i,P.TRUECOLOR),jr(a,P.TRUECOLOR)),s=Math.min($s,Math.max(o,3));return(Ar(i,e.drawnAt(),(e,t)=>N(e,t(a))>=s)??i).hex}),argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`string`},i=rS(()=>GR(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),a={fn:((e,t,n,r,a,o,...s)=>{let c=o===void 0?void 0:[o,...xz(s)];return vz({value:e,max:t,width:n,filled:r,empty:a,colourAt:c===void 0?void 0:e=>String(i.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...i,bgOf:t,tint:n,keptOn:r,gauge:a}}function xz(e){return e.flatMap(e=>{let t=e.indexOf(`:`),n=t<0?NaN:Number(e.slice(0,t));if(!Number.isFinite(n))throw Error(`{{ gauge }} stop "${e}" must be "<position>:<colour>", e.g. "80:error" or "80:#ff0000"`);return[n,e.slice(t+1)]})}function Sz(e){let t=[],n=[];for(let r of e){if(!r.contains(`
198
200
  `)){n.push(r);continue}let e=r.split(`
199
- `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function IL(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,...LL(e,r)]}function LL(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function RL(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:IL(e.direction,e.children.map((t,i)=>n(t,[...r,zL(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function zL(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:nl[e.direction]}}const BL={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:Co(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,cl(t.path,n)))}},render(e,t){return IL(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,zL(e,r))))}},VL={drop:e=>e.place,above:()=>`above`},HL={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},UL={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:rl(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Tu(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,ll(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=sx(t.scope,e.settings);try{if(!bI(i.when,a))return[];let n=IS(e.settings.theme,t.palette),o=e.opens!==void 0&&bI(e.opens.open,t.scope),{styles:s,fragments:c,lead:l,trail:u,drops:d,open:f}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},o),p=f?s.trigger:s.closed,m={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:p,padding:t.padding},h=e.opens,g=h===void 0?[]:t.renderBody(h.body,o,s.disclosure).map(e=>({...e,place:VL[h.placement](e)})),_=FL(kI(c,p)).map((e,t)=>({cells:TI(e,{...m,lead:t===0?kI(l,p):[],trail:t===0?kI(u,p):[]}),band:`own`,place:`flow`})),v=d.map(e=>({cells:TI(kI([e],s.band),{...m,baseStyle:s.band}),band:`deeper`,place:`flow`})),y=(e,t,n)=>TI(kI([e],t),{...m,width:`auto`,baseStyle:t,padding:n}),b=g.findIndex(e=>e.band===`own`),{lead:x,stays:S}=h!==void 0&&b!==-1?HL[h.placement](_,()=>y(t.closeDisclosure(h.key),s.close,t.padding)):{lead:[],stays:_},C=x.flatMap(e=>y(new W(` `.repeat(CI(e).reduce((e,t)=>e+t.cellLength,0))),s.trigger,0)),ee=(e,t)=>e.band===`own`?t===b?x:C:[],te=g.map((e,t)=>({cells:[...ee(e,t),...e.cells],band:`deeper`,place:e.place})),ne=[...S,...v];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...ne.flatMap(e=>e.cells),...g.flatMap(ee)].flatMap(CI)),[...ne,...te]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:TI([new W(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,lead:WL(e.lead,e,a,t),trail:WL(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}};function WL(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const GL={container:BL,segment:UL};function KL(e){return GL[e]}function qL(e){if(`ttl`in e)return{kind:`ttl`,durationMs:$x(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function JL(e,t){switch(fl(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function YL(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:qL(n.cache),parse:JL(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:qL(n.cache),parse:JL(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function XL(e,t){let n=Ep.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const ZL=(e,t,n)=>({variation:_o[t??Ks(void 0,null,e.variation)],shade:ho[n??Ys(void 0,null,e.shade)]});function QL(e,t,n){let r=n.cwd,i=US(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:nM({endcaps:`powerline`,charset:Vs}),width:80,basePalette:i,palette:i,decor:ZL(e.globals),padding:1,seamCols:rM({endcaps:`powerline`,charset:Vs}),layout:()=>[]},o=nL(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.styles),l=ay(e.presets),u=YT(e),d=ix({extraFuncs:{...WI(a),...mL(a,o),..._L(a,o),...xL(a,o),...EL(a,o),...AL(s),...NL(o),styles:{fn:()=>c,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>l,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),f=XL(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of OS)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=MI(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{YL(t,n,i,r)}catch(e){_.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{YL(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=_l(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>Sl(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return KL(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=cy(e,t);C.set(t,S(n,r))}let ee=new Map(Es.map(e=>[e,new Map])),te=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of te)for(let n of Es){let r=t[n];if(!Ds(r))continue;let i=`${e}.${n}`,a=ee.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:$L(p,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:ee,loadWarnings:_}}function $L(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function eR(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function tR(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function nR(e,t){return e.kind===`decided`?e.name:t}function rR(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=new Set;r.renderAt(a),r.drawAt(Us(o.colorCompatibility));let{preset:p=ry}=c??{},m=ly(e,p),h=ZL(m,c?.variation,c?.shade);t.menuRuntime.action.decor=h;let g=c?.style??Ms(`none`,e.styles),_=c?.theme??VS(void 0,null,m.palette),v=(e,t)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t}});r.applyInput(v(nR(_,ys),nR(g,As))),t.menuRuntime.action.chromeCols=nM(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=rM(o);let y=ax(n),b=ks(_,e=>{let n=eR(t,`palette`,e);return BS(tR(n,y),n.where,e=>d?.({kind:`theme-rule`,message:e}))}),x=ks(g,n=>Ms(tR(eR(t,`style`,n),y),e.styles));(b!==_||x!==g)&&r.applyInput(v(b.name,x.name));let S=b.value;t.menuRuntime.action.basePalette=S;let C=RS(S,x.value);t.menuRuntime.action.palette=C,l?.clear();let ee=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},te=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=gs(i,a,c),p=rL(t.activeSegment,e.name,e.id,i,d,l,u),m=gC(p,c,o.bg,o.fg,n),h=()=>is(i,d,c);s&&(p.bg=h().state);let g=o.body.evaluate(n),_=p.drops.length>0||s;if(_){let e=h();p.bg=e.state;for(let t of e.shortfalls)f.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return KI(i,h().state,c)},get band(){return KI(i,h().plane,c)},get close(){return YI(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:p.drops,open:_}}finally{t.activeSegment.current=null}},ne=(e,t,r)=>{let i=t&&bI(e.when,y),a={scope:y,palette:C,visible:i,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:te,lookupSegment:ee,renderChild:(e,t,n)=>ne(e,t,ms(r,n)),renderBody:(e,t,n)=>ne(e,i&&t,hs(n)),closeDisclosure:e=>GI(n,e)};return KL(e.kind).render(e,a)},re=t.roots.get(p);if(re===void 0)throw Error(`Preset "${p}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${ry}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let ie=e=>{if(!bI(e.when,y))return!1;if(e.kind===`container`)return!0;if(oE(e.name)===void 0)return!1;try{return bI(t.segments[e.name].when,sx(y,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>RL(re,ie).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=oE(e);return r===void 0?[]:[{name:r,address:t,palette:IS(n.theme,C)}]}));let ae=ne(re,!0,ps(h)).map(e=>iM(OI(e.cells,o),o)).join(`
200
- `);for(let e of f)d?.({kind:`band-floor`,message:e});return ae}function*iR(e){yield*Object.entries(e.variables??{});for(let[t,n]of Object.entries(e.segments??{}))for(let[e,r]of Object.entries(n.vars??{}))yield[`${t}.${e}`,r]}function*aR(e){for(let t of Object.values(e.segments))for(let e of[t.template,t.bg,t.fg,t.when])e!==void 0&&(yield e);for(let t of ay(e.presets)){for(let n of sl(cy(e,t).node))n.when!==void 0&&(yield n.when);let n=ly(e,t);for(let e of Es){let t=n[e];Ds(t)&&(yield t)}}for(let[,t]of iR(e))t.kind===`template`&&(yield t.template),ml(t)&&t.cache&&`key`in t.cache&&(yield t.cache.key);for(let t of Object.values(e.actions))`copy`in t&&(yield t.copy),`open`in t&&(yield t.open),`preset`in t&&t.preset===`delete`&&(yield t.name)}function oR(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function sR(e,t){let n=new Set,r=new Set,i=new Set;for(let e of aR(t)){for(let r of Yy(e,t.helpers).keys())n.add(r);for(let{name:n}of $y(e,t.helpers))r.add(n);for(let n of eb(e,t.helpers))i.add(n)}for(let[,e]of iR(t))if(ml(e)&&e.cache&&`depends_on`in e.cache)for(let t of e.cache.depends_on)n.add(t);let a=new Set(r);for(let e of r){let n=t.actions[e];if(n!==void 0&&`do`in n)for(let e of n.do)a.add(e)}let o=new Set,s=new Set;for(let e of a){let n=t.actions[e];if(n!==void 0&&(`set`in n&&o.add(n.set),`insertSegment`in n&&s.add(n.insertSegment),`insertSegmentFrom`in n&&Array.isArray(n.insertSegmentFrom)))for(let e of n.insertSegmentFrom)s.add(e)}for(let e of ay(t.presets))for(let n of sl(cy(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>oR(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!ef(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(iR(e));return[...u(`variable`,d.keys(),e=>c(e,d.get(e))),...u(`action`,Object.keys(e.actions??{}),e=>a.has(e)),...u(`helper`,Object.keys(e.helpers??{}),e=>i.has(e)),...u(`segment`,Object.keys(e.segments??{}),e=>s.has(e))]}var cR=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,mR(e,t,n,`initial value`),this.cell=lb.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){mR(this.name,this.type,e,`set value`),!Object.is(this.cell.get(),e)&&(this.cell.set(e),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}},lR=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,lb.computed)(()=>{let e=n();return mR(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},uR=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=lb.observable.box(pR(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=pR(e);fR(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function dR(e){return JSON.stringify(e)}function fR(e,t){return dR(e)===dR(t)}function pR(e){return e.kind===`ok`?{kind:`ok`,value:ub(e.value)}:e}function mR(e,t,n,r){let i=db(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var hR=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new cR(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new uR(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new lR(e,t,()=>n(r)))}read(e){return this.requireVar(e).read()}readDocument(e){let t=this.requireNode(e);if(t.kind!==`document`)throw TypeError(`Variable "${e}" is a ${t.kind}, not a document`);return t.read()}setDocument(e,t){let n=this.requireNode(e);if(n.kind!==`document`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a document (use defineDocument to create one)`);(0,lb.runInAction)(()=>n.set(t))}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,lb.runInAction)(()=>n.set(t))}runInAction(e){(0,lb.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireVar(e).type}getKind(e){return this.requireNode(e).kind}changeKey(e){let t=this.requireNode(e);if(t.kind===`document`)return dR(t.read());try{return String(t.read())}catch(e){return`failed:${e instanceof Error?e.message:String(e)}`}}getNode(e){let t=this.requireNode(e);return t.kind===`document`?{name:t.name,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}:{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}requireVar(e){let t=this.requireNode(e);if(t.kind===`document`)throw TypeError(`Variable "${e}" is a document; read its fields by path (.${e}.<field>)`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function gR(e,{loaded:t,dropped:n,unreached:r}){Z(`info`,`config load ${e.join(` < `)||`<default>`}: plugins loaded=${t.length} dropped=${n.length} unplaced=${r.length}`+t.map(e=>` +${e}`).join(``)+n.map(e=>` -${e.path} (${e.reason})`).join(``)+r.map(e=>` ~${e.path} (${e.reason})`).join(``))}function _R(e,t,n){return e+`\0`+t+`\0`+(n??``)}function vR(e,t){return new Set(ay(e.presets).filter(n=>cy(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function yR(e,t){let n=new Map,{roots:r,loaded:i,dropped:a,unreached:o}=e.state.plugins;for(let t of[...GD(e.projectDir,e.cwd,e.configFile),...r,...i,...[...a,...o].map(e=>e.path)]){let{dir:e,name:r}=ab(t),i=n.has(e)?n.get(e):new Set;i?.add(r),n.set(e,i)}for(let e of r){let{dir:t,name:r,leaf:i}=ab(l.join(e,`_`));i&&r===`_`&&n.set(t,null)}return{files:t,dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>t===null?{path:e}:{path:e,filenames:[...t].sort()})}}function bR(e){return e.filter(Boolean).join(`
201
- `)||null}function xR(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=NO(t.layers,rN,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??rN,l=a.find(e=>e.path===t.home)?.raw??{},u=new hR,d=new bS(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=QL(o,d,{cwd:e}),n.push(...f.loadWarnings),PP(o),VM(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:GN(o),lastRenderCellsBySegment:new Map,authoredRoots:vR(c,l),fileHeldSettings:bP(l),unused:[...new Map(a.flatMap(e=>sR(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function SR(e,t,n,r){let i=qD(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[QD(e,t),XD(i)],s,c=null;try{s=xR(t,a,o,r,e=>{c=e})}catch(e){return e instanceof Xc&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:bR(o),state:null,error:e instanceof Xc||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:bR(o),state:s,error:null}}var CR=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=_R(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=SR(e,t,n,this.deps);a.state!==null&&gR(a.layers,a.state.plugins);let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??xR(t,{layers:[],home:``,projectDir:e},[],this.deps),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=SR(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(gR(t.layers,t.state.plugins),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=yR(e,t.layers),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){Z(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const wR=16384;var TR=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<wR){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%wR}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:dk,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function ER(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const DR={load:()=>({}),save:()=>{},flush:()=>{}};function OR(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var kR=class{sessions;storage;atom=(0,lb.createAtom)(`SessionState`);constructor(e=DR,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=OR(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,lb.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,lb.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,lb.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};function AR(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var jR=class{timer=null;pending=null;constructor(e,t=500,n=Ix){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return AR(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(l.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const MR={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},NR=new Set([`1`,`true`]),PR=new Set([`0`,`false`,``]);function FR(e,t){let n=oz(e),r=n.scope===`segment-palette`?`string`:MR[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(NR.has(t))return`true`;if(PR.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function IR(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function LR(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function RR(e){return/^\s*$/.test(e)?null:fc(e)}function zR(e,t){return e!==null&&mc(e,t)!==void 0}function BR(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(BR),...i}}return e}function VR(e){if(!su(e))return BR(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,BR(t)])),...n}}const HR=tN,UR=HR.segments,WR=HR.presets,GR=HR.root;function KR(e,t,n,r){if(!zR(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function qR(e,t){let n=uC(t);return t.scope===`segment-palette`&&KR(e,[`segments`,t.segment],UR[t.segment],n.join(`.`)),n}function JR(e){return fc(Sc(e))}function YR(){return Object.entries(GR.rows).map(([e,t])=>{let n=BR(t);return{path:[`root`],fragment:JR({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function XR(e,t){let n=e===null?void 0:mc(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function ZR(e,t){if(t===void 0)return null;let n=VR(t);return{path:e,fragment:JR(n),unit:{path:e,value:n}}}function QR(e,t){let n=[`presets`,t],r=[...n,`root`],i=WR[t];KR(e,n,i,r.join(`.`));let a=XR(e,r)??ZR(r,i?.root);return a!==null&&Uc(a.fragment)?a:null}function $R(e,t){let n=Hc(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function ez(e,t){return[...YR(),XR(e,[`root`]),QR(e,t)].filter(e=>e!==null).reduce($R,new Map)}function tz(e,t,n){for(let{node:r,...i}of ez(e,t).values())if(Gc(r,n))return i;throw new $(`${nz(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function nz(e,t){return QR(e,t)?.path??[`root`]}function rz(e,t){return t.scope===`preset-root`?nz(e,t.preset):uC(t)}function iz(e,{unit:t}){return t===null?e:Ic(e,t.path,Sc(t.value),bc)}function az(e){let t=lC(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function oz(e){let t=az(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function sz(e,t,n,r,i){i(t,n,vz(t,r)),LR(t.path,r,e.logger),e.record(t.path,n,r)}function cz(e,t,n){let r=dz(e,t,n);if(r.length>0)throw new $(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const lz=()=>{};function uz(e,t){try{return t()}catch(t){throw!(t instanceof $)||e.above.length===0?t:new $(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function dz(e,t,n){let r=fz(e,t);if(r===null)return[];let i=new Set(gz(hz(r),hz(n)));return gz(mz(e,r),mz(e,n)).filter(e=>!i.has(e))}function fz(e,t){try{return pz(e,t)}catch(e){if(e instanceof Xc)return null;throw e}}function pz(e,t){return NO(t===null?e.above:[e.path,...e.above],rN,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function mz(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function hz(e){return e.layers.at(-1)?.config??e.base}function gz(e,t,n=``){return!_z(e)||!_z(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>gz(e[r],t[r],n===``?r:`${n}.${r}`))}function _z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function vz(e,t){try{return pz(e,t)}catch(e){throw e instanceof Xc?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function yz(e,t){let n=oz(t),r=RR(IR(e)??``),i=r===null?void 0:mc(r,uC(n));return i!==void 0&&`value`in i?i.value:void 0}function bz(e,t,n){xz(e,t,n,[])}function xz(e,t,n,r){let i=IR(t.path),a=n.reduce((e,[t,n])=>Ic(e,qR(RR(e),oz(t)),FR(t,n),bc),i??``);sz(e,t,i,uz(t,()=>Sz(a,t.path,r,e=>e)),cz)}function Sz(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=tz(RR(s),n,i),l=Yc(iz(s,c),c.path,i,a,Sc(o));if(l===null)throw new $(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function Cz(e,t,n){let r=RR(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of ez(r,t)){if(!Gc(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?gc(e,c):Sc(s.value);if(a!==`#`)return Ic(e,[...i,`rows`,a],l,bc);if(QR(r,t)!==null)throw new $(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Ic(e,i,l,bc)}return e}function wz(e,t){return Rc(e,t,t[0]===`presets`&&t.length>2&&!aN(t[1])?2:0)}function Tz(e,t,n){let r=n.map(az),i=IR(t.path);if(i===null)return;let a=r.reduce((e,t)=>wz(e,rz(RR(e),t)),i);a!==i&&sz(e,t,i,a,lz)}function Ez(e){let t=e===null?void 0:mc(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function Dz(e,t){let n=new Set([...iN,...Ez(e),...t.above.flatMap(e=>Object.keys(ot.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(Jd));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(Jd(e)))}function Oz(e,t,n,r,i,a){let o=IR(t.path),s=RR(o??``),c=Dz(s,t),l=[`presets`,c],u=uz(t,()=>QR(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?gc(o??``,u.fragment):Sc(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Sc(r)]]],f=i.map(([e,t])=>{let n=cC(c,e);return[qR(s,oz(n)),FR(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>Ic(e,t,n,bc),Ic(o??``,l,`{}`,bc));return sz(e,t,o,uz(t,()=>Sz(p,t.path,a.map(e=>({...e,preset:c})),Cz)),cz),c}function kz(e,t,n){if(aN(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=IR(t.path),a=RR(i??``);if(i===null||a===null||mc(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=mc(a,[`globals`,`preset`]);sz(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>wz(e,t),i),lz)}function Az(e,t,n,r){let i=az(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=IR(t.path),o=r.op===`remove`?r.target:r.anchor,s=uz(t,()=>tz(RR(a??``),i.preset,o)),c=iz(a??``,s),{after:l,placed:u}=jz(c,s.path,r,()=>{let e=vz(t,c).config;return ay(e.presets).map(t=>cy(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t.path} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return sz(e,t,a,l,cz),u}function jz(e,t,n,r){switch(n.op){case`remove`:return{after:qc(e,t,n.target),placed:null};case`insert`:{let i=OM(n.segment,n.anchor,r());return{after:Jc(e,t,i,n.anchor,n.relation),placed:i}}}}const Mz={load:()=>({}),save:()=>{}},Nz=new Set(wS.map(e=>e.sessionKey)),Pz=e=>Nz.has(e)||e.startsWith(ky),Fz=8*1024*1024,Iz={past:[],future:[]},Lz=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var Rz=class{state=new Map;constructor(e,t,n=Mz){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n,savepoint:r}=this.state.get(e)??Iz;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??Iz}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(Lz(n));r.set(Lz(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:ER(this.sessionState,e=>Pz(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:Kz(i,n),o=r.get(e),s=o===void 0?a:Xz(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new $(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,Jz(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new $(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(Lz)),a=n.net.filter(e=>!i.has(Lz(e))),o=Vz(Zz(Yz(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new $(`rewind: ${r.map($z).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new $(`redo: nothing to redo`);let a=[...n,i],o=Vz(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...Uz(t.savepoint,a.length-o.length,i)}),i}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(Lz)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:Zz(n,t),future:Zz(i,t),...a!==void 0&&{savepoint:{at:Zz([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(Lz(e))),below:Zz(a.below,t)}}}),new $(`${r}: ${o.map($z).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):IR(t.file)}write(e,t,n){t.kind===`file`?LR(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0||t.savepoint!==void 0)&&n.set(e,t);n.size>32||zz(n)>Fz;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,Bz(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${Fz} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function zz(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function Bz({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...Uz(n,1,[])}:{past:e,future:t.slice(1),...Uz(n,0,[])}}function Vz(e){return e.slice(-50)}const Hz=e=>e===jy.member;function Uz(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:Wz(e.net,n),below:e.below}}}function Wz(e,t){let n=new Map(e.map(e=>[Lz(e),e]));for(let e of t){let t=n.get(Lz(e));n.set(Lz(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const Gz=e=>e.map(e=>({...e,before:e.after,after:e.before}));function Kz(e,t){let n=[...e.past,t],r=Vz(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...Uz(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...qz(e.future,a),...i.below]},n.length-r.length,t)}}function qz(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function Jz(e,t){return{past:e.past.slice(0,-1),future:Vz([...e.future,t]),...Uz(e.savepoint,0,Gz(t))}}function Yz(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...qz(r,t.at-i.length),...t.below]}function Xz(e,t){if(Hz(t.after)&&!Hz(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!Hz(t.after)&&Hz(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function Zz(e,t){return e.map(e=>e.filter(e=>!t.has(Lz(e)))).filter(e=>e.length>0)}function Qz(e){return e.map($z).join(`, `)}function $z(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function eB(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function tB(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(eB))}function nB(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(eB)&&tB(t.below)}function rB(e){if(typeof e!=`object`||!e)return!1;let t=e;return tB(t.past)&&tB(t.future)&&(t.savepoint===void 0||nB(t.savepoint))}function iB(e,t){let n=e=>e.kind===`file`||Pz(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function aB(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(rB)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,iB(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}const oB=e=>!Pz(e)&&!WC(e)&&e!==`update.dismissed`;var sB=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:ER(e,oB,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new $(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,lb.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function cB(e){let t=pI(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function lB(e){return{probeTmux:cB,loadConfig:e}}function uB(e,t){let n=e.loadConfig(t),r={layers:n.layers,warnings:n.warning===null?[]:n.warning.split(`
202
- `)};return n.error===null?{...r,kind:`loaded`,unused:n.unused}:{...r,kind:`failed`,error:n.error}}function dB(e){let t=rw(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function fB(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function pB(e){return{kind:`arrived`,handler:e,bar:dk}}function mB(e,t,n){return{tmux:fB(e,t.tmux),config:uB(e,n),claudeSettings:dB(ew($C(t.claudeConfigDir)))}}function hB(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=Ic(nw(n),[`env`,e.name],JSON.stringify(e.value),xc);return r.mkdirSync(l.dirname(n),{recursive:!0}),Fe(n,i),{...t,claudeSettings:dB(n)}}default:return e.kind}}const gB={connectMs:200,budgetMs:500};async function _B(e){let n=e.includes(`--json`),r=await vB();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${uk(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
203
- `);return}t.stdout.write(SB(r.value))}function vB(){return ik({kind:`stats`},gB,e=>`stats`in e?e.stats:void 0)}function yB(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function bB(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function xB(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function SB(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${xB(e.uptimeSec)}`),t.push(` rss ${yB(e.rssBytes)}`),t.push(` heapUsed ${yB(e.heapUsedBytes)}`),t.push(` heapTotal ${yB(e.heapTotalBytes)}`),t.push(` external ${yB(e.externalBytes)}`),t.push(` arrayBuffers ${yB(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${bB(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${bB(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
201
+ `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function Cz(e){let t=new Map;return e.map(e=>{let n=`${e.place}.${e.band}`,r=t.get(n)??0;return t.set(n,r+1),{line:e,row:`${n}#${r}`}})}function wz(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,...Tz(e,r)]}function Tz(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function Ez(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:wz(e.direction,e.children.map((t,i)=>n(t,[...r,Dz(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function Dz(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:hu[e.direction]}}const Oz={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:js(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,xu(t.path,n)))}},render(e,t){return wz(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,Dz(e,r))))}},kz={drop:e=>e.place,above:()=>`above`},Az={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},jz={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:gu(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(zd(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,Su(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=TS(t.scope,e.settings);try{if(!lR(i.when,a))return[];let n=ew(e.settings.theme,t.palette),o=e.opens!==void 0&&lR(e.opens.open,t.scope),{styles:s,fragments:c,lead:l,trail:u,drops:d,open:f}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},o),p=f?s.trigger:s.closed,m={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:p,padding:t.padding},h=e.opens,g=h===void 0?[]:t.renderBody(h.body,o,s.disclosure).map(e=>({...e,place:kz[h.placement](e)})),_=Sz(gR(c,p)).map((e,t)=>({cells:mR(e,{...m,lead:t===0?gR(l,p):[],trail:t===0?gR(u,p):[]}),band:`own`,place:`flow`})),v=d.map(e=>({cells:mR(gR([e],s.band),{...m,baseStyle:s.band}),band:`deeper`,place:`flow`})),y=(e,t,n)=>mR(gR([e],t),{...m,width:`auto`,baseStyle:t,padding:n}),b=g.findIndex(e=>e.band===`own`),{lead:x,stays:S}=h!==void 0&&b!==-1?Az[h.placement](_,()=>y(t.closeDisclosure(h.key),s.close,t.padding)):{lead:[],stays:_},C=x.flatMap(e=>y(new W(` `.repeat(fR(e).reduce((e,t)=>e+t.cellLength,0))),s.trigger,0)),ee=(e,t)=>e.band===`own`?t===b?x:C:[],te=g.map((e,t)=>({cells:[...ee(e,t),...e.cells],band:`deeper`,place:e.place})),ne=[...S,...v];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...ne.flatMap(e=>e.cells),...g.flatMap(ee)].flatMap(fR)),[...ne,...te]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:mR([new W(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,lead:Mz(e.lead,e,a,t),trail:Mz(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}};function Mz(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const Nz={container:Oz,segment:jz};function Pz(e){return Nz[e]}function Fz(e){if(`ttl`in e)return{kind:`ttl`,durationMs:_C(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function Iz(e,t){switch(Eu(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function Lz(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:Fz(n.cache),parse:Iz(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:Fz(n.cache),parse:Iz(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function Rz(e,t){let n=Wm.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const zz=(e,t,n,r,i)=>{let a=UP(t,HP(n,e.themeDefaults));return{variation:Ts[r??al(void 0,null,a.variation)],shade:Cs[i??cl(void 0,null,a.shade)]}};function Bz(e,t,n){let r=n.cwd,i=sw(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:IN({endcaps:`powerline`,charset:el}),width:80,basePalette:i,palette:i,decor:zz(e,e.globals,aw(void 0,null,e.globals.palette)),padding:1,seamCols:LN({endcaps:`powerline`,charset:el}),layout:()=>[]},o=UR(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.styles),l=Cb(e.presets),u=bD(e),d=SS({extraFuncs:{...jR(a),...tz(a,o),...iz(a,o),...cz(a,o),...pz(a,o),..._z(s),...bz(o),styles:{fn:()=>c,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>l,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),f=Rz(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of KC)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=yR(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{Lz(t,n,i,r)}catch(e){_.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{Lz(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=ju(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>Iu(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return Pz(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=Eb(e,t);C.set(t,S(n,r))}let ee=new Map(Pc.map(e=>[e,new Map])),te=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of te)for(let n of Pc){let r=t[n];if(!Fc(r))continue;let i=`${e}.${n}`,a=ee.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:Vz(p,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:ee,loadWarnings:_}}function Vz(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function Hz(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function Uz(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function Wz(e,t){return e.kind===`decided`?e.name:t}function Gz(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=new Set;r.renderAt(a),r.drawAt(nl(o.colorCompatibility));let{preset:p=xb}=c??{},m=Db(e,p),h=c?.style??Bc(`none`,e.styles),g=c?.theme??aw(void 0,null,m.palette),_=zz(e,m,g,c?.variation,c?.shade);t.menuRuntime.action.decor=_;let v=c?.effect??Kc(void 0,null,m.effect),y=(e,t,n)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t},effect:{effective:n}});r.applyInput(y(Wz(g,Dc),Wz(h,Rc),Wz(v,Hc))),t.menuRuntime.action.chromeCols=IN(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=LN(o);let b=CS(n),x=Lc(g,e=>{let n=Hz(t,`palette`,e);return iw(Uz(n,b),n.where,e=>d?.({kind:`theme-rule`,message:e}))}),S=Lc(h,n=>Bc(Uz(Hz(t,`style`,n),b),e.styles)),C=Lc(v,e=>Gc(Uz(Hz(t,`effect`,e),b)));(x!==g||S!==h||C!==v)&&r.applyInput(y(x.name,S.name,C.name));let ee=(c?.effects??new EN(``)).motion(C.value,a),te=x.value;t.menuRuntime.action.basePalette=te;let ne=nw(te,S.value);t.menuRuntime.action.palette=ne,l?.clear();let re=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},ie=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=wc(i,a,c),p=WR(t.activeSegment,e.name,e.id,i,d,l,u),m=Lw(p,c,o.bg,o.fg,n),h=()=>fc(i,d,c);s&&(p.bg=h().state);let g=o.body.evaluate(n),_=p.drops.length>0||s;if(_){let e=h();p.bg=e.state;for(let t of e.shortfalls)f.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return NR(i,h().state,c)},get band(){return NR(i,h().plane,c)},get close(){return IR(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:p.drops,open:_}}finally{t.activeSegment.current=null}},ae=(e,t,r)=>{let i=t&&lR(e.when,b),a={scope:b,palette:ne,visible:i,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:ie,lookupSegment:re,renderChild:(e,t,n)=>ae(e,t,Sc(r,n)),renderBody:(e,t,n)=>ae(e,i&&t,Cc(n)),closeDisclosure:e=>MR(n,e)};return Pz(e.kind).render(e,a)},w=t.roots.get(p);if(w===void 0)throw Error(`Preset "${p}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${xb}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let T=e=>{if(!lR(e.when,b))return!1;if(e.kind===`container`)return!0;if(jD(e.name)===void 0)return!1;try{return lR(t.segments[e.name].when,TS(b,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>Ez(w,T).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=jD(e);return r===void 0?[]:[{name:r,address:t,palette:ew(n.theme,ne)}]}));let oe=Cz(ae(w,!0,xc(_))).map(({line:e,row:t})=>RN(hR(e.cells,o),o,ee(t))).join(`
202
+ `);for(let e of f)d?.({kind:`band-floor`,message:e});return oe}function*Kz(e){yield*Object.entries(e.variables??{});for(let[t,n]of Object.entries(e.segments??{}))for(let[e,r]of Object.entries(n.vars??{}))yield[`${t}.${e}`,r]}function*qz(e){for(let t of Object.values(e.segments))for(let e of[t.template,t.bg,t.fg,t.when])e!==void 0&&(yield e);for(let t of Cb(e.presets)){for(let n of bu(Eb(e,t).node))n.when!==void 0&&(yield n.when);let n=Db(e,t);for(let e of Pc){let t=n[e];Fc(t)&&(yield t)}}for(let[,t]of Kz(e))t.kind===`template`&&(yield t.template),Ou(t)&&t.cache&&`key`in t.cache&&(yield t.cache.key);for(let t of Object.values(e.actions))`copy`in t&&(yield t.copy),`open`in t&&(yield t.open),`preset`in t&&t.preset===`delete`&&(yield t.name)}function Jz(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function Yz(e,t){let n=new Set,r=new Set,i=new Set;for(let e of qz(t)){for(let r of px(e,t.helpers).keys())n.add(r);for(let{name:n}of _x(e,t.helpers))r.add(n);for(let n of vx(e,t.helpers))i.add(n)}for(let[,e]of Kz(t))if(Ou(e)&&e.cache&&`depends_on`in e.cache)for(let t of e.cache.depends_on)n.add(t);let a=new Set(r);for(let e of r){let n=t.actions[e];if(n!==void 0&&`do`in n)for(let e of n.do)a.add(e)}let o=new Set,s=new Set;for(let e of a){let n=t.actions[e];if(n!==void 0&&(`set`in n&&o.add(n.set),`insertSegment`in n&&s.add(n.insertSegment),`insertSegmentFrom`in n&&Array.isArray(n.insertSegmentFrom)))for(let e of n.insertSegmentFrom)s.add(e)}for(let e of Cb(t.presets))for(let n of bu(Eb(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>Jz(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!yp(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(Kz(e));return[...u(`variable`,d.keys(),e=>c(e,d.get(e))),...u(`action`,Object.keys(e.actions??{}),e=>a.has(e)),...u(`helper`,Object.keys(e.helpers??{}),e=>i.has(e)),...u(`segment`,Object.keys(e.segments??{}),e=>s.has(e))]}var Xz=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,nB(e,t,n,`initial value`),this.cell=Dx.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){nB(this.name,this.type,e,`set value`),!Object.is(this.cell.get(),e)&&(this.cell.set(e),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}},Zz=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Dx.computed)(()=>{let e=n();return nB(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},Qz=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=Dx.observable.box(tB(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=tB(e);eB(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function $z(e){return JSON.stringify(e)}function eB(e,t){return $z(e)===$z(t)}function tB(e){return e.kind===`ok`?{kind:`ok`,value:Ox(e.value)}:e}function nB(e,t,n,r){let i=kx(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var rB=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new Xz(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new Qz(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new Zz(e,t,()=>n(r)))}read(e){return this.requireVar(e).read()}readDocument(e){let t=this.requireNode(e);if(t.kind!==`document`)throw TypeError(`Variable "${e}" is a ${t.kind}, not a document`);return t.read()}setDocument(e,t){let n=this.requireNode(e);if(n.kind!==`document`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a document (use defineDocument to create one)`);(0,Dx.runInAction)(()=>n.set(t))}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,Dx.runInAction)(()=>n.set(t))}runInAction(e){(0,Dx.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireVar(e).type}getKind(e){return this.requireNode(e).kind}changeKey(e){let t=this.requireNode(e);if(t.kind===`document`)return $z(t.read());try{return String(t.read())}catch(e){return`failed:${e instanceof Error?e.message:String(e)}`}}getNode(e){let t=this.requireNode(e);return t.kind===`document`?{name:t.name,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}:{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}requireVar(e){let t=this.requireNode(e);if(t.kind===`document`)throw TypeError(`Variable "${e}" is a document; read its fields by path (.${e}.<field>)`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function iB(e,{loaded:t,dropped:n,unreached:r}){Z(`info`,`config load ${e.join(` < `)||`<default>`}: plugins loaded=${t.length} dropped=${n.length} unplaced=${r.length}`+t.map(e=>` +${e}`).join(``)+n.map(e=>` -${e.path} (${e.reason})`).join(``)+r.map(e=>` ~${e.path} (${e.reason})`).join(``))}function aB(e,t,n){return e+`\0`+t+`\0`+(n??``)}function oB(e,t){return new Set(Cb(e.presets).filter(n=>Eb(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function sB(e,t){let n=new Map,{roots:r,loaded:i,dropped:a,unreached:o}=e.state.plugins;for(let t of[..._k(e.projectDir,e.cwd,e.configFile),...r,...i,...[...a,...o].map(e=>e.path)]){let{dir:e,name:r}=Cx(t),i=n.has(e)?n.get(e):new Set;i?.add(r),n.set(e,i)}for(let e of r){let{dir:t,name:r,leaf:i}=Cx(l.join(e,`_`));i&&r===`_`&&n.set(t,null)}return{files:t,dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>t===null?{path:e}:{path:e,filenames:[...t].sort()})}}function cB(e){return e.filter(Boolean).join(`
203
+ `)||null}function lB(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=aA(t.layers,RP,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??RP,l=a.find(e=>e.path===t.home)?.raw??{},u=new rB,d=new RC(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=Bz(o,d,{cwd:e}),n.push(...f.loadWarnings),CI(o),xP(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:kF(o),lastRenderCellsBySegment:new Map,authoredRoots:oB(c,l),fileHeldSettings:lI(l),unused:[...new Map(a.flatMap(e=>Yz(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function uB(e,t,n,r){let i=yk(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[wk(e,t),Sk(i)],s,c=null;try{s=lB(t,a,o,r,e=>{c=e})}catch(e){return e instanceof lu&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:cB(o),state:null,error:e instanceof lu||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:cB(o),state:s,error:null}}var dB=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=aB(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=uB(e,t,n,this.deps);a.state!==null&&iB(a.layers,a.state.plugins);let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??lB(t,{layers:[],home:``,projectDir:e},[],this.deps),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=uB(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(iB(t.layers,t.state.plugins),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=sB(e,t.layers),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){Z(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const fB=16384;var pB=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<fB){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%fB}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:LA,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},effectCache:e.effectCache,watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function mB(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const hB={load:()=>({}),save:()=>{},flush:()=>{}};function gB(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var _B=class{sessions;storage;atom=(0,Dx.createAtom)(`SessionState`);constructor(e=hB,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=gB(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Dx.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Dx.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Dx.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};function vB(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var yB=class{timer=null;pending=null;constructor(e,t=500,n=eC){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return vB(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(l.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const bB={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,effect:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},xB=new Set([`1`,`true`]),SB=new Set([`0`,`false`,``]);function CB(e,t){let n=JB(e),r=n.scope===`segment-palette`?`string`:bB[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(xB.has(t))return`true`;if(SB.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function wB(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function TB(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function EB(e){return/^\s*$/.test(e)?null:Tl(e)}function DB(e,t){return e!==null&&Dl(e,t)!==void 0}function OB(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(OB),...i}}return e}function kB(e){if(!xd(e))return OB(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,OB(t)])),...n}}const AB=IP,jB=AB.segments,MB=AB.presets,NB=AB.root;function PB(e,t,n,r){if(!DB(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function FB(e,t){let n=jw(t);return t.scope===`segment-palette`&&PB(e,[`segments`,t.segment],jB[t.segment],n.join(`.`)),n}function IB(e){return Tl(Fl(e))}function LB(){return Object.entries(NB.rows).map(([e,t])=>{let n=OB(t);return{path:[`root`],fragment:IB({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function RB(e,t){let n=e===null?void 0:Dl(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function zB(e,t){if(t===void 0)return null;let n=kB(t);return{path:e,fragment:IB(n),unit:{path:e,value:n}}}function BB(e,t){let n=[`presets`,t],r=[...n,`root`],i=MB[t];PB(e,n,i,r.join(`.`));let a=RB(e,r)??zB(r,i?.root);return a!==null&&nu(a.fragment)?a:null}function VB(e,t){let n=tu(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function HB(e,t){return[...LB(),RB(e,[`root`]),BB(e,t)].filter(e=>e!==null).reduce(VB,new Map)}function UB(e,t,n){for(let{node:r,...i}of HB(e,t).values())if(iu(r,n))return i;throw new $(`${WB(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function WB(e,t){return BB(e,t)?.path??[`root`]}function GB(e,t){return t.scope===`preset-root`?WB(e,t.preset):jw(t)}function KB(e,{unit:t}){return t===null?e:Yl(e,t.path,Fl(t.value),Nl)}function qB(e){let t=Aw(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function JB(e){let t=qB(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function YB(e,t,n,r,i){i(t,n,oV(t,r)),TB(t.path,r,e.logger),e.record(t.path,n,r)}function XB(e,t,n){let r=$B(e,t,n);if(r.length>0)throw new $(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const ZB=()=>{};function QB(e,t){try{return t()}catch(t){throw!(t instanceof $)||e.above.length===0?t:new $(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function $B(e,t,n){let r=eV(e,t);if(r===null)return[];let i=new Set(iV(rV(r),rV(n)));return iV(nV(e,r),nV(e,n)).filter(e=>!i.has(e))}function eV(e,t){try{return tV(e,t)}catch(e){if(e instanceof lu)return null;throw e}}function tV(e,t){return aA(t===null?e.above:[e.path,...e.above],RP,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function nV(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function rV(e){return e.layers.at(-1)?.config??e.base}function iV(e,t,n=``){return!aV(e)||!aV(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>iV(e[r],t[r],n===``?r:`${n}.${r}`))}function aV(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oV(e,t){try{return tV(e,t)}catch(e){throw e instanceof lu?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function sV(e,t){let n=JB(t),r=EB(wB(e)??``),i=r===null?void 0:Dl(r,jw(n));return i!==void 0&&`value`in i?i.value:void 0}function cV(e,t,n){lV(e,t,n,[])}function lV(e,t,n,r){let i=wB(t.path),a=n.reduce((e,[t,n])=>Yl(e,FB(EB(e),JB(t)),CB(t,n),Nl),i??``);YB(e,t,i,QB(t,()=>uV(a,t.path,r,e=>e)),XB)}function uV(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=UB(EB(s),n,i),l=cu(KB(s,c),c.path,i,a,Fl(o));if(l===null)throw new $(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function dV(e,t,n){let r=EB(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of HB(r,t)){if(!iu(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?kl(e,c):Fl(s.value);if(a!==`#`)return Yl(e,[...i,`rows`,a],l,Nl);if(BB(r,t)!==null)throw new $(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Yl(e,i,l,Nl)}return e}function fV(e,t){return Zl(e,t,t[0]===`presets`&&t.length>2&&!BP(t[1])?2:0)}function pV(e,t,n){let r=n.map(qB),i=wB(t.path);if(i===null)return;let a=r.reduce((e,t)=>fV(e,GB(EB(e),t)),i);a!==i&&YB(e,t,i,a,ZB)}function mV(e){let t=e===null?void 0:Dl(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function hV(e,t){let n=new Set([...zP,...mV(e),...t.above.flatMap(e=>Object.keys(ot.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(pp));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(pp(e)))}function gV(e,t,n,r,i,a){let o=wB(t.path),s=EB(o??``),c=hV(s,t),l=[`presets`,c],u=QB(t,()=>BB(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?kl(o??``,u.fragment):Fl(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Fl(r)]]],f=i.map(([e,t])=>{let n=kw(c,e);return[FB(s,JB(n)),CB(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>Yl(e,t,n,Nl),Yl(o??``,l,`{}`,Nl));return YB(e,t,o,QB(t,()=>uV(p,t.path,a.map(e=>({...e,preset:c})),dV)),XB),c}function _V(e,t,n,r){let i=wB(t.path);YB(e,t,i,Yl(i??``,[`themeDefaults`,n],Fl(r),Nl),XB)}function vV(e,t,n){if(BP(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=wB(t.path),a=EB(i??``);if(i===null||a===null||Dl(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=Dl(a,[`globals`,`preset`]);YB(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>fV(e,t),i),ZB)}function yV(e,t,n,r){let i=qB(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=wB(t.path),o=r.op===`remove`?r.target:r.anchor,s=QB(t,()=>UB(EB(a??``),i.preset,o)),c=KB(a??``,s),{after:l,placed:u}=bV(c,s.path,r,()=>{let e=oV(t,c).config;return Cb(e.presets).map(t=>Eb(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t.path} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return YB(e,t,a,l,XB),u}function bV(e,t,n,r){switch(n.op){case`remove`:return{after:ou(e,t,n.target),placed:null};case`insert`:{let i=cP(n.segment,n.anchor,r());return{after:su(e,t,i,n.anchor,n.relation),placed:i}}}}const xV={load:()=>({}),save:()=>{}},SV=new Set(HC.map(e=>e.sessionKey)),CV=e=>SV.has(e)||e.startsWith(qb),wV=8*1024*1024,TV={past:[],future:[]},EV=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var DV=class{state=new Map;constructor(e,t,n=xV){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n,savepoint:r}=this.state.get(e)??TV;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??TV}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(EV(n));r.set(EV(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:mB(this.sessionState,e=>CV(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:FV(i,n),o=r.get(e),s=o===void 0?a:zV(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new $(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,LV(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new $(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(EV)),a=n.net.filter(e=>!i.has(EV(e))),o=AV(BV(RV(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new $(`rewind: ${r.map(HV).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new $(`redo: nothing to redo`);let a=[...n,i],o=AV(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...MV(t.savepoint,a.length-o.length,i)}),i}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(EV)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:BV(n,t),future:BV(i,t),...a!==void 0&&{savepoint:{at:BV([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(EV(e))),below:BV(a.below,t)}}}),new $(`${r}: ${o.map(HV).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):wB(t.file)}write(e,t,n){t.kind===`file`?TB(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0||t.savepoint!==void 0)&&n.set(e,t);n.size>32||OV(n)>wV;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,kV(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${wV} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function OV(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function kV({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...MV(n,1,[])}:{past:e,future:t.slice(1),...MV(n,0,[])}}function AV(e){return e.slice(-50)}const jV=e=>e===Yb.member;function MV(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:NV(e.net,n),below:e.below}}}function NV(e,t){let n=new Map(e.map(e=>[EV(e),e]));for(let e of t){let t=n.get(EV(e));n.set(EV(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const PV=e=>e.map(e=>({...e,before:e.after,after:e.before}));function FV(e,t){let n=[...e.past,t],r=AV(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...MV(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...IV(e.future,a),...i.below]},n.length-r.length,t)}}function IV(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function LV(e,t){return{past:e.past.slice(0,-1),future:AV([...e.future,t]),...MV(e.savepoint,0,PV(t))}}function RV(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...IV(r,t.at-i.length),...t.below]}function zV(e,t){if(jV(t.after)&&!jV(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!jV(t.after)&&jV(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function BV(e,t){return e.map(e=>e.filter(e=>!t.has(EV(e)))).filter(e=>e.length>0)}function VV(e){return e.map(HV).join(`, `)}function HV(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function UV(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function WV(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(UV))}function GV(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(UV)&&WV(t.below)}function KV(e){if(typeof e!=`object`||!e)return!1;let t=e;return WV(t.past)&&WV(t.future)&&(t.savepoint===void 0||GV(t.savepoint))}function qV(e,t){let n=e=>e.kind===`file`||CV(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function JV(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(KV)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,qV(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Fe(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}const YV=e=>!CV(e)&&!dT(e)&&e!==`update.dismissed`;var XV=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:mB(e,YV,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new $(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,Dx.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function ZV(e){let t=nR(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function QV(e){return{probeTmux:ZV,loadConfig:e}}function $V(e,t){let n=e.loadConfig(t),r={layers:n.layers,warnings:n.warning===null?[]:n.warning.split(`
204
+ `)};return n.error===null?{...r,kind:`loaded`,unused:n.unused}:{...r,kind:`failed`,error:n.error}}function eH(e){let t=wT(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function tH(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function nH(e){return{kind:`arrived`,handler:e,bar:LA}}function rH(e,t,n){return{tmux:tH(e,t.tmux),config:$V(e,n),claudeSettings:eH(xT(bT(t.claudeConfigDir)))}}function iH(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=Yl(CT(n),[`env`,e.name],JSON.stringify(e.value),Pl);return r.mkdirSync(l.dirname(n),{recursive:!0}),Fe(n,i),{...t,claudeSettings:eH(n)}}default:return e.kind}}const aH={connectMs:200,budgetMs:500};async function oH(e){let n=e.includes(`--json`),r=await sH();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${IA(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
205
+ `);return}t.stdout.write(dH(r.value))}function sH(){return AA({kind:`stats`},aH,e=>`stats`in e?e.stats:void 0)}function cH(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function lH(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function uH(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function dH(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${uH(e.uptimeSec)}`),t.push(` rss ${cH(e.rssBytes)}`),t.push(` heapUsed ${cH(e.heapUsedBytes)}`),t.push(` heapTotal ${cH(e.heapTotalBytes)}`),t.push(` external ${cH(e.externalBytes)}`),t.push(` arrayBuffers ${cH(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${lH(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${lH(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(``),t.push(`effectCache`),t.push(` sessions ${e.effectCache.sessions}`),t.push(` rows ${e.effectCache.rows}`),t.push(``),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
204
206
  `)+`
205
- `}const CB=e=>({kind:`ok`,value:e}),wB=e=>({kind:`failed`,reason:e});var TB=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const EB=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function DB(e){return EB.test(e)?e:null}function OB(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return CB(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return CB({app:n,missing:wB(`its script could not be read (${r.reason})`)});let i=ej(r.value);return CB({app:n,missing:i===null?wB("its script is not one `cc-candybar install` wrote"):CB([i.node,i.script].filter(t=>!e.exists(t)))})}async function kB(e,t){let n=e.now()+5e3;for(;e.now()<n;){await e.pause();let n=await e.daemon(),r=n.kind===`ok`?n.value.arrivals.find(e=>e.nonce===t):void 0;if(n.kind===`ok`&&r!==void 0)return{kind:`arrived`,handler:r.handler,bar:n.value.version}}return null}async function AB(e){if(e.platform!==`darwin`)return{kind:`unsupported`};if(e.sockets.own!==e.sockets.handler)return{kind:`unprobed`,reason:`this shell's daemon is at ${e.sockets.own} (CC_CANDYBAR_SOCKET); the URL handler delivers links to ${e.sockets.handler}`};let t=await e.daemon();if(t.kind===`failed`)return{kind:`unprobed`,reason:`the daemon could not be asked whether a link arrives: ${t.reason}`};let n=e.nonce(),r=e.open(`${$k}://${SA}/${n}`);return(r===null?await kB(e,n):null)??{kind:`lost`,unopened:r,opener:OB(e)}}function jB(e,t,n){let r=D({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?CB(r.stdout):wB(r.stderr.trim()||r.error||r.reason)}const MB=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${$k}://probe"));u.isNil() ? "" : u.path.js`;async function NB(){let e=await vB();if(e.kind!==`ok`)return wB(uk(e).split(`
206
- `).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?CB({version:t,arrivals:n}):wB(`the running daemon (${t}) predates this check`)}function PB(){return{platform:process.platform,sockets:{own:Be(),handler:Ve()},now:Date.now,nonce:le,daemon:NB,open:e=>{let t=jB(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=jB(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,MB]);if(e.kind===`failed`)return e;let t=e.value.trim();return CB(t===``?null:t)},script:e=>jB(`doctor.osadecompile`,`/usr/bin/osadecompile`,[tj(e)]),exists:r.existsSync}}const FB=/^─{20,}/,IB=/^❯(\s|$)/,LB=/›\s*stashed$/;function RB(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>FB.test(e)?[t]:[]).at(-2);return n===void 0||!IB.test(t[n+1]??``)?{kind:`no-prompt`}:LB.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const zB={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function BB(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=RB(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:zB[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const VB=`cc-candybar-slash`;function HB(e,t,n,r){let i=pI(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function UB(e){let t=HB(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
207
- `);return{inMode:n!==`0`,screen:r}}function WB(e,t){let n=HB(e,`claude-input.type`,[`load-buffer`,`-b`,VB,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,VB,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function GB(){return{read:UB,type:WB}}function KB(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function qB(e){return JB(()=>decodeURIComponent(e))}function JB(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function YB(e,t){let n=D({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const XB=(e,t)=>YB(qB(e),t),ZB=(e,t)=>{let n=D({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,qB(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},QB=(e,t)=>YB(qB(e),t),$B=(e,t)=>YB(qB(e),t),eV=(e,t)=>{let n=KB(qB(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},tV=(e,t)=>{let[n=``,...r]=JB(()=>EA(e)),i=KB(n),a=PP(pV(t,i));if(r.length===0)throw new $(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new $(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new $(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new $(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}aV(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},nV=/^-?\d+$/;function rV(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const iV=(e,t)=>{let[n=``,r=``,i=``]=JB(()=>EA(e)),a=KB(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!nV.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=pV(t,a),c=PP(s),l=c.rangeParamsFor(r);if(!l)throw new $(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&nV.test(u)?oV(l,parseInt(u,10)):sV(`step-state`,r,l,LP(s,e=>t.sessionState.get(a,e),r)),f=rV(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new $(`step-state: ${p.reason}`);aV(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function aV(e,t,n,r){let i=r.filter(e=>e.key.startsWith(ky));if(i.length===0)return;let a=hP(pV(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function oV(e,t){return Math.max(e.min,Math.min(e.max,t))}function sV(e,t,n,r){if(r===null)return n.min;if(!nV.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return oV(n,parseInt(r,10))}const cV=`render-origin`;function lV(e){return JSON.stringify(e)}function uV(e){let t;try{t=JSON.parse(e)}catch{throw new $(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new $(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new $(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function dV(e,t){let n=e.sessionState.get(t,cV);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return uV(n)}function fV(e,t,n){let r=e.sessionState.get(t,cV);if(r===null)return;let i=uV(r),{path:a}=mV(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function pV(e,t){return e.configFor(dV(e,t))}function mV(e){return YD(e.projectDir,e.cwd,e.configFile??void 0)}function hV(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const gV=(e,t)=>{let[n=``,r=``,i=``]=JB(()=>EA(e)),a=KB(n),o=dV(t,a),s=t.configFor(o),c=VM(s);if(!r)throw new $(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`set-config: ${l.reason}`);let u=mV(o),d=pP(s,e=>t.sessionState.get(a,e),r);bz(hV(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},_V=(e,t)=>{let[n=``,r=``,i=``]=JB(()=>EA(e)),a=KB(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!nV.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=dV(t,a),c=t.configFor(s),l=VM(c),u=l.rangeParamsFor(r);if(!u)throw new $(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=mV(s),f=pP(c,e=>t.sessionState.get(a,e),r),p=yz(d.path,f.key),m=typeof p==`number`?oV(u,p):sV(`step-config`,r,u,UM(f.globals,r)),h=rV(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new $(`step-config: ${g.reason}`);bz(hV(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},vV=(e,t)=>{let[n=``]=JB(()=>EA(e)),r=KB(n),i=dV(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=dP(a,o),c=mP(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=PP(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save: ${t.reason}`);return[e.target,t.value]});bV(`save`,l,c);let d=mV(i);xz(hV(t,r),d,u,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(yV)].join(` `)} → ${d.path} (session=${r})`)},yV=e=>`${e.preset}/${e.id}.settings.${e.setting}=${xl(e.value)}`;function bV(e,t,n){for(let r of n){let n=t.validate(r.key,xl(r.value));if(!n.ok)throw new $(`${e}: ${n.reason}`)}}const xV=(e,t)=>{let[n=``]=JB(()=>EA(e)),r=KB(n),i=dV(t,r),a=t.configFor(i),o=vP(a,e=>t.sessionState.get(r,e)),s=PP(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save-preset: ${t.reason}`);return[e.configKey,t.value]});bV(`save-preset`,s,o.placements);let l=mV(i),u=Oz(hV(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...wS.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,CS.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(yV)].join(` `)} → ${l.path} (session=${r})`)},SV=(e,t)=>{let[n=``,r=``]=JB(()=>EA(e)),i=KB(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=dV(t,i),o=mV(a);kz(hV(t,i),o,r),t.reloadConfig(a);let s=CS.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},CV=(e,t)=>{let[n=``,...r]=JB(()=>EA(e)),i=KB(n),a=dV(t,i),o=VM(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new $(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=mV(a),l=r.map(yP),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);Tz(hV(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function wV(e,t){let n=(e,t)=>[...sl(cy(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(ay(t.presets).flatMap(e=>n(t,e).map(t=>Ay(Jd(e),rl(t)))));return ay(e.presets).flatMap(t=>n(e,t).map(e=>({member:Ay(Jd(t),rl(e)),node:e})).filter(({member:e})=>!r.has(e)))}function TV(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[wy]:[]])}const EV=(e,t)=>{let[n=``,r=``,i=``]=JB(()=>EA(e)),a=KB(n),o=dV(t,a),s=t.configFor(o),c=VM(s);if(!r)throw new $(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`apply-layout-op: ${l.reason}`);let u=DM(l.value);if(u===null)throw new $(`apply-layout-op: "${l.value}" is not a layout op token`);let d=mV(o),f=Az(hV(t,a),d,r,u);t.reloadConfig(o);let p=TV(wV(s,t.configFor(o)),t.sessionState.get(a,wy)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},DV=(e,t)=>{let[n=``]=JB(()=>EA(e)),r=KB(n);t.journal.commit();let i=t.history.undo(r);fV(t,r,i),t.dlog(`info`,`undo: restored ${Qz(i)} (session=${r})`)},OV=(e,t)=>{let n=KB(qB(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,PP(pV(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},kV=(e,t)=>{let n=KB(qB(e));t.journal.commit();let r=t.history.rewind(n);fV(t,n,r),t.dlog(`info`,`rewind: put back ${Qz(r)||`nothing`} as edit mode found it (session=${n})`)},AV=(e,t)=>{let[n=``]=JB(()=>EA(e)),r=KB(n);t.journal.commit();let i=t.history.redo(r);fV(t,r,i),t.dlog(`info`,`redo: re-applied ${Qz(i)} (session=${r})`)},jV=(e,t)=>{KB(qB(e)),t.applyUpdate()},MV=`client-hints`;function NV(e,t){let n=e.sessionState.get(t,MV);if(n===null)throw new $(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new $(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new $(`client hints record is not an object: ${n}`);return GO(r)}function PV(e,t,n){let r=NC(n);e.sessionState.setBatch(t,RC(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function FV(e,t){return{...mB(e.doctor,NV(e,t),dV(e,t)),urlHandler:pB(e.clientVersion)}}const IV=(e,t)=>{let n=KB(qB(e));PV(t,n,FV(t,n))},LV=(e,t)=>{let n=DB(qB(e));if(n===null)throw new $(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},RV=(e,t)=>{let[n=``,r=``]=JB(()=>EA(e)),i=KB(n),a=PC(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=FV(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new $(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=hB(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),PV(t,i,c)},zV=(e,t)=>{let[n=``,...r]=JB(()=>EA(e)),i=KB(n),a=dV(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=hE(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new $(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=yN({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},NV(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},BV=(e,t)=>{let[n=``,r=``]=JB(()=>EA(e)),i=KB(n),a=Object.values(t.configFor(dV(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new $(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=BB(t.claudeInput,NV(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new $(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},VV=`config-override`,HV=new Map([[rA,XB],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=KB(JB(()=>decodeURIComponent(e.slice(0,n)))),i=JB(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new $(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new $(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,VV),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,VV,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[iA,ZB],[tA,tV],[nA,iV],[cA,gV],[lA,_V],[pA,CV],[uA,vV],[dA,xV],[fA,SV],[mA,EV],[hA,DV],[gA,AV],[_A,OV],[vA,kV],[oA,QB],[sA,$B],[aA,eV],[yA,jV],[bA,IV],[xA,RV],[SA,LV],[CA,zV],[wA,BV]]),UV=new Set([tA,nA,cA,lA,pA,uA,dA,fA,mA,hA,gA,_A,vA,aA,yA,bA,xA,CA,wA]),WV=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of AA(OA(e))){if(!i&&UV.has(a)){let e=EA(o);e.length>0&&e[0]&&(i=e[0])}let e=HV.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof $||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
208
- `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function GV(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const KV=new Map([...HV,[eA,WV]].map(([e,t])=>[e,GV(t)]));Object.freeze([...KV.keys()]);const qV=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),JV=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]],YV=[[`workspace.added_dirs`,`string-list`]];function XV(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of JV){let i=$V(n,e);if(i==null)t.missingRequired.push(e);else{let n=ZV(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of YV){let i=$V(n,e),a=i===void 0?r:QV(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))qV.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function ZV(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function QV(e){return Array.isArray(e)&&e.every(e=>ZV(e)===`string`)?`string-list`:ZV(e)}function $V(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function eH(e,t){switch(e){case`vars`:return{what:e,vars:tH(t)};case`segments`:return{what:e,segments:oH(t)};case`config`:return{what:e,config:uH(t)}}}function tH(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=iH(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=nH(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:rH(r.lastUpdatedMs())})}return o}function nH(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function rH(e){return e===null?null:Math.max(0,Date.now()-e)}function iH(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,aH(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,aH(i));return t}function aH(e){return e.kind}function oH(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=cH(n),o=sH(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:lH(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function sH(e){let t=new Map;for(let n of ay(e.presets))for(let r of sl(cy(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=rl(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function cH(e){let t=[],n=new Set;for(let r of sl(uu(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function lH(e,t,n){let r=new Set;for(let i of Yy(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function uH(e){return e===null?null:e.config}const dH=[`vars`,`segments`,`config`];function fH(e){return typeof e==`string`&&dH.includes(e)}function pH(e){return Math.max(1,e-2)}var mH=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const hH=new TR,gH=new TB;Ae(hH.launchStats);const _H=new Rx({counters:hH,logger:Z}),vH=yI({watchers:_H,logger:Z}),{gitProvider:yH,usageStore:bH,mementoProvider:xH}=vH,SH=new kR,CH=new Rz(SH,Z),wH=new sB,TH=new mH(Qe()),EH=new CR({gitService:yH,sessionState:SH,watchers:_H},{observers:{onReload:e=>Z(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),DH=60*1e3;function OH(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(T(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){Z(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),WH(0);return}}catch(e){Z(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,DH),a.unref())},checkNow:o}}const kH=OH(),AH=nF({entryUrl:import.meta.url,intervalMs:DH,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>kH.checkNow(),log:Z});let jH=null,MH=null,NH=0;function PH(){t.on(`uncaughtException`,e=>{Z(`error`,`uncaughtException: ${e.stack||e.message}`),WH(1)}),t.on(`unhandledRejection`,e=>{Z(`error`,`unhandledRejection: ${String(e)}`),WH(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Z(`info`,`received ${e}, shutting down`),WH(0)});try{NH=Ek(t.env)}catch(e){Z(`error`,`refusing to boot: ${e.message}`),WH(1);return}jH=Ej(t.pid);let e=Ij(Rj(jH));if(!e.decision.allow){Z(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),WH(1);return}MH=e.registryPath,r.mkdirSync(ze(),{recursive:!0}),Ue(Be()),SH.useStorage(new jR(Ke(),500,Z)),CH.useStorage(aB(qe(),Z)),kj({anchor:Oj(t.env),isAlive:Aj,onOrphaned:e=>{Z(`info`,`parent watchdog: ${e}; shutting down`),WH(0)}}),FH(x.createServer({allowHalfOpen:!1},e=>{GH(e)}),Be(),!1)}function FH(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Z(`error`,`server error: ${i.message}`),WH(1);return}if(r){Z(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}IH(e,n)}),e.listen(n,()=>LH(n))}function IH(e,n){let i=gj(_j(We(n)),(e,t)=>Tj(e,t,{readStartTime:wj,pidAlive:Aj}));if(i.kind===`attach-and-exit`){Z(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}Z(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){Z(`error`,`cannot unlink stale socket ${n}: ${e.message}`),WH(1);return}}FH(e,n,!0)}function LH(e){let n=bj(e);if(n.kind!==`present`){Z(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),WH(0);return}VH(e);try{r.chmodSync(e,384)}catch(e){Z(`warn`,`chmod socket failed: ${e.message}`)}Z(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(ie.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(NH/1048576)}MB`),Uk();let i=TH.reset();i!==null&&Z(`warn`,`diagnostic dump wipe failed: ${i}`),kH.arm(),AH.arm(),BH(),RH(e,n.identity)}function RH(e,n){Cj({bound:n,myPid:t.pid,readIdentity:()=>bj(e),readLease:()=>_j(We(e)),shutdown:e=>WH(e),log:Z}).arm()}let zH=null;function BH(){zH=Ak(Pk(hH.startedAt.getTime(),e=>WH(e),{rssLimitBytes:NH})),zH.arm()}function VH(e){let n=vj(We(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:jH});n!==null&&Z(`warn`,`lease write failed: ${n}`)}let HH=0,UH=!1;function WH(e){if(!UH){UH=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{yH.close()}catch(e){Z(`warn`,`gitService close failed: ${e.message}`)}try{bH.close()}catch(e){Z(`warn`,`usageStore close failed: ${e.message}`)}try{_H.closeAll()}catch(e){Z(`warn`,`watcherRegistry close failed: ${e.message}`)}try{SH.flush()}catch(e){Z(`warn`,`sessionState flush failed: ${e.message}`)}yj(Ge(),t.pid),MH!==null&&Lj(MH,t.pid,Pj,e=>r.unlinkSync(e)),t.exit(e)}}function GH(e){HH++,hH.inFlight=HH;let t=!1,n=(n,r)=>{if(t){r!==null&&Z(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>WH(r);try{e.end(tk(n),i)}catch(e){Z(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{hH.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=nk(e=>{qH(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{Z(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{Z(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{Z(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),HH=Math.max(0,HH-1),hH.inFlight=HH})}const KH=e=>({resp:e,exitAfterFlush:null});async function qH(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return KH({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?Z(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):Z(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return KH({ok:!0,stats:hH.snapshot({gitCache:yH.getStats(),usageCache:bH.getStats(),renderCacheSize:EH.size,watchersActive:_H.size(),nextRestartReason:zH?.describeNextRestart()??null,handlerProbes:gH.list()})});if(e.kind===`render`){hH.requestsTotal++;let t=new Date,n=Xx(t),r=t.getTime();try{let{report:t}=XV(e.hookData);for(let e of t.unknownTopLevelFields)Z(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of t.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:n,got:r}of t.typeMismatches)i.push(`field '${e}' expected ${n}, got ${r}`);if(e.cwd===``&&i.push(`request 'cwd' is empty`),i.length>0)return hH.requestsErrored++,Z(`warn`,`BAD_REQUEST: ${i.join(`; `)}`),KH({ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=JH(e.args),c=e.hookData.session_id,l=GO(e),u=JSON.stringify(l);SH.get(c,`client-hints`)!==u&&SH.set(c,MV,u);let d=SH.get(c,`config-override`)??o??l.configEnv,f=EH.getOrCreate(a,e.cwd,d),p=lV({projectDir:a,cwd:e.cwd,configFile:d??null});SH.get(c,`render-origin`)!==p&&SH.set(c,cV,p);let m=l.termCols,h=pH(m??120),g=aM(l.termRows),{authoredRoots:_}=f.state,v=t=>SH.get(e.hookData.session_id,t),y=MN(f.state.config,v,e=>_.has(e)),b=await YN(e.hookData,n,{...$H,navigation:e=>wH.depth(e,SH,PP(f.state.config))},e.cwd,f.state.neededInputPaths(y.preset),y,l,{...xP(f.state.config,f.state.fileHeldSettings,v),configPath:f.configLayers.includes(f.configHome)?f.configHome:null}),x=[],S=NN(y,h),C=rR(f.state.config,f.state.compiled,f.state.store,f.state.registry,b,n,S,{perSegmentSink:f.state.lastRenderCellsBySegment,onRenderWarning:({message:e})=>x.push(e)},PN(y)),ee=SH.get(e.hookData.session_id,`click.error`);ee&&SH.clear(e.hookData.session_id,`click.error`);let te=[s,f.lastError,ee].filter(Boolean).join(`
209
- `),ne=AH.notice({sessionId:c,dismissed:SH.get(c,BP),enabled:y.updateNotice}),re=f.lastError===null?null:f.failedFile,ie=uM(te,ne,[f.lastWarning??``,...x].filter(Boolean).join(`
210
- `)),ae=TH.sync(c,ie===null?null:fM(ie));ae!==null&&Z(`warn`,`diagnostic dump failed: ${ae}`);let w=pM(C,ie,{fullText:ae===null?{kind:`file`,path:TH.pathFor(c)}:{kind:`unavailable`,reason:ae},failedConfigFile:re},{width:h,rowCap:g,colorCompatibility:y.colorCompatibility}),T=Date.now()-r,oe=yH.getStats(),se=bH.getStats();return Z(`info`,`render sid=${e.hookData.session_id??`?`} at=${n.toFixed(3)} took=${T}ms termCols=${m??`?`} termRows=${l.termRows??`?`} width=${h} git=${oe.size}/${oe.hits}h/${oe.misses}m usage=${se.size}/${se.hits}h/${se.misses}m err=${te?`Y`:`N`} upd=${ne.length} warn=${f.lastWarning?`Y`:`N`}`),KH({ok:!0,output:w+`
211
- `})}catch(e){throw hH.requestsErrored++,e}}if(e.kind===`click`)return KH(eU(e.verb,e.value,$O(e.clientVersion)));if(e.kind===`debug`){if(!fH(e.what))return KH({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${dH.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=EH.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?QH(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):ZH};return KH({ok:!0,debug:eH(e.what,n)})}return KH({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function JH(e){let{values:t,tokens:n}=y({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:JO(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const YH={sessionState:SH,dlog:Z,applyUpdate:()=>AH.act(),doctor:lB(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];EH.reload(...t);let n=EH.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused}}),probes:gH,memento:xH,claudeInput:GB(),history:CH,navigation:wH,configFor:e=>EH.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>EH.reload(e.projectDir,e.cwd,e.configFile??void 0)};YH.reloadConfig;const XH={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:Vs,width:1/0},ZH=new Map;function QH(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,iM(a,{...XH,charset:t,colorCompatibility:n}));return r}const $H={...vH,history:e=>CH.depth(e)};function eU(e,t,n){let r=KV.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...YH,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof $?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const tU={connectMs:200,budgetMs:500};async function nU(e,n){let r=n.includes(`--json`),i=await rU(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${uk(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
212
- `);return}t.stdout.write(iU(i.value))}function rU(e){return ik({kind:`debug`,what:e},tU,e=>`debug`in e?e.debug:void 0)}function iU(e){switch(e.what){case`vars`:return aU(e.vars);case`segments`:return oU(e.segments);case`config`:return sU(e.config);default:return e}}function aU(e){if(e.length===0)return`no variables (DSL not active)
213
- `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${lU(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${cU(a.value)}${e}${o}`)}return t.join(`
207
+ `}const fH=e=>({kind:`ok`,value:e}),pH=e=>({kind:`failed`,reason:e});var mH=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const hH=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function gH(e){return hH.test(e)?e:null}function _H(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return fH(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return fH({app:n,missing:pH(`its script could not be read (${r.reason})`)});let i=DM(r.value);return fH({app:n,missing:i===null?pH("its script is not one `cc-candybar install` wrote"):fH([i.node,i.script].filter(t=>!e.exists(t)))})}async function vH(e,t){let n=e.now()+5e3;for(;e.now()<n;){await e.pause();let n=await e.daemon(),r=n.kind===`ok`?n.value.arrivals.find(e=>e.nonce===t):void 0;if(n.kind===`ok`&&r!==void 0)return{kind:`arrived`,handler:r.handler,bar:n.value.version}}return null}async function yH(e){if(e.platform!==`darwin`)return{kind:`unsupported`};if(e.sockets.own!==e.sockets.handler)return{kind:`unprobed`,reason:`this shell's daemon is at ${e.sockets.own} (CC_CANDYBAR_SOCKET); the URL handler delivers links to ${e.sockets.handler}`};let t=await e.daemon();if(t.kind===`failed`)return{kind:`unprobed`,reason:`the daemon could not be asked whether a link arrives: ${t.reason}`};let n=e.nonce(),r=e.open(`${Tj}://${Yj}/${n}`);return(r===null?await vH(e,n):null)??{kind:`lost`,unopened:r,opener:_H(e)}}function bH(e,t,n){let r=D({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?fH(r.stdout):pH(r.stderr.trim()||r.error||r.reason)}const xH=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${Tj}://probe"));u.isNil() ? "" : u.path.js`;async function SH(){let e=await sH();if(e.kind!==`ok`)return pH(IA(e).split(`
208
+ `).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?fH({version:t,arrivals:n}):pH(`the running daemon (${t}) predates this check`)}function CH(){return{platform:process.platform,sockets:{own:Be(),handler:Ve()},now:Date.now,nonce:le,daemon:SH,open:e=>{let t=bH(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=bH(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,xH]);if(e.kind===`failed`)return e;let t=e.value.trim();return fH(t===``?null:t)},script:e=>bH(`doctor.osadecompile`,`/usr/bin/osadecompile`,[OM(e)]),exists:r.existsSync}}const wH=/^─{20,}/,TH=/^❯(\s|$)/,EH=/›\s*stashed$/;function DH(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>wH.test(e)?[t]:[]).at(-2);return n===void 0||!TH.test(t[n+1]??``)?{kind:`no-prompt`}:EH.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const OH={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function kH(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=DH(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:OH[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const AH=`cc-candybar-slash`;function jH(e,t,n,r){let i=nR(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function MH(e){let t=jH(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
209
+ `);return{inMode:n!==`0`,screen:r}}function NH(e,t){let n=jH(e,`claude-input.type`,[`load-buffer`,`-b`,AH,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,AH,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function PH(){return{read:MH,type:NH}}function FH(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function IH(e){return LH(()=>decodeURIComponent(e))}function LH(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function RH(e,t){let n=D({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const zH=(e,t)=>RH(IH(e),t),BH=(e,t)=>{let n=D({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,IH(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},VH=(e,t)=>RH(IH(e),t),HH=(e,t)=>RH(IH(e),t),UH=(e,t)=>{let n=FH(IH(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},WH=(e,t)=>{let[n=``,...r]=LH(()=>$j(e)),i=FH(n),a=CI(nU(t,i));if(r.length===0)throw new $(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new $(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new $(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new $(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}JH(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},GH=/^-?\d+$/;function KH(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const qH=(e,t)=>{let[n=``,r=``,i=``]=LH(()=>$j(e)),a=FH(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!GH.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=nU(t,a),c=CI(s),l=c.rangeParamsFor(r);if(!l)throw new $(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&GH.test(u)?YH(l,parseInt(u,10)):XH(`step-state`,r,l,EI(s,e=>t.sessionState.get(a,e),r)),f=KH(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new $(`step-state: ${p.reason}`);JH(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function JH(e,t,n,r){let i=r.filter(e=>e.key.startsWith(qb));if(i.length===0)return;let a=nI(nU(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function YH(e,t){return Math.max(e.min,Math.min(e.max,t))}function XH(e,t,n,r){if(r===null)return n.min;if(!GH.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return YH(n,parseInt(r,10))}const ZH=`render-origin`;function QH(e){return JSON.stringify(e)}function $H(e){let t;try{t=JSON.parse(e)}catch{throw new $(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new $(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new $(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function eU(e,t){let n=e.sessionState.get(t,ZH);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return $H(n)}function tU(e,t,n){let r=e.sessionState.get(t,ZH);if(r===null)return;let i=$H(r),{path:a}=rU(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function nU(e,t){return e.configFor(eU(e,t))}function rU(e){return xk(e.projectDir,e.cwd,e.configFile??void 0)}function iU(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const aU=(e,t)=>{let[n=``,r=``,i=``]=LH(()=>$j(e)),a=FH(n),o=eU(t,a),s=t.configFor(o),c=xP(s);if(!r)throw new $(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`set-config: ${l.reason}`);let u=rU(o),d=eI(s,e=>t.sessionState.get(a,e),r);cV(iU(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},oU=(e,t)=>{let[n=``,r=``,i=``]=LH(()=>$j(e)),a=FH(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!GH.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=eU(t,a),c=t.configFor(s),l=xP(c),u=l.rangeParamsFor(r);if(!u)throw new $(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=rU(s),f=eI(c,e=>t.sessionState.get(a,e),r),p=sV(d.path,f.key),m=typeof p==`number`?YH(u,p):XH(`step-config`,r,u,CP(f.globals,r)),h=KH(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new $(`step-config: ${g.reason}`);cV(iU(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},sU=(e,t)=>{let[n=``]=LH(()=>$j(e)),r=FH(n),i=eU(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=QF(a,o),c=tI(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=CI(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save: ${t.reason}`);return[e.target,t.value]});lU(`save`,l,c);let d=rU(i);lV(iU(t,r),d,u,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(cU)].join(` `)} → ${d.path} (session=${r})`)},cU=e=>`${e.preset}/${e.id}.settings.${e.setting}=${Fu(e.value)}`;function lU(e,t,n){for(let r of n){let n=t.validate(r.key,Fu(r.value));if(!n.ok)throw new $(`${e}: ${n.reason}`)}}const uU=(e,t)=>{let[n=``]=LH(()=>$j(e)),r=FH(n),i=eU(t,r),a=t.configFor(i),o=aI(a,e=>t.sessionState.get(r,e)),s=CI(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save-preset: ${t.reason}`);return[e.configKey,t.value]});lU(`save-preset`,s,o.placements);let l=rU(i),u=gV(iU(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...HC.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,VC.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(cU)].join(` `)} → ${l.path} (session=${r})`)},dU=(e,t)=>{let[n=``]=LH(()=>$j(e)),r=FH(n),i=eU(t,r),a=sI(t.configFor(i),e=>t.sessionState.get(r,e));if(a.kind===`rule`)throw new $(`save-theme-default: the theme is chosen by a rule (globals.palette), so there is no name to save as a theme's default — pick one in the menu first`);let o=rU(i);_V(iU(t,r),o,a.theme,a.look),t.reloadConfig(i);let s=new Set(QF(t.configFor(i),e=>t.sessionState.get(r,e)).map(e=>e.sessionKey)),c=Tu.map(e=>VC[e].sessionKey).filter(e=>!s.has(e));for(let e of c)t.sessionState.clear(r,e);t.dlog(`info`,`save-theme-default: ${a.theme} ${Tu.map(e=>`${e}=${a.look[e]}`).join(` `)} → ${o.path} (session=${r})`)},fU=(e,t)=>{let[n=``,r=``]=LH(()=>$j(e)),i=FH(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=eU(t,i),o=rU(a);vV(iU(t,i),o,r),t.reloadConfig(a);let s=VC.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},pU=(e,t)=>{let[n=``,...r]=LH(()=>$j(e)),i=FH(n),a=eU(t,i),o=xP(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new $(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=rU(a),l=r.map(cI),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);pV(iU(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function mU(e,t){let n=(e,t)=>[...bu(Eb(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Cb(t.presets).flatMap(e=>n(t,e).map(t=>Jb(pp(e),gu(t)))));return Cb(e.presets).flatMap(t=>n(e,t).map(e=>({member:Jb(pp(t),gu(e)),node:e})).filter(({member:e})=>!r.has(e)))}function hU(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[Hb]:[]])}const gU=(e,t)=>{let[n=``,r=``,i=``]=LH(()=>$j(e)),a=FH(n),o=eU(t,a),s=t.configFor(o),c=xP(s);if(!r)throw new $(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`apply-layout-op: ${l.reason}`);let u=sP(l.value);if(u===null)throw new $(`apply-layout-op: "${l.value}" is not a layout op token`);let d=rU(o),f=yV(iU(t,a),d,r,u);t.reloadConfig(o);let p=hU(mU(s,t.configFor(o)),t.sessionState.get(a,Hb)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},_U=(e,t)=>{let[n=``]=LH(()=>$j(e)),r=FH(n);t.journal.commit();let i=t.history.undo(r);tU(t,r,i),t.dlog(`info`,`undo: restored ${VV(i)} (session=${r})`)},vU=(e,t)=>{let n=FH(IH(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,CI(nU(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},yU=(e,t)=>{let n=FH(IH(e));t.journal.commit();let r=t.history.rewind(n);tU(t,n,r),t.dlog(`info`,`rewind: put back ${VV(r)||`nothing`} as edit mode found it (session=${n})`)},bU=(e,t)=>{let[n=``]=LH(()=>$j(e)),r=FH(n);t.journal.commit();let i=t.history.redo(r);tU(t,r,i),t.dlog(`info`,`redo: re-applied ${VV(i)} (session=${r})`)},xU=(e,t)=>{FH(IH(e)),t.applyUpdate()},SU=`client-hints`;function CU(e,t){let n=e.sessionState.get(t,SU);if(n===null)throw new $(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new $(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new $(`client hints record is not an object: ${n}`);return _A(r)}function wU(e,t,n){let r=eT(n);e.sessionState.setBatch(t,aT(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function TU(e,t){return{...rH(e.doctor,CU(e,t),eU(e,t)),urlHandler:nH(e.clientVersion)}}const EU=(e,t)=>{let n=FH(IH(e));wU(t,n,TU(t,n))},DU=(e,t)=>{let n=gH(IH(e));if(n===null)throw new $(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},OU=(e,t)=>{let[n=``,r=``]=LH(()=>$j(e)),i=FH(n),a=tT(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=TU(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new $(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=iH(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),wU(t,i,c)},kU=(e,t)=>{let[n=``,...r]=LH(()=>$j(e)),i=FH(n),a=eU(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=BD(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new $(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=rF({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},CU(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},AU=(e,t)=>{let[n=``,r=``]=LH(()=>$j(e)),i=FH(n),a=Object.values(t.configFor(eU(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new $(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=kH(t.claudeInput,CU(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new $(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},jU=`config-override`,MU=new Map([[kj,zH],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=FH(LH(()=>decodeURIComponent(e.slice(0,n)))),i=LH(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new $(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new $(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,jU),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,jU,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[Aj,BH],[Dj,WH],[Oj,qH],[Pj,aU],[Fj,oU],[Bj,pU],[Ij,sU],[Lj,uU],[Rj,dU],[zj,fU],[Vj,gU],[Hj,_U],[Uj,bU],[Wj,vU],[Gj,yU],[Mj,VH],[Nj,HH],[jj,UH],[Kj,xU],[qj,EU],[Jj,OU],[Yj,DU],[Xj,kU],[Zj,AU]]),NU=new Set([Dj,Oj,Pj,Fj,Bj,Ij,Lj,Rj,zj,Vj,Hj,Uj,Wj,Gj,jj,Kj,qj,Jj,Xj,Zj]),PU=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of rM(tM(e))){if(!i&&NU.has(a)){let e=$j(o);e.length>0&&e[0]&&(i=e[0])}let e=MU.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof $||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
210
+ `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function FU(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const IU=new Map([...MU,[Ej,PU]].map(([e,t])=>[e,FU(t)]));Object.freeze([...IU.keys()]);const LU=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),RU=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]],zU=[[`workspace.added_dirs`,`string-list`]];function BU(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of RU){let i=UU(n,e);if(i==null)t.missingRequired.push(e);else{let n=VU(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of zU){let i=UU(n,e),a=i===void 0?r:HU(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))LU.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function VU(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function HU(e){return Array.isArray(e)&&e.every(e=>VU(e)===`string`)?`string-list`:VU(e)}function UU(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function WU(e,t){switch(e){case`vars`:return{what:e,vars:GU(t)};case`segments`:return{what:e,segments:XU(t)};case`config`:return{what:e,config:eW(t)}}}function GU(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=JU(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=KU(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:qU(r.lastUpdatedMs())})}return o}function KU(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function qU(e){return e===null?null:Math.max(0,Date.now()-e)}function JU(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,YU(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,YU(i));return t}function YU(e){return e.kind}function XU(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=QU(n),o=ZU(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:$U(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function ZU(e){let t=new Map;for(let n of Cb(e.presets))for(let r of bu(Eb(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=gu(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function QU(e){let t=[],n=new Set;for(let r of bu(wd(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function $U(e,t,n){let r=new Set;for(let i of px(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function eW(e){return e===null?null:e.config}const tW=[`vars`,`segments`,`config`];function nW(e){return typeof e==`string`&&tW.includes(e)}function rW(e){return Math.max(1,e-2)}var iW=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const aW=new pB,oW=new mH;Ae(aW.launchStats);const sW=new nC({counters:aW,logger:Z}),cW=cR({watchers:sW,logger:Z}),{gitProvider:lW,usageStore:uW,mementoProvider:dW}=cW,fW=new _B,pW=new DV(fW,Z),mW=new XV,hW=new DN,gW=new iW(Qe()),_W=new dB({gitService:lW,sessionState:fW,watchers:sW},{observers:{onReload:e=>Z(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),vW=60*1e3;function yW(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(T(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){Z(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),FW(0);return}}catch(e){Z(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,vW),a.unref())},checkNow:o}}const bW=yW(),xW=GI({entryUrl:import.meta.url,intervalMs:vW,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>bW.checkNow(),log:Z});let SW=null,CW=null,wW=0;function TW(){t.on(`uncaughtException`,e=>{Z(`error`,`uncaughtException: ${e.stack||e.message}`),FW(1)}),t.on(`unhandledRejection`,e=>{Z(`error`,`unhandledRejection: ${String(e)}`),FW(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Z(`info`,`received ${e}, shutting down`),FW(0)});try{wW=QA(t.env)}catch(e){Z(`error`,`refusing to boot: ${e.message}`),FW(1);return}SW=$M(t.pid);let e=lN(dN(SW));if(!e.decision.allow){Z(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),FW(1);return}CW=e.registryPath,r.mkdirSync(ze(),{recursive:!0}),Ue(Be()),fW.useStorage(new yB(Ke(),500,Z)),pW.useStorage(JV(qe(),Z)),nN({anchor:tN(t.env),isAlive:rN,onOrphaned:e=>{Z(`info`,`parent watchdog: ${e}; shutting down`),FW(0)}}),EW(x.createServer({allowHalfOpen:!1},e=>{IW(e)}),Be(),!1)}function EW(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Z(`error`,`server error: ${i.message}`),FW(1);return}if(r){Z(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}DW(e,n)}),e.listen(n,()=>OW(n))}function DW(e,n){let i=UM(WM(We(n)),(e,t)=>QM(e,t,{readStartTime:ZM,pidAlive:rN}));if(i.kind===`attach-and-exit`){Z(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}Z(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){Z(`error`,`cannot unlink stale socket ${n}: ${e.message}`),FW(1);return}}EW(e,n,!0)}function OW(e){let n=qM(e);if(n.kind!==`present`){Z(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),FW(0);return}MW(e);try{r.chmodSync(e,384)}catch(e){Z(`warn`,`chmod socket failed: ${e.message}`)}Z(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(ie.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(wW/1048576)}MB`),hj();let i=gW.reset();i!==null&&Z(`warn`,`diagnostic dump wipe failed: ${i}`),bW.arm(),xW.arm(),jW(),kW(e,n.identity)}function kW(e,n){XM({bound:n,myPid:t.pid,readIdentity:()=>qM(e),readLease:()=>WM(We(e)),shutdown:e=>FW(e),log:Z}).arm()}let AW=null;function jW(){AW=nj(oj(aW.startedAt.getTime(),e=>FW(e),{rssLimitBytes:wW})),AW.arm()}function MW(e){let n=GM(We(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:SW});n!==null&&Z(`warn`,`lease write failed: ${n}`)}let NW=0,PW=!1;function FW(e){if(!PW){PW=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{lW.close()}catch(e){Z(`warn`,`gitService close failed: ${e.message}`)}try{uW.close()}catch(e){Z(`warn`,`usageStore close failed: ${e.message}`)}try{sW.closeAll()}catch(e){Z(`warn`,`watcherRegistry close failed: ${e.message}`)}try{fW.flush()}catch(e){Z(`warn`,`sessionState flush failed: ${e.message}`)}KM(Ge(),t.pid),CW!==null&&uN(CW,t.pid,sN,e=>r.unlinkSync(e)),t.exit(e)}}function IW(e){NW++,aW.inFlight=NW;let t=!1,n=(n,r)=>{if(t){r!==null&&Z(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>FW(r);try{e.end(DA(n),i)}catch(e){Z(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{aW.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=OA(e=>{RW(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{Z(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{Z(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{Z(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),NW=Math.max(0,NW-1),aW.inFlight=NW})}const LW=e=>({resp:e,exitAfterFlush:null});async function RW(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return LW({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?Z(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):Z(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return LW({ok:!0,stats:aW.snapshot({gitCache:lW.getStats(),usageCache:uW.getStats(),renderCacheSize:_W.size,effectCache:hW.getStats(),watchersActive:sW.size(),nextRestartReason:AW?.describeNextRestart()??null,handlerProbes:oW.list()})});if(e.kind===`render`){aW.requestsTotal++;let t=new Date,n=mC(t),r=t.getTime();try{let{report:t}=BU(e.hookData);for(let e of t.unknownTopLevelFields)Z(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of t.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:n,got:r}of t.typeMismatches)i.push(`field '${e}' expected ${n}, got ${r}`);if(e.cwd===``&&i.push(`request 'cwd' is empty`),i.length>0)return aW.requestsErrored++,Z(`warn`,`BAD_REQUEST: ${i.join(`; `)}`),LW({ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=zW(e.args),c=e.hookData.session_id,l=_A(e),u=JSON.stringify(l);fW.get(c,`client-hints`)!==u&&fW.set(c,SU,u);let d=fW.get(c,`config-override`)??o??l.configEnv,f=_W.getOrCreate(a,e.cwd,d),p=QH({projectDir:a,cwd:e.cwd,configFile:d??null});fW.get(c,`render-origin`)!==p&&fW.set(c,ZH,p);let m=l.termCols,h=rW(m??120),g=zN(l.termRows),{authoredRoots:_}=f.state,v=t=>fW.get(e.hookData.session_id,t),y=gF(f.state.config,v,e=>_.has(e)),b=await NF(e.hookData,n,{...WW,navigation:e=>mW.depth(e,fW,CI(f.state.config))},e.cwd,f.state.neededInputPaths(y.preset),y,l,{...uI(f.state.config,f.state.fileHeldSettings,v),configPath:f.configLayers.includes(f.configHome)?f.configHome:null}),x=[],S=_F(y,h),C=hW.of(c),ee=Gz(f.state.config,f.state.compiled,f.state.store,f.state.registry,b,n,S,{perSegmentSink:f.state.lastRenderCellsBySegment,onRenderWarning:({message:e})=>x.push(e)},{...vF(y),effects:C}),te=fW.get(e.hookData.session_id,`click.error`);te&&fW.clear(e.hookData.session_id,`click.error`);let ne=[s,f.lastError,te].filter(Boolean).join(`
211
+ `),re=xW.notice({sessionId:c,dismissed:fW.get(c,kI),enabled:y.updateNotice}),ie=f.lastError===null?null:f.failedFile,ae=WN(ne,re,[f.lastWarning??``,...x].filter(Boolean).join(`
212
+ `)),w=gW.sync(c,ae===null?null:KN(ae));w!==null&&Z(`warn`,`diagnostic dump failed: ${w}`);let T=qN(ee,ae,{fullText:w===null?{kind:`file`,path:gW.pathFor(c)}:{kind:`unavailable`,reason:w},failedConfigFile:ie},{width:h,rowCap:g,colorCompatibility:y.colorCompatibility}),oe=Date.now()-r,se=lW.getStats(),ce=uW.getStats(),le=C.lastFrame();return Z(`info`,`render sid=${e.hookData.session_id??`?`} at=${n.toFixed(3)} took=${oe}ms termCols=${m??`?`} termRows=${l.termRows??`?`} width=${h} git=${se.size}/${se.hits}h/${se.misses}m usage=${ce.size}/${ce.hits}h/${ce.misses}m effect=${le.effect} effectT=${le.t.toFixed(3)} effectRows=${le.made}made/${le.reused}reused err=${ne?`Y`:`N`} upd=${re.length} warn=${f.lastWarning?`Y`:`N`}`),LW({ok:!0,output:T+`
213
+ `})}catch(e){throw aW.requestsErrored++,e}}if(e.kind===`click`)return LW(GW(e.verb,e.value,TA(e.clientVersion)));if(e.kind===`debug`){if(!nW(e.what))return LW({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${tW.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=_W.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?UW(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):HW};return LW({ok:!0,debug:WU(e.what,n)})}return LW({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function zW(e){let{values:t,tokens:n}=y({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:bA(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const BW={sessionState:fW,dlog:Z,applyUpdate:()=>xW.act(),doctor:QV(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];_W.reload(...t);let n=_W.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused}}),probes:oW,memento:dW,claudeInput:PH(),history:pW,navigation:mW,configFor:e=>_W.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>_W.reload(e.projectDir,e.cwd,e.configFile??void 0)};BW.reloadConfig;const VW={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:el,width:1/0},HW=new Map;function UW(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,RN(a,{...VW,charset:t,colorCompatibility:n}));return r}const WW={...cW,history:e=>pW.depth(e)};function GW(e,t,n){let r=IU.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...BW,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof $?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const KW={connectMs:200,budgetMs:500};async function qW(e,n){let r=n.includes(`--json`),i=await JW(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${IA(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
214
+ `);return}t.stdout.write(YW(i.value))}function JW(e){return AA({kind:`debug`,what:e},KW,e=>`debug`in e?e.debug:void 0)}function YW(e){switch(e.what){case`vars`:return XW(e.vars);case`segments`:return ZW(e.segments);case`config`:return QW(e.config);default:return e}}function XW(e){if(e.length===0)return`no variables (DSL not active)
215
+ `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${eG(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${$W(a.value)}${e}${o}`)}return t.join(`
214
216
  `)+`
215
- `}function oU(e){if(e.length===0)return`no segments (DSL not active)
217
+ `}function ZW(e){if(e.length===0)return`no segments (DSL not active)
216
218
  `;let t=[`segments (${e.length})`,``];for(let n of e){t.push(` ${n.name}`),n.description!==null&&t.push(` shows ${n.description}`),t.push(` template ${n.template}`),n.referencedVars.length>0&&t.push(` vars ${n.referencedVars.join(`, `)}`);for(let{id:e,lastRender:r}of n.placements)r!==null&&t.push(` last ${e}: ${r}`)}return t.join(`
217
219
  `)+`
218
- `}function sU(e){return e===null?`config: DSL not active
220
+ `}function QW(e){return e===null?`config: DSL not active
219
221
  `:JSON.stringify(e,null,2)+`
220
- `}function cU(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function lU(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function uU(){let e=fU();return e===null?null:r.readFileSync(e,`utf-8`)}function dU(){let e;try{e=uU()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function fU(){let e=l.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=l.dirname(l.resolve(n));for(;;){let t=l.join(i,e);if(r.existsSync(t))return t;let n=l.dirname(i);if(n===i)return null;i=n}}function pU(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const mU=5e3;function hU(e,t,n){let r=`/home/tester`,i=Math.floor(n),a=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,o={current_dir:`${r}/code/cc-candybar/src`,project_dir:`${r}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:a,version:`1.15.0`,home:r,cwd:`${r}/code/cc-candybar/src`,transcript_path:`${r}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:o,git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:i+2*3600},weekly:{percentage:21,resetsAt:i+5*86400},cache:{expiresAt:i+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:lw(4e5,1e6),...FN(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:kS(()=>!0),resumeCommand:jN(o,a,void 0),configPath:t??`${r}/.config/cc-candybar/config.json5`}}function gU(e,t){let n=qD(e,e),r=XD(n);return r!==null&&t.push(r),n.kind===`chain`?n.layers:[]}async function _U(e,n=t.cwd()){let i=[],a=e===void 0?null:l.resolve(WD(e)),o=a===null?gU(n,i):[a];if(a!==null){let e;try{e=r.statSync(a,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:a,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:a,message:`not a file`}}let s=QD(n,n);s!==null&&i.push(s);try{return{kind:`clean`,layers:o,warnings:i,rendered:await bU(o,n,i)}}catch(e){let t=e;return typeof t==`object`&&t&&typeof t.code==`string`&&typeof t.path==`string`&&o.includes(t.path)&&typeof t.message==`string`?{kind:`unreadable`,path:t.path,message:t.message}:(e instanceof Xc&&i.push(...e.warnings),{kind:`fatal`,layers:o,message:e instanceof Xc||e instanceof Error?e.message:String(e),warnings:i})}}async function vU(e,t,n){let r=NO(e,rN,{entered:()=>{},warned:e=>n.push(...e)},{projectDir:t}),{config:i}=r,a=new hR,o=new bS(a,i.globals.default_empty_value??``,void 0,new kR);try{let s=QL(i,o,{cwd:t});n.push(...s.loadWarnings);let c=await o.settled(mU);return c.length>0&&n.push(`source${c.length===1?``:`s`} still running after ${mU} ms, rendered with fallback values: ${c.join(`, `)}`),{layers:e,droppedPlugins:[...r.installed.dropped,...r.layers.flatMap(e=>e.plugins.dropped)],config:i,compiled:s,store:a,registry:o}}catch(e){throw o.dispose(),e}}function yU({layers:e,config:t,compiled:n,store:r,registry:i},a,o,s){let c=new Map,l=new Set,u={"theme-rule":e=>c.set(`theme rule`,e),"band-floor":e=>l.add(e)};return{rendered:rR(t,n,r,i,hU(a,e.at(-1)??null,s),s,NN(a,o),{onSegmentError:(e,t)=>c.set(`segment "${e}"`,t),onRenderWarning:({kind:e,message:t})=>u[e](t)},PN(a)),failures:c,advisories:l}}async function bU(e,t,n){let r=await vU(e,t,n),{config:i}=r,a=Xx(new Date);try{let e=tF();try{PP(i),VM(i)}finally{e()}let t=oy(null,i.globals.preset,i.presets),o=(e,t)=>{let n=MN(i,t=>t===`preset`?e:null,()=>t),o;try{o=yU(r,n,200,a)}catch(e){o={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]]),advisories:new Set}}return{preset:e,customized:t,...o}},s=o(t,!1),c=[s,o(t,!0),...ay(i.presets).filter(e=>e!==t).flatMap(e=>[o(e,!1),o(e,!0)])],l=e=>{let n=new Map;for(let t of c)for(let r of e(t)){let e=n.get(r)??new Map;e.set(t.preset,(e.get(t.preset)??new Set).add(t.customized)),n.set(r,e)}return[...n].map(([e,n])=>n.get(t)?.has(!1)?e:`${e} (under ${[...n].map(([e,n])=>[...e===t?[]:[`preset "${e}"`],...n.has(!1)?[]:[`.preset.customized = true`]].join(`, `)).join(`; `)})`)};n.push(...l(e=>e.advisories));let u=l(e=>[...e.failures].map(([e,t])=>`${e}: ${t}`)),d=s.rendered,f=r.droppedPlugins.length,p=[...f>0?[`${f} plugin${f===1?``:`s`} did not load (named in the warnings)`]:[],...u.length>0||d===void 0?[`config renders with ${u.length} render error${u.length===1?``:`s`} (the daemon would show them on the bar):\n`+u.map(e=>` ${e}`).join(`
222
+ `}function $W(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function eG(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function tG(){let e=rG();return e===null?null:r.readFileSync(e,`utf-8`)}function nG(){let e;try{e=tG()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function rG(){let e=l.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=l.dirname(l.resolve(n));for(;;){let t=l.join(i,e);if(r.existsSync(t))return t;let n=l.dirname(i);if(n===i)return null;i=n}}function iG(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const aG=5e3;function oG(e,t,n){let r=`/home/tester`,i=Math.floor(n),a=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,o={current_dir:`${r}/code/cc-candybar/src`,project_dir:`${r}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:a,version:`1.15.0`,home:r,cwd:`${r}/code/cc-candybar/src`,transcript_path:`${r}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:o,git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:i+2*3600},weekly:{percentage:21,resetsAt:i+5*86400},cache:{expiresAt:i+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:AT(4e5,1e6),...yF(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:qC(()=>!0),themeDefault:{differs:!0,theme:`<theme>`},resumeCommand:hF(o,a,void 0),configPath:t??`${r}/.config/cc-candybar/config.json5`}}function sG(e,t){let n=yk(e,e),r=Sk(n);return r!==null&&t.push(r),n.kind===`chain`?n.layers:[]}async function cG(e,n=t.cwd()){let i=[],a=e===void 0?null:l.resolve(gk(e)),o=a===null?sG(n,i):[a];if(a!==null){let e;try{e=r.statSync(a,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:a,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:a,message:`not a file`}}let s=wk(n,n);s!==null&&i.push(s);try{return{kind:`clean`,layers:o,warnings:i,rendered:await dG(o,n,i)}}catch(e){let t=e;return typeof t==`object`&&t&&typeof t.code==`string`&&typeof t.path==`string`&&o.includes(t.path)&&typeof t.message==`string`?{kind:`unreadable`,path:t.path,message:t.message}:(e instanceof lu&&i.push(...e.warnings),{kind:`fatal`,layers:o,message:e instanceof lu||e instanceof Error?e.message:String(e),warnings:i})}}async function lG(e,t,n){let r=aA(e,RP,{entered:()=>{},warned:e=>n.push(...e)},{projectDir:t}),{config:i}=r,a=new rB,o=new RC(a,i.globals.default_empty_value??``,void 0,new _B);try{let s=Bz(i,o,{cwd:t});n.push(...s.loadWarnings);let c=await o.settled(aG);return c.length>0&&n.push(`source${c.length===1?``:`s`} still running after ${aG} ms, rendered with fallback values: ${c.join(`, `)}`),{layers:e,droppedPlugins:[...r.installed.dropped,...r.layers.flatMap(e=>e.plugins.dropped)],config:i,compiled:s,store:a,registry:o}}catch(e){throw o.dispose(),e}}function uG({layers:e,config:t,compiled:n,store:r,registry:i},a,o,s){let c=new Map,l=new Set,u={"theme-rule":e=>c.set(`theme rule`,e),"band-floor":e=>l.add(e)};return{rendered:Gz(t,n,r,i,oG(a,e.at(-1)??null,s),s,_F(a,o),{onSegmentError:(e,t)=>c.set(`segment "${e}"`,t),onRenderWarning:({kind:e,message:t})=>u[e](t)},vF(a)),failures:c,advisories:l}}async function dG(e,t,n){let r=await lG(e,t,n),{config:i}=r,a=mC(new Date);try{let e=WI();try{CI(i),xP(i)}finally{e()}let t=wb(null,i.globals.preset,i.presets),o=(e,t)=>{let n=gF(i,t=>t===`preset`?e:null,()=>t),o;try{o=uG(r,n,200,a)}catch(e){o={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]]),advisories:new Set}}return{preset:e,customized:t,...o}},s=o(t,!1),c=[s,o(t,!0),...Cb(i.presets).filter(e=>e!==t).flatMap(e=>[o(e,!1),o(e,!0)])],l=e=>{let n=new Map;for(let t of c)for(let r of e(t)){let e=n.get(r)??new Map;e.set(t.preset,(e.get(t.preset)??new Set).add(t.customized)),n.set(r,e)}return[...n].map(([e,n])=>n.get(t)?.has(!1)?e:`${e} (under ${[...n].map(([e,n])=>[...e===t?[]:[`preset "${e}"`],...n.has(!1)?[]:[`.preset.customized = true`]].join(`, `)).join(`; `)})`)};n.push(...l(e=>e.advisories));let u=l(e=>[...e.failures].map(([e,t])=>`${e}: ${t}`)),d=s.rendered,f=r.droppedPlugins.length,p=[...f>0?[`${f} plugin${f===1?``:`s`} did not load (named in the warnings)`]:[],...u.length>0||d===void 0?[`config renders with ${u.length} render error${u.length===1?``:`s`} (the daemon would show them on the bar):\n`+u.map(e=>` ${e}`).join(`
221
223
  `)]:[]];if(p.length>0||d===void 0)throw Error(p.join(`
222
- `));return d}finally{r.registry.dispose()}}function xU(e){return e.map(e=>`warning: ${e}\n`).join(``)}function SU(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.layers.join(` < `)||`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`+(t?`${e.rendered}\n`:``),stderr:xU(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:xU(e.warnings)+`✗ ${e.layers.join(` < `)||`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const CU=`--render`,wU=`Usage: cc-candybar check [${CU}] [config-file]\n`;function TU(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==CU);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${wU}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${wU}`}:{kind:`run`,target:n[0],render:t.includes(CU)}}async function EU(e){let n=TU(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:SU(await _U(n.target??pU(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const DU=`${Uj}${Hj}`;function OU(e){return`${DU}⚠ cc-candybar: ${kU(e)}\n`}function kU(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${Vj(e.message,60)}`;case`render_failed`:return`render failed: ${Vj(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${Vj(e.message,60)}`}}function AU(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
223
- `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:OU(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function jU(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}const MU=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function NU(e,t,n){return{termCols:jU(e.COLUMNS,n.columns),termRows:jU(e.LINES,n.rows),ssh:MU.some(t=>(e[t]??``)!==``),tmux:wC(e),configEnv:pU(e),claudeConfigDir:QC(e,t),mementoEnv:tt(e,t)}}const PU=` (fix: click the settings menu (${bu} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function FU({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:PU}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function IU(e){let t=SR(e.projectDir,e.cwd,e.configFile??void 0,{sessionState:new kR});return t.state?.registry.dispose(),{layers:t.layers,error:t.error,warning:t.warning,unused:t.state?.unused??[]}}async function LU(e,t,n,r,i=void 0){let a;try{a={...mB(e,{tmux:wC(n),claudeConfigDir:QC(n,r)},{projectDir:r,cwd:r,configFile:JO(i??pU(n))??null}),urlHandler:await AB(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=NC(a);return{stdout:o.map(FU).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function RU(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
224
+ `));return d}finally{r.registry.dispose()}}function fG(e){return e.map(e=>`warning: ${e}\n`).join(``)}function pG(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.layers.join(` < `)||`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`+(t?`${e.rendered}\n`:``),stderr:fG(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:fG(e.warnings)+`✗ ${e.layers.join(` < `)||`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const mG=`--render`,hG=`Usage: cc-candybar check [${mG}] [config-file]\n`;function gG(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==mG);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${hG}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${hG}`}:{kind:`run`,target:n[0],render:t.includes(mG)}}async function _G(e){let n=gG(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:pG(await cG(n.target??iG(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const vG=`${gN}${hN}`;function yG(e){return`${vG}⚠ cc-candybar: ${bG(e)}\n`}function bG(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${mN(e.message,60)}`;case`render_failed`:return`render failed: ${mN(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${mN(e.message,60)}`}}function xG(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
225
+ `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:yG(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function SG(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}const CG=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function wG(e,t,n){return{termCols:SG(e.COLUMNS,n.columns),termRows:SG(e.LINES,n.rows),ssh:CG.some(t=>(e[t]??``)!==``),tmux:Gw(e),configEnv:iG(e),claudeConfigDir:yT(e,t),mementoEnv:tt(e,t)}}const TG=` (fix: click the settings menu (${Pd} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function EG({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:TG}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function DG(e){let t=uB(e.projectDir,e.cwd,e.configFile??void 0,{sessionState:new _B});return t.state?.registry.dispose(),{layers:t.layers,error:t.error,warning:t.warning,unused:t.state?.unused??[]}}async function OG(e,t,n,r,i=void 0){let a;try{a={...rH(e,{tmux:Gw(n),claudeConfigDir:yT(n,r)},{projectDir:r,cwd:r,configFile:bA(i??iG(n))??null}),urlHandler:await yH(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=eT(a);return{stdout:o.map(EG).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function kG(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
224
226
  Usage: cc-candybar doctor [config-file]
225
- `),t.exit(2));let n=t.cwd(),r=await LU(lB(IU),PB(),t.env,n,e[0]===void 0?void 0:l.resolve(n,WD(e[0])));t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const zU=e=>e.some(e=>t.argv.includes(e));function BU(){console.log(xC)}async function VU(){try{zU(yC.help)&&(BU(),t.exit(0)),zU(yC.version)&&(console.log(`cc-candybar ${dk}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await mj(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(lj(),t.exit(0)),e===`url-handle`){await dj(t.argv[3]);return}if(e===`daemon`){PH();return}if(e===`daemon-stats`&&(await _B(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await EU(t.argv.slice(3));return}if(e===`schema`){dU();return}if(e===`doctor`){await RU(t.argv.slice(3));return}fH(e)&&(await nU(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
227
+ `),t.exit(2));let n=t.cwd(),r=await OG(QV(DG),CH(),t.env,n,e[0]===void 0?void 0:l.resolve(n,gk(e[0])));t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const AG=e=>e.some(e=>t.argv.includes(e));function jG(){console.log(Hw)}async function MG(){try{AG(Bw.help)&&(jG(),t.exit(0)),AG(Bw.version)&&(console.log(`cc-candybar ${LA}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await VM(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(IM(),t.exit(0)),e===`url-handle`){await RM(t.argv[3]);return}if(e===`daemon`){TW();return}if(e===`daemon-stats`&&(await oH(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await _G(t.argv.slice(3));return}if(e===`schema`){nG();return}if(e===`doctor`){await kG(t.argv.slice(3));return}nW(e)&&(await qW(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
226
228
 
227
229
  cc-candybar is designed to be used as a Claude Code statusLine command.
228
230
  It reads hook data from stdin and outputs formatted statusline.
@@ -238,4 +240,4 @@ Add to ~/.claude/settings.json:
238
240
  Run with --help for more options.
239
241
 
240
242
  To test output manually:
241
- echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),E(`Working directory: ${t.cwd()}`),E(`Process args:`,t.argv);let r=await n(t.stdin);E(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),BU(),t.exit(1));let i=AU(await hk(r,t.argv,t.cwd(),NU(t.env,t.cwd(),t.stderr)));i.debug!==null&&E(i.debug),i.kick&&Fk(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}VU();export{};
243
+ echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),E(`Working directory: ${t.cwd()}`),E(`Process args:`,t.argv);let r=await n(t.stdin);E(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),jG(),t.exit(1));let i=xG(await VA(r,t.argv,t.cwd(),wG(t.env,t.cwd(),t.stderr)));i.debug!==null&&E(i.debug),i.kick&&sj(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}MG();export{};