PageSourceSearch

https://console.aiven.io/525.525.308e6fe4.bundle.js

js aiven.io collected 2026-09-24 08:44:10 UTC 3,946,489 bytes, 915 lines download raw bytes

1(()=>{try{let St=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},We=new St.Error().stack;We&&(St._sentryDebugIds=St._sentryDebugIds||{},St._sentryDebugIds[We]="45f512b1-dbeb-4c31-a018-58c6366d122f",St._sentryDebugIdIdentifier="sentry-dbid-45f512b1-dbeb-4c31-a018-58c6366d122f")}catch{}{let St=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};St.SENTRY_RELEASE={id:"26.7.0-8250.g744dbdf5f076c"}}(self.webpackChunkaiven=self.webpackChunkaiven||[]).push([[525],{914:(St,We,e)=>{e.d(We,{NN:()=>d,eS:()=>i,f9:()=>r,hE:()=>C,sv:()=>u});var v=e(13338),R=e(78903),x=e(94327),T=e(13072),y=e(50946),A=e(29849),g=e(49990);function L(o,c){return c.uri.scheme===o.uri.scheme?!0:!(0,T.fV)(c.uri,T.ny.walkThroughSnippet,T.ny.vscodeChatCodeBlock,T.ny.vscodeChatCodeCompareBlock)}async function b(o,c,a,p,_){const S=a.ordered(o,p).map(D=>Promise.resolve(_(D,o,c)).then(void 0,k=>{(0,x.M_)(k)})),h=await Promise.all(S);return(0,v.Yc)(h.flat()).filter(D=>L(o,D))}function C(o,c,a,p,_){return b(c,a,o,p,(E,S,h)=>E.provideDefinition(S,h,_))}function u(o,c,a,p,_){return b(c,a,o,p,(E,S,h)=>E.provideDeclaration(S,h,_))}function i(o,c,a,p,_){return b(c,a,o,p,(E,S,h)=>E.provideImplementation(S,h,_))}function r(o,c,a,p,_){return b(c,a,o,p,(E,S,h)=>E.provideTypeDefinition(S,h,_))}function d(o,c,a,p,_,E){return b(c,a,o,_,async(S,h,D)=>{const k=(await S.provideReferences(h,D,{includeDeclaration:!0},E))?.filter(W=>L(h,W));if(!p||!k||k.length!==2)return k;const N=(await S.provideReferences(h,D,{includeDeclaration:!1},E))?.filter(W=>L(h,W));return N&&N.length===1?N:k})}async function l(o){const c=await o(),a=new g.y4(c,""),p=a.references.map(_=>_.link);return a.dispose(),p}(0,y.ke)("_executeDefinitionProvider",(o,c,a)=>{const p=o.get(A.u),_=C(p.definitionProvider,c,a,!1,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeDefinitionProvider_recursive",(o,c,a)=>{const p=o.get(A.u),_=C(p.definitionProvider,c,a,!0,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeTypeDefinitionProvider",(o,c,a)=>{const p=o.get(A.u),_=r(p.typeDefinitionProvider,c,a,!1,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeTypeDefinitionProvider_recursive",(o,c,a)=>{const p=o.get(A.u),_=r(p.typeDefinitionProvider,c,a,!0,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeDeclarationProvider",(o,c,a)=>{const p=o.get(A.u),_=u(p.declarationProvider,c,a,!1,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeDeclarationProvider_recursive",(o,c,a)=>{const p=o.get(A.u),_=u(p.declarationProvider,c,a,!0,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeReferenceProvider",(o,c,a)=>{const p=o.get(A.u),_=d(p.referenceProvider,c,a,!1,!1,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeReferenceProvider_recursive",(o,c,a)=>{const p=o.get(A.u),_=d(p.referenceProvider,c,a,!1,!0,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeImplementationProvider",(o,c,a)=>{const p=o.get(A.u),_=i(p.implementationProvider,c,a,!1,R.XO.None);return l(()=>_)}),(0,y.ke)("_executeImplementationProvider_recursive",(o,c,a)=>{const p=o.get(A.u),_=i(p.implementationProvider,c,a,!0,R.XO.None);return l(()=>_)})},1032:(St,We,e)=>{e.d(We,{V:()=>y,WR:()=>g,no:()=>T});var v=e(16844),R=e(19184),x=e(57445);class T{constructor(b,C,u){this._indentRulesSupport=C,this._indentationLineProcessor=new A(b,u)}shouldIncrease(b,C){const u=this._indentationLineProcessor.getProcessedLine(b,C);return this._indentRulesSupport.shouldIncrease(u)}shouldDecrease(b,C){const u=this._indentationLineProcessor.getProcessedLine(b,C);return this._indentRulesSupport.shouldDecrease(u)}shouldIgnore(b,C){const u=this._indentationLineProcessor.getProcessedLine(b,C);return this._indentRulesSupport.shouldIgnore(u)}shouldIndentNextLine(b,C){const u=this._indentationLineProcessor.getProcessedLine(b,C);return this._indentRulesSupport.shouldIndentNextLine(u)}}class y{constructor(b,C){this.model=b,this.indentationLineProcessor=new A(b,C)}getProcessedTokenContextAroundRange(b){const C=this._getProcessedTokensBeforeRange(b),u=this._getProcessedTokensAfterRange(b),i=this._getProcessedPreviousLineTokens(b);return{beforeRangeProcessedTokens:C,afterRangeProcessedTokens:u,previousLineProcessedTokens:i}}_getProcessedTokensBeforeRange(b){this.model.tokenization.forceTokenization(b.startLineNumber);const C=this.model.tokenization.getLineTokens(b.startLineNumber),u=(0,R.BQ)(C,b.startColumn-1);let i;if(g(this.model,b.getStartPosition())){const d=b.startColumn-1-u.f
1irstCharOffset,l=u.firstCharOffset,o=l+d;i=C.sliceAndInflate(l,o,0)}else{const d=b.startColumn-1;i=C.sliceAndInflate(0,d,0)}return this.indentationLineProcessor.getProcessedTokens(i)}_getProcessedTokensAfterRange(b){const C=b.isEmpty()?b.getStartPosition():b.getEndPosition();this.model.tokenization.forceTokenization(C.lineNumber);const u=this.model.tokenization.getLineTokens(C.lineNumber),i=(0,R.BQ)(u,C.column-1),r=C.column-1-i.firstCharOffset,d=i.firstCharOffset+r,l=i.firstCharOffset+i.getLineLength(),o=u.sliceAndInflate(d,l,0);return this.indentationLineProcessor.getProcessedTokens(o)}_getProcessedPreviousLineTokens(b){const C=E=>{this.model.tokenization.forceTokenization(E);const S=this.model.tokenization.getLineTokens(E),h=this.model.getLineMaxColumn(E)-1;return(0,R.BQ)(S,h)};this.model.tokenization.forceTokenization(b.startLineNumber);const u=this.model.tokenization.getLineTokens(b.startLineNumber),i=(0,R.BQ)(u,b.startColumn-1),r=x.f7.createEmpty("",i.languageIdCodec),d=b.startLineNumber-1;if(d===0||!(i.firstCharOffset===0))return r;const c=C(d);if(!(i.languageId===c.languageId))return r;const p=c.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(p)}}class A{constructor(b,C){this.model=b,this.languageConfigurationService=C}getProcessedLine(b,C){const u=(d,l)=>{const o=(0,v.UU)(d);return l+d.substring(o.length)};this.model.tokenization.forceTokenization?.(b);const i=this.model.tokenization.getLineTokens(b);let r=this.getProcessedTokens(i).getLineContent();return C!==void 0&&(r=u(r,C)),r}getProcessedTokens(b){const C=o=>o===2||o===3||o===1,u=b.getLanguageId(0),r=this.languageConfigurationService.getLanguageConfiguration(u).bracketsNew.getBracketRegExp({global:!0}),d=[];return b.forEach(o=>{const c=b.getStandardTokenType(o);let a=b.getTokenText(o);C(c)&&(a=a.replace(r,""));const p=b.getMetadata(o);d.push({text:a,metadata:p})}),x.f7.createFromTextAndMetadata(d,b.languageIdCodec)}}function g(L,b){L.tokenization.forceTokenization(b.lineNumber);const C=L.tokenization.getLineTokens(b.lineNumber),u=(0,R.BQ)(C,b.column-1),i=u.firstCharOffset===0,r=C.getLanguageId(0)===u.languageId;return!i&&!r}},1174:(St,We,e)=>{e.d(We,{ne:()=>Te,Nd:()=>oe,Jo:()=>_e,WJ:()=>Qe,dt:()=>q,uU:()=>ve,ko:()=>S,yr:()=>Me,O:()=>Le,WP:()=>p,dE:()=>h,J1:()=>de,or:()=>a});var v=e(27992);function R(pe){const Ae=y(pe);if(Ae&&Ae.length>0)return new Uint32Array(Ae)}let x=0;const T=new Uint32Array(10);function y(pe){if(x=0,A(pe,L,4352),x>0||(A(pe,b,4449),x>0)||(A(pe,C,4520),x>0)||(A(pe,u,12593),x))return T.subarray(0,x);if(pe>=44032&&pe<=55203){const Ae=pe-44032,Xe=Ae%588,dt=Math.floor(Ae/588),gt=Math.floor(Xe/28),Bt=Xe%28-1;if(dt<L.length?A(dt,L,0):4352+dt-12593<u.length&&A(4352+dt,u,12593),gt<b.length?A(gt,b,0):4449+gt-12593<u.length&&A(4449+gt-12593,u,12593),Bt>=0&&(Bt<C.length?A(Bt,C,0):4520+Bt-12593<u.length&&A(4520+Bt-12593,u,12593)),x>
10)return T.subarray(0,x)}}function A(pe,Ae,Xe){pe>=Xe&&pe<Xe+Ae.length&&g(Ae[pe-Xe])}function g(pe){pe!==0&&(T[x++]=pe&255,pe>>8&&(T[x++]=pe>>8&255),pe>>16&&(T[x++]=pe>>16&255))}const L=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),b=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),C=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),u=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);new v.qK(1e4);const i=new v.qK(1e4);function r(pe){return l(pe,"NFD",i)}const d=/[^\u0000-\u0080]/;function l(pe,Ae,Xe){if(!pe)return pe;const dt=Xe.get(pe);if(dt)return dt;let gt;return d.test(pe)?gt=pe.normalize(Ae):gt=pe,Xe.set(pe,gt),gt}const o=function(){const pe=new v.qK(1e4),Ae=/[\u0300-\u036f]/g;return function(Xe){const dt=pe.get(Xe);if(dt)return dt;const gt=r(Xe).replace(Ae,""),Bt=(gt.length===Xe.length?gt:Xe).toLowerCase();return pe.set(Xe,Bt),Bt}}();var c=e(16844);function a(...pe){return function(Ae,Xe){for(let dt=0,gt=pe.length;dt<gt;dt++){const Bt=pe[dt](Ae,Xe);if(Bt)return Bt}return null}}_.bind(void 0,!1);const p=_.bind(void 0,!0);function _(pe,Ae,Xe){if(!Xe||Xe.length<Ae.length)return null;let dt;return pe?dt=(0,c.ns)(Xe,Ae):dt=Xe.indexOf(Ae)===0,dt?Ae.length>0?[{start:0,end:Ae.length}]:[]:null}function E(pe,Ae){if(pe.length>Ae.length)return null;const Xe=Ae.toLowerCase().indexOf(pe.toLowerCase());return Xe===-1?null:[{start:Xe,end:Xe+pe.length}]}function S(pe,Ae){if(pe.length>Ae.length)return null;pe=o(pe),Ae=o(Ae);const Xe=Ae.indexOf(pe);return Xe===-1?null:[{start:Xe,end:Xe+pe.length}]}function h(pe,Ae){return pe.length>Ae.length?null:D(pe.toLowerCase(),Ae.toLowerCase(),0,0)}function D(pe,Ae,Xe,dt){if(Xe===pe.length)return[];if(dt===Ae.length)return null;if(pe[Xe]===Ae[dt]){let gt=null;return(gt=D(pe,Ae,Xe+1,dt+1))?Z({start:dt,end:dt+1},gt):null}return D(pe,Ae,Xe,dt+1)}function k(pe){return 97<=pe&&pe<=122}function N(pe){return 65<=pe&&pe<=90}function W(pe){return 48<=pe&&pe<=57}function U(pe){return pe===32||pe===9||pe===10||pe===13}const $=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(pe=>$.add(pe.charCodeAt(0)));function te(pe){return U(pe)||$.has(pe)}function ne(pe,Ae){return pe===Ae||te(pe)&&te(Ae)}const V=new Map;function I(pe){if(V.has(pe))return V.get(pe);let Ae;const Xe=R(pe);return Xe&&(Ae=Xe),V.set(pe,Ae),Ae}function H(pe){return k(pe)||N(pe)||W(pe)}function Z(pe,Ae){return Ae.length===0?Ae=[pe]:pe.end===Ae[0].start?Ae[0].start=pe.start:Ae.unshift(pe),Ae}function X(pe,Ae){for(let Xe=Ae;Xe<pe.length;Xe++){const dt=pe.charCodeAt(Xe);if(N(dt)||W(dt)||Xe>0&&!H(pe.charCodeAt(Xe-1)))return Xe}return pe.length}function G(pe,Ae,Xe,dt){if(Xe===pe.length)return[];if(dt===Ae.length)return null;if(pe[Xe]!==Ae[dt].toLowerCase())return null;{let gt=null,Bt=dt+1;for(gt=G(pe,Ae,Xe+1,dt+1);!gt&&(Bt=X(Ae,Bt))<Ae.length;)gt=G(pe,Ae,Xe+1,Bt),Bt++;return gt===null?null:Z({start:dt,end:dt+1},gt)}}function Y(pe){let Ae=0,Xe=0,dt=0,gt=0,Bt=0;for(let Zt=0;Zt<pe.length;Zt++)Bt=pe.charCodeAt(Zt),N(Bt)&&Ae++,k(Bt)&&Xe++,H(Bt)&&dt++,W(Bt)&&gt++;const _t=Ae/pe.length,ri=Xe/pe.length,Gt=dt/pe.length,ei=gt/pe.length;return{upperPercent:_t,lowerPercent:ri,alphaPercent:Gt,numericPercent:ei}}function j(pe){const{upperPercent:Ae,lowerPercent:Xe}=pe;return Xe===0&&Ae>.6}function z(pe){const{upperPercent:Ae,lowerPercent:Xe,alphaPercent:dt,numericPercent:gt}=pe;return Xe>.2&&Ae<.8&&dt>.6&&gt<.2}function ie(pe){let Ae=0,Xe=0,dt=0,gt=0;for(let Bt=0;Bt<pe.length;Bt++)dt=pe.charCodeAt(Bt),N(dt)&&Ae++,k(dt)&&Xe++,U(dt)&&gt++;return(Ae===0||Xe===0)&&gt===0?pe.length<=30:Ae<=5}function re(pe,Ae){if(!Ae||(Ae=Ae.trim(),Ae.length===0)||!ie(pe))return null;Ae.length>60&&(Ae=Ae.substring(0,60));const Xe=Y(Ae);if(!z(Xe)){if(!j(Xe))return null;Ae=Ae.toLowerCase()}let dt=null,gt=0;for(pe=pe.toLowerCase();gt<Ae.length&&(dt=G(pe,Ae,0,gt))===null;)gt=X(Ae,gt+1);return dt}function de(pe,Ae,Xe=!1){if(!Ae||Ae.length===0)return null;let dt=null,gt=0;pe=o(pe),Ae=o(Ae);const Bt=new Map;for(;gt<Ae.length&&(dt=he(pe,Ae,0,gt,Xe,Bt),dt===null);)gt=xe(Ae,gt+1);return dt}function le(pe){if(pe===null)return null;const Ae=[];for(const Xe of pe)Ae.push({start:Xe.start,end:Xe.end});return Ae}function he(pe,Ae,Xe,dt,gt,Bt){if(Xe===pe.length)return[];if(dt===Ae.length)return null;const _t=Xe*(Ae.length+1)+dt,ri=Bt.get(_t);if(ri!==void 0)return le(ri);const Gt=we(pe,Ae,Xe,dt,gt,Bt);return Bt.set(_t,le(Gt)),Gt}function we(pe,Ae,Xe,dt,gt,Bt){let _t=0;if(!ne(pe.charCodeAt(Xe),Ae.charCodeAt(dt))){const ei=I(pe.charCodeAt(Xe));if(!ei)return null;for(let Zt=0;Zt<ei.length;Zt++)if(!ne(ei[Zt],Ae.charCodeAt(dt+Zt)))return null;_t+=ei.length-1}let ri=null,Gt=dt+_t+1;
1if(ri=he(pe,Ae,Xe+1,Gt,gt,Bt),!gt)for(;!ri&&(Gt=xe(Ae,Gt))<Ae.length;)ri=he(pe,Ae,Xe+1,Gt,gt,Bt),Gt++;if(!ri)return null;if(pe.charCodeAt(Xe)!==Ae.charCodeAt(dt)){const ei=I(pe.charCodeAt(Xe));if(!ei)return ri;for(let Zt=0;Zt<ei.length;Zt++)if(ei[Zt]!==Ae.charCodeAt(dt+Zt))return ri}return Z({start:dt,end:dt+_t+1},ri)}function xe(pe,Ae){for(let Xe=Ae;Xe<pe.length;Xe++)if(te(pe.charCodeAt(Xe))||Xe>0&&te(pe.charCodeAt(Xe-1)))return Xe;return pe.length}const Be=a(p,re,E),M=a(p,re,h),Ve=new v.qK(1e4);function Me(pe,Ae,Xe=!1){if(typeof pe!="string"||typeof Ae!="string")return null;let dt=Ve.get(pe);dt||(dt=new RegExp((0,c.Bm)(pe),"i"),Ve.set(pe,dt));const gt=dt.exec(Ae);return gt?[{start:gt.index,end:gt.index+gt[0].length}]:Xe?M(pe,Ae):Be(pe,Ae)}function Le(pe,Ae){const Xe=q(pe,pe.toLowerCase(),0,Ae,Ae.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return Xe?Qe(Xe):null}function _e(pe,Ae,Xe,dt,gt,Bt){const _t=Math.min(13,pe.length);for(;Xe<_t;Xe++){const ri=q(pe,Ae,Xe,dt,gt,Bt,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(ri)return ri}return[0,Bt]}function Qe(pe){if(typeof pe>"u")return[];const Ae=[],Xe=pe[1];for(let dt=pe.length-1;dt>1;dt--){const gt=pe[dt]+Xe,Bt=Ae[Ae.length-1];Bt&&Bt.end===gt?Bt.end=gt+1:Ae.push({start:gt,end:gt+1})}return Ae}const je=128;function ae(){const pe=[],Ae=[];for(let Xe=0;Xe<=je;Xe++)Ae[Xe]=0;for(let Xe=0;Xe<=je;Xe++)pe.push(Ae.slice(0));return pe}function Ee(pe){const Ae=[];for(let Xe=0;Xe<=pe;Xe++)Ae[Xe]=0;return Ae}const Ie=Ee(2*je),Ue=Ee(2*je),$e=ae(),Ye=ae(),Ce=ae();function He(pe,Ae){if(Ae<0||Ae>=pe.length)return!1;const Xe=pe.codePointAt(Ae);switch(Xe){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!(0,c.Ss)(Xe)}}function Ke(pe,Ae){if(Ae<0||Ae>=pe.length)return!1;switch(pe.charCodeAt(Ae)){case 32:case 9:return!0;default:return!1}}function qe(pe,Ae,Xe){return Ae[pe]!==Xe[pe]}function ht(pe,Ae,Xe,dt,gt,Bt,_t=!1){for(;Ae<Xe&&gt<Bt;)pe[Ae]===dt[gt]&&(_t&&(Ie[Ae]=gt),Ae+=1),gt+=1;return Ae===Xe}var Te;(function(pe){pe.Default=[-100,0];function Ae(Xe){return!Xe||Xe.length===2&&Xe[0]===-100&&Xe[1]===0}pe.isDefault=Ae})(Te||(Te={}));const Se=class Se{constructor(Ae,Xe){this.firstMatchCanBeWeak=Ae,this.boostFullMatch=Xe}};Se.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};let oe=Se;function q(pe,Ae,Xe,dt,gt,Bt,_t=oe.default){const ri=pe.length>je?je:pe.length,Gt=dt.length>je?je:dt.length;if(Xe>=ri||Bt>=Gt||ri-Xe>Gt-Bt||!ht(Ae,Xe,ri,gt,Bt,Gt,!0))return;ue(ri,Gt,Xe,Bt,Ae,gt);let ei=1,Zt=1,pt=Xe,Fe=Bt;const st=[!1];for(ei=1,pt=Xe;pt<ri;ei++,pt++){const pi=Ie[pt],$i=Ue[pt],fn=pt+1<ri?Ue[pt+1]:Gt;for(Zt=pi-Bt+1,Fe=pi;Fe<fn;Zt++,Fe++){let Sn=Number.MIN_SAFE_INTEGER,On=!1;Fe<=$i&&(Sn=J(pe,Ae,pt,Xe,dt,gt,Fe,Gt,Bt,$e[ei-1][Zt-1]===0,st));let Dn=0;Sn!==Number.MIN_SAFE_INTEGER&&(On=!0,Dn=Sn+Ye[ei-1][Zt-1]);const Qn=Fe>pi,rs=Qn?Ye[ei][Zt-1]+($e[ei][Zt-1]>0?-5:0):0,us=Fe>pi+1&&$e[ei][Zt-1]>0,Zn=us?Ye[ei][Zt-2]+($e[ei][Zt-2]>0?-5:0):0;if(us&&(!Qn||Zn>=rs)&&(!On||Zn>=Dn))Ye[ei][Zt]=Zn,Ce[ei][Zt]=3,$e[ei][Zt]=0;else if(Qn&&(!On||rs>=Dn))Ye[ei][Zt]=rs,Ce[ei][Zt]=2,$e[ei][Zt]=0;else if(On)Ye[ei][Zt]=Dn,Ce[ei][Zt]=1,$e[ei][Zt]=$e[ei-1][Zt-1]+1;else throw new Error("not possible")}}if(!st[0]&&!_t.firstMatchCanBeWeak)return;ei--,Zt--;const vt=[Ye[ei][Zt],Bt];let Yt=0,Si=0;for(;ei>=1;){let pi=Zt;do{const $i=Ce[ei][pi];if($i===3)pi=pi-2;else if($i===2)pi=pi-1;else break}while(pi>=1);Yt>1&&Ae[Xe+ei-1]===gt[Bt+Zt-1]&&!qe(pi+Bt-1,dt,gt)&&Yt+1>$e[ei][pi]&&(pi=Zt),pi===Zt?Yt++:Yt=1,Si||(Si=pi),ei--,Zt=pi-1,vt.push(Zt)}Gt-Bt===ri&&_t.boostFullMatch&&(vt[0]+=2);const Bi=Si-ri;return vt[0]-=Bi,vt}function ue(pe,Ae,Xe,dt,gt,Bt){let _t=pe-1,ri=Ae-1;for(;_t>=Xe&&ri>=dt;)gt[_t]===Bt[ri]&&(Ue[_t]=ri,_t--),ri--}function J(pe,Ae,Xe,dt,gt,Bt,_t,ri,Gt,ei,Zt){if(Ae[Xe]!==Bt[_t])return Number.MIN_SAFE_INTEGER;let pt=1,Fe=!1;return _t===Xe-dt?pt=pe[Xe]===gt[_t]?7:5:qe(_t,gt,Bt)&&(_t===0||!qe(_t-1,gt,Bt))?(pt=pe[Xe]===gt[_t]?7:5,Fe=!0):He(Bt,_t)&&(_t===0||!He(Bt,_t-1))?pt=5:(He(Bt,_t-1)||Ke(Bt,_t-1))&&(pt=5,Fe=!0),pt>1&&Xe===dt&&(Zt[0]=!0),Fe||(Fe=qe(_t,gt,Bt)||He(Bt,_t-1)||Ke(Bt,_t-1)),Xe===dt?_t>Gt&&(pt-=Fe?3:5):ei?pt+=Fe?2:0:pt+=Fe?0:1,_t+1===ri&&(pt-=Fe?3:5),pt}function ve(pe,Ae,Xe,dt,gt,Bt,_t){return De(pe,Ae,Xe,dt,gt,Bt,!0,_t)}function De(pe,Ae,Xe,dt,gt,Bt,_t,ri){let Gt=q(pe,Ae,Xe,dt,gt,Bt,ri);if(pe.length>=3){const ei=Math.min(7,pe.length-1);for(let Zt=Xe+1;Zt<ei;Zt++){const pt=fe(pe,Zt);if(pt){const Fe=q(pt,pt.toLowerCase(),Xe,dt,gt,Bt,ri);Fe&&(Fe[0]-=3,(!Gt||Fe[0]>Gt[0])&&(Gt=Fe))}}}return Gt}function fe(pe,Ae){if(Ae+1>=pe.length)return;const Xe=pe[Ae],dt=pe[Ae+1];if(Xe!==dt)return pe.slice(0,Ae)+dt+Xe+pe.slice(Ae+2)}},1302:(St,We,e)=>{var v=e(78903),R=e(1174),x=e(17954),T=e(10998),y=e(87301),A=e(28061),g=e(90426),L=e(29849),b=e(51693),C=e(93516),u=e(85847),i=e(58819),r=e(10079),d=e(3338),l=function(_,E,S,h){var D=arguments.length,k=D<3?E:h===null?h=Object.getOwnPropertyDescriptor(E,S):h,N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(_,E,S,h);else for(var W=_.length-1;W>=0;W--)(N=_[W])&&(k=(D<3?N(k):D>
13?N(E,S,k):N(E,S))||k);return D>3&&k&&Object.defineProperty(E,S,k),k},o=function(_,E){return function(S,h){E(S,h,_)}};class c{constructor(E,S,h,D,k,N,W){this.range=E,this.insertText=S,this.filterText=h,this.additionalTextEdits=D,this.command=k,this.gutterMenuLinkAction=N,this.completion=W,this.doNotLog=!0}}let a=class extends T.mp{constructor(E,S,h,D,k,N){super(k.disposable),this.model=E,this.line=S,this.word=h,this.completionModel=D,this._suggestMemoryService=N}canBeReused(E,S,h){return this.model===E&&this.line===S&&this.word.word.length>0&&this.word.startColumn===h.startColumn&&this.word.endColumn<h.endColumn&&this.completionModel.getIncompleteProvider().size===0}get items(){const E=[],{items:S}=this.completionModel,h=this._suggestMemoryService.select(this.model,{lineNumber:this.line,column:this.word.endColumn+this.completionModel.lineContext.characterCountDelta},S),D=x.f.slice(S,h),k=x.f.slice(S,0,h);let N=5;for(const W of x.f.concat(D,k)){if(W.score===R.ne.Default)continue;const U=new A.Q(W.editStart.lineNumber,W.editStart.column,W.editInsertEnd.lineNumber,W.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),$=W.completion.insertTextRules&&W.completion.insertTextRules&4?{snippet:W.completion.insertText}:W.completion.insertText;E.push(new c(U,$,W.filterTextLow??W.labelLow,W.completion.additionalTextEdits,W.completion.command,W.completion.action,W)),N-->=0&&W.resolve(v.XO.None)}return E}};a=l([o(5,u.GS)],a);let p=class extends T.jG{constructor(E,S,h,D){super(),this._languageFeatureService=E,this._clipboardService=S,this._suggestMemoryService=h,this._editorService=D,this._store.add(E.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(E,S,h,D){if(h.selectedSuggestionInfo)return;let k;for(const I of this._editorService.listCodeEditors())if(I.getModel()===E){k=I;break}if(!k)return;const N=k.getOption(102);if(C.r3.isAllOff(N))return;E.tokenization.tokenizeIfCheap(S.lineNumber);const W=E.tokenization.getLineTokens(S.lineNumber),U=W.getStandardTokenType(W.findTokenIndexAtOffset(Math.max(S.column-1-1,0)));if(C.r3.valueFor(N,U)!=="inline")return;let $=E.getWordAtPosition(S),te;if($?.word||(te=this._getTriggerCharacterInfo(E,S)),!$?.word&&!te||($||($=E.getWordUntilPosition(S)),$.endColumn!==S.column))return;let ne;const V=E.getValueInRange(new A.Q(S.lineNumber,1,S.lineNumber,S.column));if(!te&&this._lastResult?.canBeReused(E,S.lineNumber,$)){const I=new b.O(V,S.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=I,this._lastResult.acquire(),ne=this._lastResult}else{const I=await(0,C.aR)(this._languageFeatureService.completionProvider,E,S,new C.l1(void 0,i.Y.createSuggestFilter(k).itemKind,te?.providers),te&&{triggerKind:1,triggerCharacter:te.ch},D);let H;I.needsClipboard&&(H=await this._clipboardService.readText());const Z=new b.C(I.items,S.column,new b.O(V,0),r.S.None,k.getOption(134),k.getOption(128),{boostFullMatch:!1,firstMatchCanBeWeak:!1},H);ne=new a(E,S.lineNumber,$,Z,I,this._suggestMemoryService)}return this._lastResult=ne,ne}handleItemDidShow(E,S){S.completion.resolve(v.XO.None)}disposeInlineCompletions(E){E.release()}_getTriggerCharacterInfo(E,S){const h=E.getValueInRange(A.Q.fromPositions({lineNumber:S.lineNumber,column:S.column-1},S)),D=new Set;for(const k of this._languageFeatureService.completionProvider.all(E))k.triggerCharacters?.includes(h)&&D.add(k);if(D.size!==0)return{providers:D,ch:h}}};p=l([o(0,L.u),o(1,d.h),o(2,u.GS),o(3,y.T)],p),(0,g.x)(p)},1458:(St,We,e)=>{e.d(We,{Yj:()=>A,s0:()=>g});var v=e(16844),R=e(57445),x=e(47317),T=e(97036);const y={getInitialState:()=>T.r3,tokenizeEncoded:(b,C,u)=>(0,T.Lh)(0,u)};async function A(b,C,u){if(!u)return L(C,b.languageIdCodec,y);const i=await x.dG.getOrCreate(u);return L(C,b.languageIdCodec,i||y)}function g(b,C,u,i,r,d,l){let o="<div>",c=0,a=0,p=!0;for(let _=0,E=C.getCount();_<E;_++){const S=C.getEndOffset(_);let h="";for(;c<S&&c<r;c++){const D=b.charCodeAt(c),k=D===9;if(a+=(0,v.ne)(D)?2:k?0:1,c<i){if(k){const N=a%d;a+=N===0?d:d-N}continue}switch(D){case 9:{const N=a%d,W=N===0?d:d-N;a+=W;let U=W;for(;U>0;)l&&p?(h+="&#160;",p=!1):(h+=" ",p=!0),U--;break}case 60:h+="&lt;",p=!1;break;case 62:h+="&gt;",p=!1;break;case 38:h+="&amp;",p=!1;break;case 0:h+="&#00;",p=!1;break;case 65279:case 8232:case 8233:case 133:h+="\uFFFD",p=!1;break;case 13:h+="&#8203",p=!1;break;case 32:l&&p?(h+="&#160;",p=!1):(h+=" ",p=!0);break;default:h+=String.fromCharCode(D),p=!1}}if(!(S<=i)&&(o+=`<span style="${C.getInlineStyle(_,u)}">${h}</span>`,S>r||c>=r||i>=r))break}return o+="</div>",o}function L(b,C,u){let i='<div class="monaco-tokenized-source">';const r=(0,v.uz)(b);let d=u.getInitialState();for(let l=0,o=r.length;l<o;l++){const c=r[l];l>0&&(i+="<br/>");const a=u.tokenizeEncoded(c,!0,d);R.f7.convertToEndOffset(a.tokens,c.length);const _=new R.f7(a.tokens,c,C).inflate();let E=0;for(let S=0,h=_.getCount();S<h;S++){const D=_.getClassName(S),k=_.getEndOffset(S);i+=`<span class="${D}">${(0,v.ih)(c.substring(E,k))}</span>`,E=k}
1d=a.endState}return i+="</div>",i}},1722:(St,We,e)=>{var M;var v=e(60543),R=e(66526),x=e(48621),T=e(65958),y=e(78903),A=e(5915),g=e(58881),L=e(1174),b=e(18019),C=e(63339);const u=[void 0,[]];function i(Me,Le,_e=0,Qe=0){const je=Le;return je.values&&je.values.length>1?r(Me,je.values,_e,Qe):d(Me,Le,_e,Qe)}function r(Me,Le,_e,Qe){let je=0;const ae=[];for(const Ee of Le){const[Ie,Ue]=d(Me,Ee,_e,Qe);if(typeof Ie!="number")return u;je+=Ie,ae.push(...Ue)}return[je,l(ae)]}function d(Me,Le,_e,Qe){const je=(0,L.dt)(Le.normalized,Le.normalizedLowercase,_e,Me,Me.toLowerCase(),Qe,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return je?[je[0],(0,L.WJ)(je)]:u}function l(Me){const Le=Me.sort((je,ae)=>je.start-ae.start),_e=[];let Qe;for(const je of Le)!Qe||!o(Qe,je)?(Qe=je,_e.push(je)):(Qe.start=Math.min(Qe.start,je.start),Qe.end=Math.max(Qe.end,je.end));return _e}function o(Me,Le){return!(Me.end<Le.start||Le.end<Me.start)}function c(Me){return Me.startsWith('"')&&Me.endsWith('"')}const a=" ";function p(Me){typeof Me!="string"&&(Me="");const Le=Me.toLowerCase(),{pathNormalized:_e,normalized:Qe,normalizedLowercase:je}=_(Me),ae=_e.indexOf(b.Vn)>=0,Ee=c(Me);let Ie;const Ue=Me.split(a);if(Ue.length>1)for(const $e of Ue){const Ye=c($e),{pathNormalized:Ce,normalized:He,normalizedLowercase:Ke}=_($e);He&&(Ie||(Ie=[]),Ie.push({original:$e,originalLowercase:$e.toLowerCase(),pathNormalized:Ce,normalized:He,normalizedLowercase:Ke,expectContiguousMatch:Ye}))}return{original:Me,originalLowercase:Le,pathNormalized:_e,normalized:Qe,normalizedLowercase:je,values:Ie,containsPathSeparator:ae,expectContiguousMatch:Ee}}function _(Me){let Le;C.uF?Le=Me.replace(/\//g,b.Vn):Le=Me.replace(/\\/g,b.Vn);const _e=Le.replace(/[\*\u2026\s"]/g,"").replace(new RegExp("(?<=.)#$"),"");return{pathNormalized:Le,normalized:_e,normalizedLowercase:_e.toLowerCase()}}function E(Me){return Array.isArray(Me)?p(Me.map(Le=>Le.original).join(a)):p(Me.original)}var S=e(10998),h=e(16844),D=e(28061),k=e(47317),N=e(14583),W=e(86653),U=e(3765),$=e(29849),te=e(97393),ne=function(Me,Le,_e,Qe){var je=arguments.length,ae=je<3?Le:Qe===null?Qe=Object.getOwnPropertyDescriptor(Le,_e):Qe,Ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ae=Reflect.decorate(Me,Le,_e,Qe);else for(var Ie=Me.length-1;Ie>=0;Ie--)(Ee=Me[Ie])&&(ae=(je<3?Ee(ae):je>3?Ee(Le,_e,ae):Ee(Le,_e))||ae);return je>3&&ae&&Object.defineProperty(Le,_e,ae),ae},V=function(Me,Le){return function(_e,Qe){Le(_e,Qe,Me)}},I;let H=(M=class extends W.o{constructor(Le,_e,Qe=Object.create(null)){super(Qe),this._languageFeaturesService=Le,this._outlineModelService=_e,this.options=Qe,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(Le){return this.provideLabelPick(Le,(0,U.kg)(1394,"To go to a symbol, first open a text editor with symbol information.")),S.jG.None}provideWithTextEditor(Le,_e,Qe,je){const ae=Le.editor,Ee=this.getModel(ae);return Ee?this._languageFeaturesService.documentSymbolProvider.has(Ee)?this.doProvideWithEditorSymbols(Le,Ee,_e,Qe,je):this.doProvideWithoutEditorSymbols(Le,Ee,_e,Qe):S.jG.None}doProvideWithoutEditorSymbols(Le,_e,Qe,je){const ae=new S.Cm;return this.provideLabelPick(Qe,(0,U.kg)(1395,"The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(_e,ae)||je.isCancellationRequested||ae.add(this.doProvideWithEditorSymbols(Le,_e,Qe,je)))(),ae}provideLabelPick(Le,_e){Le.items=[{label:_e,index:0,kind:14}],Le.ariaLabel=_e}async waitForLanguageSymbolRegistry(Le,_e){if(this._languageFeaturesService.documentSymbolProvider.has(Le))return!0;const Qe=new T.Zv,je=_e.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(Le)&&(je.dispose(),Qe.complete(!0))}));return _e.add((0,S.s)(()=>Qe.complete(!1))),Qe.p}doProvideWithEditorSymbols(Le,_e,Qe,je,ae){const Ee=Le.editor,Ie=new S.Cm;Ie.add(Qe.onDidAccept(Ce=>{const[He]=Qe.selectedItems;if(He&&He.range){if(Qe.keyMods.shift&&He.attach){He.attach(Qe.keyMods,Ce);return}this.gotoLocation(Le,{range:He.range.selection,keyMods:Qe.keyMods,preserveFocus:Ce.inBackgroun
1d}),ae?.handleAccept?.(He,Ce.inBackground),Ce.inBackground||Qe.hide()}})),Ie.add(Qe.onDidTriggerItemButton(({item:Ce})=>{Ce&&Ce.range&&(this.gotoLocation(Le,{range:Ce.range.selection,keyMods:Qe.keyMods,forceSideBySide:!0}),Qe.hide())}));const Ue=this.getDocumentSymbols(_e,je),$e=Ie.add(new S.HE),Ye=async Ce=>{$e?.value?.cancel(),Qe.busy=!1,$e.value=new y.Qi,Qe.busy=!0;try{const He=p(Qe.value.substr(I.PREFIX.length).trim()),Ke=await this.doGetSymbolPicks(Ue,He,void 0,$e.value.token,_e);if(je.isCancellationRequested)return;if(Ke.length>0){if(Qe.items=Ke,Ce&&He.original.length===0){const qe=(0,te.Uk)(Ke,ht=>!!(ht.type!=="separator"&&ht.range&&D.Q.containsPosition(ht.range.decoration,Ce)));qe&&(Qe.activeItems=[qe])}}else He.original.length>0?this.provideLabelPick(Qe,(0,U.kg)(1396,"No matching editor symbols")):this.provideLabelPick(Qe,(0,U.kg)(1397,"No editor symbols"))}finally{je.isCancellationRequested||(Qe.busy=!1)}};return Ie.add(Qe.onDidChangeValue(()=>Ye(void 0))),Ye(Ee.getSelection()?.getPosition()),Ie.add(Qe.onDidChangeActive(()=>{const[Ce]=Qe.activeItems;Ce&&Ce.range&&(Ee.revealRangeInCenter(Ce.range.selection,0),this.addDecorations(Ee,Ce.range.decoration))})),Ie}async doGetSymbolPicks(Le,_e,Qe,je,ae){const Ee=await Le;if(je.isCancellationRequested)return[];const Ie=_e.original.indexOf(I.SCOPE_PREFIX)===0,Ue=Ie?1:0;let $e,Ye;_e.values&&_e.values.length>1?($e=E(_e.values[0]),Ye=E(_e.values.slice(1))):$e=_e;let Ce;const He=this.options?.openSideBySideDirection?.();He&&(Ce=[{iconClass:He==="right"?g.L.asClassName(A.W.splitHorizontal):g.L.asClassName(A.W.splitVertical),tooltip:He==="right"?(0,U.kg)(1398,"Open to the Side"):(0,U.kg)(1399,"Open to the Bottom")}]);const Ke=[];for(let oe=0;oe<Ee.length;oe++){const q=Ee[oe],ue=(0,h.Bq)(q.name),J=`$(${k.gP.toIcon(q.kind).id}) ${ue}`,ve=J.length-ue.length;let De=q.containerName;Qe?.extraContainerLabel&&(De?De=`${Qe.extraContainerLabel} \u2022 ${De}`:De=Qe.extraContainerLabel);let fe,Se,pe,Ae;if(_e.original.length>Ue){let dt=!1;if($e!==_e&&([fe,Se]=i(J,{..._e,values:void 0},Ue,ve),typeof fe=="number"&&(dt=!0)),typeof fe!="number"&&([fe,Se]=i(J,$e,Ue,ve),typeof fe!="number"))continue;if(!dt&&Ye){if(De&&Ye.original.length>0&&([pe,Ae]=i(De,Ye)),typeof pe!="number")continue;typeof fe=="number"&&(fe+=pe)}}const Xe=q.tags&&q.tags.indexOf(1)>=0;Ke.push({index:oe,kind:q.kind,score:fe,label:J,ariaLabel:(0,k.PK)(q.name,q.kind),description:De,highlights:Xe?void 0:{label:Se,description:Ae},range:{selection:D.Q.collapseToStart(q.selectionRange),decoration:q.range},uri:ae.uri,symbolName:ue,strikethrough:Xe,buttons:Ce})}const qe=Ke.sort((oe,q)=>Ie?this.compareByKindAndScore(oe,q):this.compareByScore(oe,q));let ht=[];if(Ie){let J=function(){q&&typeof oe=="number"&&ue>0&&(q.label=(0,h.GP)(X[oe]||Z,ue))};var Te=J;let oe,q,ue=0;for(const ve of qe)oe!==ve.kind?(J(),oe=ve.kind,ue=1,q={type:"separator"},ht.push(q)):ue++,ht.push(ve);J()}else qe.length>0&&(ht=[{label:(0,U.kg)(1400,"symbols ({0})",Ke.length),type:"separator"},...qe]);return ht}compareByScore(Le,_e){if(typeof Le.score!="number"&&typeof _e.score=="number")return 1;if(typeof Le.score=="number"&&typeof _e.score!="number")return-1;if(typeof Le.score=="number"&&typeof _e.score=="number"){if(Le.score>_e.score)return-1;if(Le.score<_e.score)return 1}return Le.index<_e.index?-1:Le.index>_e.index?1:0}compareByKindAndScore(Le,_e){const Qe=X[Le.kind]||Z,je=X[_e.kind]||Z,ae=Qe.localeCompare(je);return ae===0?this.compareByScore(Le,_e):ae}async getDocumentSymbols(Le,_e){const Qe=await this._outlineModelService.getOrCreate(Le,_e);return _e.isCancellationRequested?[]:Qe.asListOfDocumentSymbols()}},I=M,M.PREFIX="@",M.SCOPE_PREFIX=":",M.PREFIX_BY_CATEGORY=`${M.PREFIX}${M.SCOPE_PREFIX}`,M);H=I=ne([V(0,$.u),V(1,N.gW)],H);const Z=(0,U.kg)(1401,"properties ({0})"),X={5:(0,U.kg)(1402,"methods ({0})"),11:(0,U.kg)(1403,"functions ({0})"),8:(0,U.kg)(1404,"constructors ({0})"),12:(0,U.kg)(1405,"variables ({0})"),4:(0,U.kg)(1406,"classes ({0})"),22:(0,U.kg)(1407,"structs ({0})"),23:(0,U.kg)(1408,"events ({0})"),24:(0,U.kg)(1409,"operators ({0})"),10:(0,U.kg)(1410,"interfaces ({0})"),2:(0,U.kg)(1411,"namespaces ({0})"),3:(0,U.kg)(1412,"packages ({0})"),25:(0,U.kg)(1413,"type parameters ({0})"),1:(0,U.kg)(1414,"modules ({0})"),6:(0,U.kg)(1415,"properties ({0})"),9:(0,U.kg)(1416,"enumerations ({0})"),21:(0,U.kg)(1417,"enumeration members ({0})"),14:(0,U.kg)(1418,"strings ({0})"),0:(0,U.kg)(1419,"files ({0})"),17:(0,U.kg)(1420,"arrays ({0})"),15:(0,U.kg)(1421,"numbers ({0})"),16:(0,U.kg)(1422,"booleans ({0})"),18:(0,U.kg)(1423,"objects ({0})"),19:(0,U.kg)(1424,"keys ({0})"),7:(0,U.kg)(1425,"fields ({0})"),13:(0,U.kg)(1426,"constants ({0})")};var G=e(67167),Y=e(19381),j=e(87301),z=e(45933),ie=e(2106),re=e(50946),de=e(38122),le=e(73027),he=function(Me,Le,_e,Qe){var je=arguments.length,ae=je<3?Le:Qe===null?Qe=Object.getOwnPropertyDescriptor(Le,_e):Qe,Ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ae=Reflect.decorate(Me,Le,_e,Qe);else for(var Ie=Me.length-1;Ie>=0;Ie--)(Ee=Me[Ie])&&(ae=(je<3?Ee(ae):je>3?Ee(Le,_e,ae):Ee(Le,_e))||ae);return je>3&&ae&&Object.defineProperty(Le,_e,ae),ae},we=function(Me,Le){return function(_e,Qe){Le(_e,Qe,Me)}};let xe=class extends H{constructor(Le,_e,Qe){super(_e,Qe),this.editorService=Le,this.onDidActiveTextEditorControlChange=ie.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};xe=he([we(0,j.T),we(1,$.u),we(2,N.gW)],xe);const Ve=class Ve extends re.ks{constructor(){super({id:Ve.ID,label:z.n9.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:de.R.hasDocumentSymbolProvider,kbOpts:{kbExpr:de.R.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(Le){Le.get(le.GK).quickAccess.show(H.PREFIX,{itemActivation:le.C1.NONE})}};Ve.ID="editor.action.quickOutline";let Be=Ve;(0,re.Fl)(Be),G.O.as(Y.Fd.Quickaccess).registerQuickAccessProvider({ctor:xe,prefix:H.PREFIX,helpEntries:[{description:z.n9.quickOutlineActionLabel,prefix:H.PREFIX,commandId:Be.ID},{description:z.n9.quickOutlineByCategoryActionLabel,prefix:H.PREFIX_BY_CATEGORY}]})},1804:(St,We,e)=>{e.d(We,{Fu:()=>c,az:()=>A,xb:()=>l});var v=e(16844),R=e(54324),x=e(28061);class T{constructor(p,_,E,S,h,D){this._richEditBracketBrand=void 0,this.languageId=p,this.index=_,this.open=E,this.close=S,this.forwardRegex=h,this.reversedRegex=D,this._openSet=T._toSet(this.open),this._closeSet=T._toSet(this.close)}isOpen(p){return this._openSet.has(p)}isClose(p){return this._closeSet.has(p)}static _toSet(p){const _=new Set;for(const E of p)_.add(E);return _}}function y(a){const p=a.length;a=a.map(D=>[D[0].toLowerCase(),D[1].toLowerCase()]);const _=[];for(let D=0;D<p;D++)_[D]=D;const E=(D,k)=>{const[N,W]=D,[U,$]=k;return N===U||N===$||W===U||W===$},S=(D,k)=>{const N=Math.min(D,k),W=Math.max(D,k);for(let U=0;U<p;U++)_[U]===W&&(_[U]=N)};for(let D=0;D<p;D++){const k=a[D];for(let N=D+1;
1N<p;N++){const W=a[N];E(k,W)&&S(_[D],_[N])}}const h=[];for(let D=0;D<p;D++){const k=[],N=[];for(let W=0;W<p;W++)if(_[W]===D){const[U,$]=a[W];k.push(U),N.push($)}k.length>0&&h.push({open:k,close:N})}return h}class A{constructor(p,_){this._richEditBracketsBrand=void 0;const E=y(_);this.brackets=E.map((S,h)=>new T(p,h,S.open,S.close,C(S.open,S.close,E,h),u(S.open,S.close,E,h))),this.forwardRegex=i(this.brackets),this.reversedRegex=r(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const S of this.brackets){for(const h of S.open)this.textIsBracket[h]=S,this.textIsOpenBracket[h]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,h.length);for(const h of S.close)this.textIsBracket[h]=S,this.textIsOpenBracket[h]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,h.length)}}}function g(a,p,_,E){for(let S=0,h=p.length;S<h;S++){if(S===_)continue;const D=p[S];for(const k of D.open)k.indexOf(a)>=0&&E.push(k);for(const k of D.close)k.indexOf(a)>=0&&E.push(k)}}function L(a,p){return a.length-p.length}function b(a){if(a.length<=1)return a;const p=[],_=new Set;for(const E of a)_.has(E)||(p.push(E),_.add(E));return p}function C(a,p,_,E){let S=[];S=S.concat(a),S=S.concat(p);for(let h=0,D=S.length;h<D;h++)g(S[h],_,E,S);return S=b(S),S.sort(L),S.reverse(),l(S)}function u(a,p,_,E){let S=[];S=S.concat(a),S=S.concat(p);for(let h=0,D=S.length;h<D;h++)g(S[h],_,E,S);return S=b(S),S.sort(L),S.reverse(),l(S.map(o))}function i(a){let p=[];for(const _ of a){for(const E of _.open)p.push(E);for(const E of _.close)p.push(E)}return p=b(p),l(p)}function r(a){let p=[];for(const _ of a){for(const E of _.open)p.push(E);for(const E of _.close)p.push(E)}return p=b(p),l(p.map(o))}function d(a){const p=/^[\w ]+$/.test(a);return a=(0,v.bm)(a),p?`\\b${a}\\b`:a}function l(a,p){const _=`(${a.map(d).join(")|(")})`;return(0,v.OS)(_,!0,p)}const o=function(){function a(E){const S=new Uint16Array(E.length);let h=0;for(let D=E.length-1;D>=0;D--)S[h++]=E.charCodeAt(D);return(0,R.b7)().decode(S)}let p=null,_=null;return function(S){return p!==S&&(p=S,_=a(p)),_}}();class c{static _findPrevBracketInText(p,_,E,S){const h=E.match(p);if(!h)return null;const D=E.length-(h.index||0),k=h[0].length,N=S+D;return new x.Q(_,N-k+1,_,N+1)}static findPrevBracketInRange(p,_,E,S,h){const k=o(E).substring(E.length-h,E.length-S);return this._findPrevBracketInText(p,_,k,S)}static findNextBracketInText(p,_,E,S){const h=E.match(p);if(!h)return null;const D=h.index||0,k=h[0].length;if(k===0)return null;const N=S+D;return new x.Q(_,N+1,_,N+1+k)}static findNextBracketInRange(p,_,E,S,h){const D=E.substring(S,h);return this.findNextBracketInText(p,_,D,S)}}},2106:(St,We,e)=>{e.d(We,{Jh:()=>C,QT:()=>D,Qy:()=>_,Wj:()=>W,_B:()=>k,at:()=>N,fV:()=>S,uI:()=>h,vl:()=>p});var v=e(94327),R=e(48289),x=e(10998),T=e(85525),y=e(9871),A=e(23013);const g=100,L=6e4;function b(){return!!y._K.VSCODE_DEV}var C;(function(V){V.None=()=>x.jG.None;function I(Ye,Ce,He){return le(Ye,()=>{},0,void 0,Ce??!0,void 0,He)}V.defer=I;function H(Ye){return(Ce,He=null,Ke)=>{let qe=!1,ht;return ht=Ye(Te=>{if(!qe)return ht?ht.dispose():qe=!0,Ce.call(He,Te)},null,Ke),qe&&ht.dispose(),ht}}V.once=H;function Z(Ye,Ce){return V.once(V.filter(Ye,Ce))}V.onceIf=Z;function X(Ye,Ce,He){return re((Ke,qe=null,ht)=>Ye(Te=>Ke.call(qe,Ce(Te)),null,ht),He)}V.map=X;function G(Ye,Ce,He){return re((Ke,qe=null,ht)=>Ye(Te=>{Ce(Te),Ke.call(qe,Te)},null,ht),He)}V.forEach=G;function Y(Ye,Ce,He){return re((Ke,qe=null,ht)=>Ye(Te=>Ce(Te)&&Ke.call(qe,Te),null,ht),He)}V.filter=Y;function j(Ye){return Ye}V.signal=j;function z(...Ye){return(Ce,He=null,Ke)=>{const qe=(0,x.qE)(...Ye.map(ht=>ht(Te=>Ce.call(He,Te))));return de(qe,Ke)}}V.any=z;function ie(Ye,Ce,He,Ke){let qe=He;return X(Ye,ht=>(qe=Ce(qe,ht),qe),Ke)}V.reduce=ie;function re(Ye,Ce){let He;const Ke={onWillAddFirstListener(){He=Ye(qe.fire,qe)},onDidRemoveLastListener(){He?.dispose()}},qe=new p(Ke);return Ce?.add(qe),qe.event}function de(Ye,Ce){return Ce instanceof Array?Ce.push(Ye):Ce&&Ce.add(Ye),Ye}function le(Ye,Ce,He=100,Ke=!1,qe=!1,ht,Te){let oe,q,ue,J=0,ve;const De={leakWarningThreshold:ht,onWillAddFirstListener(){oe=Ye(Se=>{J++,q=Ce(q,Se),Ke&&!ue&&(fe.fire(q),q=void 0),ve=()=>{const pe=q;q=void 0,ue=void 0,(!Ke||J>1)&&fe.fire(pe),J=0},typeof He=="number"?(ue&&clearTimeout(ue),ue=setTimeout(ve,He)):ue===void 0&&(ue=null,queueMicrotask(ve))})},onWillRemoveListener(){qe&&J>0&&ve?.()},onDidRemoveLastListener(){ve=void 0,oe.dispose()}},fe=new p(De);return Te?.add(fe),fe.event}V.debounce=le;function he(Ye,Ce=0,He,Ke){return V.debounce(Ye,(qe,ht)=>qe?(qe.push(ht),qe):[ht],Ce,void 0,He??!0,void 0,Ke)}V.accumulate=he;function we(Ye,Ce,He=100,Ke=!0,qe=!0,ht,Te){let oe,q,ue,J=0;const ve={leakWarningThreshold:ht,onWillAddFirstListener(){oe=Ye(fe=>{J++,q=Ce(q,fe),ue===void 0&&(Ke&&(De.fire(q),q=void 0,J=0),typeof He=="number"?ue=setTimeout(()=>{qe&&J>0&&De.fire(q),q=void 0,ue=void 0,J=0},He):(ue=0,queueMicrotask(()=>{qe&&J>0&&De.fire(q),q=void 0,ue=void 0,J=0})))})},onDidRemoveLastListener(){oe.dispose()}},De=new p(ve);return Te?.add(De),De.event}V.throttle=we;function xe(Ye,Ce=(Ke,qe)=>Ke===qe,He){let Ke=!0,qe;return Y(Ye,ht=>{const Te=Ke||!Ce(ht,qe);return Ke=!1,qe=ht,Te},He)}V.latch=xe;function Be(Ye,Ce,He){return[V.filter(Ye,Ce,He),V.filter(Ye,Ke=>!Ce(Ke),He)]}V.split=Be;function M(Ye,Ce,He=!1,Ke=[],qe){let ht=Ke.slice(),Te;b()&&(Te={stack:d.create(),timerId:setTimeout(()=>{ht&&ht.length>0&&Te&&!Te.warned&&(Te.warned=!0,console.warn(`[Event.buffer][${Ce}] potential LEAK detected: ${ht.length} events buffered for ${L/1e3}s without being consumed. Buffered here:`),Te.stack.print())},L),warned:!1},qe&&qe.add((0,x.s)(()=>clearTimeout(Te.timerId))));const oe=()=>{Te&&clearTimeout(Te.timerId)};let q=Ye(ve=>{ht?(ht.push(ve),b()&&Te&&!Te.warned&&ht.length>=g&&(Te.warned=!0,console.warn(`[Event.buffer][${Ce}] potential LEAK detected: ${ht.length} events buffered without being consumed. Buffered here:`),Te.stack.print())):J.fire(ve)});qe&&qe.add(q);const ue=()=>{ht?.forEach(ve=>J.fire(ve)),ht=null,oe()},J=new p({onWillAddFirstListener(){q||(q=Ye(ve=>J.fire(ve)),qe&&qe.add(q))},onDidAddFirstListener(){ht&&(He?setTimeout(ue):ue())},onDidRemoveLastListener(){q&&q.dispose(),q=null,oe()}});return qe&&qe.add(J),J.event}V.buffer=M;function Ve(Ye,Ce){return(Ke,qe,ht)=>{const Te=Ce(new Le);return Ye(function(oe){const q=Te.evaluate(oe);q!==Me&&Ke.call(qe,q)},void 0,ht)}}V.chain=Ve;const Me=Symbol("HaltChainable");class Le{constructor(){this.steps=[]}map(Ce){return this.steps.push(Ce),this}forEach(Ce){return this.steps.push(He=>(Ce(He),He)),this}filter(Ce){return this.steps.push(He=>Ce(He)?He:Me),this}reduce(Ce,He){let Ke=He;return this.steps.push(qe=>(Ke=Ce(Ke,qe),Ke)),this}latch(Ce=(He,Ke)=>He===Ke){let He=!0,Ke;return this.steps.push(qe=>{const ht=He||!Ce(qe,Ke);return He=!1,Ke=qe,ht?qe:Me}),this}evaluate(Ce){for(const He of this.steps)if(Ce=He(Ce),Ce===Me)break;return Ce}}function _e(Ye,Ce,He=Ke=>Ke){const Ke=(...oe)=>Te.fire(He(...oe)),qe=()=>Ye.on(Ce,Ke),ht=()=>Ye.removeListener(Ce,Ke),Te=new p({onWillAddFirstListener:qe,onDidRemoveLastListener:ht});return Te.event}V.fromNodeEventEmitter=_e;function Qe(Ye,Ce,He=Ke=>Ke){const Ke=(...oe)=>Te.fire(He(...oe)),qe=()=>Ye.addEventListener(Ce,Ke),ht=()=>Ye.removeEventListener(Ce,Ke),Te=new p({onWillAddFirstListener:qe,onDidRemoveLastListener:ht});return Te.event}V.fromDOMEventEmitter=Qe;function je(Ye,Ce){let He,Ke;const qe=new Promise(ht=>{Ke=H(Ye)(ht),U(Ke,Ce),He=()=>{$(Ke,Ce)}});return qe.cancel=He,Ce&&qe.finally(()=>$(Ke,Ce)),qe}
1V.toPromise=je;function ae(Ye,Ce){return Ye(He=>Ce.fire(He))}V.forward=ae;function Ee(Ye,Ce,He){return Ce(He),Ye(Ke=>Ce(Ke))}V.runAndSubscribe=Ee;class Ie{constructor(Ce,He){this._observable=Ce,this._counter=0,this._hasChanged=!1;const Ke={onWillAddFirstListener:()=>{Ce.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{Ce.removeObserver(this)}};this.emitter=new p(Ke),He&&He.add(this.emitter)}beginUpdate(Ce){this._counter++}handlePossibleChange(Ce){}handleChange(Ce,He){this._hasChanged=!0}endUpdate(Ce){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Ue(Ye,Ce){return new Ie(Ye,Ce).emitter.event}V.fromObservable=Ue;function $e(Ye){return(Ce,He,Ke)=>{let qe=0,ht=!1;const Te={beginUpdate(){qe++},endUpdate(){qe--,qe===0&&(Ye.reportChanges(),ht&&(ht=!1,Ce.call(He)))},handlePossibleChange(){},handleChange(){ht=!0}};Ye.addObserver(Te),Ye.reportChanges();const oe={dispose(){Ye.removeObserver(Te)}};return U(oe,Ke),oe}}V.fromObservableLight=$e})(C||(C={}));const te=class te{constructor(I){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${I}_${te._idPool++}`,te.all.add(this)}start(I){this._stopWatch=new A.W,this.listenerCount=I}stop(){if(this._stopWatch){const I=this._stopWatch.elapsed();this.durations.push(I),this.elapsedOverall+=I,this.invocationCount+=1,this._stopWatch=void 0}}};te.all=new Set,te._idPool=0;let u=te,i=-1;const ne=class ne{constructor(I,H,Z=(ne._idPool++).toString(16).padStart(3,"0")){this._errorHandler=I,this.threshold=H,this.name=Z,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(I,H){const Z=this.threshold;if(Z<=0||H<Z)return;this._stacks||(this._stacks=new Map);const X=this._stacks.get(I.value)||0;if(this._stacks.set(I.value,X+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=Z*.5;const[G,Y]=this.getMostFrequentStack(),j=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,z=`[${this.name}] potential listener LEAK detected, having ${H} listeners already. MOST frequent listener (${Y}):`;console.warn(z),console.warn(G);const ie=Y/H>.3?"dominated":"popular",re=new l(ie,z,G,H,j);this._errorHandler(re)}return()=>{const G=this._stacks.get(I.value)||0;this._stacks.set(I.value,G-1)}}getMostFrequentStack(){if(!this._stacks)return;let I,H=0;for(const[Z,X]of this._stacks)(!I||H<X)&&(I=[Z,X],H=X);return I}};ne._idPool=1;let r=ne;class d{static create(){const I=new Error;return new d(I.stack??"")}constructor(I){this.value=I}print(){console.warn(this.value.split(`
2`).slice(2).join(`
3`))}}class l extends Error{constructor(I,H,Z,X,G){super(G?`[${G}] potential listener LEAK detected, ${I}`:`potential listener LEAK detected, ${I}`),this.name="ListenerLeakError",this.kind=I,this.listenerCount=X,this.details=H,this.stack=Z}static is(I){return I instanceof l||I instanceof Error&&typeof I.kind=="string"&&typeof I.listenerCount=="number"}}class o extends l{constructor(I,H,Z,X,G){super(I,H,Z,X,G),this.name="ListenerRefusalError"}}class c{constructor(I){this.value=I}}const a=2;class p{constructor(I){this._size=0,this._options=I,this._leakageMon=this._options?.leakWarningThreshold?new r(I?.onListenerError??v.dz,this._options?.leakWarningThreshold??i,this._options?.leakWarningName):void 0,this._perfMon=this._options?._profName?new u(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(I,H,Z)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const j=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(j);const z=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],ie=z[1]/this._size>.3?"dominated":"popular",re=new o(ie,`${j}. HINT: Stack shows most frequent listener (${z[1]}-times)`,z[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||v.dz)(re),x.jG.None}if(this._disposed)return x.jG.None;H&&(I=I.bind(H));const X=new c(I);let G;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(X.stack=d.create(),G=this._leakageMon.check(X.stack,this._size+1)),this._listeners?this._listeners instanceof c?(this._deliveryQueue??=new E,this._listeners=[this._listeners,X]):this._listeners.push(X):(this._options?.onWillAddFirstListener?.(this),this._listeners=X,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;const Y=(0,x.s)(()=>{G?.(),this._removeListener(X)});return U(Y,Z),Y},this._event}_removeListener(I){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}const H=this._listeners,Z=H.indexOf(I);if(Z===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,H[Z]=void 0;const X=this._deliveryQueue.current===this;if(this._size*a<=H.length){let G=0;for(let Y=0;Y<H.length;Y++)H[Y]?H[G++]=H[Y]:X&&G<this._deliveryQueue.end&&(this._deliveryQueue.end--,G<this._deliveryQueue.i&&this._deliveryQueue.i--);H.length=G}}_deliver(I,H){if(!I)return;const Z=this._options?.onListenerError||v.dz;if(!Z){I.value(H);return}try{I.value(H)}catch(X){Z(X)}}_deliverQueue(I){const H=I.current._listeners;for(;I.i<I.end;)this._deliver(H[I.i++],I.value);I.reset()}fire(I){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof c)this._deliver(this._listeners,I);else{const H=this._deliveryQueue;H.enqueue(this,I,this._listeners.length),this._deliverQueue(H)}this._perfMon?.stop()}hasListeners(){return this._size>0}}const _=()=>new E;class E{constructor(){this.i=-1,this.end=0}enqueue(I,H,Z){this.i=0,this.end=Z,this.current=I,this.value=H}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class S extends p{constructor(I){super(I),this._isPaused=0,this._eventQueue=new T.w,this._mergeFn=I?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const I=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(I))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(I){this._size&&(this._isPaused!==0?this._eventQueue.push(I):super.fire(I))}}class h extends S{constructor(I){super(I),this._delay=I.delay??100}fire(I){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(I)}}class D extends p{constructor(I){super(I),this._queuedEvents=[],this._mergeFn=I?.merge}fire(I){this.hasListeners()&&(this._queuedEvents.push(I),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEac
3h(H=>super.fire(H)),this._queuedEvents=[]}))}}class k{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new p({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(I){const H={event:I,listener:null};this.events.push(H),this.hasListeners&&this.hook(H);const Z=()=>{this.hasListeners&&this.unhook(H);const X=this.events.indexOf(H);this.events.splice(X,1)};return(0,x.s)((0,R.P)(Z))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(I=>this.hook(I))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(I=>this.unhook(I))}hook(I){I.listener=I.event(H=>this.emitter.fire(H))}unhook(I){I.listener?.dispose(),I.listener=null}dispose(){this.emitter.dispose();for(const I of this.events)I.listener?.dispose();this.events=[]}}class N{constructor(){this.data=[]}wrapEvent(I,H,Z){return(X,G,Y)=>I(j=>{const z=this.data[this.data.length-1];if(!H){z?z.buffers.push(()=>X.call(G,j)):X.call(G,j);return}const ie=z;if(!ie){X.call(G,H(Z,j));return}ie.items??=[],ie.items.push(j),ie.buffers.length===0&&z.buffers.push(()=>{ie.reducedResult??=Z?ie.items.reduce(H,Z):ie.items.reduce(H),X.call(G,ie.reducedResult)})},void 0,Y)}bufferEvents(I){const H={buffers:new Array};this.data.push(H);const Z=I();return this.data.pop(),H.buffers.forEach(X=>X()),Z}}class W{constructor(){this.listening=!1,this.inputEvent=C.None,this.inputEventListener=x.jG.None,this.emitter=new p({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(I){this.inputEvent=I,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=I(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}function U(V,I){I instanceof x.Cm?I.add(V):Array.isArray(I)&&I.push(V)}function $(V,I){if(I instanceof x.Cm)I.delete(V);else if(Array.isArray(I)){const H=I.indexOf(V);H!==-1&&I.splice(H,1)}V.dispose()}},2744:(St,We,e)=>{e.d(We,{$y:()=>l,AV:()=>S,Am:()=>i,D1:()=>_,EK:()=>W,MZ:()=>D,Mu:()=>k,Nu:()=>c,O8:()=>U,Vs:()=>h,pN:()=>o,pY:()=>r,rX:()=>d,uN:()=>p});var v=e(97393),R=e(78903),x=e(10998),T=e(73678),y=e(5711),A=e(15365),g=e(28061),L=e(92215),b=e(47936),C=e(96016),u=e(39084);function i(V,I,H,Z){if(V.length===0)return I;if(I.length===0)return V;const X=[];let G=0,Y=0;for(;G<V.length&&Y<I.length;){const j=V[G],z=I[Y],ie=H(j),re=H(z);ie<re?(X.push(j),G++):ie>re?(X.push(z),Y++):(X.push(Z(j,z)),G++,Y++)}for(;G<V.length;)X.push(V[G]),G++;for(;Y<I.length;)X.push(I[Y]),Y++;return X}function r(V,I){const H=new x.Cm,Z=V.createDecorationsCollection();return H.add((0,b.zL)({debugName:()=>`Apply decorations from ${I.debugName}`},X=>{const G=I.read(X);Z.set(G)})),H.add({dispose:()=>{Z.clear()}}),H}function d(V,I){return V.appendChild(I),(0,x.s)(()=>{I.remove()})}function l(V,I){return V.prepend(I),(0,x.s)(()=>{I.remove()})}class o extends x.jG{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(I,H){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new y.u(I,H)),this._width=(0,C.FY)(this,this.elementSizeObserver.getWidth()),this._height=(0,C.FY)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(Z=>(0,u.Rn)(X=>{this._width.set(this.elementSizeObserver.getWidth(),X),this._height.set(this.elementSizeObserver.getHeight(),X)})))}observe(I){this.elementSizeObserver.observe(I)}setAutomaticLayout(I){this._automaticLayout=I,I?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function c(V,I,H){let Z=I.get(),X=Z,G=Z;const Y=(0,C.FY)("animatedValue",Z);let j=-1;const z=300;let ie;H.add((0,b.Y)({changeTracker:{createChangeSummary:()=>({animate:!1}),handleChange:(de,le)=>(de.didChange(I)&&(le.animate=le.animate||de.change),!0)}},(de,le)=>{ie!==void 0&&(V.cancelAnimationFrame(ie),ie=void 0),X=G,Z=I.read(de),X===Z?j=Date.now()-z:j=Date.now()-(le.animate?0:z),re()}));function re(){const de=Date.now()-j;G=Math.floor(a(de,X,Z-X,z)),de<z?ie=V.requestAnimationFrame(re):G=Z,Y.set(G,void 0)}return Y}function a(V,I,H,Z){return V===Z?I+H:H*(-Math.pow(2,-10*V/Z)+1)+I}class p extends x.jG{constructor(I,H,Z){super(),this._register(new E(I,Z)),this._register(S(Z,{height:H.actualHeight,top:H.actualTop}))}}class _{get afterLineNumber(){return this._afterLineNumber.get()}constructor(I,H){this._afterLineNumber=I,this.heightInPx=H,this.domNode=document.createElement("div"),this._actualTop=(0,C.FY)(this,void 0),this._actualHeight=(0,C.FY)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=Z=>{this._actualTop.set(Z,void 0)},this.onComputedHeight=Z=>{this._actualHeight.set(Z,void 0)}}}const ne=class ne{constructor(I,H){this._editor=I,this._domElement=H,this._overlayWidgetId=`managedOverlayWidget-${ne._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}};ne._counter=0;let E=ne;function S(V,I){return(0,b.fm)(H=>{for(let[Z,X]of Object.entries(I))X&&typeof X=="object"&&"read"in X&&(X=X.read(H)),typeof X=="number"&&(X=`${X}px`),Z=Z.replace(/[A-Z]/g,G=>"-"+G.toLowerCase()),V.style[Z]=X})}function h(V,I,H,Z){const X=new x.Cm,G=[];return X.add((0,b.yC)((Y,j)=>{const z=I.read(Y),ie=new Map,re=new Map;H&&H(!0),V.changeViewZones(de=>{for(const le of G)de.removeZone(le),Z?.delete(le);G.length=0;for(const le of z){const he=de.addZone(le);
3le.setZoneId&&le.setZoneId(he),G.push(he),Z?.add(he),ie.set(le,he)}}),H&&H(!1),j.add((0,b.Y)({changeTracker:{createChangeSummary(){return{zoneIds:[]}},handleChange(de,le){const he=re.get(de.changedObservable);return he!==void 0&&le.zoneIds.push(he),!0}}},(de,le)=>{for(const he of z)he.onChange&&(re.set(he.onChange,ie.get(he)),he.onChange.read(de));H&&H(!0),V.changeViewZones(he=>{for(const we of le.zoneIds)he.layoutZone(we)}),H&&H(!1)}))})),X.add({dispose(){H&&H(!0),V.changeViewZones(Y=>{for(const j of G)Y.removeZone(j)}),Z?.clear(),H&&H(!1)}}),X}class D extends R.Qi{dispose(){super.dispose(!0)}}function k(V,I){const H=(0,v.Uk)(I,X=>X.original.startLineNumber<=V.lineNumber);if(!H)return g.Q.fromPositions(V);if(H.original.endLineNumberExclusive<=V.lineNumber){const X=V.lineNumber-H.original.endLineNumberExclusive+H.modified.endLineNumberExclusive;return g.Q.fromPositions(new A.y(X,V.column))}if(!H.innerChanges)return g.Q.fromPositions(new A.y(H.modified.startLineNumber,1));const Z=(0,v.Uk)(H.innerChanges,X=>X.originalRange.getStartPosition().isBeforeOrEqual(V));if(!Z){const X=V.lineNumber-H.original.startLineNumber+H.modified.startLineNumber;return g.Q.fromPositions(new A.y(X,V.column))}if(Z.originalRange.containsPosition(V))return Z.modifiedRange;{const X=N(Z.originalRange.getEndPosition(),V);return g.Q.fromPositions(X.addToPosition(Z.modifiedRange.getEndPosition()))}}function N(V,I){return V.lineNumber===I.lineNumber?new L.W(0,I.column-V.column):new L.W(I.lineNumber-V.lineNumber,I.column-1)}function W(V,I){let H;return V.filter(Z=>{const X=I(Z,H);return H=Z,X})}class U{static create(I,H=void 0){return new $(I,I,H)}static createWithDisposable(I,H,Z=void 0){const X=new x.Cm;return X.add(H),X.add(I),new $(I,X,Z)}}class $ extends U{constructor(I,H,Z){super(),this.object=I,this._disposable=H,this._debugOwner=Z,this._refCount=1,this._isDisposed=!1,this._owners=[],Z&&this._addOwner(Z)}_addOwner(I){I&&this._owners.push(I)}createNewRef(I){return this._refCount++,I&&this._addOwner(I),new te(this,I)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(I){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),I){const H=this._owners.indexOf(I);H!==-1&&this._owners.splice(H,1)}}}class te extends U{constructor(I,H){super(),this._base=I,this._debugOwner=H,this._isDisposed=!1}get object(){return this._base.object}createNewRef(I){return this._base.createNewRef(I)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}},2921:(St,We,e)=>{e.d(We,{nZ:()=>k,aw:()=>_,WG:()=>h,br:()=>a,BB:()=>l,yS:()=>o});var v=e(78903),R=e(94327),x=e(37264),T=e(64830),y=e(82096),A=e(79359),g=e(42802),L=e(63339);function b(N){for(let W=0,U=N.length;W<U;W+=4){const $=N[W+0],te=N[W+1],ne=N[W+2],V=N[W+3];N[W+0]=V,N[W+1]=ne,N[W+2]=te,N[W+3]=$}}function C(N){const W=new Uint8Array(N.buffer,N.byteOffset,N.length*4);return(0,L.cm)()||b(W),g.MB.wrap(W)}function u(N){const W=new Uint32Array(i(N));let U=0;if(W[U++]=N.id,N.type==="full")W[U++]=1,W[U++]=N.data.length,W.set(N.data,U),U+=N.data.length;else{W[U++]=2,W[U++]=N.deltas.length;for(const $ of N.deltas)W[U++]=$.start,W[U++]=$.deleteCount,$.data?(W[U++]=$.data.length,W.set($.data,U),U+=$.data.length):W[U++]=0}return C(W)}function i(N){let W=0;if(W+=2,N.type==="full")W+=1+N.data.length;else{W+=1,W+=3*N.deltas.length;for(const U of N.deltas)U.data&&(W+=U.data.length)}return W}var r=e(28061),d=e(29849);function l(N){return N&&!!N.data}function o(N){return N&&Array.isArray(N.edits)}class c{constructor(W,U,$){this.provider=W,this.tokens=U,this.error=$}}function a(N,W){return N.has(W)}function p(N,W){const U=N.orderedGroups(W);return U.length>0?U[0]:[]}async function _(N,W,U,$,te){const ne=p(N,W),V=await Promise.all(ne.map(async I=>{let H,Z=null;try{H=await I.provideDocumentSemanticTokens(W,I===U?$:null,te)}catch(X){Z=X,H=null}return(!H||!l(H)&&!o(H))&&(H=null),new c(I,H,Z)}));for(const I of V){if(I.error)throw I.error;if(I.tokens)return I}return V.length>0?V[0]:null}function E(N,W){const U=N.orderedGroups(W);return U.length>0?U[0]:null}class S{constructor(W,U){this.provider=W,this.tokens=U}}function h(N,W){return N.has(W)}function D(N,W){const U=N.orderedGroups(W);return U.length>0?U[0]:[]}async function k(N,W,U,$){const te=D(N,W),ne=await Promise.all(te.map(async V=>{let I;try{I=await V.provideDocumentRangeSemanticTokens(W,U,$)}catch(H){(0,R.M_)(H),I=null}
3return(!I||!l(I))&&(I=null),new S(V,I)}));for(const V of ne)if(V.tokens)return V;return ne.length>0?ne[0]:null}y.w.registerCommand("_provideDocumentSemanticTokensLegend",async(N,...W)=>{const[U]=W;(0,A.j)(U instanceof x.r);const $=N.get(T.S).getModel(U);if(!$)return;const{documentSemanticTokensProvider:te}=N.get(d.u),ne=E(te,$);return ne?ne[0].getLegend():N.get(y.d).executeCommand("_provideDocumentRangeSemanticTokensLegend",U)}),y.w.registerCommand("_provideDocumentSemanticTokens",async(N,...W)=>{const[U]=W;(0,A.j)(U instanceof x.r);const $=N.get(T.S).getModel(U);if(!$)return;const{documentSemanticTokensProvider:te}=N.get(d.u);if(!a(te,$))return N.get(y.d).executeCommand("_provideDocumentRangeSemanticTokens",U,$.getFullModelRange());const ne=await _(te,$,null,null,v.XO.None);if(!ne)return;const{provider:V,tokens:I}=ne;if(!I||!l(I))return;const H=u({id:0,type:"full",data:I.data});return I.resultId&&V.releaseDocumentSemanticTokens(I.resultId),H}),y.w.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(N,...W)=>
3{const[U,$]=W;(0,A.j)(U instanceof x.r);const te=N.get(T.S).getModel(U);if(!te)return;const{documentRangeSemanticTokensProvider:ne}=N.get(d.u),V=D(ne,te);if(V.length===0)return;if(V.length===1)return V[0].getLegend();if(!$||!r.Q.isIRange($))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),V[0].getLegend();const I=await k(ne,te,r.Q.lift($),v.XO.None);if(I)return I.provider.getLegend()}),y.w.registerCommand("_provideDocumentRangeSemanticTokens",async(N,...W)=>{const[U,$]=W;(0,A.j)(U instanceof x.r),(0,A.j)(r.Q.isIRange($));const te=N.get(T.S).getModel(U);if(!te)return;const{documentRangeSemanticTokensProvider:ne}=N.get(d.u),V=await k(ne,te,r.Q.lift($),v.XO.None);if(!(!V||!V.tokens))return u({id:0,type:"full",data:V.tokens.data})})},3273:(St,We,e)=>{e.d(We,{$B:()=>a,Dk:()=>_,IN:()=>S,RE:()=>D,XS:()=>k,cv:()=>l,ho:()=>p,ir:()=>d,m$:()=>E,mk:()=>c,oJ:()=>o,t8:()=>h});var v=e(87676),R=e(18382),x=e(75962),T=e(73858),y=e(69227),A=e(82735),g=e(75712),L=e(10680),b=e(58687),C=e(94865),u=e(74707),i=e(94901);function r(N,W){const U={...W};for(const $ in N){const te=N[$];U[$]=te!==void 0?(0,v.Gu)(te):void 0}return U}const d={keybindingLabelBackground:(0,v.Gu)(y.HD),keybindingLabelForeground:(0,v.Gu)(y.eU),keybindingLabelBorder:(0,v.Gu)(y.zU),keybindingLabelBottomBorder:(0,v.Gu)(y.Qf),keybindingLabelShadow:(0,v.Gu)(T.f9)},l={buttonForeground:(0,v.Gu)(y.G_),buttonSeparator:(0,v.Gu)(y.Q1),buttonBackground:(0,v.Gu)(y.XJ),buttonHoverBackground:(0,v.Gu)(y.T9),buttonSecondaryForeground:(0,v.Gu)(y.In),buttonSecondaryBackground:(0,v.Gu)(y.xO),buttonSecondaryHoverBackground:(0,v.Gu)(y.nZ),buttonSecondaryBorder:(0,v.Gu)(y.Tm),buttonBorder:(0,v.Gu)(y.r)}
3,o={progressBarBackground:(0,v.Gu)(b.BT)},c={inputActiveOptionBorder:(0,v.Gu)(y.uN),inputActiveOptionForeground:(0,v.Gu)(y.$$),inputActiveOptionBackground:(0,v.Gu)(y.c1)};(0,v.Gu)(y.jO),(0,v.Gu)(y.Uk),(0,v.Gu)(y.Ip),(0,v.Gu)(y.kP),(0,v.Gu)(y.xW),(0,v.Gu)(y.ZB),(0,v.Gu)(y.jr);const a={checkboxBackground:(0,v.Gu)(y.Oc),checkboxBorder:(0,v.Gu)(y.C5),checkboxForeground:(0,v.Gu)(y.t0),checkboxDisabledBackground:(0,v.Gu)(y.Uv),checkboxDisabledForeground:(0,v.Gu)(y.hs)};(0,v.Gu)(T.Cg),(0,v.Gu)(T.Fi),(0,v.Gu)(T.f9),(0,v.Gu)(T.DS),(0,v.Gu)(T.tY),(0,v.Gu)(T.JP),(0,v.Gu)(T.bN),(0,v.Gu)(R.vw);const p={inputBackground:(0,v.Gu)(y.L4),inputForeground:(0,v.Gu)(y.cw),inputBorder:(0,v.Gu)(y.Zg),inputValidationInfoBorder:(0,v.Gu)(y.YS),inputValidationInfoBackground:(0,v.Gu)(y.I$),inputValidationInfoForeground:(0,v.Gu)(y.L9),inputValidationWarningBorder:(0,v.Gu)(y.C1),inputValidationWarningBackground:(0,v.Gu)(y.UL),inputValidationWarningForeground:(0,v.Gu)(y.T5),inputValidationErrorBorder:(0,v.Gu)(y.eY),inputValidationErrorBackground:(0,v.Gu)(y._$),inputValidationErrorForeground:(0,v.Gu)(y.h9)},_={listFilterWidgetBackground:(0,v.Gu)(A.pn),listFilterWidgetOutline:(0,v.Gu)(A.fi),listFilterWidgetNoMatchesOutline:(0,v.Gu)(A.P9),listFilterWidgetShadow:(0,v.Gu)(A.H8),inputBoxStyles:p,toggleStyles:c}
3,E={badgeBackground:(0,v.Gu)(b.WM),badgeForeground:(0,v.Gu)(b.zR),badgeBorder:(0,v.Gu)(R.b1)};(0,v.Gu)(T.vV),(0,v.Gu)(T.mc),(0,v.Gu)(T.et),(0,v.Gu)(T.et),(0,v.Gu)(T.sA);const S={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:(0,v.Gu)(A.VF),listFocusForeground:(0,v.Gu)(A.ef),listFocusOutline:(0,v.Gu)(A.p7),listActiveSelectionBackground:(0,v.Gu)(A.Rj),listActiveSelectionForeground:(0,v.Gu)(A.GV),listActiveSelectionIconForeground:(0,v.Gu)(A.fE),listFocusAndSelectionOutline:(0,v.Gu)(A.gt),listFocusAndSelectionBackground:(0,v.Gu)(A.Rj),listFocusAndSelectionForeground:(0,v.Gu)(A.GV),listInactiveSelectionBackground:(0,v.Gu)(A.uN),listInactiveSelectionIconForeground:(0,v.Gu)(A.C9),listInactiveSelectionForeground:(0,v.Gu)(A.f4),listInactiveFocusBackground:(0,v.Gu)(A.CQ),listInactiveFocusOutline:(0,v.Gu)(A.ij),listHoverBackground:(0,v.Gu)(A.lO),listHoverForeground:(0,v.Gu)(A.QR),listDropOverBackground:(0,v.Gu)(A.Yo),listDropBetweenBackground:(0,v.Gu)(A.yI),listSelectionOutline:(0,v.Gu)(R.bu),listHoverOutline:(0,v.Gu)(R.bu),treeIndentGuidesStroke:(0,v.Gu)(A.U4),treeInactiveIndentGuidesStroke:(0,v.Gu)(A.pf),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:(0,v.Gu)(b.bX),tableColumnsBorder:(0,v.Gu)(A.k5),tableOddRowsBackgroundColor:(0,v.Gu)(A.sb)};function h(N){return r(N,S)}
3const D={selectBackground:(0,v.Gu)(y.rv),selectListBackground:(0,v.Gu)(y.lW),selectForeground:(0,v.Gu)(y.yq),decoratorRightForeground:(0,v.Gu)(C.NB),selectBorder:(0,v.Gu)(y.Hc),focusBorder:(0,v.Gu)(R.tA),listFocusBackground:(0,v.Gu)(C.Al),listInactiveSelectionIconForeground:(0,v.Gu)(C.c7),listFocusForeground:(0,v.Gu)(C.nH),listFocusOutline:(0,v.HP)(R.bu,i.Q1.transparent.toString()),listHoverBackground:(0,v.Gu)(A.lO),listHoverForeground:(0,v.Gu)(A.QR),listHoverOutline:(0,v.Gu)(R.bu),selectListBorder:(0,v.Gu)(T.sI),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},k={shadowColor:(0,v.Gu)(T.f9),borderColor:(0,v.HP)(g.g$,T.sI),foregroundColor:(0,v.Gu)(g.dd),backgroundColor:(0,v.Gu)(g.c6),selectionForegroundColor:(0,v.Gu)(A.QR),selectionBackgroundColor:(0,v.Gu)(A.lO),selectionBorderColor:(0,v.Gu)(g.SN),separatorColor:(0,v.Gu)(g.D7),scrollbarShadow:(0,v.Gu)(b.bX),scrollbarSliderBackground:(0,v.Gu)(b.gn),scrollbarSliderHoverBackground:(0,v.Gu)(b.cI),scrollbarSliderActiveBackground:(0,v.Gu)(b.mh)}},3338:(St,We,e)=>{e.d(We,{h:()=>R});var v=e(82399);const R=(0,v.u1)("clipboardService")},3765:(St,We,e)=>{e.d(We,{Ec:()=>v,aS:()=>g,i8:()=>R,kg:()=>y});function v(){return globalThis._VSCODE_NLS_MESSAGES}function R(){return globalThis._VSCODE_NLS_LANGUAGE}const x=R()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function T(L,b){let C;return b.length===0?C=L:C=L.replace(/\{(\d+)\}/g,(u,i)=>{const r=i[0],d=b[r];let l=u;return typeof d=="string"?l=d:(typeof d=="number"||typeof d=="boolean"||d===void 0||d===null)&&(l=String(d)),l}),x&&(C="\uFF3B"+C.replace(/[aouei]/g,"$&$&")+"\uFF3D"),C}function y(L,b,...C){return T(typeof L=="number"?A(L,b):b,C)}function A(L,b){const C=v()?.[L];if(typeof C!="string"){if(typeof b=="string")return b;throw new Error(`!!! NLS MISSING: ${L} !!!`)}return C}function g(L,b,...C){let u;typeof L=="number"?u=A(L,b):u=b;const i=T(u,C);return{value:i,original:b===u?i:T(b,C)}}},3802:(St,We,e)=>{e.d(We,{a:()=>R});var v=e(98823);function R(x){const T=x.target;return!!T&&T.type===6&&T.detail.injectedText?.options.attachedData===v.nM}},4445:(St,We,e)=>{e.d(We,{d:()=>R});var v=e(82399);const R=(0,v.u1)("IWebWorkerService")},4647:(St,We,e)=>{e.d(We,{P:()=>W,v:()=>U});var v=e(66055),R=e(31531),x=e(47317),T=e(3765),y=e(87676),A=e(18382),g=e(75962),L=e(73858),b=e(69227),C=e(82735),u=e(75712),i=e(10680),r=e(58687),d=e(94865),l=e(74707),o=e(89044);
3const c=(0,y.x1)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},(0,T.kg)(1615,"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);(0,y.x1)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},(0,T.kg)(1616,"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),(0,y.x1)("editor.wordHighlightTextBackground",c,(0,T.kg)(1617,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const a=(0,y.x1)("editor.wordHighlightBorder",{light:null,dark:null,hcDark:A.bu,hcLight:A.bu},(0,T.kg)(1618,"Border color of a symbol during read-access, like reading a variable."));(0,y.x1)("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:A.bu,hcLight:A.bu},(0,T.kg)(1619,"Border color of a symbol during write-access, like writing to a variable.")),(0,y.x1)("editor.wordHighlightTextBorder",a,(0,T.kg)(1620,"Border color of a textual occurrence for a symbol."));const p=(0,y.x1)("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",(0,T.kg)(1621,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),_=(0,y.x1)("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",(0,T.kg)(1622,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),E=(0,y.x1)("editorOverviewRuler.wordHighlightTextForeground",L.z5,(0,T.kg)(1623,"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),S=R.kI.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:(0,o.Yf)(_),position:v.A5.Center},minimap:{color:(0,o.Yf)(i.Xp),position:1}}),h=R.kI.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:(0,o.Yf)(E),position:v.A5.Center},minimap:{color:(0,o.Yf)(i.Xp),position:1}}),D=R.kI.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:(0,o.Yf)(L.z5),position:v.A5.Center},minimap:{color:(0,o.Yf)(i.Xp),position:1}}),k=R.kI.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),N=R.kI.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:(0,o.Yf)(p),position:v.A5.Center},minimap:{color:(0,o.Yf)(i.Xp),position:1}});function W($){return $===x.Kb.Write?S:$===x.Kb.Text?h:N}function U($){return $?k:D}(0,o.zy)(($,te)=>{const ne=$.getColor(L.Qw);ne&&te.addRule(`.monaco-editor .selectionHighlight { background-color: ${ne.transparent(.5)}; }`)})},4761:(St,We,e)=>{e.d(We,{Fd:()=>C,Gv:()=>a,rC:()=>c});var v=e(13338),R=e(2106),x=e(79359),T=e(3765),y=e(85753),A=e(51460),g=e(67167),L=e(10998),b=e(39603);const C={Configuration:"base.contributions.configuration"},u="vscode://schemas/settings/resourceLanguage",i=g.O.as(A.F.JSONContribution);class r extends L.jG{constructor(){super(),this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=this._register(new R.vl),this._onDidUpdateConfiguration=this._register(new R.vl),this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:(0,T.kg)(1725,"Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.policyReferenceConfigurations=new Map,this.excludedConfigurationProperties={},i.registerSchema(u,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(D,k=!0){return this.registerConfigurations([D],k),D}registerConfigurations(D,k=!0){const N=new Set;this.doRegisterConfigurations(D,k,N),i.registerSchema(u,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:N})}registerDefaultConfigurations(D){const k=new Set;this.doRegisterDefaultConfigurations(D,k),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:k,defaultsOverrides:!0})}doRegisterDefaultConfigurations(D,k){this.registeredConfigurationDefaults.push(...D);const N=[];for(const{overrides:W,source:U}of D)for(const $ in W){k.add($);const te=this.configurationDefaultsOverrides.get($)??this.configurationDefaultsOverrides.set($,{configurationDefaultOverrides:[]}).get($),ne=W[$];if(te.configurationDefaultOverrides.push({value:ne,source:U}),c.test($)){const V=this.mergeDefaultConfigurationsForOverrideIdentifier($,ne,U,te.configurationDefaultOverrideValue);if(!V)continue;te.configurationDefaultOverrideValue=V,this.updateDefaultOverrideProperty($,V,U),N.push(...a($))}else{const V=this.mergeDefaultConfigurationsForConfigurationProperty($,ne,U,te.configurationDefaultOverrideValue);if(!V)continue;te.configurationDefaultOverrideValue=V;const I=this.configurationProperties[$];I&&(this.updatePropertyDefaultValue($,I),this.updateSchema($,I))}}this.doRegisterOverrideIdentifiers(N)}updateDefaultOverrideProperty(D,k,N){const W={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:k.value,description:(0,T.kg)(1726,"Configure settings to be overridden for {0}.",(0,y.Mo)(D)),$ref:u,defaultDefaultValue:k.value,source:N,defaultValueSource:N};this.configurationProperties[D]=W,this.defaultLanguageConfigurationOverridesNode.properties[D]=W}mergeDefaultConfigurationsForOverrideIdentifier(D,k,N,W){const U=W?.value||{},$=W?.source??new Map;if(!($ instanceof Map)){console.error("objectConfigurationSources is not a Map");return}
3for(const te of Object.keys(k)){const ne=k[te];if((0,x.Gv)(ne)&&((0,x.b0)(U[te])||(0,x.Gv)(U[te]))){if(U[te]={...U[te]??{},...ne},N)for(const I in ne)$.set(`${te}.${I}`,N)}else U[te]=ne,N?$.set(te,N):$.delete(te)}return{value:U,source:$}}mergeDefaultConfigurationsForConfigurationProperty(D,k,N,W){const U=this.configurationProperties[D],$=W?.value??U?.defaultDefaultValue;let te=N;if((0,x.Gv)(k)&&(U!==void 0&&U.type==="object"||U===void 0&&((0,x.b0)($)||(0,x.Gv)($)))){if(te=W?.source??new Map,!(te instanceof Map)){console.error("defaultValueSource is not a Map");return}for(const V in k)N&&te.set(`${D}.${V}`,N);k={...(0,x.Gv)($)?$:{},...k}}return{value:k,source:te}}registerOverrideIdentifiers(D){this.doRegisterOverrideIdentifiers(D),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(D){for(const k of D)this.overrideIdentifiers.add(k);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(D,k,N){D.forEach(W=>{this.validateAndRegisterProperties(W,k,W.extensionInfo,W.restrictedProperties,void 0,N),this.configurationContributors.push(W),this.registerJSONConfiguration(W)})}validateAndRegisterProperties(D,k=!0,N,W,U=4,$){U=(0,x.z)(D.scope)?U:D.scope;const te=D.properties;if(te)for(const V in te){const I=te[V];if(I.section={id:D.id,title:D.title,order:D.order,extensionInfo:D.extensionInfo},k&&E(V,I,N?.id)){delete te[V];continue}I.source=N,I.defaultDefaultValue=te[V].default,this.updatePropertyDefaultValue(V,I),c.test(V)?I.scope=void 0:(I.scope=(0,x.z)(I.scope)?U:I.scope,I.restricted=(0,x.z)(I.restricted)?!!W?.includes(V):I.restricted),I.experiment?I.tags?.some(G=>G.toLowerCase()==="onexp")||(I.tags=I.tags??[],I.tags.push("onExP")):I.tags?.some(G=>G.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${V}'. Please use 'experiment' property instead.`),I.experiment={mode:"startup"});const H=te[V].hasOwnProperty("included")&&!te[V].included,Z=te[V].policy?.name,X=te[V].policyReference?.name;H?(this.excludedConfigurationProperties[V]=te[V],Z&&(this.policyConfigurations.set(Z,V),$.add(V)),X&&(this.addPolicyReferenceConfiguration(X,V),$.add(V)),delete te[V]):($.add(V),Z&&this.policyConfigurations.set(Z,V),X&&this.addPolicyReferenceConfiguration(X,V),this.configurationProperties[V]=te[V],!te[V].deprecationMessage&&te[V].markdownDeprecationMessage&&(te[V].deprecationMessage=te[V].markdownDeprecationMessage))}const ne=D.allOf;if(ne)for(const V of ne)this.validateAndRegisterProperties(V,k,N,W,U,$)}addPolicyReferenceConfiguration(D,k){let N=this.policyReferenceConfigurations.get(D);N||(N=new Set,this.policyReferenceConfigurations.set(D,N)),N.add(k)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}registerJSONConfiguration(D){const k=N=>{const W=N.properties;if(W)for(const $ in W)this.updateSchema($,W[$]);N.allOf?.forEach(k)};k(D)}updateSchema(D,k){switch(k.scope){case 1:break;case 2:break;case 3:break;case 7:break;case 4:break;case 5:break;case 6:this.resourceLanguageSettingsSchema.properties[D]=k;break}}updateOverridePropertyPatternKey(){for(const D of this.overrideIdentifiers.values()){const k=`[${D}]`,N={type:"object",description:(0,T.kg)(1727,"Configure editor settings to be overridden for a language."),errorMessage:(0,T.kg)(1728,"This setting does not support per-language configuration."),$ref:u};this.updatePropertyDefaultValue(k,N)}}registerOverridePropertyPatternKey(){(0,T.kg)(1729,"Configure editor settings to be overridden for a language."),(0,T.kg)(1730,"This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(D,k){const N=this.configurationDefaultsOverrides.get(D)?.configurationDefaultOverrideValue;let W,U;N&&(!k.disallowConfigurationDefault||!N.source)&&(W=N.value,U=N.source),(0,x.b0)(W)&&(W=k.defaultDefaultValue,U=void 0),(0,x.b0)(W)&&(W=p(k.type)),k.default=W,k.defaultValueSource=U}}const d="\\[([^\\]]+)\\]",l=new RegExp(d,"g"),o=`^(${d})+$`,c=new RegExp(o);function a(h){const D=[];if(c.test(h)){let k=l.exec(h);for(;k?.length;){const N=k[1].trim();N&&D.push(N),k=l.exec(h)}}return(0,v.dM)(D)}function p(h){switch(Array.isArray(h)?h[0]:h){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const _=new r;g.O.add(C.Configuration,_);function E(h,D,k){return h.trim()?c.test(h)?(0,T.kg)(1732,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",h):_.getConfigurationProperties()[h]!==void 0&&(!k||!S.has(k.toLowerCase()))?(0,T.kg)(1733,"Cannot register '{0}'. This property is already registered.",h):D.policy&&D.policyReference?(0,T.kg)(1734,"Cannot register '{0}'. A setting must not declare both 'policy' and 'policyReference'.",h):D.policy?.name&&_.getPolicyConfigurations().get(D.policy?.name)!==void 0?(0,T.kg)(1735,"Cannot register '{0}'. The associated policy {1} is already registered with {2}. To attach another setting to the same policy, use 'policyReference'.",h,D.policy?.name,_.getPolicyConfigurations().get(D.policy?.name)):null:(0,T.kg)(1731,"Cannot register an empty property")}const S=new Set(b.A.defaultChatAgent?[b.A.defaultChatAgent.extensionId,b.A.defaultChatAgent.chatExtensionId].map(h=>h.toLowerCase()):[])},4770:(St,We,e)=>{e.d(We,{c:()=>g});var v=e(14333),R=e(2106),x=e(10998);class T extends x.jG{constructor(b){super(),this._onDidChange=this._register(new R.vl),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(b,!0),this._mediaQueryList=null,this._handleChange(b,!1),this._register((0,x.s)(()=>this._mediaQueryList?.removeEventListener("change",this._listener)))}_handleChange(b,C){this._mediaQueryList?.removeEventListener("change",this._listener),this._mediaQueryList=b.matchMedia(`(resolution: ${b.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),C&&this._onDidChange.fire()}}class y extends x.jG{get value(){return this._value}constructor(b){super(),this._onDidChange=this._register(new R.vl),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(b);const C=this._register(new T(b));this._register(C.onDidChange(()=>{this._value=this._getPixelRatio(b),this._onDidChange.fire(this._value)}))}_getPixelRatio(b){const C=document.createElement("canvas").getContext("2d"),u=b.devicePixelRatio||1,i=C?.webkitBackingStorePixelRatio||C?.mozBackingStorePixelRatio||C?.msBackingStorePixelRatio||C?.oBackingStorePixelRatio||C?.backingStorePixelRatio||1;return u/i}}class A{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(b){const C=(0,v.Q2)(b);let u=this.mapWindowIdToPixelRatioMonitor.get(C);return u||(u=(0,x.lC)(new y(b)),this.mapWindowIdToPixelRatioMonitor.set(C,u),(0,x.lC)(R.Jh.once(v.Fv)(({vscodeWindowId:i})=>{i===C&&(u?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(C))}))),u}getInstance(b){return this._getOrCreatePixelRatioMonitor(b)}}const g=new A},5120:(St,We,e)=>{var v=e(65958),R=e(10998),x=e(50946),T=e(15365),y=e(28061),A=e(93702),g=e(38122),L=e(66055),b=e(31531),C=e(3765),u=e(58067),i=e(87676),r=e(18382),d=e(75962),l=e(73858),o=e(69227),c=e(82735),a=e(75712),p=e(10680),_=e(58687),E=e(948
365),S=e(74707),h=e(89044),D=e(48295);const k=(0,i.x1)("editorOverviewRuler.bracketMatchForeground","#A0A0A0",(0,C.kg)(840,"Overview ruler marker color for matching brackets."));class N extends x.ks{constructor(){super({id:"editor.action.jumpToBracket",label:(0,C.aS)(842,"Go to Bracket"),precondition:void 0,kbOpts:{kbExpr:g.R.editorTextFocus,primary:3165,weight:100}})}run(I,H){te.get(H)?.jumpToBracket()}}class W extends x.ks{constructor(){super({id:"editor.action.selectToBracket",label:(0,C.aS)(843,"Select to Bracket"),precondition:void 0,metadata:{description:(0,C.aS)(844,"Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(I,H,Z){let X=!0;Z&&Z.selectBrackets===!1&&(X=!1),te.get(H)?.selectToBracket(X)}}class U extends x.ks{constructor(){super({id:"editor.action.removeBrackets",label:(0,C.aS)(845,"Remove Brackets"),precondition:void 0,kbOpts:{kbExpr:g.R.editorTextFocus,primary:2561,weight:100},canTriggerInlineEdits:!0})}run(I,H){te.get(H)?.removeBrackets(this.id)}}class ${constructor(I,H,Z){this.position=I,this.brackets=H,this.options=Z}}const ne=class ne extends R.jG{static get(I){return I.getContribution(ne.ID)}constructor(I){super(),this._editor=I,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new v.uC(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(80),this._updateBracketsSoon.schedule(),this._register(I.onDidChangeCursorPosition(H=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(I.onDidChangeModelContent(H=>{this._updateBracketsSoon.schedule()})),this._register(I.onDidChangeModel(H=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(I.onDidChangeModelLanguageConfiguration(H=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(I.onDidChangeConfiguration(H=>{H.hasChanged(80)&&(this._matchBrackets=this._editor.getOption(80),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(I.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(I.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const I=this._editor.getModel(),H=this._editor.getSelections().map(Z=>{const X=Z.getStartPosition(),G=I.bracketPairs.matchBracket(X);let Y=null;if(G)G[0].containsPosition(X)&&!G[1].containsPosition(X)?Y=G[1].getStartPosition():G[1].containsPosition(X)&&(Y=G[0].getStartPosition());else{const j=I.bracketPairs.findEnclosingBrackets(X);if(j)Y=j[1].getStartPosition();else{const z=I.bracketPairs.findNextBracket(X);z&&z.range&&(Y=z.range.getStartPosition())}}return Y?new A.L(Y.lineNumber,Y.column,Y.lineNumber,Y.column):new A.L(X.lineNumber,X.column,X.lineNumber,X.column)});this._editor.setSelections(H),this._editor.revealRange(H[0])}selectToBracket(I){if(!this._editor.hasModel())return;const H=this._editor.getModel(),Z=[];this._editor.getSelections().forEach(X=>{const G=X.getStartPosition();let Y=H.bracketPairs.matchBracket(G);if(!Y&&(Y=H.bracketPairs.findEnclosingBrackets(G),!Y)){const ie=H.bracketPairs.findNextBracket(G);ie&&ie.range&&(Y=H.bracketPairs.matchBracket(ie.range.getStartPosition()))}let j=null,z=null;if(Y){Y.sort(y.Q.compareRangesUsingStarts);const[ie,re]=Y;if(j=I?ie.getStartPosition():ie.getEndPosition(),z=I?re.getEndPosition():re.getStartPosition(),re.containsPosition(G)){const de=j;j=z,z=de}}j&&z&&Z.push(new A.L(j.lineNumber,j.column,z.lineNumber,z.column))}),Z.length>0&&(this._editor.setSelections(Z),this._editor.revealRange(Z[0]))}removeBrackets(I){if(!this._editor.hasModel())return;const H=this._editor.getModel();this._editor.getSelections().forEach(Z=>{const X=Z.getPosition();let G=H.bracketPairs.matchBracket(X);G||(G=H.bracketPairs.findEnclosingBrackets(X)),G&&(this._editor.pushUndoStop(),this._editor.executeEdits(I,[{range:G[0],text:""},{range:G[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const I=[];let H=0;for(const Z of this._lastBracketsData){const X=Z.brackets;X&&(I[H++]={range:X[0],options:Z.options},I[H++]={range:X[1],options:Z.options})}this._decorations.set(I)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const I=this._editor.getSelections();if(I.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const H=this._editor.getModel(),Z=H.getVersionId();let X=[];this._lastVersionId===Z&&(X=this._lastBracketsData);const G=[];let Y=0;for(let de=0,le=I.length;de<le;de++){const he=I[de];he.isEmpty()&&(G[Y++]=he.getStartPosition())}G.length>1&&G.sort(T.y.compare);const j=[];let z=0,ie=0;const re=X.length;for(let de=0,le=G.length;de<le;de++){const he=G[de];for(;ie<re&&X[ie].position.isBefore(he);)ie++;if(ie<re&&X[ie].position.equals(he))j[z++]=X[ie];else{let we=H.bracketPairs.matchBracket(he,20),xe=ne._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!we&&this._matchBrackets==="always"&&(we=H.bracketPairs.findEnclosingBrackets(he,20),xe=ne._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),j[z++]=new $(he,we,xe)}}this._lastBracketsData=j,this._lastVersionId=Z}};ne.ID="editor.contrib.bracketMatchingController",ne._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=b.kI.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline",overviewRuler:{color:(0,h.Yf)(k),position:L.A5.Center}}),ne._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=b.kI.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match",inlineClassName:"bracket-match-inline"});let te=ne;(0,x.HW)(te.ID,te,1),(0,x.Fl)(W),(0,x.Fl)(N),(0,x.Fl)(U),u.ZG.appendMenuItem(u.D8.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:(0,C.kg)(841,"Go to &&Bracket")},order:2}),(0,h.zy)((V,I)=>{const H=V.getColor(D.wZ);H&&I.addRule(`.monaco-editor .bracket-match-inline { color: ${H} !important; }`)})},5711:(St,We,e)=>{e.d(We,{u:()=>T});var v=e(10998),R=e(2106),x=e(14333);class T extends v.jG{constructor(A,g){super(),this._onDidChange=this._register(new R.vl),this.onDidChange=this._onDidChange.event,this._referenceDomElement=A,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,g)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}
3getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let A=null;const g=()=>{A?this.observe({width:A.width,height:A.height}):this.observe()};let L=!1,b=!1;const C=()=>{if(L&&!b)try{L=!1,b=!0,g()}finally{(0,x.PG)((0,x.zk)(this._referenceDomElement),()=>{b=!1,C()})}};this._resizeObserver=new ResizeObserver(u=>{u&&u[0]&&u[0].contentRect?A={width:u[0].contentRect.width,height:u[0].contentRect.height}:A=null,L=!0,C()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(A){this.measureReferenceDomElement(!0,A)}measureReferenceDomElement(A,g){let L=0,b=0;g?(L=g.width,b=g.height):this._referenceDomElement&&(L=this._referenceDomElement.clientWidth,b=this._referenceDomElement.clientHeight),L=Math.max(5,L),b=Math.max(5,b),(this._width!==L||this._height!==b)&&(this._width=L,this._height=b,A&&this._onDidChange.fire())}}},5906:(St,We,e)=>{e.d(We,{Ix:()=>b,bc:()=>g,nV:()=>L});var v=e(99788),R=e(5915),x=e(3765);const T=(0,x.kg)(2,"Match Case"),y=(0,x.kg)(3,"Match Whole Word"),A=(0,x.kg)(4,"Use Regular Expression");class g extends v.lM{constructor(u){super({icon:R.W.caseSensitive,title:T+u.appendTitle,isChecked:u.isChecked,hoverLifecycleOptions:u.hoverLifecycleOptions,inputActiveOptionBorder:u.inputActiveOptionBorder,inputActiveOptionForeground:u.inputActiveOptionForeground,inputActiveOptionBackground:u.inputActiveOptionBackground})}}class L extends v.lM{constructor(u){super({icon:R.W.wholeWord,title:y+u.appendTitle,isChecked:u.isChecked,hoverLifecycleOptions:u.hoverLifecycleOptions,inputActiveOptionBorder:u.inputActiveOptionBorder,inputActiveOptionForeground:u.inputActiveOptionForeground,inputActiveOptionBackground:u.inputActiveOptionBackground})}}class b extends v.lM{constructor(u){super({icon:R.W.regex,title:A+u.appendTitle,isChecked:u.isChecked,hoverLifecycleOptions:u.hoverLifecycleOptions,inputActiveOptionBorder:u.inputActiveOptionBorder,inputActiveOptionForeground:u.inputActiveOptionForeground,inputActiveOptionBackground:u.inputActiveOptionBackground})}}},6020:(St,We,e)=>{e.d(We,{i:()=>x,y:()=>T});var v=e(28061),R=e(93702);class x{constructor(A,g,L){this._range=A,this._charBeforeSelection=g,this._charAfterSelection=L}getEditOperations(A,g){g.addTrackedEditOperation(new v.Q(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),g.addTrackedEditOperation(new v.Q(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection||null)}computeCursorState(A,g){const L=g.getInverseEditOperations(),b=L[0].range,C=L[1].range;return new R.L(b.endLineNumber,b.endColumn,C.endLineNumber,C.endColumn-this._charAfterSelection.length)}}class T{constructor(A,g,L){this._position=A,this._text=g,this._charAfter=L}getEditOperations(A,g){g.addTrackedEditOperation(new v.Q(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(A,g){const b=g.getInverseEditOperations()[0].range;return new R.L(b.endLineNumber,b.startColumn,b.endLineNumber,b.endColumn-this._charAfter.length)}}},6341:(St,We,e)=>{e.d(We,{CH:()=>x,F1:()=>T,uP:()=>L});var v=e(24489),R=e(22344);class x{constructor(C){this.source=C}getElements(){const C=this.source,u=new Int32Array(C.length);for(let i=0,r=C.length;i<r;i++)u[i]=C.charCodeAt(i);return u}}function T(b,C,u){return new L(new x(b),new x(C)).ComputeDiff(u).changes}class y{static Assert(C,u){if(!C)throw new Error(u)}}class A{static Copy(C,u,i,r,d){for(let l=0;l<d;l++)i[r+l]=C[u+l]}static Copy2(C,u,i,r,d){for(let l=0;l<d;l++)i[r+l]=C[u+l]}}class g{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new v.y(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(C,u){this.m_originalStart=Math.min(this.m_originalStart,C),this.m_modifiedStart=Math.min(this.m_modifiedStart,u),this.m_originalCount++}AddModifiedElement(C,u){this.m_originalStart=Math.min(this.m_originalStart,C),this.m_modifiedStart=Math.min(this.m_modifiedStart,u),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class L{constructor(C,u,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=C,this._modifiedSequence=u;const[r,d,l]=L._getElements(C),[o,c,a]=L._getElements(u);this._hasStrings=l&&a,this._originalStringElements=r,this._originalElementsOrHash=d,this._modifiedStringElements=o,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(C){return C.length>0&&typeof C[0]=="string"}static _getElements(C){const u=C.getElements();if(L._isStringArray(u)){const i=new Int32Array(u.length);for(let r=0,d=u.length;r<d;r++)i[r]=(0,R.e2)(u[r],0);return[u,i,!0]}return u instanceof Int32Array?[[],u,!1]:[[],new Int32Array(u),!1]}ElementsAreEqual(C,u){return this._originalElementsOrHash[C]!==this._modifiedElementsOrHash[u]?!1:this._hasStrings?this._originalStringElements[C]===this._modifiedStringElements[u]:!0}
3ElementsAreStrictEqual(C,u){if(!this.ElementsAreEqual(C,u))return!1;const i=L._getStrictElement(this._originalSequence,C),r=L._getStrictElement(this._modifiedSequence,u);return i===r}static _getStrictElement(C,u){return typeof C.getStrictElement=="function"?C.getStrictElement(u):null}OriginalElementsAreEqual(C,u){return this._originalElementsOrHash[C]!==this._originalElementsOrHash[u]?!1:this._hasStrings?this._originalStringElements[C]===this._originalStringElements[u]:!0}ModifiedElementsAreEqual(C,u){return this._modifiedElementsOrHash[C]!==this._modifiedElementsOrHash[u]?!1:this._hasStrings?this._modifiedStringElements[C]===this._modifiedStringElements[u]:!0}ComputeDiff(C){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,C)}_ComputeDiff(C,u,i,r,d){const l=[!1];let o=this.ComputeDiffRecursive(C,u,i,r,l);return d&&(o=this.PrettifyChanges(o)),{quitEarly:l[0],changes:o}}ComputeDiffRecursive(C,u,i,r,d){for(d[0]=!1;C<=u&&i<=r&&this.ElementsAreEqual(C,i);)C++,i++;for(;u>=C&&r>=i&&this.ElementsAreEqual(u,r);)u--,r--;if(C>u||i>r){let _;return i<=r?(y.Assert(C===u+1,"originalStart should only be one more than originalEnd"),_=[new v.y(C,0,i,r-i+1)]):C<=u?(y.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),_=[new v.y(C,u-C+1,i,0)]):(y.Assert(C===u+1,"originalStart should only be one more than originalEnd"),y.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),_=[]),_}const l=[0],o=[0],c=this.ComputeRecursionPoint(C,u,i,r,l,o,d),a=l[0],p=o[0];if(c!==null)return c;if(!d[0]){const _=this.ComputeDiffRecursive(C,a,i,p,d);let E=[];return d[0]?E=[new v.y(a+1,u-(a+1)+1,p+1,r-(p+1)+1)]:E=this.ComputeDiffRecursive(a+1,u,p+1,r,d),this.ConcatenateChanges(_,E)}return[new v.y(C,u-C+1,i,r-i+1)]}WALKTRACE(C,u,i,r,d,l,o,c,a,p,_,E,S,h,D,k,N,W){let U=null,$=null,te=new g,ne=u,V=i,I=S[0]-k[0]-r,H=-1073741824,Z=this.m_forwardHistory.length-1;do{const X=I+C;X===ne||X<V&&a[X-1]<a[X+1]?(_=a[X+1],h=_-I-r,_<H&&te.MarkNextChange(),H=_,te.AddModifiedElement(_+1,h),I=X+1-C):(_=a[X-1]+1,h=_-I-r,_<H&&te.MarkNextChange(),H=_-1,te.AddOriginalElement(_,h+1),I=X-1-C),Z>=0&&(a=this.m_forwardHistory[Z],C=a[0],ne=1,V=a.length-1)}while(--Z>=-1);if(U=te.getReverseChanges(),W[0]){let X=S[0]+1,G=k[0]+1;if(U!==null&&U.length>0){const Y=U[U.length-1];X=Math.max(X,Y.getOriginalEnd()),G=Math.max(G,Y.getModifiedEnd())}$=[new v.y(X,E-X+1,G,D-G+1)]}else{te=new g,ne=l,V=o,I=S[0]-k[0]-c,H=1073741824,Z=N?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const X=I+d;X===ne||X<V&&p[X-1]>=p[X+1]?(_=p[X+1]-1,h=_-I-c,_>H&&te.MarkNextChange(),H=_+1,te.AddOriginalElement(_+1,h+1),I=X+1-d):(_=p[X-1],h=_-I-c,_>H&&te.MarkNextChange(),H=_,te.AddModifiedElement(_+1,h+1),I=X-1-d),Z>=0&&(p=this.m_reverseHistory[Z],d=p[0],ne=1,V=p.length-1)}while(--Z>=-1);$=te.getChanges()}return this.ConcatenateChanges(U,$)}ComputeRecursionPoint(C,u,i,r,d,l,o){let c=0,a=0,p=0,_=0,E=0,S=0;C--,i--,d[0]=0,l[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const h=u-C+(r-i),D=h+1,k=new Int32Array(D),N=new Int32Array(D),W=r-i,U=u-C,$=C-i,te=u-r,V=(U-W)%2===0;k[W]=C,N[U]=u,o[0]=!1;for(let I=1;I<=h/2+1;I++){let H=0,Z=0;p=this.ClipDiagonalBound(W-I,I,W,D),_=this.ClipDiagonalBound(W+I,I,W,D);for(let G=p;G<=_;G+=2){G===p||G<_&&k[G-1]<k[G+1]?c=k[G+1]:c=k[G-1]+1,a=c-(G-W)-$;const Y=c;for(;c<u&&a<r&&this.ElementsAreEqual(c+1,a+1);)c++,a++;if(k[G]=c,c+a>H+Z&&(H=c,Z=a),!V&&Math.abs(G-U)<=I-1&&c>=N[G])return d[0]=c,l[0]=a,Y<=N[G]&&I<=1448?this.WALKTRACE(W,p,_,$,U,E,S,te,k,N,c,u,d,a,r,l,V,o):null}const X=(H-C+(Z-i)-I)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(H,X))return o[0]=!0,d[0]=H,l[0]=Z,X>0&&I<=1448?this.WALKTRACE(W,p,_,$,U,E,S,te,k,N,c,u,d,a,r,l,V,o):(C++,i++,[new v.y(C,u-C+1,i,r-i+1)]);E=this.ClipDiagonalBound(U-I,I,U,D),S=this.ClipDiagonalBound(U+I,I,U,D);for(let G=E;G<=S;G+=2){G===E||G<S&&N[G-1]>=N[G+1]?c=N[G+1]-1:c=N[G-1],a=c-(G-U)-te;const Y=c;for(;c>C&&a>i&&this.ElementsAreEqual(c,a);)c--,a--;if(N[G]=c,V&&Math.abs(G-W)<=I&&c<=k[G])return d[0]=c,l[0]=a,Y>=k[G]&&I<=1448?this.WALKTRACE(W,p,_,$,U,E,S,te,k,N,c,u,d,a,r,l,V,o):null}if(I<=1447){let G=new Int32Array(_-p+2);G[0]=W-p+1,A.Copy2(k,p,G,1,_-p+1),this.m_forwardHistory.push(G),G=new Int32Array(S-E+2),G[0]=U-E+1,A.Copy2(N,E,G,1,S-E+1),this.m_reverseHistory.push(G)}}return this.WALKTRACE(W,p,_,$,U,E,S,te,k,N,c,u,d,a,r,l,V,o)}PrettifyChanges(C){for(let u=0;u<C.length;u++){const i=C[u],r=u<C.length-1?C[u+1].originalStart:this._originalElementsOrHash.length,d=u<C.length-1?C[u+1].modifiedStart:this._modifiedElementsOrHash.length,l=i.originalLength>0,o=i.modifiedLength>0;for(;i.originalStart+i.originalLength<r&&i.modifiedStart+i.modifiedLength<d&&(!l||this.OriginalElementsAreEqual(i.originalStart,i.originalStart+i.originalLength))&&(!o||this.ModifiedElementsAreEqual(i.modifiedStart,i.modifiedStart+i.modifiedLength));
3){const a=this.ElementsAreStrictEqual(i.originalStart,i.modifiedStart);if(this.ElementsAreStrictEqual(i.originalStart+i.originalLength,i.modifiedStart+i.modifiedLength)&&!a)break;i.originalStart++,i.modifiedStart++}const c=[null];if(u<C.length-1&&this.ChangesOverlap(C[u],C[u+1],c)){C[u]=c[0],C.splice(u+1,1),u--;continue}}for(let u=C.length-1;u>=0;u--){const i=C[u];let r=0,d=0;if(u>0){const _=C[u-1];r=_.originalStart+_.originalLength,d=_.modifiedStart+_.modifiedLength}const l=i.originalLength>0,o=i.modifiedLength>0;let c=0,a=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let _=1;;_++){const E=i.originalStart-_,S=i.modifiedStart-_;if(E<r||S<d||l&&!this.OriginalElementsAreEqual(E,E+i.originalLength)||o&&!this.ModifiedElementsAreEqual(S,S+i.modifiedLength))break;const D=(E===r&&S===d?5:0)+this._boundaryScore(E,i.originalLength,S,i.modifiedLength);D>a&&(a=D,c=_)}i.originalStart-=c,i.modifiedStart-=c;const p=[null];if(u>0&&this.ChangesOverlap(C[u-1],C[u],p)){C[u-1]=p[0],C.splice(u,1),u++;continue}}if(this._hasStrings)for(let u=1,i=C.length;u<i;u++){const r=C[u-1],d=C[u],l=d.originalStart-r.originalStart-r.originalLength,o=r.originalStart,c=d.originalStart+d.originalLength,a=c-o,p=r.modifiedStart,_=d.modifiedStart+d.modifiedLength,E=_-p;if(l<5&&a<20&&E<20){const S=this._findBetterContiguousSequence(o,a,p,E,l);if(S){const[h,D]=S;(h!==r.originalStart+r.originalLength||D!==r.modifiedStart+r.modifiedLength)&&(r.originalLength=h-r.originalStart,r.modifiedLength=D-r.modifiedStart,d.originalStart=h+l,d.modifiedStart=D+l,d.originalLength=c-d.originalStart,d.modifiedLength=_-d.modifiedStart)}}}return C}_findBetterContiguousSequence(C,u,i,r,d){if(u<d||r<d)return null;const l=C+u-d+1,o=i+r-d+1;let c=0,a=0,p=0;for(let _=C;_<l;_++)for(let E=i;E<o;E++){const S=this._contiguousSequenceScore(_,E,d);S>0&&S>c&&(c=S,a=_,p=E)}return c>0?[a,p]:null}_contiguousSequenceScore(C,u,i){let r=0;for(let d=0;d<i;d++){if(!this.ElementsAreEqual(C+d,u+d))return 0;r+=this._originalStringElements[C+d].length}return r}_OriginalIsBoundary(C){return C<=0||C>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[C])}_OriginalRegionIsBoundary(C,u){if(this._OriginalIsBoundary(C)||this._OriginalIsBoundary(C-1))return!0;if(u>0){const i=C+u;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(C){return C<=0||C>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[C])}_ModifiedRegionIsBoundary(C,u){if(this._ModifiedIsBoundary(C)||this._ModifiedIsBoundary(C-1))return!0;if(u>0){const i=C+u;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(C,u,i,r){const d=this._OriginalRegionIsBoundary(C,u)?1:0,l=this._ModifiedRegionIsBoundary(i,r)?1:0;return d+l}ConcatenateChanges(C,u){const i=[];if(C.length===0||u.length===0)return u.length>0?u:C;if(this.ChangesOverlap(C[C.length-1],u[0],i)){const r=new Array(C.length+u.length-1);return A.Copy(C,0,r,0,C.length-1),r[C.length-1]=i[0],A.Copy(u,1,r,C.length,u.length-1),r}else{const r=new Array(C.length+u.length);return A.Copy(C,0,r,0,C.length),A.Copy(u,0,r,C.length,u.length),r}}ChangesOverlap(C,u,i){if(y.Assert(C.originalStart<=u.originalStart,"Left change is not less than or equal to right change"),y.Assert(C.modifiedStart<=u.modifiedStart,"Left change is not less than or equal to right change"),C.originalStart+C.originalLength>=u.originalStart||C.modifiedStart+C.modifiedLength>=u.modifiedStart){const r=C.originalStart;let d=C.originalLength;const l=C.modifiedStart;let o=C.modifiedLength;return C.originalStart+C.originalLength>=u.originalStart&&(d=u.originalStart+u.originalLength-C.originalStart),C.modifiedStart+C.modifiedLength>=u.modifiedStart&&(o=u.modifiedStart+u.modifiedLength-C.modifiedStart),i[0]=new v.y(r,d,l,o),!0}else return i[0]=null,!1}ClipDiagonalBound(C,u,i,r){if(C>=0&&C<r)return C;const d=i,l=r-i-1,o=u%2===0;if(C<0){const c=d%2===0;return o===c?0:1}else{const c=l%2===0;return o===c?r-1:r-2}}}},6595:(St,We,e)=>{e.d(We,{c:()=>C});var v=e(14333),R=e(5906),x=e(75520),T=e(45222),y=e(2106),A=e(13966),g=e(3765),L=e(10998);const b=(0,g.kg)(1,"input");class C extends T.x{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onMouseDown(){return this._onMouseDown.event}get onCaseSensitiveKeyDown(){return this._onCaseSensitiveKeyDown.event}get onRegexKeyDown(){return this._onRegexKeyDown.event}constructor(i,r,d){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new L.HE),this.additionalToggles=[],this._onDidOptionChange=this._register(new y.vl),this._onKeyDown=this._register(new y.vl),this._onMouseDown=this._register(new y.vl),this._onInput=this._register(new y.vl),this._onKeyUp=this._register(new y.vl),this._onCaseSensitiveKeyDown=this._register(new y.vl),this._onRegexKeyDown=this._register(new y.vl),this._lastHighlightFindOptions=0,this.placeholder=d.placeholder||"",this.validation=d.val
3idation,this.label=d.label||b,this.showCommonFindToggles=!!d.showCommonFindToggles;const l=d.appendCaseSensitiveLabel||"",o=d.appendWholeWordsLabel||"",c=d.appendRegexLabel||"",a=!!d.flexibleHeight,p=!!d.flexibleWidth,_=d.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new x.m(this.domNode,r,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},showHistoryHint:d.showHistoryHint,flexibleHeight:a,flexibleWidth:p,flexibleMaxHeight:_,inputBoxStyles:d.inputBoxStyles,history:d.history,actions:d.actions,actionViewItemProvider:d.actionViewItemProvider,hideHoverOnValueChange:d.hideHoverOnValueChange})),this.showCommonFindToggles){const E=d?.hoverLifecycleOptions||{groupId:"find-input"};this.regex=this._register(new R.Ix({appendTitle:c,isChecked:!1,hoverLifecycleOptions:E,...d.toggleStyles})),this._register(this.regex.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(S=>{this._onRegexKeyDown.fire(S)})),this.wholeWords=this._register(new R.nV({appendTitle:o,isChecked:!1,hoverLifecycleOptions:E,...d.toggleStyles})),this._register(this.wholeWords.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new R.bc({appendTitle:l,isChecked:!1,hoverLifecycleOptions:E,...d.toggleStyles})),this._register(this.caseSensitive.onChange(S=>{this._onDidOptionChange.fire(S),!S&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(S=>{this._onCaseSensitiveKeyDown.fire(S)})),this.onkeydown(this.domNode,S=>{if(S.equals(15)||S.equals(17)||S.equals(9)){const h=this.getToggleDomNodes(),D=h.indexOf(this.domNode.ownerDocument.activeElement);if(D>=0){let k=-1;S.equals(17)?k=(D+1)%h.length:S.equals(15)&&(D===0?k=h.length-1:k=D-1),S.equals(9)?(h[D].blur(),this.inputBox.focus()):k>=0&&h[k].focus(),v.fs.stop(S,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(d?.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),i?.appendChild(this.domNode),this._register((0,v.ko)(this.inputBox.inputElement,"compositionstart",E=>{this.imeSessionInProgress=!0})),this._register((0,v.ko)(this.inputBox.inputElement,"compositionend",E=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,E=>this._onKeyDown.fire(E)),this.onkeyup(this.inputBox.inputElement,E=>this._onKeyUp.fire(E)),this.oninput(this.inputBox.inputElement,E=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,E=>this._onMouseDown.fire(E))}get onDidChange(){return this.inputBox.onDidChange}layout(i){this.inputBox.layout(),this.updateInputBoxPadding(i.collapsedFindWidget)}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.regex?.enable(),this.wholeWords?.enable(),this.caseSensitive?.enable();for(const i of this.additionalToggles)i.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.regex?.disable(),this.wholeWords?.disable(),this.caseSensitive?.disable();for(const i of this.additionalToggles)i.disable()}setFocusInputOnOptionClick(i){this.fixFocusOnOptionClickEnabled=i}setEnabled(i){i?this.enable():this.disable()}setAdditionalToggles(i){for(const r of this.additionalToggles)r.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new L.Cm;for(const r of i??[])this.additionalTogglesDisposables.value.add(r),this.controls.appendChild(r.domNode),this.additionalTogglesDisposables.value.add(r.onChange(d=>{this._onDidOptionChange.fire(d),!d&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(r);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}getToggleDomNodes(){const i=[];this.caseSensitive&&i.push(this.caseSensitive.domNode),this.wholeWords&&i.push(this.wholeWords.domNode),this.regex&&i.push(this.regex.domNode);for(const r of this.additionalToggles)i.push(r.domNode);return i}
3setActions(i,r){this.inputBox.setActions(i,r),this.updateInputBoxPadding()}updateInputBoxPadding(i=!1){const r=i?0:(this.caseSensitive?.width()??0)+(this.wholeWords?.width()??0)+(this.regex?.width()??0)+this.additionalToggles.reduce((d,l)=>d+l.width(),0);this.inputBox.paddingRight=r+this.inputBox.actionsWidth}getValue(){return this.inputBox.value}setValue(i){this.inputBox.value!==i&&(this.inputBox.value=i)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){return this.caseSensitive?.checked??!1}setCaseSensitive(i){this.caseSensitive&&(this.caseSensitive.checked=i)}getWholeWords(){return this.wholeWords?.checked??!1}setWholeWords(i){this.wholeWords&&(this.wholeWords.checked=i)}getRegex(){return this.regex?.checked??!1}setRegex(i){this.regex&&(this.regex.checked=i,this.validate())}focusOnCaseSensitive(){this.caseSensitive?.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(i){this.inputBox.showMessage(i)}clearMessage(){this.inputBox.hideMessage()}}},6826:St=>{St.exports={}},6949:(St,We,e)=>{e.d(We,{k:()=>T,x:()=>y});var v=e(42802),R=e(54324);function x(g){return g.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class T{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(L,b,C,u){this.oldPosition=L,this.oldText=b,this.newPosition=C,this.newText=u}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${x(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${x(this.oldText)}")`:`(replace@${this.oldPosition} "${x(this.oldText)}" with "${x(this.newText)}")`}static _writeStringSize(L){return 4+2*L.length}static _writeString(L,b,C){const u=b.length;(0,v.Sw)(L,u,C),C+=4;for(let i=0;i<u;i++)(0,v.gN)(L,b.charCodeAt(i),C),C+=2;return C}static _readString(L,b){const C=(0,v.bb)(L,b);return b+=4,(0,R.Su)(L,b,C)}writeSize(){return 8+T._writeStringSize(this.oldText)+T._writeStringSize(this.newText)}write(L,b){return(0,v.Sw)(L,this.oldPosition,b),b+=4,(0,v.Sw)(L,this.newPosition,b),b+=4,b=T._writeString(L,this.oldText,b),b=T._writeString(L,this.newText,b),b}static read(L,b,C){const u=(0,v.bb)(L,b);b+=4;const i=(0,v.bb)(L,b);b+=4;const r=T._readString(L,b);b+=T._writeStringSize(r);const d=T._readString(L,b);return b+=T._writeStringSize(d),C.push(new T(u,r,i,d)),b}}function y(g,L){return g===null||g.length===0?L:new A(g,L).compress()}class A{constructor(L,b){this._prevEdits=L,this._currEdits=b,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let L=0,b=0,C=this._getPrev(L),u=this._getCurr(b);for(;L<this._prevLen||b<this._currLen;){if(C===null){this._acceptCurr(u),u=this._getCurr(++b);continue}if(u===null){this._acceptPrev(C),C=this._getPrev(++L);continue}if(u.oldEnd<=C.newPosition){this._acceptCurr(u),u=this._getCurr(++b);continue}if(C.newEnd<=u.oldPosition){this._acceptPrev(C),C=this._getPrev(++L);continue}if(u.oldPosition<C.newPosition){const[o,c]=A._splitCurr(u,C.newPosition-u.oldPosition);this._acceptCurr(o),u=c;continue}if(C.newPosition<u.oldPosition){const[o,c]=A._splitPrev(C,u.oldPosition-C.newPosition);this._acceptPrev(o),C=c;continue}let d,l;if(u.oldEnd===C.newEnd)d=C,l=u,C=this._getPrev(++L),u=this._getCurr(++b);else if(u.oldEnd<C.newEnd){const[o,c]=A._splitPrev(C,u.oldLength);d=o,l=u,C=c,u=this._getCurr(++b)}else{const[o,c]=A._splitCurr(u,C.newLength);d=C,l=o,C=this._getPrev(++L),u=c}this._result[this._resultLen++]=new T(d.oldPosition,d.oldText,l.newPosition,l.newText),this._prevDeltaOffset+=d.newLength-d.oldLength,this._currDeltaOffset+=l.newLength-l.oldLength}const i=A._merge(this._result);return A._removeNoOps(i)}_acceptCurr(L){this._result[this._resultLen++]=A._rebaseCurr(this._prevDeltaOffset,L),this._currDeltaOffset+=L.newLength-L.oldLength}_getCurr(L){return L<this._currLen?this._currEdits[L]:null}_acceptPrev(L){this._result[this._resultLen++]=A._rebasePrev(this._currDeltaOffset,L),this._prevDeltaOffset+=L.newLength-L.oldLength}_getPrev(L){return L<this._prevLen?this._prevEdits[L]:null}static _rebaseCurr(L,b){return new T(b.oldPosition-L,b.oldText,b.newPosition,b.newText)}static _rebasePrev(L,b){return new T(b.oldPosition,b.oldText,b.newPosition+L,b.newText)}static _splitPrev(L,b){const C=L.newText.substr(0,b),u=L.newText.substr(b);return[new T(L.oldPosition,L.oldText,L.newPosition,C),new T(L.oldEnd,"",L.newPosition+b,u)]}static _splitCurr(L,b){const C=L.oldText.substr(0,b),u=L.oldText.substr(b);return[new T(L.oldPosition,C,L.newPosition,L.newText),new T(L.oldPosition+b,u,L.newEnd,"")]}static _merge(L){if(L.length===0)return L;const b=[];let C=0,u=L[0];for(let i=1;i<L.length;i++){const r=L[i];u.oldEnd===r.oldPosition?u=new T(u.oldPosition,u.oldText+r.oldText,u.newPosition,u.newText+r.newText):(b[C++]=u,u=r)}return b[C++]=u,b}static _removeNoOps(L){if(L.length===0)return L;const b=[];let C=0;for(let u=0;u<L.length;u++){const i=L[u];i.oldText!==i.newText&&(b[C++]=i)}return b}}},7130:St=>{St.exports={}},7850:(St,We,e)=>{e.d(We,{CN:()=>b,EP:()=>A,P8:()=>L});var v=e(94327),R=e(10998),x=e(15365),T=e(28061),y=e(90028);class A{constructor(i,r){this.range=i,this.direction=r}}class g{constructor(i,r,d){this.hint=i,this.anchor=r,this.provider=d,this._isResolved=!1}with(i){const r=new g(this.hint,i.anchor,this.provider);return r._isResolved=this._isResolved,r._currentResolve=this._currentResolve,r}async resolve(i){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,i.isCancellationRequested?void 0:this.resolve(i);this._isResolved||(this._currentResolve=this._doResolve(i).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(i){try{const r=await Promise.resolve(this.provider.resolveInlayHint(this.hint,i));this.hint.tooltip=r?.tooltip??this.hint.tooltip,this.hint.label=r?.label??this.hint.label,this.hint.textEdits=r?.textEdits??this.hint.textEdits,this._isResolved=!0}catch(r){(0,v.M_)(r),this._isResolved=!1}}}const C=class C{static async create(i,r,d,l){const o=[],c=i.ordered(r).reverse().map(a=>d.map(async p=>{try{const _=await a.provideInlayHints(r,p,l);(_?.hints.length||a.onDidChangeInlayHints)&&o.push([_??C._emptyInlayHintList,a])}catch(_){(0,v.M_)(_)}}));if(await Promise.all(c.flat()),l.isCancellationRequested||r.isDisposed())throw new v.AL;return new C(d,o,r)}constructor(i,r,d){this._disposables=new R.Cm,this.ranges=i,this.provider=new Set;const l=[];for(const[o,c]of r){this._disposables.add(o),this.provider.add(c);for(const a of o.hints){const p=d.validatePosition(a.position);let _="before";const E=C._getRangeAtPosition(d,p);let S;E.getStartPosition().isBefore(p)?(S=T.Q.fromPositions(E.getStartPosition(),p),_="after"):(S=T.Q.fromPositions(p,E.getEndPosition()),_="before"),l.push(new g(a,new A(S,_),c))}}this.items=l.sort((o,c)=>x.y.compare(o.hint.position,c.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(i,r){const d=r.lineNumber,l=i.getWordAtPosition(r);if(l)return new T.Q(d,l.startColumn,d,l.endColumn);i.tokenization.tokenizeIfCheap(d);const o=i.tokenization.getLineTokens(d),c=r.column-1,a=o.findTokenIndexAtOffset(c);
3let p=o.getStartOffset(a),_=o.getEndOffset(a);return _-p===1&&(p===c&&a>1?(p=o.getStartOffset(a-1),_=o.getEndOffset(a-1)):_===c&&a<o.getCount()-1&&(p=o.getStartOffset(a+1),_=o.getEndOffset(a+1))),new T.Q(d,p+1,d,_+1)}};C._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let L=C;function b(u){return(0,y.AV)(u.id,...u.arguments??[]).toString()}},8377:(St,We,e)=>{e.d(We,{L:()=>R});var v=e(82399);const R=(0,v.u1)("labelService")},8431:(St,We,e)=>{e.d(We,{_:()=>g});var v=e(14333),R=e(20396),x=e(65568),T=e(91818),y=e(10998),A=e(71386);class g extends y.jG{constructor(b,C){super(),this.options=C,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.domNode=(0,v.BC)(b,(0,v.$)("span.monaco-highlighted-label"))}get element(){return this.domNode}set(b,C=[],u="",i,r){b||(b=""),i&&(b=g.escapeNewLines(b,C)),!(this.didEverRender&&this.text===b&&this.title===u&&(0,A.aI)(this.highlights,C))&&(this.text=b,this.title=u,this.highlights=C,this.render(r))}render(b){const C=[];let u=0;for(const i of this.highlights){if(i.end===i.start)continue;if(u<i.start){const l=this.text.substring(u,i.start);b?C.push(...(0,T.n)(l,!0)):C.push(l),u=i.start}const r=this.text.substring(u,i.end),d=(0,v.$)("span.highlight",void 0,...b?(0,T.n)(r,!0):[r]);i.extraClasses&&d.classList.add(...i.extraClasses),C.push(d),u=i.end}if(u<this.text.length){const i=this.text.substring(u);b?C.push(...(0,T.n)(i,!0)):C.push(i)}if((0,v.Ln)(this.domNode,...C),!this.customHover&&this.title!==""){const i=this.options?.hoverDelegate??(0,x.nZ)("mouse");this.customHover=this._register((0,R.i)().setupManagedHover(i,this.domNode,this.title))}else this.customHover&&this.customHover.update(this.title);this.didEverRender=!0}static escapeNewLines(b,C){let u=0,i=0;return b.replace(/\r\n|\r|\n/g,(r,d)=>{i=r===`\r
4`?-1:0,d+=u;for(const l of C)l.end<=d||(l.start>=d&&(l.start+=i),l.end>=d&&(l.end+=i));return u+=i,"\u23CE"})}}},8897:(St,We,e)=>{e.d(We,{KC:()=>u,We:()=>y,aI:()=>r,d:()=>C,dB:()=>A,jb:()=>i,nx:()=>R});var v=e(13338);function R(d,l){return d===l}function x(){return(d,l)=>d===l}function T(d,l,o){return(0,v.aI)(d,l,o??R)}function y(d){return(l,o)=>(0,v.aI)(l,o,d??R)}function A(d,l){if(d===l)return!0;if(Array.isArray(d)&&Array.isArray(l)){if(d.length!==l.length)return!1;for(let o=0;o<d.length;o++)if(!A(d[o],l[o]))return!1;return!0}if(d&&typeof d=="object"&&l&&typeof l=="object"&&Object.getPrototypeOf(d)===Object.prototype&&Object.getPrototypeOf(l)===Object.prototype){const o=d,c=l,a=Object.keys(o),p=Object.keys(c),_=new Set(p);if(a.length!==p.length)return!1;for(const E of a)if(!_.has(E)||!A(o[E],c[E]))return!1;return!0}return!1}function g(){return(d,l)=>A(d,l)}function L(d,l){return JSON.stringify(d)===JSON.stringify(l)}function b(){return(d,l)=>JSON.stringify(d)===JSON.stringify(l)}function C(){return(d,l)=>d.equals(l)}function u(d,l,o){return d==null||l===void 0||l===null?l===d:o(d,l)}function i(d){return(l,o)=>l==null||o===void 0||o===null?o===l:d(l,o)}var r;(function(d){d.strict=R,d.strictC=x,d.array=T,d.arrayC=y,d.structural=A,d.structuralC=g,d.jsonStringify=L,d.jsonStringifyC=b,d.thisC=C,d.ifDefined=u,d.ifDefinedC=i})(r||(r={}))},9037:(St,We,e)=>{e.d(We,{Y:()=>x});var v=e(68029),R=e(77011);function x(T){const y=T.map(g=>new v.aQ(R.L.ofStartAndLength(g.rangeOffset,g.rangeLength),g.text));return y.reverse(),new v.c7(y)}},9145:(St,We,e)=>{var re;e.d(We,{Pm:()=>Z,bo:()=>Y});var v=e(14333),R=e(36930),x=e(23473),T=e(67159),y=e(27969),A=e(13338),g=e(65958),L=e(5915),b=e(41807),C=e(10998),u=e(73678),i=e(63339),r=e(58881),d=e(3765),l=e(54860),o=e(32837),c=e(58067),a=e(82096),p=e(31540),_=e(52348),E=e(82399),S=e(56071),h=e(76243),D=e(11210),k=e(15365),N=e(47317),W=e(65916),U=e(46933),$=e(47936),te=e(97148),ne=e(99859),V=function(de,le,he,we){var xe=arguments.length,Be=xe<3?le:we===null?we=Object.getOwnPropertyDescriptor(le,he):we,M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Be=Reflect.decorate(de,le,he,we);else for(var Ve=de.length-1;Ve>=0;Ve--)(M=de[Ve])&&(Be=(xe<3?M(Be):xe>3?M(le,he,Be):M(le,he))||Be);return xe>3&&Be&&Object.defineProperty(le,he,Be),Be},I=function(de,le){return function(he,we){le(he,we,de)}},H;let Z=class extends C.jG{constructor(le,he,we){super(),this.editor=le,this.model=he,this.instantiationService=we,this.alwaysShowToolbar=(0,U.y0)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).showToolbar==="always"),this.sessionPosition=void 0,this.position=(0,ne.un)(this,xe=>{const Be=this.model.read(xe)?.primaryGhostText.read(xe);if(!this.alwaysShowToolbar.read(xe)||!Be||Be.parts.length===0)return this.sessionPosition=void 0,null;
4const M=Be.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==Be.lineNumber&&(this.sessionPosition=void 0);const Ve=new k.y(Be.lineNumber,Math.min(M,this.sessionPosition?.column??Number.MAX_SAFE_INTEGER));return this.sessionPosition=Ve,Ve}),this._register((0,$.yC)((xe,Be)=>{const M=this.model.read(xe);if(!M||!this.alwaysShowToolbar.read(xe))return;const Ve=(0,ne.un)(Le=>{const _e=Le.store.add(this.instantiationService.createInstance(Y.hot.read(Le),this.editor,!0,this.position,M.selectedInlineCompletionIndex,M.inlineCompletionsCount,M.activeCommands,M.warning,()=>{}));return le.addContentWidget(_e),Le.store.add((0,C.s)(()=>le.removeContentWidget(_e))),Le.store.add((0,$.fm)(Qe=>{this.position.read(Qe)&&M.lastTriggerKind.read(Qe)!==N.qw.Explicit&&M.triggerExplicitly()})),_e}),Me=(0,te.ZX)(this,(Le,_e)=>!!this.position.read(Le)||!!_e);Be.add((0,$.fm)(Le=>{Me.read(Le)&&Ve.read(Le)}))}))}};Z=V([I(2,E._Y)],Z);const X=(0,D.pU)("inline-suggestion-hints-next",L.W.chevronRight,(0,d.kg)(1250,"Icon for show next parameter hint.")),G=(0,D.pU)("inline-suggestion-hints-previous",L.W.chevronLeft,(0,d.kg)(1251,"Icon for show previous parameter hint."));let Y=(re=class extends C.jG{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(le,he,we){const xe=new y.rc(le,he,we,!0,()=>this._commandService.executeCommand(le));return xe.tooltip=this.keybindingService.appendKeybinding(he,le,this._contextKeyService),xe}constructor(le,he,we,xe,Be,M,Ve,Me,Le,_e,Qe,je,ae){super(),this.editor=le,this.withBorder=he,this._position=we,this._currentSuggestionIdx=xe,this._suggestionCount=Be,this._extraCommands=M,this._warning=Ve,this._relayout=Me,this._commandService=Le,this.keybindingService=Qe,this._contextKeyService=je,this._menuService=ae,this.id=`InlineSuggestionHintsContentWidget${H.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._warningMessageContentNode=(0,ne.un)(Ee=>{const Ie=this._warning.read(Ee);return Ie?typeof Ie.message=="string"?Ie.message:Ee.store.add((0,R.Gc)(Ie.message)).element:void 0}),this._warningMessageNode=v.n.div({class:"warningMessage",style:{maxWidth:400,margin:4,marginBottom:4,display:(0,ne.un)(Ee=>this._warning.read(Ee)?"block":"none")}},[this._warningMessageContentNode]).keepUpdated(this._store),this.nodes=(0,v.h)("div.inlineSuggestionsHints",{className:this.withBorder?"monaco-hover monaco-hover-content":""},[this._warningMessageNode.element,(0,v.h)("div@toolBar")]),this.previousAction=this._register(this.createCommandAction(W.Vl,(0,d.kg)(1252,"Previous"),r.L.asClassName(G))),this.availableSuggestionCountAction=this._register(new y.rc("inlineSuggestionHints.availableSuggestionCount","",void 0,!1)),this.nextAction=this._register(this.createCommandAction(W.PA,(0,d.kg)(1253,"Next"),r.L.asClassName(X))),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(c.D8.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new g.uC(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new g.uC(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this._register((0,$.fm)(Ee=>{this._warningMessageContentNode.read(Ee),this._warningMessageNode.readEffect(Ee),this._relayout()})),this.toolBar=this._register(_e.createInstance(ie,this.nodes.toolBar,c.D8.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:Ee=>Ee.startsWith("primary")},actionViewItemProvider:(Ee,Ie)=>{if(Ee instanceof c.Xe)return _e.createInstance(z,Ee,void 0);if(Ee===this.availableSuggestionCountAction){const Ue=new j(void 0,Ee,{label:!0,icon:!1});return Ue.setClass("availableSuggestionCount"),Ue}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(Ee=>{H._dropDownVisible=Ee})),this._register((0,$.fm)(Ee=>{this._position.read(Ee),this.editor.layoutContentWidget(this)})),this._register((0,$.fm)(Ee=>{const Ie=this._suggestionCount.read(Ee),Ue=this._currentSuggestionIdx.read(Ee);Ie!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${Ue+1}/${Ie}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),Ie!==void 0&&Ie>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register((0,$.fm)(Ee=>{const Ue=this._extraCommands.read(Ee).map($e=>({class:void 0,id:$e.command.id,enabled:!0,tooltip:$e.command.tooltip||"",label:$e.command.title,run:()=>this._commandService.executeCommand($e.command.id,...$e.command.arguments??[])}));for(const[$e,Ye]of this.inlineCompletionsActionsMenus.getActions())for(const Ce of Ye)Ce instanceof c.Xe&&Ue.push(Ce);Ue.length>0&&Ue.unshift(new y.wv),this.toolBar.setAdditionalSecondaryActions(Ue)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},H=re,re.hot=(0,b.o)(re),re._dropDownVisible=!1,re.id=0,re);Y=H=V([I(8,a.d),I(9,E._Y),I(10,S.b),I(11,p.fN),I(12,c.ez)],Y);class j extends x.Z4{constructor(){super(...arguments),this._className=void 0}setClass(le){this._className=le}render(le){super.render(le),this._className&&le.classList.add(this._className)}updateTooltip(){}}class z extends l.oq{updateLabel(){const le=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService,!0);if(!le)return super.updateLabel();if(this.label){const he=(0,v.h)("div.keybinding").root;this._register(new T.x(he,i.OS,{disableTitle:!0,...T.l})).set(le),this.label.textContent=this._action.label,this.label.appendChild(he),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}}let ie=class extends o.p{constructor(le,he,we,xe,Be,M,Ve,Me,Le){super(le,{resetMenu:he,...we},xe,Be,M,Ve,Me,Le),this.menuId=he,this.options2=we,this.menuService=xe,this.contextKeyService=Be,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this.additionalPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){const{primary:le,secondary:he}=(0,l.R4)(this.menu.getActions(this.options2?.menuOptions),this.options2?.toolbarOptions?.primaryGroup,this.options2?.toolbarOptions?.shouldInlineSubmenu,this.options2?.toolbarOptions?.useSeparatorsInPrimaryActions);he.push(...this.additionalActions),le.unshift(...this.prependedPrimaryActions),le.push(...this.additionalPrimaryActions),this.setActions(le,he)}setPrependedPrimaryActions(le){(0,A.aI)(this.prependedPrimaryActions,le,(he,we)=>he===we)||(this.prependedPrimaryActions=le,this.updateToolbar())}setAdditionalSecondaryActions(le){(0,A.aI)(this.additionalActions,le,(he,we)=>he===we)||(this.additionalActions=le,this.updateToolbar())}};ie=V([I(3,c.ez),I(4,p.fN),I(5,_.Z),I(6,S.b),I(7,a.d),I(8,h.k)],ie)},9223:(St,We,e)=>{e.d(We,{b:()=>v,t:()=>R});const v=function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);const x=new Uint8Array(16),T=[];for(let y=0;y<256;y++)T.push(y.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(x),x[6]=x[6]&15|64,x[8]=x[8]&63|128;let A=0,g="";return g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g+="-",g+=T[x[A++]],g+=T[x[A++]],g+="-",g+=T[x[A++]],g+=T[x[A++]],g+="-",g+=T[x[A++]],g+=T[x[A++]],g+="-",g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g+=T[x[A++]],g}}();function R(x){return`${x}-${v()}`}},9385:(St,We,e)=>{var ht;var v=e(65958),R=e(5915),x=e(90028),T=e(10998),y=e(63339),A=e(16844),g=e(50946),L=e(66476),b=e(31531),C=e(49887),u=e(90304),i=e(46311),r=e(14270),d=e(3765),l=e(14333),o=e(77439),c=e(27969),a=e(52265),p=e(82399),_=e(34061),E=e(87594),S=e(30474),h=e(2106),D=e(54435),k=e(65568),N=e(90428),W=function(ve,De,fe,Se){var pe=arguments.length,Ae=pe<3?De:Se===null?Se=Object.getOwnPropertyDescriptor(De,fe):Se,Xe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ae=Reflect.decorate(ve,De,fe,Se);else for(var dt=ve.length-1;dt>=0;dt--)(Xe=ve[dt])&&(Ae=(pe<3?Xe(Ae):pe>3?Xe(De,fe,Ae):Xe(De,fe))||Ae);return pe>3&&Ae&&Object.defineProperty(De,fe,Ae),Ae},U=function(ve,De){return function(fe,Se){De(fe,Se,ve)}};let $=class extends T.jG{get enabled(){return this._enabled}set enabled(De){De?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=De}constructor(De,fe,Se={},pe,Ae){super(),this._link=fe,this._hoverService=pe,this._enabled=!0,this.el=(0,l.BC)(De,(0,l.$)("a.monaco-link",{tabIndex:fe.tabIndex??0,href:fe.href},fe.label)),this.hoverDelegate=Se.hoverDelegate??(0,k.nZ)("mouse"),this.setTooltip(fe.title),this.el.setAttribute("role","button");const Xe=this._register(new _.f(this.el,"click")),dt=this._register(new _.f(this.el,"keydown")),gt=h.Jh.chain(dt.event,ri=>ri.map(Gt=>new E.Z(Gt)).filter(Gt=>Gt.keyCode===3||Gt.keyCode===10)),Bt=this._register(new _.f(this.el,S.B.Tap)).event;this._register(S.q.addTarget(this.el));const _t=h.Jh.any(Xe.event,gt,Bt);this._register(_t(ri=>{this.enabled&&(l.fs.stop(ri,!0),Se?.opener?Se.opener(this._link.href):Ae.open(this._link.href,{allowCommands:!0}))}
4)),this.enabled=!0}setTooltip(De){!this.hover&&De?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,De)):this.hover&&this.hover.update(De)}};$=W([U(3,N.TN),U(4,D.Cr)],$);var te=e(11210),ne=e(58881),V=function(ve,De,fe,Se){var pe=arguments.length,Ae=pe<3?De:Se===null?Se=Object.getOwnPropertyDescriptor(De,fe):Se,Xe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ae=Reflect.decorate(ve,De,fe,Se);else for(var dt=ve.length-1;dt>=0;dt--)(Xe=ve[dt])&&(Ae=(pe<3?Xe(Ae):pe>3?Xe(De,fe,Ae):Xe(De,fe))||Ae);return pe>3&&Ae&&Object.defineProperty(De,fe,Ae),Ae},I=function(ve,De){return function(fe,Se){De(fe,Se,ve)}};const H=26;let Z=class extends T.jG{constructor(De,fe){super(),this._editor=De,this.instantiationService=fe,this.banner=this._register(this.instantiationService.createInstance(X))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(De){this.banner.show({...De,onClose:()=>{this.hide(),De.onClose?.()}}),this._editor.setBanner(this.banner.element,H)}};Z=V([I(1,p._Y)],Z);let X=class extends T.jG{constructor(De,fe){super(),this.instantiationService=De,this.markdownRendererService=fe,this.element=(0,l.$)("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(De){if(De.ariaLabel)return De.ariaLabel;if(typeof De.message=="string")return De.message}getBannerMessage(De){if(typeof De=="string"){const fe=(0,l.$)("span");return fe.innerText=De,fe}return this.markdownRendererService.render(De).element}clear(){(0,l.w_)(this.element)}show(De){(0,l.w_)(this.element);const fe=this.getAriaLabel(De);fe&&this.element.setAttribute("aria-label",fe);const Se=(0,l.BC)(this.element,(0,l.$)("div.icon-container"));Se.setAttribute("aria-hidden","true"),De.icon&&Se.appendChild((0,l.$)(`div${ne.L.asCSSSelector(De.icon)}`));const pe=(0,l.BC)(this.element,(0,l.$)("div.message-container"));if(pe.setAttribute("aria-hidden","true"),pe.appendChild(this.getBannerMessage(De.message)),this.messageActionsContainer=(0,l.BC)(this.element,(0,l.$)("div.message-actions-container")),De.actions)for(const Xe of De.actions)this._register(this.instantiationService.createInstance($,this.messageActionsContainer,{...Xe,tabIndex:-1},{}));const Ae=(0,l.BC)(this.element,(0,l.$)("div.action-container"));this.actionBar=this._register(new o.E(Ae)),this.actionBar.push(this._register(new c.rc("banner.close",(0,d.kg)(1585,"Close Banner"),ne.L.asClassName(te.$_),!0,()=>{typeof De.onClose=="function"&&De.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};X=V([I(0,p._Y),I(1,a.TN)],X);var G=e(85753),Y=e(73027),j=e(84657),z=e(58067),ie=e(42124),re=e(71043),de=function(ve,De,fe,Se){var pe=arguments.length,Ae=pe<3?De:Se===null?Se=Object.getOwnPropertyDescriptor(De,fe):Se,Xe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ae=Reflect.decorate(ve,De,fe,Se);else for(var dt=ve.length-1;dt>=0;dt--)(Xe=ve[dt])&&(Ae=(pe<3?Xe(Ae):pe>3?Xe(De,fe,Ae):Xe(De,fe))||Ae);return pe>3&&Ae&&Object.defineProperty(De,fe,Ae),Ae},le=function(ve,De){return function(fe,Se){De(fe,Se,ve)}};const he=(0,te.pU)("extensions-warning-message",R.W.warning,(0,d.kg)(1586,"Icon shown with a warning message in the extensions editor."));let we=(ht=class extends T.jG{constructor(De,fe,Se,pe){super(),this._editor=De,this._editorWorkerService=fe,this._workspaceTrustService=Se,this._highlighter=null,this._bannerClosed=!1,this._updateState=Ae=>{if(Ae&&Ae.hasMore){if(this._bannerClosed)return;const Xe=Math.max(Ae.ambiguousCharacterCount,Ae.nonBasicAsciiCharacterCount,Ae.invisibleCharacterCount);let dt;if(Ae.nonBasicAsciiCharacterCount>=Xe)dt={message:(0,d.kg)(1587,"This document contains many non-basic ASCII unicode characters"),command:new Ye};else if(Ae.ambiguousCharacterCount>=Xe)dt={message:(0,d.kg)(1588,"This document contains many ambiguous unicode characters"),command:new Ue};else if(Ae.invisibleCharacterCount>=Xe)dt={message:(0,d.kg)(1589,"This document contains many invisible unicode characters"),command:new $e};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:dt.message,icon:he,actions:[{label:dt.command.shortL
4abel,href:`command:${dt.command.desc.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(pe.createInstance(Z,De)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=De.getOption(142),this._register(Se.onDidChangeTrust(Ae=>{this._updateHighlighter()})),this._register(De.onDidChangeConfiguration(Ae=>{Ae.hasChanged(142)&&(this._options=De.getOption(142),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const De=xe(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([De.nonBasicASCII,De.ambiguousCharacters,De.invisibleCharacters].every(Se=>Se===!1))return;const fe={nonBasicASCII:De.nonBasicASCII,ambiguousCharacters:De.ambiguousCharacters,invisibleCharacters:De.invisibleCharacters,includeComments:De.includeComments,includeStrings:De.includeStrings,allowedCodePoints:Object.keys(De.allowedCharacters).map(Se=>Se.codePointAt(0)),allowedLocales:Object.keys(De.allowedLocales).map(Se=>Se==="_os"?ie.x.NumberFormat().value.resolvedOptions().locale:Se==="_vscode"?y.BH:Se)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Be(this._editor,fe,this._updateState,this._editorWorkerService):this._highlighter=new M(this._editor,fe,this._updateState)}getDecorationInfo(De){return this._highlighter?this._highlighter.getDecorationInfo(De):null}},ht.ID="editor.contrib.unicodeHighlighter",ht);we=de([le(1,u.w),le(2,j.L),le(3,p._Y)],we);function xe(ve,De){return{nonBasicASCII:De.nonBasicASCII===L.XR?!ve:De.nonBasicASCII,ambiguousCharacters:De.ambiguousCharacters,invisibleCharacters:De.invisibleCharacters,includeComments:De.includeComments===L.XR?!ve:De.includeComments,includeStrings:De.includeStrings===L.XR?!ve:De.includeStrings,allowedCharacters:De.allowedCharacters,allowedLocales:De.allowedLocales}}let Be=class extends T.jG{constructor(De,fe,Se,pe){super(),this._editor=De,this._options=fe,this._updateState=Se,this._editorWorkerService=pe,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new v.uC(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const De=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(fe=>{if(this._model.isDisposed()||this._model.getVersionId()!==De)return;this._updateState(fe);const Se=[];if(!fe.hasMore)for(const pe of fe.ranges)Se.push({range:pe,options:ae.instance.getDecorationFromOptions(this._options)});this._decorations.set(Se)})}getDecorationInfo(De){if(!this._decorations.has(De))return null;const fe=this._editor.getModel();if(!(0,re.GN)(fe,De))return null;const Se=fe.getValueInRange(De.range);return{reason:je(Se,this._options),inComment:(0,re.a6)(fe,De),inString:(0,re.wc)(fe,De)}}};Be=de([le(3,u.w)],Be);class M extends T.jG{constructor(De,fe,Se){super(),this._editor=De,this._options=fe,this._updateState=Se,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new v.uC(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}
4_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const De=this._editor.getVisibleRanges(),fe=[],Se={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const pe of De){const Ae=C.P.computeUnicodeHighlights(this._model,this._options,pe);for(const Xe of Ae.ranges)Se.ranges.push(Xe);Se.ambiguousCharacterCount+=Se.ambiguousCharacterCount,Se.invisibleCharacterCount+=Se.invisibleCharacterCount,Se.nonBasicAsciiCharacterCount+=Se.nonBasicAsciiCharacterCount,Se.hasMore=Se.hasMore||Ae.hasMore}if(!Se.hasMore)for(const pe of Se.ranges)fe.push({range:pe,options:ae.instance.getDecorationFromOptions(this._options)});this._updateState(Se),this._decorations.set(fe)}getDecorationInfo(De){if(!this._decorations.has(De))return null;const fe=this._editor.getModel(),Se=fe.getValueInRange(De.range);return(0,re.GN)(fe,De)?{reason:je(Se,this._options),inComment:(0,re.a6)(fe,De),inString:(0,re.wc)(fe,De)}:null}}const Ve=(0,d.kg)(1590,"Configure Unicode Highlight Options");let Me=class{constructor(De,fe){this._editor=De,this._markdownRendererService=fe,this.hoverOrdinal=5}computeSync(De,fe){if(!this._editor.hasModel()||De.type!==1)return[];const Se=this._editor.getModel(),pe=this._editor.getContribution(we.ID);if(!pe)return[];const Ae=[],Xe=new Set;let dt=300;for(const gt of fe){const Bt=pe.getDecorationInfo(gt);if(!Bt)continue;const ri=Se.getValueInRange(gt.range).codePointAt(0),Gt=_e(ri);let ei;switch(Bt.reason.kind){case 0:{(0,A.aC)(Bt.reason.confusableWith)?ei=(0,d.kg)(1591,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",Gt,_e(Bt.reason.confusableWith.codePointAt(0))):ei=(0,d.kg)(1592,"The character {0} could be confused with the character {1}, which is more common in source code.",Gt,_e(Bt.reason.confusableWith.codePointAt(0)));break}case 1:ei=(0,d.kg)(1593,"The character {0} is invisible.",Gt);break;case 2:ei=(0,d.kg)(1594,"The character {0} is not a basic ASCII character.",Gt);break}if(Xe.has(ei))continue;Xe.add(ei);const Zt={codePoint:ri,reason:Bt.reason,inComment:Bt.inComment,inString:Bt.inString},pt=(0,d.kg)(1595,"Adjust settings"),Fe=(0,x.AV)(Ce.ID,Zt),st=new x.Bc("",!0).appendMarkdown(ei).appendText(" ").appendLink(Fe,pt,Ve);Ae.push(new r.eH(this,gt.range,[st],!1,dt++))}return Ae}renderHoverParts(De,fe){return(0,r.fm)(De,fe,this._editor,this._markdownRendererService)}getAccessibleContent(De){return De.contents.map(fe=>fe.value).join(`
5`)}};Me=de([le(1,a.TN)],Me);function Le(ve){return`U+${ve.toString(16).padStart(4,"0")}`}function _e(ve){let De=`\`${Le(ve)}\``;return A.y_.isInvisibleCharacter(ve)||(De+=` "${`${Qe(ve)}`}"`),De}function Qe(ve){return ve===96?"`` ` ``":"`"+String.fromCodePoint(ve)+"`"}function je(ve,De){return C.P.computeUnicodeHighlightReason(ve,De)}const Te=class Te{constructor(){this.map=new Map}getDecorationFromOptions(De){return this.getDecoration(!De.includeComments,!De.includeStrings)}getDecoration(De,fe){const Se=`${De}${fe}`;let pe=this.map.get(Se);return pe||(pe=b.kI.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:De,hideInStringTokens:fe}),this.map.set(Se,pe)),pe}};Te.instance=new Te;let ae=Te;class Ee extends g.ks{constructor(){super({id:Ue.ID,label:(0,d.aS)(1604,"Disable highlighting of characters in comments"),precondition:void 0}),this.shortLabel=(0,d.kg)(1596,"Disable Highlight In Comments")}async run(De,fe){const Se=De.get(G.pG);Se&&this.runAction(Se)}async runAction(De){await De.updateValue(L.Of.includeComments,!1,2)}}class Ie extends g.ks{constructor(){super({id:Ue.ID,label:(0,d.aS)(1605,"Disable highlighting of characters in strings"),prec
5ondition:void 0}),this.shortLabel=(0,d.kg)(1597,"Disable Highlight In Strings")}async run(De,fe){const Se=De.get(G.pG);Se&&this.runAction(Se)}async runAction(De){await De.updateValue(L.Of.includeStrings,!1,2)}}const oe=class oe extends z.L{constructor(){super({id:oe.ID,title:(0,d.aS)(1606,"Disable highlighting of ambiguous characters"),precondition:void 0,f1:!1}),this.shortLabel=(0,d.kg)(1598,"Disable Ambiguous Highlight")}async run(De,fe){const Se=De.get(G.pG);Se&&this.runAction(Se)}async runAction(De){await De.updateValue(L.Of.ambiguousCharacters,!1,2)}};oe.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Ue=oe;const q=class q extends z.L{constructor(){super({id:q.ID,title:(0,d.aS)(1607,"Disable highlighting of invisible characters"),precondition:void 0,f1:!1}),this.shortLabel=(0,d.kg)(1599,"Disable Invisible Highlight")}async run(De,fe){const Se=De.get(G.pG);Se&&this.runAction(Se)}async runAction(De){await De.updateValue(L.Of.invisibleCharacters,!1,2)}};q.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let $e=q;const ue=class ue extends z.L{constructor(){super({id:ue.ID,title:(0,d.aS)(1608,"Disable highlighting of non basic ASCII characters"),precondition:void 0,f1:!1}),this.shortLabel=(0,d.kg)(1600,"Disable Non ASCII Highlight")}async run(De,fe){const Se=De.get(G.pG);Se&&this.runAction(Se)}async runAction(De){await De.updateValue(L.Of.nonBasicASCII,!1,2)}};ue.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Ye=ue;const J=class J extends z.L{constructor(){super({id:J.ID,title:(0,d.aS)(1609,"Show Exclude Options"),precondition:void 0,f1:!1})}async run(De,fe){const{codePoint:Se,reason:pe,inString:Ae,inComment:Xe}=fe,dt=String.fromCodePoint(Se),gt=De.get(Y.GK),Bt=De.get(G.pG);function _t(Zt){return A.y_.isInvisibleCharacter(Zt)?(0,d.kg)(1601,"Exclude {0} (invisible character) from being highlighted",Le(Zt)):(0,d.kg)(1602,"Exclude {0} from being highlighted",`${Le(Zt)} "${dt}"`)}const ri=[];if(pe.kind===0)for(const Zt of pe.notAmbiguousInLocales)ri.push({label:(0,d.kg)(1603,'Allow unicode characters that are more common in the language "{0}".',Zt),run:async()=>{Ke(Bt,[Zt])}});if(ri.push({label:_t(Se),run:()=>He(Bt,[Se])}),Xe){const Zt=new Ee;ri.push({label:Zt.label,run:async()=>Zt.runAction(Bt)})}else if(Ae){const Zt=new Ie;ri.push({label:Zt.label,run:async()=>Zt.runAction(Bt)})}function Gt(Zt){return typeof Zt.desc.title=="string"?Zt.desc.title:Zt.desc.title.value}if(pe.kind===0){const Zt=new Ue;ri.push({label:Gt(Zt),run:async()=>Zt.runAction(Bt)})}else if(pe.kind===1){const Zt=new $e;ri.push({label:Gt(Zt),run:async()=>Zt.runAction(Bt)})}else if(pe.kind===2){const Zt=new Ye;ri.push({label:Gt(Zt),run:async()=>Zt.runAction(Bt)})}else qe(pe);const ei=await gt.pick(ri,{title:Ve});ei&&await ei.run()}};J.ID="editor.action.unicodeHighlight.showExcludeOptions";let Ce=J;async function He(ve,De){const fe=ve.getValue(L.Of.allowedCharacters);let Se;typeof fe=="object"&&fe?Se=fe:Se={};for(const pe of De)Se[String.fromCodePoint(pe)]=!0;await ve.updateValue(L.Of.allowedCharacters,Se,2)}async function Ke(ve,De){const fe=ve.inspect(L.Of.allowedLocales).user?.value;let Se;typeof fe=="object"&&fe?Se=Object.assign({},fe):Se={};for(const pe of De)Se[pe]=!0;await ve.updateValue(L.Of.allowedLocales,Se,2)}function qe(ve){throw new Error(`Unexpected value: ${ve}`)}(0,z.ug)(Ue),(0,z.ug)($e),(0,z.ug)(Ye),(0,z.ug)(Ce),(0,g.HW)(we.ID,we,1),i.B2.register(Me)},9715:(St,We,e)=>{e.d(We,{P:()=>A,$:()=>g});var v=e(55893);const R=new WeakMap;function x(L){if(!L.parent||L.parent===L)return null;try{const b=L.location,C=L.parent.location;if(b.origin!=="null"&&C.origin!=="null"&&b.origin!==C.origin)return null}catch{return null}return L.parent}class T{static getSameOriginWindowChain(b){let C=R.get(b);if(!C){C=[],R.set(b,C);let u=b,i;do i=x(u),i?C.push({window:new WeakRef(u),iframeElement:u.frameElement||null}):C.push({window:new WeakRef(u),iframeElement:null}),u=i;while(u)}return C.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(b,C){if(!C||b===C)return{top:0,left:0};let u=0,i=0;const r=this.getSameOriginWindowChain(b);for(const d of r){const l=d.window.deref();if(u+=l?.scrollY??0,i+=l?.scrollX??0,l===C||!d.iframeElement)break;const o=d.iframeElement.getBoundingClientRect();u+=o.top,i+=o.left}return{top:u,left:i}}}var y=e(63339);class A{constructor(b,C){this.timestamp=Date.now(),this.browserEvent=C,this.leftButton=C.button===0,this.middleButton=C.button===1,this.rightButton=C.button===2,this.buttons=C.buttons,this.defaultPrevented=C.defaultPrevented,this.target=C.target,this.detail=C.detail||1,C.type==="dblclick"&&(this.detail=2),this.ctrlKey=C.ctrlKey,this.shiftKey=C.shiftKey,this.altKey=C.altKey,this.metaKey=C.metaKey,this.posx=C.pageX,this.posy=C.pageY;const u=T.getPositionOfChildWindowRelativeToAncestorWindow(b,C.view);this.posx-=u.left,this.posy-=u.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class g{constructor(b,C=0,u=0){this.browserEvent=b||null,this.target=b?b.target||b.targetNode||b.srcElement:null,this.deltaY=u,this.deltaX=C;let i=!1;if(v.H8){const r=navigator.userAgent.match(/Chrome\/(\d+)/);i=(r?parseInt(r[1]):123)<=122}if(b){const r=b,d=b,l=b.view?.devicePixelRatio||1;if(typeof r.wheelDeltaY<"u")i?this.deltaY=r.wheelDeltaY/(120*l):this.deltaY=r.wheelDeltaY/120;else if(typeof d.VERTICAL_AXIS<"u"&&d.axis===d.VERTICAL_AXIS)this.deltaY=-d.detail/3;else if(b.type==="wheel"){const o=b;o.deltaMode===o.DOM_DELTA_LINE?v.gm&&!y.zx?this.deltaY=-b.deltaY/3:this.deltaY=-b.deltaY:this.deltaY=-b.deltaY/40}if(typeof r.wheelDeltaX<"u")v.nr&&y.uF?this.deltaX=-(r.wheelDeltaX/120):i?this.deltaX=r.wheelDeltaX/(120*l):this.deltaX=r.wheelDeltaX/120;else if(typeof d.HORIZONTAL_AXIS<"u"&&d.axis===d.HORIZONTAL_AXIS)this.deltaX=-b.detail/3;else if(b.type==="wheel"){const o=b;o.deltaMode===o.DOM_DELTA_LINE?v.gm&&!y.zx?this.deltaX=-b.deltaX/3:this.deltaX=-b.deltaX:this.deltaX=-b.deltaX/40}this.deltaY===0&&this.deltaX===0&&b.wheelDelta&&(i?this.deltaY=b.wheelDelta/(120*l):this.deltaY=b.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}}},9760:(St,We,e)=>{e.d(We,{L:()=>R,m:()=>x});let v;function R(T){return v?.(T)??null}function x(T){v=T}},10079:(St,We,e)=>{e.d(We,{S:()=>T});var v=e(13338),R=e(28061),x=e(91934);const y=class y{static async create(g,L){if(!L.getOption(134).localityBonus||!L.hasModel())return y.None;const b=L.getModel(),C=L.getPosition();if(!g.canComputeWordRanges(b.uri))return y.None;const[u]=await new x.n().provideSelectionRanges(b,[C]);if(u.length===0)return y.None;const i=await g.computeWordRanges(b.uri,u[0].range);if(!i)return y.None;const r=b.getWordUntilPosition(C);return delete i[r.word],new class extends y{distance(d,l){if(!C.equals(L.getPosition()))return 0;if(l.kind===17)return 2<<20;const o=typeof l.label=="string"?l.label:l.label.label,c=i[o];if((0,v.Ct)(c))return 2<<20;const a=(0,v.El)(c,R.Q.fromPositions(d),R.Q.compareRangesUsingStarts),p=a>=0?c[a]:c[Math.max(0,~a-1)];let _=u.length;
5for(const E of u){if(!R.Q.containsRange(E.range,p))break;_-=1}return _}}}};y.None=new class extends y{distance(){return 0}};let T=y},10176:(St,We,e)=>{e.d(We,{_:()=>x});var v=e(14333),R=e(10998);class x{constructor(){this._hooks=new R.Cm,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(y,A){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const g=this._onStopCallback;this._onStopCallback=null,y&&g&&g(A)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(y,A,g,L,b){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=L,this._onStopCallback=b;let C=y;try{y.setPointerCapture(A),this._hooks.add((0,R.s)(()=>{try{y.releasePointerCapture(A)}catch{}}))}catch{C=(0,v.zk)(y)}this._hooks.add((0,v.ko)(C,v.Bx.POINTER_MOVE,u=>{if(u.buttons!==g){this.stopMonitoring(!0);return}u.preventDefault(),this._pointerMoveCallback(u)})),this._hooks.add((0,v.ko)(C,v.Bx.POINTER_UP,u=>this.stopMonitoring(!0)))}}},10680:(St,We,e)=>{e.d(We,{Aj:()=>A,IL:()=>i,K1:()=>r,Ko:()=>b,Xp:()=>g,uM:()=>C,yL:()=>u,yr:()=>L});var v=e(3765),R=e(94901),x=e(87676),T=e(73858),y=e(58687);const A=(0,x.x1)("minimap.findMatchHighlight",T.Ub,(0,v.kg)(2051,"Minimap marker color for find matches."),!0),g=(0,x.x1)("minimap.selectionOccurrenceHighlight",T.Qw,(0,v.kg)(2052,"Minimap marker color for repeating editor selections."),!0),L=(0,x.x1)("minimap.selectionHighlight",T.se,(0,v.kg)(2053,"Minimap marker color for the editor selection."),!0),b=(0,x.x1)("minimap.infoHighlight",{dark:T.pO,light:T.pO,hcDark:T.II,hcLight:T.II},(0,v.kg)(2054,"Minimap marker color for infos.")),C=(0,x.x1)("minimap.warningHighlight",{dark:T.Hn,light:T.Hn,hcDark:T.St,hcLight:T.St},(0,v.kg)(2055,"Minimap marker color for warnings.")),u=(0,x.x1)("minimap.errorHighlight",{dark:new R.Q1(new R.bU(255,18,18,.7)),light:new R.Q1(new R.bU(255,18,18,.7)),hcDark:new R.Q1(new R.bU(255,50,50,1)),hcLight:"#B5200D"},(0,v.kg)(2056,"Minimap marker color for errors.")),i=(0,x.x1)("minimap.background",null,(0,v.kg)(2057,"Minimap background color.")),r=(0,x.x1)("minimap.foregroundOpacity",R.Q1.fromHex("#000f"),(0,v.kg)(2058,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));(0,x.x1)("minimapSlider.background",(0,x.JO)(y.gn,.5),(0,v.kg)(2059,"Minimap slider background color.")),(0,x.x1)("minimapSlider.hoverBackground",(0,x.JO)(y.cI,.5),(0,v.kg)(2060,"Minimap slider background color when hovering.")),(0,x.x1)("minimapSlider.activeBackground",(0,x.JO)(y.mh,.5),(0,v.kg)(2061,"Minimap slider background color when clicked on."))},10998:(St,We,e)=>{e.d(We,{$w:()=>d,AS:()=>y,BO:()=>r,Cm:()=>b,HE:()=>u,Xm:()=>T,jG:()=>C,lC:()=>x,mp:()=>i,qE:()=>A,s:()=>L});var v=e(17954);function R(c,a){}function x(c){return c}function T(c){return typeof c=="object"&&c!==null&&typeof c.dispose=="function"&&c.dispose.length===0}function y(c){if(v.f.is(c)){const a=[];for(const p of c)if(p)try{p.dispose()}catch(_){a.push(_)}if(a.length===1)throw a[0];if(a.length>1)throw new AggregateError(a,"Encountered errors while disposing of store");return Array.isArray(c)?[]:c}else if(c)return c.dispose(),c}function A(...c){return L(()=>y(c))}class g{constructor(a){this._isDisposed=!1,this._fn=a}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,this._fn()}}}function L(c){return new g(c)}const l=class l{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{y(this._toDispose)}finally{this._toDispose.clear()}}add(a){if(!a||a===C.None)return a;
5if(a===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?l.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(a),a}delete(a){if(a){if(a===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(a),a.dispose()}}};l.DISABLE_DISPOSED_WARNING=!1;let b=l;const o=class o{constructor(){this._store=new b,this._store}dispose(){this._store.dispose()}_register(a){if(a===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(a)}};o.None=Object.freeze({dispose(){}});let C=o;class u{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(a){this._isDisposed||a===this._value||(this._value?.dispose(),this._value=a)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}}class i{constructor(a){this._disposable=a,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class r{constructor(a){this.object=a}dispose(){}}class d{constructor(a=new Map){this._isDisposed=!1,this._store=a}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{y(this._store.values())}finally{this._store.clear()}}get(a){return this._store.get(a)}set(a,p,_=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),_||this._store.get(a)?.dispose(),this._store.set(a,p)}deleteAndDispose(a){this._store.get(a)?.dispose(),this._store.delete(a)}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}},11210:(St,We,e)=>{e.d(We,{$_:()=>k,HT:()=>_,pU:()=>p});var v=e(65958),R=e(5915),x=e(19892),T=e(58881),y=e(2106),A=e(79359),g=e(37264),L=e(3765),b=e(51460),C=e(67167),u=e(10998);const i={IconContribution:"base.contributions.icons"};var r;(function(N){function W(U,$){let te=U.defaults;for(;T.L.isThemeIcon(te);){const ne=a.getIcon(te.id);if(!ne)return;te=ne.defaults}return te}N.getDefinition=W})(r||(r={}));var d;(function(N){function W($){return{weight:$.weight,style:$.style,src:$.src.map(te=>({format:te.format,location:te.location.toString()}))}}N.toJSONObject=W;function U($){const te=ne=>
5(0,A.Kg)(ne)?ne:void 0;if($&&Array.isArray($.src)&&$.src.every(ne=>(0,A.Kg)(ne.format)&&(0,A.Kg)(ne.location)))return{weight:te($.weight),style:te($.style),src:$.src.map(ne=>({format:ne.format,location:g.r.parse(ne.location)}))}}N.fromJSONObject=U})(d||(d={}));const l=/^([\w_-]+)$/,o=(0,L.kg)(2093,"The font ID must only contain letters, numbers, underscores and dashes.");class c extends u.jG{constructor(){super(),this._onDidChange=this._register(new y.vl),this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:(0,L.kg)(2094,"The id of the font to use. If not set, the font that is defined first is used."),pattern:l.source,patternErrorMessage:o},fontCharacter:{type:"string",description:(0,L.kg)(2095,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${T.L.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(W,U,$,te){const ne=this.iconsById[W];if(ne){if($&&!ne.description){ne.description=$,this.iconSchema.properties[W].markdownDescription=`${$} $(${W})`;const H=this.iconReferenceSchema.enum.indexOf(W);H!==-1&&(this.iconReferenceSchema.enumDescriptions[H]=$),this._onDidChange.fire()}return ne}const V={id:W,description:$,defaults:U,deprecationMessage:te};this.iconsById[W]=V;const I={$ref:"#/definitions/icons"};return te&&(I.deprecationMessage=te),$&&(I.markdownDescription=`${$}: $(${W})`),this.iconSchema.properties[W]=I,this.iconReferenceSchema.enum.push(W),this.iconReferenceSchema.enumDescriptions.push($||""),this._onDidChange.fire(),{id:W}}getIcons(){return Object.keys(this.iconsById).map(W=>this.iconsById[W])}getIcon(W){return this.iconsById[W]}getIconSchema(){return this.iconSchema}toString(){const W=(ne,V)=>ne.id.localeCompare(V.id),U=ne=>{for(;T.L.isThemeIcon(ne.defaults);)ne=this.iconsById[ne.defaults.id];return`codicon codicon-${ne?ne.id:""}`},$=[];$.push("| preview     | identifier                        | default codicon ID                | description"),$.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const te=Object.keys(this.iconsById).map(ne=>this.iconsById[ne]);for(const ne of te.filter(V=>!!V.description).sort(W))$.push(`|<i class="${U(ne)}"></i>|${ne.id}|${T.L.isThemeIcon(ne.defaults)?ne.defaults.id:ne.id}|${ne.description||""}|`);$.push("| preview     | identifier                        "),$.push("| ----------- | --------------------------------- |");for(const ne of te.filter(V=>!T.L.isThemeIcon(V.defaults)).sort(W))$.push(`|<i class="${U(ne)}"></i>|${ne.id}|`);return $.join(`
6`)}}const a=new c;C.O.add(i.IconContribution,a);function p(N,W,U,$){return a.registerIcon(N,W,U,$)}function _(){return a}function E(){const N=(0,x.J)();for(const W in N){const U="\\"+N[W].toString(16);a.registerIcon(W,{fontCharacter:U})}}E();const S="vscode://schemas/icons",h=C.O.as(b.F.JSONContribution);h.registerSchema(S,a.getIconSchema());const D=new v.uC(()=>h.notifySchemaChanged(S),200);a.onDidChange(()=>{D.isScheduled()||D.schedule()});const k=p("widget-close",R.W.close,(0,L.kg)(2096,"Icon for the close action in widgets."));p("goto-previous-location",R.W.arrowUp,(0,L.kg)(2097,"Icon for goto previous editor location.")),p("goto-next-location",R.W.arrowDown,(0,L.kg)(2098,"Icon for goto next editor location.")),T.L.modify(R.W.sync,"spin"),T.L.modify(R.W.loading,"spin")},11608:(St,We,e)=>{e.d(We,{GP:()=>y,LM:()=>x,Uv:()=>g,nt:()=>T,qL:()=>A});var v=e(13338),R=e(16844);class x{constructor(b,C,u,i){this._viewportBrand=void 0,this.top=b|0,this.left=C|0,this.width=u|0,this.height=i|0}}class T{constructor(b,C){this.tabSize=b,this.data=C}}class y{constructor(b,C,u,i,r,d,l){this._viewLineDataBrand=void 0,this.content=b,this.continuesWithWrappedLine=C,this.minColumn=u,this.maxColumn=i,this.startVisibleColumn=r,this.tokens=d,this.inlineDecorations=l}}class A{constructor(b,C,u,i,r,d,l,o,c,a,p,_){this.minColumn=b,this.maxColumn=C,this.content=u,this.continuesWithWrappedLine=i,this.isBasicASCII=A.isBasicASCII(u,d),this.containsRTL=A.containsRTL(u,this.isBasicASCII,r),this.tokens=l,this.inlineDecorations=o,this.tabSize=c,this.startVisibleColumn=a,this.textDirection=p,this.hasVariableFonts=_}static isBasicASCII(b,C){return C?(0,R.aC)(b):!0}static containsRTL(b,C,u){return!C&&u?(0,R.E_)(b):!1}}class g{constructor(b,C,u){this.color=b,this.zIndex=C,this.data=u}static compareByRenderingProps(b,C){return b.zIndex===C.zIndex?b.color<C.color?-1:b.color>C.color?1:0:b.zIndex-C.zIndex}static equals(b,C){return b.color===C.color&&b.zIndex===C.zIndex&&(0,v.aI)(b.data,C.data)}static equalsArr(b,C){return(0,v.aI)(b,C,g.equals)}}},11950:(St,We,e)=>{e.d(We,{U:()=>L});var v=e(65958),R=e(78903),x=e(94327),T=e(50946),y=e(29849);class A{constructor(i,r,d){this.provider=i,this.hover=r,this.ordinal=d}}async function g(u,i,r,d,l){const o=await Promise.resolve(u.provideHover(r,d,l)).catch(x.M_);if(!(!o||!C(o)))return new A(u,o,i)}function L(u,i,r,d,l=!1){const c=u.ordered(i,l).map((a,p)=>g(a,p,i,r,d));
6return v.PQ.fromPromisesResolveOrder(c).coalesce()}async function b(u,i,r,d,l=!1){const o=[];for await(const c of L(u,i,r,d,l))o.push(c.hover);return o}(0,T.ke)("_executeHoverProvider",(u,i,r)=>{const d=u.get(y.u);return b(d.hoverProvider,i,r,R.XO.None)}),(0,T.ke)("_executeHoverProvider_recursive",(u,i,r)=>{const d=u.get(y.u);return b(d.hoverProvider,i,r,R.XO.None,!0)});function C(u){const i=typeof u.range<"u",r=typeof u.contents<"u"&&u.contents&&u.contents.length>0;return i&&r}},12060:(St,We,e)=>{e.d(We,{U:()=>u});var v=e(22344),R=e(27992),x=e(62992),T=e(88195),y=e(66726),A=e(82399),g=e(46441),L=e(13072),b=function(o,c,a,p){var _=arguments.length,E=_<3?c:p===null?p=Object.getOwnPropertyDescriptor(c,a):p,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(o,c,a,p);else for(var h=o.length-1;h>=0;h--)(S=o[h])&&(E=(_<3?S(E):_>3?S(c,a,E):S(c,a))||E);return _>3&&E&&Object.defineProperty(c,a,E),E},C=function(o,c){return function(a,p){c(a,p,o)}};const u=(0,A.u1)("ILanguageFeatureDebounceService");var i;(function(o){const c=new WeakMap;let a=0;function p(_){let E=c.get(_);return E===void 0&&(E=++a,c.set(_,E)),E}o.of=p})(i||(i={}));class r{constructor(c){this._default=c}get(c){return this._default}update(c,a){return this._default}default(){return this._default}}class d{constructor(c,a,p,_,E,S){this._logService=c,this._name=a,this._registry=p,this._default=_,this._min=E,this._max=S,this._cache=new R.qK(50,.7)}_key(c){return c.id+this._registry.all(c).reduce((a,p)=>(0,v.sN)(i.of(p),a),0)}get(c){const a=this._key(c),p=this._cache.get(a);return p?(0,x.qE)(p.value,this._min,this._max):this.default()}update(c,a){const p=this._key(c);let _=this._cache.get(p);_||(_=new x.mu(6),this._cache.set(p,_));const E=(0,x.qE)(_.update(a),this._min,this._max);return(0,L.v$)(c.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${c.uri.toString()} is ${E}ms`),E}_overall(){const c=new x.Uq;for(const[,a]of this._cache)c.update(a.value);return c.value}default(){const c=this._overall()|0||this._default;return(0,x.qE)(c,this._min,this._max)}}let l=class{constructor(c,a){this._logService=c,this._data=new Map,this._isDev=a.isExtensionDevelopment||!a.isBuilt}for(c,a,p){const _=p?.min??50,E=p?.max??_**2,S=p?.key??void 0,h=`${i.of(c)},${_}${S?","+S:""}`;let D=this._data.get(h);return D||(this._isDev?(this._logService.debug(`[DEBOUNCE: ${a}] is disabled in developed mode`),D=new r(_*1.5)):D=new d(this._logService,a,c,this._overallAverage()|0||_*1.5,_,E),this._data.set(h,D)),D}_overallAverage(){const c=new x.Uq;for(const a of this._data.values())c.update(a.default());return c.value}};l=b([C(0,g.rr),C(1,T.k)],l),(0,y.v)(u,l,1)},12111:(St,We,e)=>{e.d(We,{v:()=>y});var v=e(14333),R=e(61694),x=e(2106),T=e(10998);class y{get onDidWillResize(){return this._onDidWillResize.event}get onDidResize(){return this._onDidResize.event}constructor(){this._onDidWillResize=new x.vl,this._onDidResize=new x.vl,this._sashListener=new T.Cm,this._size=new v.fg(0,0),this._minSize=new v.fg(0,0),this._maxSize=new v.fg(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new R.m(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new R.m(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new R.m(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:R.B.North}),this._southSash=new R.m(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:R.B.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let g,L=0,b=0;this._sashListener.add(x.Jh.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{g===void 0&&(this._onDidWillResize.fire(),g=this._size,L=0,b=0)})),this._sashListener.add(x.Jh.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{g!==void 0&&(g=void 0,L=0,b=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(C=>{g&&(b=C.currentX-C.startX,this.layout(g.height+L,g.width+b),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(C=>{g&&(b=-(C.currentX-C.startX),this.layout(g.height+L,g.width+b),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(C=>{g&&(L=-(C.currentY-C.startY),this.layout(g.height+L,g.width+b),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}
6)),this._sashListener.add(this._southSash.onDidChange(C=>{g&&(L=C.currentY-C.startY,this.layout(g.height+L,g.width+b),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(x.Jh.any(this._eastSash.onDidReset,this._westSash.onDidReset)(C=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(x.Jh.any(this._northSash.onDidReset,this._southSash.onDidReset)(C=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(g,L,b,C){this._northSash.state=g?3:0,this._eastSash.state=L?3:0,this._southSash.state=b?3:0,this._westSash.state=C?3:0}layout(g=this.size.height,L=this.size.width){const{height:b,width:C}=this._minSize,{height:u,width:i}=this._maxSize;g=Math.max(b,Math.min(u,g)),L=Math.max(C,Math.min(i,L));const r=new v.fg(L,g);v.fg.equals(r,this._size)||(this.domNode.style.height=g+"px",this.domNode.style.width=L+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(g){this._maxSize=g}get maxSize(){return this._maxSize}set minSize(g){this._minSize=g}get minSize(){return this._minSize}set preferredSize(g){this._preferredSize=g}get preferredSize(){return this._preferredSize}}},12596:(St,We,e)=>{e.d(We,{_:()=>v});const v={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"}},13021:(St,We,e)=>{e.d(We,{H:()=>x});var v=e(94327),R=e(55893);function x(T,y){const A=(0,R.HT)();if(A?.createTrustedTypesPolicy)try{return A.createTrustedTypesPolicy(T,y)}catch(g){(0,v.dz)(g);return}try{return globalThis.trustedTypes?.createPolicy(T,y)}catch(g){(0,v.dz)(g);return}}},13034:(St,We,e)=>{e.d(We,{J7:()=>g,W0:()=>y,aV:()=>A,nd:()=>T});var v=e(63339),R=e(3765),x=e(31540);new x.N1("isMac",v.zx,(0,R.kg)(1746,"Whether the operating system is macOS")),new x.N1("isLinux",v.j9,(0,R.kg)(1747,"Whether the operating system is Linux"));const T=new x.N1("isWindows",v.uF,(0,R.kg)(1748,"Whether the operating system is Windows")),y=new x.N1("isWeb",v.HZ,(0,R.kg)(1749,"Whether the platform is a web browser"));new x.N1("isMacNative",v.zx&&!v.HZ,(0,R.kg)(1750,"Whether the operating system is macOS on a non-browser platform")),new x.N1("isIOS",v.un,(0,R.kg)(1751,"Whether the operating system is iOS")),new x.N1("isMobile",v.Fr,(0,R.kg)(1752,"Whether the platform is a mobile web browser")),new x.N1("isDevelopment",!1,!0),new x.N1("productQualityType","",(0,R.kg)(1753,"Quality type of VS Code"));const A="inputFocus",g=new x.N1(A,!1,(0,R.kg)(1754,"Whether keyboard focus is inside an input box"))},13072:(St,We,e)=>{e.d(We,{Ez:()=>u,SJ:()=>o,dy:()=>i,fV:()=>L,ny:()=>A,v$:()=>g,zl:()=>l});var v=e(94327),R=e(63339),x=e(16844),T=e(37264),y=e(18019),A;(function(a){a.inMemory="inmemory",a.vscode="vscode",a.internal="private",a.walkThrough="walkThrough",a.walkThroughSnippet="walkThroughSnippet",a.http="http",a.https="https",a.file="file",a.mailto="mailto",a.untitled="untitled",a.data="data",a.command="command",a.vscodeRemote="vscode-remote",a.vscodeRemoteResource="vscode-remote-resource",a.vscodeManagedRemoteResource="vscode-managed-remote-resource",a.vscodeUserData="vscode-userdata",a.vscodeCustomEditor="vscode-custom-editor",a.vscodeNotebookCell="vscode-notebook-cell",a.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",a.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",a.vscodeNotebookCellOutput="vscode-notebook-cell-output",a.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",a.vscodeNotebookMetadata="vscode-notebook-metadata",a.vscodeInteractiveInput="vscode-interactive-input",a.vscodeSettings="vscode-settings",a.vscodeWorkspaceTrust="vscode-workspace-trust",a.vscodeTerminal="vscode-terminal",a.vscodeImageCarousel="vscode-image-carousel",a.vscodeChatCodeBlock="vscode-chat-code-block",a.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",a.vscodeChatEditor="vscode-chat-editor",a.vscodeChatInput="chatSessionInput",a.vscodeLocalChatSession="vscode-chat-session",a.webviewPanel="webview-panel",a.vscodeWebview="vscode-webview",a.vscodeBrowser="vscode-browser",a.extension="extension",a.vscodeFileResource="vscode-file",a.tmp="tmp",a.vsls="vsls",a.vscodeSourceControl="vscode-scm",a.commentsInput="comment",a.codeSetting="code-setting",a.outputChannel="output",a.accessibleView="accessible-view",a.chatEditingSnapshotScheme="chat-editing-snapsh
6ot-text-model",a.chatEditingModel="chat-editing-text-model",a.copilotPr="copilot-pr"})(A||(A={}));function g(a,p){return T.r.isUri(a)?(0,x.Q_)(a.scheme,p):(0,x.ns)(a,p+":")}function L(a,...p){return p.some(_=>g(a,_))}const b="tkn";class C{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(p){this._preferredWebSchema=p}get _remoteResourcesPath(){return y.SA.join(this._serverRootPath,A.vscodeRemoteResource)}rewrite(p){if(this._delegate)try{return this._delegate(p)}catch(k){return(0,v.M_)(k),p}const _=p.authority;let E=this._hosts[_];E&&E.indexOf(":")!==-1&&E.indexOf("[")===-1&&(E=`[${E}]`);const S=this._ports[_],h=this._connectionTokens[_];let D=`path=${encodeURIComponent(p.path)}`;return typeof h=="string"&&(D+=`&${b}=${encodeURIComponent(h)}`),T.r.from({scheme:R.HZ?this._preferredWebSchema:A.vscodeRemoteResource,authority:`${E}:${S}`,path:this._remoteResourcesPath,query:D})}}const u=new C,i="vs/../../node_modules",r="vscode-app",c=class c{asBrowserUri(p){const _=this.toUri(p);return this.uriToBrowserUri(_)}uriToBrowserUri(p){return p.scheme===A.vscodeRemote?u.rewrite(p):p.scheme===A.file&&(R.ib||R.lg===`${A.vscodeFileResource}://${c.FALLBACK_AUTHORITY}`)?p.with({scheme:A.vscodeFileResource,authority:p.authority||c.FALLBACK_AUTHORITY,query:null,fragment:null}):p}toUri(p){if(T.r.isUri(p))return p;if(globalThis._VSCODE_FILE_ROOT){const _=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(_))return T.r.joinPath(T.r.parse(_,!0),p);const E=(0,y.fj)(_,p);return T.r.file(E)}throw new Error("Cannot determine URI for module id!")}};c.FALLBACK_AUTHORITY=r;let d=c;const l=new d;var o;(function(a){const p=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);a.CoopAndCoep=Object.freeze(p.get("3"));const _="vscode-coi";function E(h){let D;typeof h=="string"?D=new URL(h).searchParams:h instanceof URL?D=h.searchParams:T.r.isUri(h)&&(D=new URL(h.toString(!0)).searchParams);const k=D?.get(_);if(k)return p.get(k)}a.getHeadersFromQuery=E;function S(h,D,k){if(!globalThis.crossOriginIsolated)return;const N=D&&k?"3":k?"2":"1";h instanceof URLSearchParams?h.set(_,N):h[_]=N}a.addSearchParam=S})(o||(o={}))},13338:(St,We,e)=>{e.d(We,{$z:()=>g,Ct:()=>r,E4:()=>_,EI:()=>d,El:()=>T,Hw:()=>ne,RT:()=>v,SK:()=>i,SO:()=>A,TS:()=>te,U9:()=>$,UH:()=>x,Uw:()=>y,V4:()=>D,VE:()=>W,Yc:()=>u,Zb:()=>E,_A:()=>a,_j:()=>S,aI:()=>R,c1:()=>H,cz:()=>X,dM:()=>l,j3:()=>I,kj:()=>C,n:()=>L,nH:()=>U,nK:()=>c,pN:()=>b,r7:()=>p,t9:()=>Z,v1:()=>V,y1:()=>o});function v(Y){if(Y.length===0)throw new Error("Invalid tail call");return[Y.slice(0,Y.length-1),Y[Y.length-1]]}function R(Y,j,z=(ie,re)=>ie===re){if(Y===j)return!0;if(!Y||!j||Y.length!==j.length)return!1;for(let ie=0,re=Y.length;ie<re;ie++)if(!z(Y[ie],j[ie]))return!1;return!0}function x(Y,j){const z=Y.length-1;j<z&&(Y[j]=Y[z]),Y.pop()}function T(Y,j,z){return y(Y.length,ie=>z(Y[ie],j))}function y(Y,j){let z=0,ie=Y-1;for(;z<=ie;){const re=(z+ie)/2|0,de=j(re);if(de<0)z=re+1;else if(de>0)ie=re-1;else return re}return-(z+1)}function A(Y,j,z){if(Y=Y|0,Y>=j.length)throw new TypeError("invalid index");const ie=j[Math.floor(j.length*Math.random())],re=[],de=[],le=[];for(const he of j){const we=z(he,ie);we<0?re.push(he):we>0?de.push(he):le.push(he)}return Y<re.length?A(Y,re,z):Y<re.length+le.length?le[0]:A(Y-(re.length+le.length),de,z)}function g(Y,j){const z=[];let ie;for(const re of Y.slice(0).sort(j))!ie||j(ie[0],re)!==0?(ie=[re],z.push(ie)):ie.push(re);return z}function*L(Y,j){let z,ie;for(const re of Y)ie!==void 0&&j(ie,re)?z.push(re):(z&&(yield z),z=[re]),ie=re;z&&(yield z)}function b(Y,j){for(let z=0;z<=Y.length;z++)j(z===0?void 0:Y[z-1],z===Y.length?void 0:Y[z])}function C(Y,j){for(let z=0;z<Y.length;z++)j(z===0?void 0:Y[z-1],Y[z],z+1===Y.length?void 0:Y[z+1])}function u(Y){return Y.filter(j=>!!j)}function i(Y){let j=0;for(let z=0;z<Y.length;z++)Y[z]&&(Y[j]=Y[z],j+=1);Y.length=j}function r(Y){return!Array.isArray(Y)||Y.length===0}function d(Y){return Array.isArray(Y)&&Y.length>0}function l(Y,j=z=>z){const z=new Set;return Y.filter(ie=>{const re=j(ie);return z.has(re)?!1:(z.add(re),!0)})}function o(Y,j){let z=typeof j=="number"?Y:0;typeof j=="number"?z=Y:(z=0,j=Y);const ie=[];if(z<=j)for(let re=z;re<j;re++)ie.push(re);else for(let re=z;re>j;re--)ie.push(re);return ie}function c(Y,j,z){const ie=Y.slice(0,j),re=Y.slice(j);return ie.concat(z,re)}function a(Y,j){const z=Y.indexOf(j);z>-1&&(Y.splice(z,1),Y.unshift(j))}function p(Y,j){const z=Y.indexOf(j);z>-1&&(Y.splice(z,1),Y.push(j))}function _(Y,j){for(const z of j)Y.push(z)}function E(Y,j){const z=[];for(const ie of Y){const re=j(ie);re!==void 0&&z.push(re)}return z}function S(Y){return Array.isArray(Y)?Y:[Y]}function h(Y,j,z){const ie=k(Y,j),re=Y.length,de=z.length;
6Y.length=re+de;for(let le=re-1;le>=ie;le--)Y[le+de]=Y[le];for(let le=0;le<de;le++)Y[le+ie]=z[le]}function D(Y,j,z,ie){const re=k(Y,j);let de=Y.splice(re,z);return de===void 0&&(de=[]),h(Y,re,ie),de}function k(Y,j){return j<0?Math.max(j+Y.length,0):Math.min(j,Y.length)}var N;(function(Y){function j(de){return de<0}Y.isLessThan=j;function z(de){return de<=0}Y.isLessThanOrEqual=z;function ie(de){return de>0}Y.isGreaterThan=ie;function re(de){return de===0}Y.isNeitherLessOrGreaterThan=re,Y.greaterThan=1,Y.lessThan=-1,Y.neitherLessOrGreaterThan=0})(N||(N={}));function W(Y,j){return(z,ie)=>j(Y(z),Y(ie))}function U(...Y){return(j,z)=>{for(const ie of Y){const re=ie(j,z);if(!N.isNeitherLessOrGreaterThan(re))return re}return N.neitherLessOrGreaterThan}}const $=(Y,j)=>Y-j,te=(Y,j)=>$(Y?1:0,j?1:0);function ne(Y){return(j,z)=>-Y(j,z)}function V(Y){return(j,z)=>j===void 0?z===void 0?N.neitherLessOrGreaterThan:N.lessThan:z===void 0?N.greaterThan:Y(j,z)}class I{constructor(j){this.firstIdx=0,this.items=j,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(j){let z=this.firstIdx;for(;z<this.items.length&&j(this.items[z]);)z++;const ie=z===this.firstIdx?null:this.items.slice(this.firstIdx,z);return this.firstIdx=z,ie}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const j=this.items[this.firstIdx];return this.firstIdx++,j}takeCount(j){const z=this.items.slice(this.firstIdx,this.firstIdx+j);return this.firstIdx+=j,z}}const G=class G{constructor(j){this.iterate=j}toArray(){const j=[];return this.iterate(z=>(j.push(z),!0)),j}filter(j){return new G(z=>this.iterate(ie=>j(ie)?z(ie):!0))}map(j){return new G(z=>this.iterate(ie=>z(j(ie))))}findLast(j){let z;return this.iterate(ie=>(j(ie)&&(z=ie),!0)),z}findLastMaxBy(j){let z,ie=!0;return this.iterate(re=>((ie||N.isGreaterThan(j(re,z)))&&(ie=!1,z=re),!0)),z}};G.empty=new G(j=>{});let H=G;class Z{constructor(j){this._indexMap=j}static createSortPermutation(j,z){const ie=Array.from(j.keys()).sort((re,de)=>z(j[re],j[de]));return new Z(ie)}apply(j){return j.map((z,ie)=>j[this._indexMap[ie]])}inverse(){const j=this._indexMap.slice();for(let z=0;z<this._indexMap.length;z++)j[this._indexMap[z]]=z;return new Z(j)}}function X(Y){return Y.reduce((j,z)=>j+z,0)}},13454:(St,We,e)=>{e.d(We,{l:()=>b});var v=e(39587),R=e(69887),x=e(53720),T=e(37264),y=e(91860);function A(C){const u=new R.Vq;for(const i of C.items){const r=i.type;if(i.kind==="string"){const d=new Promise(l=>i.getAsString(l));u.append(r,(0,R.gf)(d))}else if(i.kind==="file"){const d=i.getAsFile();d&&u.append(r,g(d))}}return u}function g(C){const u=(0,y.l0)(C),i=u?T.r.parse(u):void 0;return(0,R.VX)(C.name,i,async()=>new Uint8Array(await C.arrayBuffer()))}const L=Object.freeze([y.sV.EDITORS,y.sV.FILES,v.t.RESOURCES,v.t.INTERNAL_URI_LIST]);function b(C,u=!1){const i=A(C),r=i.get(v.t.INTERNAL_URI_LIST);if(r)i.replace(x.K.uriList,r);else if(u||!i.has(x.K.uriList)){const d=[];for(const l of C.items){const o=l.getAsFile();if(o){const c=(0,y.l0)(o);try{c?d.push(T.r.file(c).toString()):d.push(T.r.parse(o.name,!0).toString())}catch{}}}d.length&&i.replace(x.K.uriList,(0,R.gf)(R.jt.create(d)))}
6for(const d of L)i.delete(d);return i}},13784:(St,We,e)=>{e.d(We,{RW:()=>ne,l9:()=>H,mq:()=>Z});var v=e(14333),R=e(13338),x=e(65958),T=e(5915),y=e(10998),A=e(73678),g=e(58881),L=e(79359),b=e(25837),C=e(36811),u=e(62789),i=e(27969),r=e(63339),d=e(3765),l=e(28061);function o(X){const{domNode:G,renderLinesResult:Y,diffEntry:j,originalModel:z,clipboardService:ie}=X,re=new y.Cm;return re.add((0,v.ko)(G,"copy",de=>{de.preventDefault();const le=G.ownerDocument.getSelection();if(!le||le.rangeCount===0)return;const he=le.getRangeAt(0);if(!he||he.collapsed)return;const we=he.startContainer.nodeType===Node.TEXT_NODE?he.startContainer.parentElement:he.startContainer,xe=he.endContainer.nodeType===Node.TEXT_NODE?he.endContainer.parentElement:he.endContainer;if(!we||!xe)return;const Be=Y.getModelPositionAt(we,he.startOffset),M=Y.getModelPositionAt(xe,he.endOffset);if(!Be||!M)return;const Ve=Be.delta(j.original.startLineNumber-1),Me=M.delta(j.original.startLineNumber-1),Le=Me.isBefore(Ve)?l.Q.fromPositions(Me,Ve):l.Q.fromPositions(Ve,Me),_e=z.getValueInRange(Le);ie.writeText(_e)})),re}class c extends y.jG{get visibility(){return this._visibility}set visibility(G){this._visibility!==G&&(this._visibility=G,this._diffActions.style.visibility=G?"visible":"hidden")}constructor(G,Y,j,z,ie,re,de,le,he,we){super(),this._getViewZoneId=G,this._marginDomNode=Y,this._deletedCodeDomNode=j,this._modifiedEditor=z,this._diff=ie,this._editor=re,this._renderLinesResult=de,this._originalTextModel=le,this._contextMenuService=he,this._clipboardService=we,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=g.L.asClassName(T.W.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";const xe=this._modifiedEditor.getOption(75);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${xe}px`,this._diffActions.style.lineHeight=`${xe}px`,this._marginDomNode.appendChild(this._diffActions);let Be=0;const M=z.getOption(144)&&!r.un,Ve=(Me,Le,_e)=>{this._contextMenuService.showContextMenu({domForShadowRoot:M?z.getDomNode()??void 0:void 0,getAnchor:()=>Me,onHide:_e,getActions:()=>{const Qe=[],je=ie.modified.isEmpty;return Qe.push(new i.rc("diff.clipboard.copyDeletedContent",je?ie.original.length>1?(0,d.kg)(128,"Copy deleted lines"):(0,d.kg)(129,"Copy deleted line"):ie.original.length>1?(0,d.kg)(130,"Copy changed lines"):(0,d.kg)(131,"Copy changed line"),void 0,!0,async()=>{const Ee=this._originalTextModel.getValueInRange(ie.original.toExclusiveRange());await this._clipboardService.writeText(Ee)})),ie.original.length>1&&Qe.push(new i.rc("diff.clipboard.copyDeletedLineContent",je?(0,d.kg)(132,"Copy deleted line ({0})",ie.original.startLineNumber+Be):(0,d.kg)(133,"Copy changed line ({0})",ie.original.startLineNumber+Be),void 0,!0,async()=>{let Ee=this._originalTextModel.getLineContent(ie.original.startLineNumber+Be);Ee===""&&(Ee=this._originalTextModel.getEndOfLineSequence()===0?`
7`:`\r
8`),await this._clipboardService.writeText(Ee)})),z.getOption(104)||Qe.push(new i.rc("diff.inline.revertChange",(0,d.kg)(134,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),Qe},autoSelectFirstItem:!0})};this._register((0,v.un)(this._diffActions,"mousedown",Me=>{if(!Me.leftButton)return;const{top:Le,height:_e}=(0,v.BK)(this._diffActions),Qe=Math.floor(xe/3);Me.preventDefault(),Ve({x:Me.posx,y:Le+_e+Qe})})),this._register(z.onMouseMove(Me=>{(Me.target.type===8||Me.target.type===5)&&Me.target.detail.viewZoneId===this._getViewZoneId()?(Be=this._updateLightBulbPosition(this._marginDomNode,Me.event.browserEvent.y,xe),this.visibility=!0):this.visibility=!1})),this._register(o({domNode:this._deletedCodeDomNode,diffEntry:ie,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:we}))}_updateLightBulbPosition(G,Y,j){const{top:z}=(0,v.BK)(G),ie=Y-z,re=Math.floor(ie/j),de=re*j;if(this._diffActions.style.top=`${de}px`,this._renderLinesResult.viewLineCounts){let le=0;for(let he=0;he<this._renderLinesResult.viewLineCounts.length;he++)if(le+=this._renderLinesResult.viewLineCounts[he],re<le)return he}return re}}var a=e(97328),p=e(2744),_=e(80816),E=e(15365),S=e(3338),h=e(52348),D=e(41683),k=e(96016),N=e(46933),W=e(99859),U=e(47936),$=function(X,G,Y,j){var z=arguments.length,ie=z<3?G:j===null?j=Object.getOwnPropertyDescriptor(G,Y):j,re;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ie=Reflect.decorate(X,G,Y,j);else for(var de=X.length-1;de>=0;de--)(re=X[de])&&(ie=(z<3?re(ie):z>3?re(G,Y,ie):re(G,Y))||ie);return z>3&&ie&&Object.defineProperty(G,Y,ie),ie},te=function(X,G){return function(Y,j){G(Y,j,X)}};let ne=class extends y.jG{constructor(G,Y,j,z,ie,re,de,le,he,we){super(),this._targetWindow=G,this._editors=Y,this._diffModel=j,this._options=z,this._diffEditorWidget=ie,this._canIgnoreViewZoneUpdateEvent=re,this._origViewZonesToIgnore=de,this._modViewZonesToIgnore=le,this._clipboardService=he,this._contextMenuService=we,this._originalTopPadding=(0,k.FY)(this,0),this._originalScrollOffset=(0,k.FY)(this,0),this._originalScrollOffsetAnimated=(0,p.Nu)(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=(0,k.FY)(this,0),this._modifiedScrollOffset=(0,k.FY)(this,0),this._modifiedScrollOffsetAnimated=(0,p.Nu)(this._targetWindow,this._modifiedScrollOffset,this._store);const xe=(0,k.FY)("invalidateAlignmentsState",0),Be=this._register(new x.uC(()=>{xe.set(xe.get()+1,void 0)}
8,0));this._register(this._editors.original.onDidChangeViewZones(je=>{this._canIgnoreViewZoneUpdateEvent()||Be.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(je=>{this._canIgnoreViewZoneUpdateEvent()||Be.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(je=>{(je.hasChanged(166)||je.hasChanged(75))&&Be.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(je=>{(je.hasChanged(166)||je.hasChanged(75))&&Be.schedule()}));const M=this._diffModel.map(je=>je?(0,N.y0)(this,je.model.original.onDidChangeTokens,()=>je.model.original.tokenization.backgroundTokenizationState===2):void 0).map((je,ae)=>je?.read(ae)),Ve=(0,W.un)(je=>{const ae=this._diffModel.read(je),Ee=ae?.diff.read(je);if(!ae||!Ee)return null;xe.read(je);const Ue=this._options.renderSideBySide.read(je);return V(this._editors.original,this._editors.modified,Ee.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,Ue)}),Me=(0,W.un)(je=>{const ae=this._diffModel.read(je)?.movedTextToCompare.read(je);if(!ae)return null;xe.read(je);const Ee=ae.changes.map(Ie=>new u.Yl(Ie));return V(this._editors.original,this._editors.modified,Ee,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function Le(){const je=document.createElement("div");return je.className="diagonal-fill",je}const _e=this._register(new y.Cm);this.viewZones=(0,W.un)(this,je=>{_e.clear();const ae=Ve.read(je)||[],Ee=[],Ie=[],Ue=this._modifiedTopPadding.read(je);Ue>0&&Ie.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:Ue,showInHiddenAreas:!0,suppressMouseDown:!0});const $e=this._originalTopPadding.read(je);$e>0&&Ee.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:$e,showInHiddenAreas:!0,suppressMouseDown:!0});const Ye=this._options.renderSideBySide.read(je),Ce={getLineContent:ve=>this._editors.original.getModel().getLineContent(ve),getLineInjectedText:ve=>null},He=Ye?void 0:this._editors.modified._getViewModel()?.createLineBreaksComputer(Ce);if(He){const ve=this._editors.original.getModel();for(const De of ae)if(De.diff)for(let fe=De.originalRange.startLineNumber;fe<De.originalRange.endLineNumberExclusive;fe++){if(fe>ve.getLineCount())return{orig:Ee,mod:Ie};He?.addRequest(fe,null)}}const Ke=He?.finalize()??[];let qe=0;const ht=this._editors.modified.getOption(75),Te=this._diffModel.read(je)?.movedTextToCompare.read(je),oe=this._editors.original.getModel()?.mightContainNonBasicASCII()??!1,q=this._editors.original.getModel()?.mightContainRTL()??!1,ue=a.bX.fromEditor(this._editors.modified);for(const ve of ae)if(ve.diff&&!Ye&&(!this._options.useTrueInlineDiffRendering.read(je)||!H(ve.diff))){if(!ve.originalRange.isEmpty){M.read(je);const fe=document.createElement("div");fe.classList.add("view-lines","line-delete","line-delete-selectable","monaco-mouse-cursor-text");const Se=this._editors.original.getModel();if(ve.originalRange.endLineNumberExclusive-1>Se.getLineCount())return{orig:Ee,mod:Ie};const pe=new a.On(ve.originalRange.mapToLineArray(Bt=>Se.tokenization.getLineTokens(Bt)),ve.originalRange.mapToLineArray(Bt=>Ke[qe++]),oe,q),Ae=[];for(const Bt of ve.diff.innerChanges||[])Ae.push(new D.kI(Bt.originalRange.delta(-(ve.diff.original.startLineNumber-1)),C.Zb.className,0));const Xe=(0,a.ET)(pe,ue,Ae,fe),dt=document.createElement("div");if(dt.className="inline-deleted-margin-view-zone",(0,b.M)(dt,ue.fontInfo),this._options.renderIndicators.read(je))for(let Bt=0;Bt<Xe.heightInLines;Bt++){const _t=document.createElement("div");_t.className=`delete-sign ${g.L.asClassName(C.dv)}`,_t.setAttribute("style",`position:absolute;top:${Bt*ht}px;width:${ue.lineDecorationsWidth}px;height:${ht}px;right:0;`),dt.appendChild(_t)}let gt;_e.add(new c(()=>(0,L.ni)(gt),dt,fe,this._editors.modified,ve.diff,this._diffEditorWidget,Xe,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let Bt=0;Bt<Xe.viewLineCounts.length;Bt++){const _t=Xe.viewLineCounts[Bt];_t>1&&Ee.push({afterLineNumber:ve.originalRange.startLineNumber+Bt,domNode:Le(),heightInPx:(_t-1)*ht,showInHiddenAreas:!0,suppressMouseDown:!0})}Ie.push({afterLineNumber:ve.modifiedRange.startLineNumber-1,domNode:fe,heightInPx:Xe.heightInLines*ht,minWidthInPx:Xe.minWidthInPx,marginDomNode:dt,setZoneId(Bt){gt=Bt},showInHiddenAreas:!0,suppressMouseDown:!1})}const De=document.createElement("div");De.className="gutter-delete",Ee.push({afterLineNumber:ve.originalRange.endLineNumberExclusive-1,domNode:Le(),heightInPx:ve.modifiedHeightInPx,marginDomNode:De,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const De=ve.modifiedHeightInPx-ve.originalHeightInPx;if(De>0){if(Te?.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ve.originalRange.endLineNumberExclusive-1))continue;Ee.push({afterLineNumber:ve.originalRange.endLineNumberExclusive-1,domNode:Le(),heightInPx:De,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let fe=function(){const pe=document.createElement("div");return pe.className="arrow-revert-change "+g.L.asClassName(T.W.arrowRight),je.store.add((0,v.ko)(pe,"mousedown",Ae=>Ae.stopPropagation())),je.store.add((0,v.ko)(pe,"click",Ae=>{Ae.stopPropagation(),ie.revert(ve.diff)})),(0,v.$)("div",{},pe)};var J=fe;if(Te?.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ve.modifiedRange.endLineNumberExclusive-1))continue;let Se;ve.diff&&ve.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(je)&&(Se=fe()),Ie.push({afterLineNumber:ve.modifiedRange.endLineNumberExclusive-1,domNode:Le(),heightInPx:-De,marginDomNode:Se,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ve of Me.read(je)??[]){if(!Te?.lineRangeMapping.original.intersect(ve.originalRange)||!Te?.lineRangeMapping.modified.intersect(ve.modifiedRange))continue;const De=ve.modifiedHeightInPx-ve.originalHeightInPx;De>0?Ee.push({afterLineNumber:ve.originalRange.endLineNumberExclusive-1,domNode:Le(),heightInPx:De,showInHiddenAreas:!0,suppressMouseDown:!0}):Ie.push({afterLineNumber:ve.modifiedRange.endLineNumberExclusive-1,domNode:Le(),heightInPx:-De,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:Ee,mod:Ie}});let Qe=!1;this._register(this._editors.original.onDidScrollChange(je=>{je.scrollLeftChanged&&!Qe&&(Qe=!0,this._editors.modified.setScrollLeft(je.scrollLeft),Qe=!1)})),this._register(this._editors.modified.onDidScrollChange(je=>{je.scrollLeftChanged&&!Qe&&(Qe=!0,this._editors.original.setScrollLeft(je.scrollLeft),Qe=!1)})),this._originalScrollTop=(0,N.y0)(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,N.y0)(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register((0,U.fm)(je=>{const ae=this._originalScrollTop.read(je)-(this._originalScrollOffsetAnimated.read(void 0)-this._modifiedScrollOffsetAnimated.read(je))-(this._originalTopPadding.read(void 0)-this._modifiedTopPadding.read(je));ae!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(ae,1)})),this._register((0,U.fm)(je=>{const ae=this._modifiedScrollTop.read(je)-(this._modifiedScrollOffsetAnimated.read(void 0)-this._originalScrollOffsetAnimated.read(je))-(this._modifiedTopPadding.read(void 0)-this._originalTopPadding.read(je));ae!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(ae,1)})),this._register((0,U.fm)(je=>{const ae=this._diffModel.read(je)?.movedTextToCompare.read(je);let Ee=0;if(ae){const Ie=this._editors.original.getTopForLineNumber(ae.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.read(void 0);Ee=this._editors.modified.getTopForLineNumber(ae.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.read(void 0)-Ie}Ee>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(Ee,void 0)):Ee<0?(this._modifiedTopPadding.set(-Ee,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.read(void 0)-Ee,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.read(void 0)+Ee,void 0,!0)}))}};ne=$([te(8,S.h),te(9,h.Z)],ne);function V(X,G,Y,j,z,ie){const re=new R.j3(I(X,j)),de=new R.j3(I(G,z)),le=X.getOption(75),he=G.getOption(75),we=[];let xe=0,Be=0;function M(Me,Le){for(;;){let _e=re.peek(),Qe=de.peek();if(_e&&_e.lineNumber>=Me&&(_e=void 0),Qe&&Qe.lineNumber>=Le&&(Qe=void 0),!_e&&!Qe)break;const je=_e?_e.lineNumber-xe:Number.MAX_VALUE,ae=Qe?Qe.lineNumber-Be:Number.MAX_VALUE;je<ae?(re.dequeue(),Qe={lineNumber:_e.lineNumber-xe+Be,heightInPx:0}):je>ae?(de.dequeue(),_e={lineNumber:Qe.lineNumber-Be+xe,heightInPx:0}):(re.dequeue(),de.dequeue()),we.push({originalRange:_.M.ofLength(_e.lineNumber,1),modifiedRange:_.M.ofLength(Qe.lineNumber,1),originalHeightInPx:le+_e.heightInPx,modifiedHeightInPx:he+Qe.heightInPx,diff:void 0})}}for(const Me of Y){let ae=function(Ee,Ie,Ue=!1){if(Ee<je||Ie<Qe)return;if(_e)_e=!1;else if(!Ue&&(Ee===je||Ie===Qe))return;const $e=new _.M(je,Ee),Ye=new _.M(Qe,Ie);if($e.isEmpty&&Ye.isEmpty)return;const Ce=re.takeWhile(Ke=>Ke.lineNumber<Ee)?.reduce((Ke,qe)=>Ke+qe.heightInPx,0)??0,He=de.takeWhile(Ke=>Ke.lineNumber<Ie)?.reduce((Ke,qe)=>Ke+qe.heightInPx,0)??0;we.push({originalRange:$e,modifiedRange:Ye,originalHeightInPx:$e.length*le+Ce,modifiedHeightInPx:Ye.length*he+He,diff:Me.lineRangeMapping}),je=Ee,Qe=Ie};var Ve=ae;const Le=Me.lineRangeMapping;M(Le.original.startLineNumber,Le.modified.startLineNumber);let _e=!0,Qe=Le.modified.startLineNumber,je=Le.original.startLineNumber;if(ie)for(const Ee of Le.innerChanges||[]){Ee.originalRange.startColumn>1&&Ee.modifiedRange.startColumn>1&&ae(Ee.originalRange.startLineNumber,Ee.modifiedRange.startLineNumber);const Ie=X.getModel(),Ue=Ee.originalRange.endLineNumber<=Ie.getLineCount()?Ie.getLineMaxColumn(Ee.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;Ee.originalRange.endColumn<Ue&&ae(Ee.originalRange.endLineNumber,Ee.modifiedRange.endLineNumber)}ae(Le.original.endLineNumberExclusive,Le.modified.endLineNumberExclusive,!0),xe=Le.original.endLineNumberExclusive,Be=Le.modified.endLineNumberExclusive}return M(Number.MAX_VALUE,Number.MAX_VALUE),we}function I(X,G){const Y=[],j=[],z=X.getOption(166).wrappingColumn!==-1,ie=X._getViewModel().coordinatesConverter,re=X.getOption(75);if(z)for(let le=1;le<=X.getModel().getLineCount();le++){const he=ie.getModelLineViewLineCount(le);he>1&&j.push({lineNumber:le,heightInPx:re*(he-1)})}
8for(const le of X.getWhitespaces()){if(G.has(le.id))continue;const he=le.afterLineNumber===0?0:ie.convertViewPositionToModelPosition(new E.y(le.afterLineNumber,1)).lineNumber;Y.push({lineNumber:he,heightInPx:le.height})}return(0,p.Am)(Y,j,le=>le.lineNumber,(le,he)=>({lineNumber:le.lineNumber,heightInPx:le.heightInPx+he.heightInPx}))}function H(X){return X.innerChanges?X.innerChanges.every(G=>Z(G.modifiedRange)&&Z(G.originalRange)||G.originalRange.equalsRange(new l.Q(1,1,1,1))):!1}function Z(X){return X.startLineNumber===X.endLineNumber}},13966:St=>{St.exports={}},14270:(St,We,e)=>{e.d(We,{eH:()=>$,fm:()=>H,xJ:()=>ne});var v=e(14333),R=e(13338),x=e(78903),T=e(90028),y=e(10998),A=e(52265),g=e(78166),L=e(28061),b=e(46311),C=e(3765),u=e(85753),i=e(29849),r=e(47317),d=e(11210),l=e(5915),o=e(58881),c=e(94327),a=e(56071),p=e(82222),_=e(90428),E=e(65958),S=e(11950),h=e(82096),D=function(G,Y,j,z){var ie=arguments.length,re=ie<3?Y:z===null?z=Object.getOwnPropertyDescriptor(Y,j):z,de;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")re=Reflect.decorate(G,Y,j,z);else for(var le=G.length-1;le>=0;le--)(de=G[le])&&(re=(ie<3?de(re):ie>3?de(Y,j,re):de(Y,j))||re);return ie>3&&re&&Object.defineProperty(Y,j,re),re},k=function(G,Y){return function(j,z){Y(j,z,G)}};const N=v.$,W=(0,d.pU)("hover-increase-verbosity",l.W.addSmall,(0,C.kg)(1173,"Icon for increaseing hover verbosity.")),U=(0,d.pU)("hover-decrease-verbosity",l.W.removeSmall,(0,C.kg)(1174,"Icon for decreasing hover verbosity."));class ${constructor(Y,j,z,ie,re,de=void 0){this.owner=Y,this.range=j,this.contents=z,this.isBeforeContent=ie,this.ordinal=re,this.source=de}isValidForHoverAnchor(Y){return Y.type===1&&this.range.startColumn<=Y.range.startColumn&&this.range.endColumn>=Y.range.endColumn}}class te{constructor(Y,j,z){this.hover=Y,this.hoverProvider=j,this.hoverPosition=z}supportsVerbosityAction(Y){switch(Y){case r.M$.Increase:return this.hover.canIncreaseVerbosity??!1;case r.M$.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let ne=class{constructor(Y,j,z,ie,re,de,le){this._editor=Y,this._markdownRendererService=j,this._configurationService=z,this._languageFeaturesService=ie,this._keybindingService=re,this._hoverService=de,this._commandService=le,this.hoverOrdinal=3}createLoadingMessage(Y){return new $(this,Y.range,[new T.Bc().appendText((0,C.kg)(1175,"Loading..."))],!1,2e3)}computeSync(Y,j){if(!this._editor.hasModel()||Y.type!==1)return[];const z=this._editor.getModel(),ie=Y.range.startLineNumber,re=z.getLineMaxColumn(ie),de=[];let le=1e3;const he=z.getLineLength(ie),we=z.getLanguageIdAtPosition(Y.range.startLineNumber,Y.range.startColumn),xe=this._editor.getOption(133),Be=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:we}),M=this._editor.getOption(69).showLongLineWarning;let Ve=!1;xe>=0&&he>xe&&Y.range.startColumn>=xe&&(Ve=!0,M&&de.push(new $(this,Y.range,[{value:(0,C.kg)(1176,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`. [Don't Show Again](command:{0})",g.CM),isTrusted:!0}],!1,le++))),!Ve&&typeof Be=="number"&&he>=Be&&M&&de.push(new $(this,Y.range,[{value:(0,C.kg)(1177,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`. [Don't Show Again](command:{0})",g.CM),isTrusted:!0}],!1,le++));let Me=!1;for(const Le of j){const _e=Le.range.startLineNumber===ie?Le.range.startColumn:1,Qe=Le.range.endLineNumber===ie?Le.range.endColumn:re,je=Le.options.hoverMessage;if(!je||(0,T.it)(je))continue;Le.options.beforeContentClassName&&(Me=!0);const ae=new L.Q(Y.range.startLineNumber,_e,Y.range.startLineNumber,Qe);de.push(new $(this,ae,(0,R._j)(je),Me,le++))}return de}computeAsync(Y,j,z,ie){if(!this._editor.hasModel()||Y.type!==1)return E.PQ.EMPTY;const re=this._editor.getModel(),de=this._languageFeaturesService.hoverProvider;return de.has(re)?this._getMarkdownHovers(de,re,Y,ie):E.PQ.EMPTY}async*_getMarkdownHovers(Y,j,z,ie){const re=z.range.getStartPosition(),de=(0,S.U)(Y,j,re,ie);for await(const le of de)if(!(0,T.it)(le.hover.contents)){const he=le.hover.range?L.Q.lift(le.hover.range):z.range,we=new te(le.hover,le.provider,re);yield new $(this,he,le.hover.contents,!1,le.ordinal,we)}}renderHoverParts(Y,j){return this._renderedHoverParts=new I(j,Y.fragment,this,this._editor,this._commandService,this._keybindingService,this._hoverService,this._configurationService,this._markdownRendererService,Y.onContentsChanged),this._renderedHoverParts}handleScroll(Y){this._renderedHoverParts?.handleScroll(Y)}getAccessibleContent(Y){return this._renderedHoverParts?.getAccessibleContent(Y)??""}updateMarkdownHoverVerbosityLevel(Y,j){return Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(Y,j))}};ne=D([k(1,A.TN),k(2,u.pG),k(3,i.u),k(4,a.b),k(5,_.TN),k(6,h.d)],ne);class V{constructor(Y,j,z,ie){this.hoverPart=Y,this.hoverElement=j,this.disposables=z,this.actionsContainer=ie}dispose(){this.disposables.dispose()}}class I{constructor(Y,j,z,ie,re,de,le,he,we,xe){this._hoverParticipant=z,this._editor=ie,this._commandService=re,this._keybindingService=de,this._hoverService=le,this._configurationService=he,this._markdownRendererService=we,this._onFinishedRendering=xe,this._ongoingHoverOperations=new Map,this._disposables=new y.Cm,this.renderedHoverParts=this._renderHoverParts(Y,j,this._onFinishedRendering),this._disposables.add((0,y.s)(()=>
8{this.renderedHoverParts.forEach(Be=>{Be.dispose()}),this._ongoingHoverOperations.forEach(Be=>{Be.tokenSource.dispose(!0)})}))}_renderHoverParts(Y,j,z){return Y.sort((0,R.VE)(ie=>ie.ordinal,R.U9)),Y.map(ie=>{const re=this._renderHoverPart(ie,z);return j.appendChild(re.hoverElement),re})}_renderHoverPart(Y,j){const z=this._renderMarkdownHover(Y,j),ie=z.hoverElement,re=Y.source,de=new y.Cm;if(de.add(z),!re)return new V(Y,ie,de);const le=re.supportsVerbosityAction(r.M$.Increase),he=re.supportsVerbosityAction(r.M$.Decrease);if(!le&&!he)return new V(Y,ie,de);const we=N("div.verbosity-actions");ie.prepend(we);const xe=N("div.verbosity-actions-inner");return we.append(xe),de.add(this._renderHoverExpansionAction(xe,r.M$.Increase,le)),de.add(this._renderHoverExpansionAction(xe,r.M$.Decrease,he)),new V(Y,ie,de,xe)}_renderMarkdownHover(Y,j){return Z(this._editor,Y,this._markdownRendererService,j)}_renderHoverExpansionAction(Y,j,z){const ie=new y.Cm,re=j===r.M$.Increase,de=(0,v.BC)(Y,N(o.L.asCSSSelector(re?W:U)));de.tabIndex=0;const le=ie.add(new _.fO("mouse",void 0,{target:Y,position:{hoverPosition:0}},this._configurationService,this._hoverService));if(ie.add(this._hoverService.setupManagedHover(le,de,X(this._keybindingService,j))),!z)return de.classList.add("disabled"),ie;de.classList.add("enabled");const he=()=>this._commandService.executeCommand(j===r.M$.Increase?g.jq:g.Zp,{focus:!0});return ie.add(new p.vV(de,he)),ie.add(new p.M4(de,he,[3,10])),ie}handleScroll(Y){this.renderedHoverParts.forEach(j=>{const z=j.actionsContainer;if(!z)return;const ie=j.hoverElement,de=Y.scrollTop+Y.height,le=ie.offsetTop,he=ie.clientHeight,we=le+he,xe=22;let Be;we<=de||le>=de?Be=he-xe:Be=de-le-xe,z.style.top=`${Be}px`})}async updateMarkdownHoverPartVerbosityLevel(Y,j){const z=this._editor.getModel();if(!z)return;const ie=this._getRenderedHoverPartAtIndex(j),re=ie?.hoverPart.source;if(!ie||!re?.supportsVerbosityAction(Y))return;const de=await this._fetchHover(re,z,Y);if(!de)return;const le=new te(de,re.hoverProvider,re.hoverPosition),he=ie.hoverPart,we=new $(this._hoverParticipant,he.range,de.contents,he.isBeforeContent,he.ordinal,le),xe=this._updateRenderedHoverPart(j,we);if(xe)return{hoverPart:we,hoverElement:xe.hoverElement}}getAccessibleContent(Y){const j=this.renderedHoverParts.findIndex(de=>de.hoverPart===Y);if(j===-1)return;const z=this._getRenderedHoverPartAtIndex(j);return z?z.hoverElement.innerText.replace(/[^\S\n\r]+/gu," "):void 0}async _fetchHover(Y,j,z){let ie=z===r.M$.Increase?1:-1;const re=Y.hoverProvider,de=this._ongoingHoverOperations.get(re);de&&(de.tokenSource.cancel(),ie+=de.verbosityDelta);const le=new x.Qi;this._ongoingHoverOperations.set(re,{verbosityDelta:ie,tokenSource:le});const he={verbosityRequest:{verbosityDelta:ie,previousHover:Y.hover}};let we;try{we=await Promise.resolve(re.provideHover(j,Y.hoverPosition,le.token,he))}catch(xe){(0,c.M_)(xe)}return le.dispose(),this._ongoingHoverOperations.delete(re),we}_updateRenderedHoverPart(Y,j){if(Y>=this.renderedHoverParts.length||Y<0)return;const z=this._renderHoverPart(j,this._onFinishedRendering),ie=this.renderedHoverParts[Y],re=ie.hoverElement,de=z.hoverElement,le=Array.from(de.children);re.replaceChildren(...le);const he=new V(j,re,z.disposables,z.actionsContainer);return ie.dispose(),this.renderedHoverParts[Y]=he,he}_getRenderedHoverPartAtIndex(Y){return this.renderedHoverParts[Y]}dispose(){this._disposables.dispose()}}function H(G,Y,j,z){Y.sort((0,R.VE)(re=>re.ordinal,R.U9));const ie=[];for(const re of Y){const de=Z(j,re,z,G.onContentsChanged);
8G.fragment.appendChild(de.hoverElement),ie.push(de)}return new b.Ke(ie)}function Z(G,Y,j,z){const ie=new y.Cm,re=N("div.hover-row"),de=N("div.hover-row-contents");re.appendChild(de);const le=Y.contents;for(const we of le){if((0,T.it)(we))continue;const xe=N("div.markdown-hover"),Be=(0,v.BC)(xe,N("div.hover-contents")),M=ie.add(j.render(we,{context:G,asyncRenderCallback:()=>{Be.className="hover-contents code-hover-contents",z()}}));Be.appendChild(M.element),de.appendChild(xe)}return{hoverPart:Y,hoverElement:re,dispose(){ie.dispose()}}}function X(G,Y){switch(Y){case r.M$.Increase:return G.appendKeybinding((0,C.kg)(1178,"Increase Hover Verbosity"),g.jq);case r.M$.Decrease:return G.appendKeybinding((0,C.kg)(1179,"Decrease Hover Verbosity"),g.Zp)}}},14333:(St,We,e)=>{e.d(We,{$:()=>pt,BC:()=>Bt,BK:()=>Ve,Be:()=>re,Bx:()=>De,Cl:()=>$e,Di:()=>pi,Ej:()=>M,Er:()=>J,FK:()=>Te,Fv:()=>k,H4:()=>Qe,Hs:()=>_t,Ij:()=>j,Iv:()=>h,J$:()=>X,L9:()=>le,Ln:()=>ri,OK:()=>je,Oq:()=>z,PG:()=>ie,Pl:()=>gt,Q2:()=>E,QX:()=>ae,Tr:()=>Le,U3:()=>Y,WU:()=>st,X7:()=>He,XD:()=>Ie,Xc:()=>H,YE:()=>a,ZF:()=>S,_9:()=>Z,a:()=>qe,bo:()=>Fe,bq:()=>Ce,cL:()=>Be,fg:()=>xe,fs:()=>Se,fz:()=>ht,h:()=>Sn,i0:()=>Bi,jD:()=>vt,jG:()=>Ye,jh:()=>Si,ko:()=>te,kx:()=>ve,mU:()=>Me,n:()=>Qn,nR:()=>Ke,nY:()=>q,pN:()=>$i,q3:()=>D,sb:()=>oe,sd:()=>fe,sl:()=>p,tG:()=>he,un:()=>I,vT:()=>Yt,w5:()=>dt,w_:()=>U,wk:()=>Ae,xZ:()=>ue,xb:()=>G,y6:()=>_e,yD:()=>Dn,zK:()=>pe,zk:()=>c});var v=e(55893),R=e(51577),x=e(87594),T=e(9715),y=e(65958),A=e(94327),g=e(2106),L=e(10998),b=e(13072),C=e(63339),u=e(22344),i=e(48877),r=e(73678),d=e(99859),l=e(97148),o=e(96016);const{getWindow:c,getDocument:a,getWindows:p,getWindowsCount:_,getWindowId:E,getWindowById:S,onDidRegisterWindow:h,onWillUnregisterWindow:D,onDidUnregisterWindow:k}=function(){const jt=new Map;(0,i.y)(i.G,1);const $t={window:i.G,disposables:new L.Cm};jt.set(i.G.vscodeWindowId,$t);const Ei=new g.vl,zi=new g.vl,hn=new g.vl;function wn(en,In){return(typeof en=="number"?jt.get(en):void 0)??(In?$t:void 0)}return{onDidRegisterWindow:Ei.event,onWillUnregisterWindow:hn.event,onDidUnregisterWindow:zi.event,registerWindow(en){if(jt.has(en.vscodeWindowId))return L.jG.None;const In=new L.Cm,Bn={window:en,disposables:In.add(new L.Cm)};return jt.set(en.vscodeWindowId,Bn),In.add((0,L.s)(()=>{jt.delete(en.vscodeWindowId),zi.fire(en)})),In.add(te(en,De.BEFORE_UNLOAD,()=>{hn.fire(en)})),Ei.fire(Bn),In},getWindows(){return jt.values()},getWindowsCount(){return jt.size},getWindowId(en){return en.vscodeWindowId},hasWindow(en){return jt.has(en)},getWindowById:wn,getWindow(en){const In=en;if(In?.ownerDocument?.defaultView)return In.ownerDocument.defaultView.window;const Bn=en;return Bn?.view?Bn.view.window:i.G},getDocument(en){return c(en).document}}}(),N=new Set;function W(){for(const jt of N){const $t=jt();if($t.hasFocus&&$t.window)return $t.window}}function U(jt){for(;jt.firstChild;)jt.firstChild.remove()}class ${constructor($t,Ei,zi,hn){this._node=$t,this._type=Ei,this._handler=zi,this._options=hn||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function te(jt,$t,Ei,zi){return new $(jt,$t,Ei,zi)}function ne(jt,$t){return function(Ei){return $t(new T.P(jt,Ei))}}function V(jt){return function($t){return jt(new x.Z($t))}}const I=function($t,Ei,zi,hn){let wn=zi;return Ei==="click"||Ei==="mousedown"||Ei==="contextmenu"?wn=ne(c($t),zi):(Ei==="keydown"||Ei==="keypress"||Ei==="keyup")&&(wn=V(zi)),te($t,Ei,wn,hn)},H=function($t,Ei,zi){const hn=ne(c($t),Ei);return Z($t,hn,zi)};function Z(jt,$t,Ei){return te(jt,C.un&&R.e.pointerEvents?De.POINTER_DOWN:De.MOUSE_DOWN,$t,Ei)}function X(jt,$t,Ei){return te(jt,C.un&&R.e.pointerEvents?De.POINTER_MOVE:De.MOUSE_MOVE,$t,Ei)}function G(jt,$t,Ei){return te(jt,C.un&&R.e.pointerEvents?De.POINTER_UP:De.MOUSE_UP,$t,Ei)}function Y(jt,$t,Ei){return(0,y.b7)(jt,$t,Ei)}class j extends y.A0{constructor($t,Ei){super($t,Ei)}}let z,ie;class re extends y.vb{constructor($t){super(),this.defaultTarget=$t&&c($t)}cancelAndSet($t,Ei,zi){return super.cancelAndSet($t,Ei,zi??this.defaultTarget)}}class de{constructor($t,Ei=0){this._runner=$t,this.priority=Ei,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch($t){(0,A.dz)($t)}}static sort($t,Ei){return Ei.priority-$t.priority}}(function(){const jt=new Map,$t=new Map,Ei=new Map,zi=new Map,hn=wn=>{Ei.set(wn,!1);const en=jt.get(wn)??[];for($t.set(wn,en),jt.set(wn,[]),zi.set(wn,!0);en.length>0;
8)en.sort(de.sort),en.shift().execute();zi.set(wn,!1)};ie=(wn,en,In=0)=>{const Bn=E(wn),Wi=new de(en,In);let At=jt.get(Bn);return At||(At=[],jt.set(Bn,At)),At.push(Wi),Ei.get(Bn)||(Ei.set(Bn,!0),wn.requestAnimationFrame(()=>hn(Bn))),Wi},z=(wn,en,In)=>{const Bn=E(wn);if(zi.get(Bn)){const Wi=new de(en,In);let At=$t.get(Bn);return At||(At=[],$t.set(Bn,At)),At.push(Wi),Wi}else return ie(wn,en,In)}})();function le(jt){return c(jt).getComputedStyle(jt,null)}function he(jt,$t,Ei){const zi=c(jt),hn=zi.document;if(jt!==hn.body)return new xe(jt.clientWidth,jt.clientHeight);if(C.un&&zi?.visualViewport)return new xe(zi.visualViewport.width,zi.visualViewport.height);if(zi?.innerWidth&&zi.innerHeight)return new xe(zi.innerWidth,zi.innerHeight);if(hn.body&&hn.body.clientWidth&&hn.body.clientHeight)return new xe(hn.body.clientWidth,hn.body.clientHeight);if(hn.documentElement&&hn.documentElement.clientWidth&&hn.documentElement.clientHeight)return new xe(hn.documentElement.clientWidth,hn.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class we{static convertToPixels($t,Ei){return parseFloat(Ei)||0}static getDimension($t,Ei){const zi=le($t),hn=zi?zi.getPropertyValue(Ei):"0";return we.convertToPixels($t,hn)}static getBorderLeftWidth($t){return we.getDimension($t,"border-left-width")}static getBorderRightWidth($t){return we.getDimension($t,"border-right-width")}static getBorderTopWidth($t){return we.getDimension($t,"border-top-width")}static getBorderBottomWidth($t){return we.getDimension($t,"border-bottom-width")}static getPaddingLeft($t){return we.getDimension($t,"padding-left")}static getPaddingRight($t){return we.getDimension($t,"padding-right")}static getPaddingTop($t){return we.getDimension($t,"padding-top")}static getPaddingBottom($t){return we.getDimension($t,"padding-bottom")}static getMarginLeft($t){return we.getDimension($t,"margin-left")}static getMarginTop($t){return we.getDimension($t,"margin-top")}static getMarginRight($t){return we.getDimension($t,"margin-right")}static getMarginBottom($t){return we.getDimension($t,"margin-bottom")}}const Kn=class Kn{constructor($t,Ei){this.width=$t,this.height=Ei}with($t=this.width,Ei=this.height){return $t!==this.width||Ei!==this.height?new Kn($t,Ei):this}static is($t){return typeof $t=="object"&&typeof $t.height=="number"&&typeof $t.width=="number"}static lift($t){return $t instanceof Kn?$t:new Kn($t.width,$t.height)}static equals($t,Ei){return $t===Ei?!0:!$t||!Ei?!1:$t.width===Ei.width&&$t.height===Ei.height}};Kn.None=new Kn(0,0);let xe=Kn;function Be(jt){let $t=jt.offsetParent,Ei=jt.offsetTop,zi=jt.offsetLeft;for(;(jt=jt.parentNode)!==null&&jt!==jt.ownerDocument.body&&jt!==jt.ownerDocument.documentElement;){Ei-=jt.scrollTop;const hn=Ue(jt)?null:le(jt);hn&&(zi-=hn.direction!=="rtl"?jt.scrollLeft:-jt.scrollLeft),jt===$t&&(zi+=we.getBorderLeftWidth(jt),Ei+=we.getBorderTopWidth(jt),Ei+=jt.offsetTop,zi+=jt.offsetLeft,$t=jt.offsetParent)}return{left:zi,top:Ei}}function M(jt,$t,Ei){typeof $t=="number"&&(jt.style.width=`${$t}px`),typeof Ei=="number"&&(jt.style.height=`${Ei}px`)}function Ve(jt){const $t=jt.getBoundingClientRect(),Ei=c(jt);return{left:$t.left+Ei.scrollX,top:$t.top+Ei.scrollY,width:$t.width,height:$t.height}}function Me(jt){let $t=jt,Ei=1;do{const zi=le($t).zoom;zi!=null&&zi!=="1"&&(Ei*=zi),$t=$t.parentElement}while($t!==null&&$t!==$t.ownerDocument.documentElement);return Ei}function Le(jt){const $t=we.getMarginLeft(jt)+we.getMarginRight(jt);return jt.offsetWidth+$t}function _e(jt){const $t=we.getBorderLeftWidth(jt)+we.getBorderRightWidth(jt),Ei=we.getPaddingLeft(jt)+we.getPaddingRight(jt);return jt.offsetWidth-$t-Ei}function Qe(jt){const $t=we.getBorderTopWidth(jt)+we.getBorderBottomWidth(jt),Ei=we.getPaddingTop(jt)+we.getPaddingBottom(jt);return jt.offsetHeight-$t-Ei}function je(jt){const $t=we.getMarginTop(jt)+we.getMarginBottom(jt);return jt.offsetHeight+$t}function ae(jt,$t){return!!$t?.contains(jt)}function Ee(jt,$t,Ei){for(;jt&&jt.nodeType===jt.ELEMENT_NODE;){if(jt.classList.contains($t))return jt;if(Ei){if(typeof Ei=="string"){if(jt.classList.contains(Ei))return null}else if(jt===Ei)return null}jt=jt.parentNode}return null}function Ie(jt,$t,Ei){return!!Ee(jt,$t,Ei)}function Ue(jt){return jt&&!!jt.host&&!!jt.mode}function $e(jt){return!!Ye(jt)}function Ye(jt){for(;jt.parentNode;){if(jt===jt.ownerDocument?.body)return null;jt=jt.parentNode}return Ue(jt)?jt:null}function Ce(){let jt=qe().activeElement;for(;jt?.shadowRoot;)jt=jt.shadowRoot.activeElement;return jt}function He(jt){return Ce()===jt}function Ke(jt){return ae(Ce(),jt)}function qe(){if(_()<=1)return i.G.document;const $t=Array.from(p()).map(({window:zi})=>zi.document).find(zi=>zi.hasFocus());if($t)return $t;const Ei=W();return Ei?Ei.document:i.G.document}function ht(){return qe().defaultView?.window??i.G}const Te=new class{constructor(){this.mutationObservers=new Map}observe(jt,$t,Ei){let zi=this.mutationObservers.get(jt);zi||(zi=new Map,this.mutationObservers.set(jt,zi));const hn=(0,u.tW)(Ei);let wn=zi.get(hn);if(wn)wn.users+=1;else{const en=new g.vl,In=new MutationObserver(Wi=>en.fire(Wi));In.observe(jt,Ei);const Bn=wn={users:1,observer:In,onDidMutate:en.event};$t.add((0,L.s)(()=>{Bn.users-=1,Bn.users===0&&(en.dispose(),In.disconnect(),zi?.delete(hn),zi?.size===0&&this.mutationObservers.delete(jt))})),zi.set(hn,wn)}return wn.onDidMutate}};function oe(jt){return jt instanceof HTMLElement||jt instanceof c(jt).HTMLElement}function q(jt){return jt instanceof HTMLAnchorElement||jt instanceof c(jt).HTMLAnchorElement}function ue(jt){return jt instanceof SVGElement||jt instanceof c(jt).SVGElement}function J(jt){return jt instanceof MouseEvent||jt instanceof c(jt).MouseEvent}function ve(jt){return jt instanceof KeyboardEvent||jt instanceof c(jt).KeyboardEvent}const De={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MO
8VE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",RESIZE:"resize",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function fe(jt){const $t=jt;return!!($t&&typeof $t.preventDefault=="function"&&typeof $t.stopPropagation=="function")}const Se={stop:(jt,$t)=>(jt.preventDefault(),$t&&jt.stopPropagation(),jt)};function pe(jt){const $t=[];for(let Ei=0;jt&&jt.nodeType===jt.ELEMENT_NODE;Ei++)$t[Ei]=jt.scrollTop,jt=jt.parentNode;return $t}function Ae(jt,$t){for(let Ei=0;jt&&jt.nodeType===jt.ELEMENT_NODE;Ei++)jt.scrollTop!==$t[Ei]&&(jt.scrollTop=$t[Ei]),jt=jt.parentNode}class Xe extends L.jG{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin($t){if(oe($t)){const Ei=Ye($t),zi=Ei?Ei.activeElement:$t.ownerDocument.activeElement;return ae(zi,$t)}else{const Ei=$t;return ae(Ei.document.activeElement,Ei.document)}}constructor($t){super(),this._onDidFocus=this._register(new g.vl),this._onDidBlur=this._register(new g.vl);let Ei=Xe.hasFocusWithin($t),zi=!1;const hn=()=>{zi=!1,Ei||(Ei=!0,this._onDidFocus.fire())},wn=()=>{Ei&&(zi=!0,(oe($t)?c($t):$t).setTimeout(()=>{zi&&(zi=!1,Ei=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{Xe.hasFocusWithin($t)!==Ei&&(Ei?wn():hn())},this._register(te($t,De.FOCUS,hn,!0)),this._register(te($t,De.BLUR,wn,!0)),oe($t)&&(this._register(te($t,De.FOCUS_IN,()=>this._refreshStateHandler())),this._register(te($t,De.FOCUS_OUT,()=>this._refreshStateHandler())))}}function dt(jt){return new Xe(jt)}function gt(jt,$t){return jt.after($t),$t}function Bt(jt,...$t){if(jt.append(...$t),$t.length===1&&typeof $t[0]!="string")return $t[0]}function _t(jt,$t){return jt.insertBefore($t,jt.firstChild),$t}function ri(jt,...$t){jt.textContent="",Bt(jt,...$t)}const Gt=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var ei;(function(jt){jt.HTML="http://www.w3.org/1999/xhtml",jt.SVG="http://www.w3.org/2000/svg"})(ei||(ei={}));function Zt(jt,$t,Ei,...zi){const hn=Gt.exec($t);if(!hn)throw new Error("Bad use of emmet");const wn=hn[1]||"div";let en;return jt!==ei.HTML?en=document.createElementNS(jt,wn):en=document.createElement(wn),hn[3]&&(en.id=hn[3]),hn[4]&&(en.className=hn[4].replace(/\./g," ").trim()),Ei&&Object.entries(Ei).forEach(([In,Bn])=>{typeof Bn>"u"||(/^on\w+$/.test(In)?en[In]=Bn:In==="selected"?Bn&&en.setAttribute(In,"true"):en.setAttribute(In,Bn))}),en.append(...zi),en}function pt(jt,$t,...Ei){return Zt(ei.HTML,jt,$t,...Ei)}pt.SVG=function(jt,$t,...Ei){return Zt(ei.SVG,jt,$t,...Ei)};function Fe(jt,...$t){jt?st(...$t):vt(...$t)}function st(...jt){for(const $t of jt)$t.style.display="",$t.removeAttribute("aria-hidden")}function vt(...jt){for(const $t of jt)$t.style.display="none",$t.setAttribute("aria-hidden","true")}function Yt(jt,$t){const Ei=jt.devicePixelRatio*$t;return Math.max(1,Math.floor(Ei))/jt.devicePixelRatio}function Si(jt){i.G.open(jt,"_blank","noopener")}function Bi(jt,$t){const Ei=()=>{$t(),zi=ie(jt,Ei)};let zi=ie(jt,Ei);return(0,L.s)(()=>zi.dispose())}b.Ez.setPreferredWebSchema(/^https:/.test(i.G.location.href)?"https":"http");class pi extends g.vl{constructor(){super(),this._subscriptions=new L.Cm,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(g.Jh.runAndSubscribe(h,({window:$t,disposables:Ei})=>this.registerListeners($t,Ei),{window:i.G,disposables:this._subscriptions}))}registerListeners($t,Ei){Ei.add(te($t,"keydown",zi=>{if(zi.defaultPrevented)return;const hn=new x.Z(zi);if(!(hn.keyCode===6&&zi.repeat)){if(zi.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(zi.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(zi.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(zi.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(hn.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=zi.altKey,this._keyStatus.ctrlKey=zi.ctrlKey,this._keyStatus.metaKey=zi.metaKey,this._keyStatus.shiftKey=zi.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=zi,this.fire(this._keyStatus))}},!0)),Ei.add(te($t,"keyup",zi=>{zi.defaultPrevented||(!zi.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!zi.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!zi.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!zi.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=zi.altKey,this._keyStatus.ctrlKey=zi.ctrlKey,this._keyStatus.metaKey=zi.metaKey,this._keyStatus.shiftKey=zi.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=zi,this.fire(this._keyStatus)))},!0)),Ei.add(te($t.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Ei.add(te($t.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),Ei.add(te($t.document.body,"mousemove",zi=>{zi.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),Ei.add(te($t,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return pi.instance||(pi.instance=new pi),pi.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class $i extends L.jG{constructor($t,Ei){super(),this.element=$t,this.callbacks=Ei,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(te(this.element,De.DRAG_START,$t=>{this.callbacks.onDragStart?.($t)})),this.callbacks.onDrag&&this._register(te(this.element,De.DRAG,$t=>{this.callbacks.onDrag?.($t)})),this._register(te(this.element,De.DRAG_ENTER,$t=>{this.counter++,this.dragStartTime=$t.timeStamp,this.callbacks.onDragEnter?.($t)})),this._register(te(this.element,De.DRAG_OVER,$t=>{$t.preventDefault(),this.callbacks.onDragOver?.($t,$t.timeStamp-this.dragStartTime)})),this._register(te(this.element,De.DRAG_LEAVE,$t=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.($t))})),this._register(te(this.element,De.DRAG_END,$t=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.($t)})),this._register(te(this.element,De.DROP,$t=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.($t)}))}}const fn=/(?<tag>[\w\-]+)?(?:#(?<id>[\w\-]+))?(?<class>
8(?:\.(?:[\w\-]+))*)(?:@(?<name>(?:[\w\_])+))?/;function Sn(jt,...$t){let Ei,zi;Array.isArray($t[0])?(Ei={},zi=$t[0]):(Ei=$t[0]||{},zi=$t[1]);const hn=fn.exec(jt);if(!hn||!hn.groups)throw new Error("Bad use of h");const wn=hn.groups.tag||"div",en=document.createElement(wn);hn.groups.id&&(en.id=hn.groups.id);const In=[];if(hn.groups.class)for(const Wi of hn.groups.class.split("."))Wi!==""&&In.push(Wi);if(Ei.className!==void 0)for(const Wi of Ei.className.split("."))Wi!==""&&In.push(Wi);In.length>0&&(en.className=In.join(" "));const Bn={};if(hn.groups.name&&(Bn[hn.groups.name]=en),zi)for(const Wi of zi)oe(Wi)?en.appendChild(Wi):typeof Wi=="string"?en.append(Wi):"root"in Wi&&(Object.assign(Bn,Wi),en.appendChild(Wi.root));for(const[Wi,At]of Object.entries(Ei))if(Wi!=="className")if(Wi==="style")for(const[Xt,li]of Object.entries(At))en.style.setProperty(On(Xt),typeof li=="number"?li+"px":""+li);else Wi==="tabIndex"?en.tabIndex=At:en.setAttribute(On(Wi),At.toString());return Bn.root=en,Bn}function On(jt){return jt.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Dn(jt){return jt.tagName.toLowerCase()==="input"||jt.tagName.toLowerCase()==="textarea"||oe(jt)&&!!jt.editContext}var Qn;(function(jt){function $t(hn=void 0){return(wn,en,In)=>{const Bn=en.class;delete en.class;const Wi=en.ref;delete en.ref;const At=en.obsRef;return delete en.obsRef,new ps(wn,Wi,At,hn,Bn,en,In)}}function Ei(hn,wn=void 0){const en=$t(wn);return(In,Bn)=>en(hn,In,Bn)}jt.div=Ei("div"),jt.elem=$t(void 0),jt.svg=Ei("svg","http://www.w3.org/2000/svg"),jt.svgElem=$t("http://www.w3.org/2000/svg");function zi(){let hn;const wn=function(en){hn=en};
8return Object.defineProperty(wn,"element",{get(){if(!hn)throw new A.D7("Make sure the ref is set before accessing the element. Maybe wrong initialization order?");return hn}}),wn}jt.ref=zi})(Qn||(Qn={}));class rs{constructor($t,Ei,zi,hn,wn,en,In){this._deriveds=[],this._isHovered=void 0,this._didMouseMoveDuringHover=void 0,this._element=hn?document.createElementNS(hn,$t):document.createElement($t),Ei&&Ei(this._element),zi&&this._deriveds.push((0,d.un)(Wi=>{zi(this),Wi.store.add({dispose:()=>{zi(null)}})})),wn&&(ms(wn)?this._deriveds.push((0,d.un)(this,Wi=>{us(this._element,zn(wn,Wi))})):us(this._element,zn(wn,void 0)));for(const[Wi,At]of Object.entries(en))if(Wi==="style")for(const[Xt,li]of Object.entries(At)){const Mi=On(Xt);(0,l.AT)(li)?this._deriveds.push((0,d.C)({owner:this,debugName:()=>`set.style.${Mi}`},vi=>{this._element.style.setProperty(Mi,es(li.read(vi)))})):this._element.style.setProperty(Mi,es(li))}else Wi==="tabIndex"?(0,l.AT)(At)?this._deriveds.push((0,d.un)(this,Xt=>{this._element.tabIndex=At.read(Xt)})):this._element.tabIndex=At:Wi.startsWith("on")?this._element[Wi]=At:(0,l.AT)(At)?this._deriveds.push((0,d.C)({owner:this,debugName:()=>`set.${Wi}`},Xt=>{Yn(this._element,Wi,At.read(Xt))})):Yn(this._element,Wi,At);if(In){let Wi=function(Xt,li){return(0,l.AT)(li)?Wi(Xt,li.read(Xt)):Array.isArray(li)?li.flatMap(Mi=>Wi(Xt,Mi)):li instanceof rs?(Xt&&li.readEffect(Xt),[li._element]):li?[li]:[]};var Bn=Wi;const At=(0,d.un)(this,Xt=>{this._element.replaceChildren(...Wi(Xt,In))});this._deriveds.push(At),Xn(In)||At.get()}}readEffect($t){for(const Ei of this._deriveds)Ei.read($t)}keepUpdated($t){return(0,d.un)(Ei=>{this.readEffect(Ei)}).recomputeInitiallyAndOnChange($t),this}toDisposableLiveElement(){const $t=new L.Cm;return this.keepUpdated($t),new Ts(this._element,$t)}get isHovered(){if(!this._isHovered){const $t=(0,o.FY)("hovered",!1);this._element.addEventListener("mouseenter",Ei=>$t.set(!0,void 0)),this._element.addEventListener("mouseleave",Ei=>$t.set(!1,void 0)),this._isHovered=$t}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let $t=!1;const Ei=(0,o.FY)("didMouseMoveDuringHover",!1);this._element.addEventListener("mouseenter",zi=>{$t=!0}),this._element.addEventListener("mousemove",zi=>{$t&&Ei.set(!0,void 0)}),this._element.addEventListener("mouseleave",zi=>{$t=!1,Ei.set(!1,void 0)}),this._didMouseMoveDuringHover=Ei}return this._didMouseMoveDuringHover}}function us(jt,$t){ue(jt)?jt.setAttribute("class",$t):jt.className=$t}function Zn(jt,$t,Ei){if((0,l.AT)(jt)){Ei(jt.read($t));return}if(Array.isArray(jt)){for(const zi of jt)Zn(zi,$t,Ei);return}Ei(jt)}function zn(jt,$t){let Ei="";return Zn(jt,$t,zi=>{zi&&(Ei.length===0?Ei=zi:Ei+=" "+zi)}),Ei}function ms(jt){return(0,l.AT)(jt)?!0:Array.isArray(jt)?jt.some($t=>ms($t)):!1}function es(jt){return typeof jt=="number"?jt+"px":jt}function Xn(jt){return(0,l.AT)(jt)?!0:Array.isArray(jt)?jt.some($t=>Xn($t)):!1}class Ts{constructor($t,Ei){this.element=$t,this._disposable=Ei}dispose(){this._disposable.dispose()}}class ps extends rs{get element(){return this._element}}function Yn(jt,$t,Ei){Ei==null?jt.removeAttribute(On($t)):jt.setAttribute(On($t),String(Ei))}class zs extends HTMLElement{disconnectedCallback(){this.onDidDisconnect?.()}connectedCallback(){this.onDidConnect?.()}}customElements.get("connection-observer")||customElements.define("connection-observer",zs)},14469:(St,We,e)=>{e.d(We,{IR:()=>b,KW:()=>o,QL:()=>p});var v=e(94327),R=e(2106),x=e(10998),T=e(63339),y=e(16844);const A="default",g="$initialize";let L=!1;function b(_){T.HZ&&(L||(L=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(_.message))}class C{constructor(E,S,h,D,k){this.vsWorker=E,this.req=S,this.channel=h,this.method=D,this.args=k,this.type=0}}class u{constructor(E,S,h,D){this.vsWorker=E,this.seq=S,this.res=h,this.err=D,this.type=1}}class i{constructor(E,S,h,D,k){this.vsWorker=E,this.req=S,this.channel=h,this.eventName=D,this.arg=k,this.type=2}}
8class r{constructor(E,S,h){this.vsWorker=E,this.req=S,this.event=h,this.type=3}}class d{constructor(E,S){this.vsWorker=E,this.req=S,this.type=4}}class l{constructor(E){this._workerId=-1,this._handler=E,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(E){this._workerId=E}async sendMessage(E,S,h){const D=String(++this._lastSentReq);return new Promise((k,N)=>{this._pendingReplies[D]={resolve:k,reject:N},this._send(new C(this._workerId,D,E,S,h))})}listen(E,S,h){let D=null;const k=new R.vl({onWillAddFirstListener:()=>{D=String(++this._lastSentReq),this._pendingEmitters.set(D,k),this._send(new i(this._workerId,D,E,S,h))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(D),this._send(new d(this._workerId,D)),D=null}});return k.event}handleMessage(E){!E||!E.vsWorker||this._workerId!==-1&&E.vsWorker!==this._workerId||this._handleMessage(E)}createProxyToRemoteChannel(E,S){const h={get:(D,k)=>(typeof k=="string"&&!D[k]&&(a(k)?D[k]=N=>this.listen(E,k,N):c(k)?D[k]=this.listen(E,k,void 0):k.charCodeAt(0)===36&&(D[k]=async(...N)=>(await S?.(),this.sendMessage(E,k,N)))),D[k])};return new Proxy(Object.create(null),h)}_handleMessage(E){switch(E.type){case 1:return this._handleReplyMessage(E);case 0:return this._handleRequestMessage(E);case 2:return this._handleSubscribeEventMessage(E);case 3:return this._handleEventMessage(E);case 4:return this._handleUnsubscribeEventMessage(E)}}_handleReplyMessage(E){if(!this._pendingReplies[E.seq]){console.warn("Got reply to unknown seq");return}const S=this._pendingReplies[E.seq];if(delete this._pendingReplies[E.seq],E.err){let h=E.err;if(E.err.$isError){const D=new Error;D.name=E.err.name,D.message=E.err.message,D.stack=E.err.stack,h=D}S.reject(h);return}S.resolve(E.res)}_handleRequestMessage(E){const S=E.req;this._handler.handleMessage(E.channel,E.method,E.args).then(D=>{this._send(new u(this._workerId,S,D,void 0))},D=>{D.detail instanceof Error&&(D.detail=(0,v.cU)(D.detail)),this._send(new u(this._workerId,S,void 0,(0,v.cU)(D)))})}_handleSubscribeEventMessage(E){const S=E.req,h=this._handler.handleEvent(E.channel,E.eventName,E.arg)(D=>{this._send(new r(this._workerId,S,D))});this._pendingEvents.set(S,h)}_handleEventMessage(E){const S=this._pendingEmitters.get(E.req);if(S===void 0){console.warn("Got event for unknown req");return}S.fire(E.event)}_handleUnsubscribeEventMessage(E){const S=this._pendingEvents.get(E.req);if(S===void 0){console.warn("Got unsubscribe for unknown req");return}S.dispose(),this._pendingEvents.delete(E.req)}_send(E){const S=[];if(E.type===0)for(let h=0;h<E.args.length;h++){const D=E.args[h];D instanceof ArrayBuffer&&S.push(D)}else E.type===1&&E.res instanceof ArrayBuffer&&S.push(E.res);this._handler.sendMessage(E,S)}}class o extends x.jG{constructor(E){super(),this._localChannels=new Map,this._worker=this._register(E),this._register(this._worker.onMessage(S=>{this._protocol.handleMessage(S)})),this._register(this._worker.onError(S=>{b(S),(0,v.dz)(S)})),this._protocol=new l({sendMessage:(S,h)=>{this._worker.postMessage(S,h)},handleMessage:(S,h,D)=>this._handleMessage(S,h,D),handleEvent:(S,h,D)=>this._handleEvent(S,h,D)}),this._protocol.setWorkerId(this._worker.getId()),this._onModuleLoaded=this._protocol.sendMessage(A,g,[this._worker.getId()]).then(()=>{}),this.proxy=this._protocol.createProxyToRemoteChannel(A,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(S=>{this._onError("Worker failed to load ",S)})}_handleMessage(E,S,h){const D=this._localChannels.get(E);if(!D)return Promise.reject(new Error(`Missing channel ${E} on main thread`));const k=D[S];if(typeof k!="function")return Promise.reject(new Error(`Missing method ${S} on main thread channel ${E}`));try{return Promise.resolve(k.apply(D,h))}catch(N){return Promise.reject(N)}}_handleEvent(E,S,h){const D=this._localChannels.get(E);if(!D)throw new Error(`Missing channel ${E} on main thread`);if(a(S)){const k=D[S];if(typeof k!="function")throw new Error(`Missing dynamic event ${S} on main thread channel ${E}.`);const N=k.call(D,h);if(typeof N!="function")throw new Error(`Missing dynamic event ${S} on main thread channel ${E}.`);return N}if(c(S)){const k=D[S];if(typeof k!="function")throw new Error(`Missing event ${S} on main thread channel ${E}.`);return k}throw new Error(`Malformed event name ${S}`)}setChannel(E,S){this._localChannels.set(E,S)}_onError(E,S){console.error(E),console.info(S)}}function c(_){return _[0]==="o"&&_[1]==="n"&&(0,y.Wv)(_.charCodeAt(2))}function a(_){return/^onDynamic/.test(_)&&(0,y.Wv)(_.charCodeAt(9))}class p{constructor(E,S){this._localChannels=new Map,this._remoteChannels=new Map,this._protocol=new l({
8sendMessage:(h,D)=>{E(h,D)},handleMessage:(h,D,k)=>this._handleMessage(h,D,k),handleEvent:(h,D,k)=>this._handleEvent(h,D,k)}),this.requestHandler=S(this)}onmessage(E){this._protocol.handleMessage(E)}_handleMessage(E,S,h){if(E===A&&S===g)return this.initialize(h[0]);const D=E===A?this.requestHandler:this._localChannels.get(E);if(!D)return Promise.reject(new Error(`Missing channel ${E} on worker thread`));const k=D[S];if(typeof k!="function")return Promise.reject(new Error(`Missing method ${S} on worker thread channel ${E}`));try{return Promise.resolve(k.apply(D,h))}catch(N){return Promise.reject(N)}}_handleEvent(E,S,h){const D=E===A?this.requestHandler:this._localChannels.get(E);if(!D)throw new Error(`Missing channel ${E} on worker thread`);if(a(S)){const k=D[S];if(typeof k!="function")throw new Error(`Missing dynamic event ${S} on request handler.`);const N=k.call(D,h);if(typeof N!="function")throw new Error(`Missing dynamic event ${S} on request handler.`);return N}if(c(S)){const k=D[S];if(typeof k!="function")throw new Error(`Missing event ${S} on request handler.`);return k}throw new Error(`Malformed event name ${S}`)}getChannel(E){let S=this._remoteChannels.get(E);return S===void 0&&(S=this._protocol.createProxyToRemoteChannel(E),this._remoteChannels.set(E,S)),S}async initialize(E){this._protocol.setWorkerId(E)}}},14544:(St,We,e)=>{var v=e(50946),R=e(46311),x=e(49998),T=e(27682);(0,v.HW)(x.M.ID,x.M,1),R.B2.register(T.u)},14583:(St,We,e)=>{e.d(We,{LC:()=>c,e0:()=>a,gW:()=>_,i9:()=>p});var v=e(13338),R=e(78903),x=e(94327),T=e(17954),y=e(27992),A=e(15365),g=e(28061),L=e(12060),b=e(82399),C=e(66726),u=e(64830),i=e(10998),r=e(29849),d=function(S,h,D,k){var N=arguments.length,W=N<3?h:k===null?k=Object.getOwnPropertyDescriptor(h,D):k,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(S,h,D,k);else for(var $=S.length-1;$>=0;$--)(U=S[$])&&(W=(N<3?U(W):N>3?U(h,D,W):U(h,D))||W);return N>3&&W&&Object.defineProperty(h,D,W),W},l=function(S,h){return function(D,k){h(D,k,S)}};class o{remove(){this.parent?.children.delete(this.id)}static findId(h,D){let k;typeof h=="string"?k=`${D.id}/${h}`:(k=`${D.id}/${h.name}`,D.children.get(k)!==void 0&&(k=`${D.id}/${h.name}_${h.range.startLineNumber}_${h.range.startColumn}`));let N=k;for(let W=0;D.children.get(N)!==void 0;W++)N=`${k}_${W}`;return N}static empty(h){return h.children.size===0}}class c extends o{constructor(h,D,k){super(),this.id=h,this.parent=D,this.symbol=k,this.children=new Map}}class a extends o{constructor(h,D,k,N){super(),this.id=h,this.parent=D,this.label=k,this.order=N,this.children=new Map}}class p extends o{static create(h,D,k){const N=new R.Qi(k),W=new p(D.uri),U=h.ordered(D),$=U.map((ne,V)=>{const I=o.findId(`provider_${V}`,W),H=new a(I,W,ne.displayName??"Unknown Outline Provider",V);return Promise.resolve(ne.provideDocumentSymbols(D,N.token)).then(Z=>{for(const X of Z||[])p._makeOutlineElement(X,H);return H},Z=>((0,x.M_)(Z),H)).then(Z=>{o.empty(Z)?Z.remove():W._groups.set(I,Z)})}),te=h.onDidChange(()=>{const ne=h.ordered(D);(0,v.aI)(ne,U)||N.cancel()});return Promise.all($).then(()=>N.token.isCancellationRequested&&!k.isCancellationRequested?p.create(h,D,k):W._compact()).finally(()=>{N.dispose(),te.dispose(),N.dispose()})}static _makeOutlineElement(h,D){const k=o.findId(h,D),N=new c(k,D,h);if(h.children)for(const W of h.children)p._makeOutlineElement(W,N);D.children.set(N.id,N)}constructor(h){super(),this.uri=h,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let h=0;for(const[D,k]of this._groups)k.children.size===0?this._groups.delete(D):h+=1;if(h!==1)this.children=this._groups;else{const D=T.f.first(this._groups.values());for(const[,k]of D.children)k.parent=this,this.children.set(k.id,k)}return this}getTopLevelSymbols(){const h=[];for(const D of this.children.values())D instanceof c?h.push(D.symbol):h.push(...T.f.map(D.children.values(),k=>k.symbol));return h.sort((D,k)=>g.Q.compareRangesUsingStarts(D.range,k.range))}asListOfDocumentSymbols(){const h=this.getTopLevelSymbols(),D=[];return p._flattenDocumentSymbols(D,h,""),D.sort((k,N)=>A.y.compare(g.Q.getStartPosition(k.range),g.Q.getStartPosition(N.range))||A.y.compare(g.Q.getEndPosition(N.range),g.Q.getEndPosition(k.range)))}static _flattenDocumentSymbols(h,D,k){for(const N of D)h.push({kind:N.kind,tags:N.tags,name:N.name,detail
8:N.detail,containerName:N.containerName||k,range:N.range,selectionRange:N.selectionRange,children:void 0}),N.children&&p._flattenDocumentSymbols(h,N.children,N.name)}}const _=(0,b.u1)("IOutlineModelService");let E=class{constructor(h,D,k){this._languageFeaturesService=h,this._disposables=new i.Cm,this._cache=new y.qK(15,.7),this._debounceInformation=D.for(h.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(k.onModelRemoved(N=>{this._cache.delete(N.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(h,D){const k=this._languageFeaturesService.documentSymbolProvider,N=k.ordered(h);let W=this._cache.get(h.id);if(!W||W.versionId!==h.getVersionId()||!(0,v.aI)(W.provider,N)){const $=new R.Qi;W={versionId:h.getVersionId(),provider:N,promiseCnt:0,source:$,promise:p.create(k,h,$.token),model:void 0},this._cache.set(h.id,W);const te=Date.now();W.promise.then(ne=>{W.model=ne,this._debounceInformation.update(h,Date.now()-te)}).catch(ne=>{this._cache.delete(h.id)})}if(W.model)return W.model;W.promiseCnt+=1;const U=D.onCancellationRequested(()=>{--W.promiseCnt===0&&(W.source.cancel(),this._cache.delete(h.id))});try{return await W.promise}finally{U.dispose()}}};E=d([l(0,r.u),l(1,L.U),l(2,u.S)],E),(0,C.v)(_,E,1)},14731:(St,We,e)=>{e.d(We,{k:()=>v});const R=class R{constructor(T){this.value=T}equals(T){return this.value===T.value}contains(T){return this.equals(T)||this.value===""||T.value.startsWith(this.value+R.sep)}intersects(T){return this.contains(T)||T.contains(this)}append(...T){return new R((this.value?[this.value,...T]:T).join(R.sep))}};R.sep=".",R.None=new R("@@none@@"),R.Empty=new R("");let v=R},15145:(St,We,e)=>{var ht,q;e.d(We,{X:()=>Ke});var v=e(65958),R=e(94327),x=e(68387),T=e(10998),y=e(87301),A=e(15365),g=e(28061),L=e(70228),b=e(24665),C=e(3765),u=e(82096),i=e(85753),r=e(31540),d=e(82399),l=e(48421),o=e(98826),c=e(29879),a=e(90840),p=e(49990),_=e(14333),E=e(40708),S=e(94901),h=e(2106),D=e(13072),k=e(22467),N=e(31531),W=e(54957),U=e(37042),$=e(72957),te=e(8431),ne=e(79400),V=e(1174),I=e(56071),H=e(8377),Z=e(3273),X=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},G=function(ue,J){return function(ve,De){J(ve,De,ue)}},Y;let j=class{constructor(J){this._resolverService=J}hasChildren(J){return J instanceof p.y4||J instanceof p.$L}getChildren(J){if(J instanceof p.y4)return J.groups;if(J instanceof p.$L)return J.resolve(this._resolverService).then(ve=>ve.children);throw new Error("bad tree")}};j=X([G(0,U.b)],j);class z{getHeight(){return 23}getTemplateId(J){return J instanceof p.$L?le.id:we.id}}let ie=class{constructor(J){this._keybindingService=J}getKeyboardNavigationLabel(J){if(J instanceof p.yc){const ve=J.parent.getPreview(J)?.preview(J.range);if(ve)return ve.value}return(0,k.P8)(J.uri)}};ie=X([G(0,I.b)],ie);class re{getId(J){return J instanceof p.yc?J.id:J.uri}}let de=class extends T.jG{constructor(J,ve){super(),this._labelService=ve;const De=document.createElement("div");De.classList.add("reference-file"),this.file=this._register(new ne.s(De,{supportHighlights:!0})),this.badge=this._register(new $.x((0,_.BC)(De,(0,_.$)(".count")),{},Z.m$)),J.appendChild(De)}set(J,ve){const De=(0,k.pD)(J.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(J.uri),this._labelService.getUriLabel(De,{relative:!0}),{title:this._labelService.getUriLabel(J.uri),matches:ve});const fe=J.children.length;this.badge.setCount(fe),fe>1?this.badge.setTitleFormat((0,C.kg)(1124,"{0} references",fe)):this.badge.setTitleFormat((0,C.kg)(1125,"{0} reference",fe))}};de=X([G(1,H.L)],de);let le=(ht=class{constructor(J){this._instantiationService=J,this.templateId=Y.id}renderTemplate(J){return this._instantiationService.createInstance(de,J)}renderElement(J,ve,De){De.set(J.element,(0,V.WJ)(J.filterData))}disposeTemplate(J){J.dispose()}},Y=ht,ht.id="FileReferencesRenderer",ht);le=Y=X([G(0,d._Y)],le);class he extends T.jG{constructor(J){super(),this.label=this._register(new te._(J))}set(J,ve){const De=J.parent.getPreview(J)?.preview(J.range);if(!De||!De.value)this.label.set(`${(0,k.P8)(J.uri)}:${J.range.startLineNumber+1}:${J.range.startColumn+1}`);else{const{value:fe,highlight:Se}=De;ve&&!V.ne.isDefault(ve)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(fe,(0,V.WJ)(ve))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(fe,[Se]))}}}const Te=class Te{constructor(){this.templateId=Te.id}renderTemplate(J){return new he(J)}renderElement(J,ve,De){De.set(J.element,J.filterData)}disposeTemplate(J){J.dispose()}};Te.id="OneReferenceRenderer";let we=Te;class xe{getWidgetAriaLabel(){return(0,C.kg)(1126,"References")}getAriaLabel(J){return J.ariaMessage}}var Be=e(89044),M=e(39587),Ve=e(54435),Me=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},Le=function(ue,J){return function(ve,De){J(ve,De,ue)}};const oe=class oe{constructor(J,ve){this._editor=J,this._model=ve,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new T.Cm,this._callOnModelChange=new T.Cm,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const J=this._editor.getModel();if(J){for(const ve of this._model.references)if(ve.uri.toString()===J.uri.toString()){this._addDecorations(ve.parent);return}}}_addDecorations(J){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const ve=[],De=[];for(let fe=0,Se=J.children.length;fe<Se;fe++){const pe=J.children[fe];this._decorationIgnoreSet.has(pe.id)||pe.uri.toString()===this._editor.getModel().uri.toString()&&(ve.push({range:pe.range,options:oe.DecorationOptions}),De.push(fe))}this._editor.changeDecorations(fe=>{const Se=fe.deltaDecorations([],ve);for(let pe=0;pe<Se.length;pe++)this._decorations.set(Se[pe],J.children[De[pe]])})}_onDecorationChanged(){const J=[],ve=this._editor.getModel();if(ve){for(const[De,fe]of this._decorations){const Se=ve.getDecorationRange(De);if(!Se)continue;let pe=!1;if(!g.Q.equalsRange(Se,fe.range)){if(g.Q.spansMultipleLines(Se))pe=!0;else{const Ae=fe.range.endColumn-fe.range.startColumn,Xe=Se.endColumn-Se.startColumn;Ae!==Xe&&(pe=!0)}pe?(this._decorationIgnoreSet.add(fe.id),J.push(De)):fe.range=Se}}for(let De=0,fe=J.length;De<fe;De++)this._decorations.delete(J[De]);this._editor.removeDecorations(J)}}removeDecorations(){this._editor.removeDecorations([...this._decorations.keys()]),this._decorations.clear()}};oe.DecorationOptions=N.kI.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let _e=oe;class Qe{constructor(){this.ratio=.7,this.heightInLines=18}static fromJSON(J){let ve,De;try{const fe=JSON.parse(J);ve=fe.ratio,De=fe.heightInLines}catch{}return{ratio:ve||.7,heightInLines:De||18}}}class je extends o.er{}let ae=class{constructor(J){this.labelService=J,this.disposables=new T.Cm}getDragURI(J){return J instanceof p.$L?J.uri.toString():J instanceof p.yc?(0,Ve.VM)(J.uri,J.range).toString():null}getDragLabel(J){return J.length===0?void 0:J.map(De=>this.labelService.getUriBasenameLabel(De.uri)).join(", ")}onDragStart(J,ve){if(!ve.dataTransfer)return;const fe=J.elements.map(Se=>
8this.getDragURI(Se)).filter(Boolean);fe.length&&(ve.dataTransfer.setData(M.t.RESOURCES,JSON.stringify(fe)),ve.dataTransfer.setData(M.t.TEXT,fe.join(`
9`)))}onDragOver(){return!1}drop(){}dispose(){this.disposables.dispose()}};ae=Me([Le(0,H.L)],ae);let Ee=class extends L.j6{constructor(J,ve,De,fe,Se,pe,Ae,Xe,dt){super(J,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},pe),this._defaultTreeKeyboardSupport=ve,this.layoutData=De,this._textModelResolverService=Se,this._instantiationService=pe,this._peekViewService=Ae,this._uriLabel=Xe,this._keybindingService=dt,this._disposeOnNewModel=new T.Cm,this._callOnDispose=new T.Cm,this._onDidSelectReference=this._callOnDispose.add(new h.vl),this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new _.fg(0,0),this._isClosing=!1,this._applyTheme(fe.getColorTheme()),this._callOnDispose.add(fe.onDidColorThemeChange(this._applyTheme.bind(this))),this._peekViewService.addExclusiveWidget(J,this),this.create()}get isClosing(){return this._isClosing}dispose(){this._isClosing=!0,this.setModel(void 0),this._callOnDispose.dispose(),this._disposeOnNewModel.dispose(),(0,T.AS)(this._preview),(0,T.AS)(this._previewNotAvailableMessage),(0,T.AS)(this._tree),(0,T.AS)(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(J){const ve=J.getColor(L.zl)||S.Q1.transparent;this.style({arrowColor:ve,frameColor:ve,headerBackgroundColor:J.getColor(L.z0)||S.Q1.transparent,primaryHeadingColor:J.getColor(L._X),secondaryHeadingColor:J.getColor(L.e3)})}show(J){super.show(J,this.layoutData.heightInLines||18)}focusOnReferenceTree(){this._tree.domFocus()}focusOnPreviewEditor(){this._preview.focus()}isPreviewEditorFocused(){return this._preview.hasTextFocus()}_onTitleClick(J){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:J.ctrlKey||J.metaKey||J.altKey?"side":"open",source:"title"})}_fillBody(J){this.setCssClass("reference-zone-widget"),this._messageContainer=(0,_.BC)(J,(0,_.$)("div.messages")),(0,_.jD)(this._messageContainer),this._splitView=new E.U(J,{orientation:1}),this._previewContainer=(0,_.BC)(J,(0,_.$)("div.preview.inline"));const ve={scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,alwaysConsumeMouseWheel:!0},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}};this._preview=this._instantiationService.createInstance(b.t,this._previewContainer,ve,{},this.editor),(0,_.jD)(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(N.Bz,(0,C.kg)(1127,"no preview available"),W.vH,N.Bz.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=(0,_.BC)(J,(0,_.$)("div.ref-tree.inline"));const De={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new xe,keyboardNavigationLabelProvider:this._instantiationService.createInstance(ie),identityProvider:new re,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:L.n6},dnd:this._instantiationService.createInstance(ae)};this._defaultTreeKeyboardSupport&&this._callOnDispose.add((0,_.un)(this._treeContainer,"keydown",Se=>{Se.equals(9)&&(this._keybindingService.dispatchEvent(Se,Se.target),Se.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(je,"ReferencesWidget",this._treeContainer,new z,[this._instantiationService.createInstance(le),this._instantiationService.createInstance(we)],this._instantiationService.createInstance(j),De),this._splitView.addView({onDidChange:h.Jh.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:Se=>{this._preview.layout({height:this._dim.height,width:Se})}},E.X.Distribute),this._splitView.addView({onDidChange:h.Jh.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:Se=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${Se}px`,this._tree.layout(this._dim.height,Se)}},E.X.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const fe=(Se,pe)=>{Se instanceof p.yc&&(pe==="show"&&this._revealReference(Se,!1),this._onDidSelectReference.fire({element:Se,kind:pe,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(Se=>{Se.sideBySide?fe(Se.element,"side"):Se.editorOptions.pinned?fe(Se.element,"goto"):fe(Se.element,"show")})),(0,_.jD)(this._treeContainer)}_onWidth(J){this._dim&&this._doLayoutBody(this._dim.height,J)}_doLayoutBody(J,ve){super._doLayoutBody(J,ve),this._dim=new _.fg(ve,J),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(ve),this._splitView.resizeView(0,ve*this.layoutData.ratio)}setSelection(J){return this._revealReference(J,!0).then(()=>{this._model&&(this._tree.setSelection([J]),this._tree.setFocus([J]))})}setModel(J){return this._disposeOnNewModel.clear(),this._model=J,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=(0,C.kg)(1128,"No results"),(0,_.WU)(this._messageContainer),Promise.resolve(void 0)):((0,_.jD)(this._messageContainer),this._decorationsManager=new _e(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(J=>this._tree.rerender(J))),this._disposeOnNewModel.add(this._preview.onMouseDown(J=>{const{event:ve,target:De}=J;if(ve.detail!==2)return;const fe=this._getFocusedReference();fe&&this._onDidSelectReference.fire({element:{uri:fe.uri,range:De.range},kind:ve.ctrlKey||ve.metaKey||ve.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),(0,_.WU)(this._treeContainer),(0,_.WU)(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[J]=this._tree.getFocus();if(J instanceof p.yc)return J;if(J instanceof p.$L&&J.children.length>0)return J.children[0]}async revealReference(J){await this._revealReference(J,!1),this._onDidSelectReference.fire({element:J,kind:"goto",source:"tree"})}async _revealReference(J,ve){if(this._revealedReference===J)return;this._revealedReference=J,J.uri.scheme!==D.ny.inMemory?this.setTitle((0,k.Pi)(J.uri),this._uriLabel.getUriLabel((0,k.pD)(J.uri))):this.setTitle((0,C.kg)(1129,"References"));const De=this._textModelResolverService.createModelReference(J.uri);this._tree.getInput()===J.parent?this._tree.reveal(J):(ve&&this._tree.reveal(J.parent),await this._tree.expand(J.parent),this._tree.reveal(J));const fe=await De;if(!this._model){fe.dispose();return}(0,T.AS)(this._previewModelReference);const Se=fe.object;if(Se){const pe=this._preview.getModel()===Se.textEditorModel?0:1,Ae=g.Q.lift(J.range).collapseToStart();this._previewModelReference=fe,this._preview.setModel(Se.textEditorModel),this._preview.setSelection(Ae),this._preview.revealRangeInCenter(Ae,pe)}else this._preview.setModel(this._previewNotAvailableMessage),fe.dispose()}};Ee=Me([Le(3,Be.Gy),Le(4,U.b),Le(5,d._Y),Le(6,L.zn),Le(7,H.L),Le(8,I.b)],Ee);var Ie=e(38122),Ue=e(13034),$e=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},Ye=function(ue,J){return function(ve,De){J(ve,De,ue)}},Ce;const He=new r.N1("referenceSearchVisible",!1,(0,C.kg)(1121,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let Ke=(q=class{static get(J){return J.getContribution(Ce.ID)}constructor(J,ve,De,fe,Se,pe,Ae,Xe){this._defaultTreeKeyboardSupport=J,this._editor=ve,this._editorService=fe,this._notificationService=Se,this._instantiationService=pe,this._storageService=Ae,this._configurationService=Xe,this._disposables=new T.Cm,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=He.bindTo(De)}dispose(){this._referenceSearchVisible.reset(),this._disposables.dispose(),this._widget?.dispose(),this._model?.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(J,ve,De){let fe;if(this._widget&&(fe=this._widget.position),this.closeWidget(),fe&&J.containsPosition(fe))return;
9this._peekMode=De,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const Se="peekViewLayout",pe=Qe.fromJSON(this._storageService.get(Se,0,"{}"));this._widget=this._instantiationService.createInstance(Ee,this._editor,this._defaultTreeKeyboardSupport,pe),this._widget.setTitle((0,C.kg)(1122,"Loading...")),this._widget.show(J),this._disposables.add(this._widget.onDidClose(()=>{ve.cancel(),this._widget?(this._storageService.store(Se,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(Xe=>{const{element:dt,kind:gt}=Xe;if(dt)switch(gt){case"open":(Xe.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(dt,!1,!1);break;case"side":this.openReference(dt,!0,!1);break;case"goto":De?this._gotoReference(dt,!0):this.openReference(dt,!1,!0);break}}));const Ae=++this._requestIdPool;ve.then(Xe=>{if(Ae!==this._requestIdPool||!this._widget){Xe.dispose();return}return this._model?.dispose(),this._model=Xe,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle((0,C.kg)(1123,"{0} ({1})",this._model.title,this._model.references.length));const dt=this._editor.getModel().uri,gt=new A.y(J.startLineNumber,J.startColumn),Bt=this._model.nearestReference(dt,gt);if(Bt)return this._widget.setSelection(Bt).then(()=>{this._widget&&this._editor.getOption(99)==="editor"&&this._widget.focusOnPreviewEditor()})}})},Xe=>{this._notificationService.error(Xe)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(J){if(!this._editor.hasModel()||!this._model||!this._widget)return;const ve=this._widget.position;if(!ve)return;const De=this._model.nearestReference(this._editor.getModel().uri,ve);if(!De)return;const fe=this._model.nextOrPreviousReference(De,J),Se=this._editor.hasTextFocus(),pe=this._widget.isPreviewEditorFocused();await this._widget.setSelection(fe),await this._gotoReference(fe,!1),Se?this._editor.focus():this._widget&&pe&&this._widget.focusOnPreviewEditor()}async revealReference(J){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(J)}closeWidget(J=!0){this._widget?.dispose(),this._model?.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,J&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(J,ve){this._widget?.hide(),this._ignoreModelChangeEvent=!0;const De=g.Q.lift(J.range).collapseToStart();return this._editorService.openCodeEditor({resource:J.uri,options:{selection:De,selectionSource:"code.jump",pinned:ve}},this._editor).then(fe=>{if(this._ignoreModelChangeEvent=!1,!fe||!this._widget){this.closeWidget();return}if(this._editor===fe)this._widget.show(De),this._widget.focusOnReferenceTree();else{const Se=Ce.get(fe),pe=this._model.clone();this.closeWidget(),fe.focus(),Se?.toggleWidget(De,(0,v.SS)(Ae=>Promise.resolve(pe)),this._peekMode??!1)}},fe=>{this._ignoreModelChangeEvent=!1,(0,R.dz)(fe)})}openReference(J,ve,De){ve||this.closeWidget();const{uri:fe,range:Se}=J;this._editorService.openCodeEditor({resource:fe,options:{selection:Se,selectionSource:"code.jump",pinned:De}},this._editor,ve)}},Ce=q,q.ID="editor.contrib.referencesController",q);Ke=Ce=$e([Ye(2,r.fN),Ye(3,y.T),Ye(4,c.Ot),Ye(5,d._Y),Ye(6,a.CS),Ye(7,i.pG)],Ke);function qe(ue,J){const ve=(0,b.R)(ue);if(!ve)return;const De=Ke.get(ve);De&&J(De)}l.f.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:(0,x.m5)(2089,60),when:r.M$.or(He,L.x2.inPeekEditor),handler(ue){qe(ue,J=>{J.changeFocusBetweenPreviewAndReferences()})}}),l.f.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:r.M$.or(He,L.x2.inPeekEditor),handler(ue){qe(ue,J=>{J.goToNextOrPreviousReference(!0)})}}),l.f.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:r.M$.or(He,L.x2.inPeekEditor),handler(ue){qe(ue,J=>{J.goToNextOrPreviousReference(!1)})}}),u.w.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),u.w.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),u.w.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),u.w.registerCommand("closeReferenceSearch",ue=>qe(ue,J=>J.closeWidget())),l.f.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:r.M$.and(L.x2.inPeekEditor,r.M$.not("config.editor.stablePeek"))}),l.f.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:r.M$.and(He,r.M$.not("config.editor.stablePeek"),r.M$.or(Ie.R.editorTextFocus,Ue.J7.negate()))}),l.f.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:r.M$.and(He,o.YD,o.Nf.negate(),o.cH.negate()),handler(ue){const ve=ue.get(o.PE).lastFocusedList?.getFocus();Array.isArray(ve)&&ve[0]instanceof p.yc&&qe(ue,De=>
9De.revealReference(ve[0]))}}),l.f.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:r.M$.and(He,o.YD,o.Nf.negate(),o.cH.negate()),handler(ue){const ve=ue.get(o.PE).lastFocusedList?.getFocus();Array.isArray(ve)&&ve[0]instanceof p.yc&&qe(ue,De=>De.openReference(ve[0],!0,!0))}}),u.w.registerCommand("openReference",ue=>{const ve=ue.get(o.PE).lastFocusedList?.getFocus();Array.isArray(ve)&&ve[0]instanceof p.yc&&qe(ue,De=>De.openReference(ve[0],!1,!0))})},15250:(St,We,e)=>{e.d(We,{Z:()=>v});const v=new class{constructor(){this._implementations=[]}register(x){return this._implementations.push(x),{dispose:()=>{const T=this._implementations.indexOf(x);T!==-1&&this._implementations.splice(T,1)}}}getImplementations(){return this._implementations}}},15910:(St,We,e)=>{e.d(We,{x:()=>v});class v{static getLanguageId(x){return(x&255)>>>0}static getTokenType(x){return(x&768)>>>8}static containsBalancedBrackets(x){return(x&1024)!==0}static getFontStyle(x){return(x&30720)>>>11}static getForeground(x){return(x&16744448)>>>15}static getBackground(x){return(x&4278190080)>>>24}static getClassNameFromMetadata(x){let y="mtk"+this.getForeground(x);const A=this.getFontStyle(x);return A&1&&(y+=" mtki"),A&2&&(y+=" mtkb"),A&4&&(y+=" mtku"),A&8&&(y+=" mtks"),y}static getInlineStyleFromMetadata(x,T){const y=this.getForeground(x),A=this.getFontStyle(x);let g=`color: ${T[y]};`;A&1&&(g+="font-style: italic;"),A&2&&(g+="font-weight: bold;");let L="";return A&4&&(L+=" underline"),A&8&&(L+=" line-through"),L&&(g+=`text-decoration:${L};`),g}static getPresentationFromMetadata(x){const T=this.getForeground(x),y=this.getFontStyle(x);return{foreground:T,italic:!!(y&1),bold:!!(y&2),underline:!!(y&4),strikethrough:!!(y&8)}}}},16085:(St,We,e)=>{e.d(We,{x:()=>R});var v=e(82399);const R=(0,v.u1)("layoutService")},16551:(St,We,e)=>{e.d(We,{I:()=>R});var v=e(27969);class R extends v.LN{constructor(T){super(),this._getContext=T}runAction(T,y){const A=this._getContext();return super.runAction(T,A)}}},16831:(St,We,e)=>{e.d(We,{MU:()=>$,QC:()=>k,Se:()=>W,oO:()=>U});var v=e(55893),R=e(14333),x=e(27424),T=e(9715),y=e(10176),A=e(45222),g=e(65958),L=e(58881);const b=11;class C extends A.x{constructor(I){super(),this._onActivate=I.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=I.bgWidth+"px",this.bgDomNode.style.height=I.bgHeight+"px",typeof I.top<"u"&&(this.bgDomNode.style.top="0px"),typeof I.left<"u"&&(this.bgDomNode.style.left="0px"),typeof I.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof I.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=I.className,this.domNode.classList.add(...L.L.asClassNameArray(I.icon)),this.domNode.style.position="absolute",this.domNode.style.width=b+"px",this.domNode.style.height=b+"px",typeof I.top<"u"&&(this.domNode.style.top=I.top+"px"),typeof I.left<"u"&&(this.domNode.style.left=I.left+"px"),typeof I.bottom<"u"&&(this.domNode.style.bottom=I.bottom+"px"),typeof I.right<"u"&&(this.domNode.style.right=I.right+"px"),this._pointerMoveMonitor=this._register(new y._),this._register((0,R.un)(this.bgDomNode,R.Bx.POINTER_DOWN,H=>this._arrowPointerDown(H))),this._register((0,R.un)(this.domNode,R.Bx.POINTER_DOWN,H=>this._arrowPointerDown(H))),this._pointerdownRepeatTimer=this._register(new R.Be),this._pointerdownScheduleRepeatTimer=this._register(new g.pc)}_arrowPointerDown(I){if(!I.target||!(I.target instanceof Element))return;const H=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,(0,R.zk)(I))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(H,200),this._pointerMoveMonitor.startMonitoring(I.target,I.pointerId,I.buttons,Z=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),I.preventDefault()}}var u=e(10998);class i extends u.jG{constructor(I,H,Z){super(),this._visibility=I,this._visibleClassName=H,this._invisibleClassName=Z,this._domNo
9de=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new g.pc)}setVisibility(I){this._visibility!==I&&(this._visibility=I,this._updateShouldBeVisible())}setShouldBeVisible(I){this._rawShouldBeVisible=I,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const I=this._applyVisibilitySetting();this._shouldBeVisible!==I&&(this._shouldBeVisible=I,this.ensureVisibility())}setIsNeeded(I){this._isNeeded!==I&&(this._isNeeded=I,this.ensureVisibility())}setDomNode(I){this._domNode=I,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(I){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(I?" fade":"")))}}var r=e(63339);const d=140;class l extends A.x{constructor(I){super(),this._lazyRender=I.lazyRender,this._host=I.host,this._scrollable=I.scrollable,this._scrollByPage=I.scrollByPage,this._scrollbarState=I.scrollbarState,this._visibilityController=this._register(new i(I.visibility,"visible scrollbar "+I.extraScrollbarClassName,"invisible scrollbar "+I.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new y._),this._shouldRender=!0,this.domNode=(0,x.Z)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register((0,R.ko)(this.domNode.domNode,R.Bx.POINTER_DOWN,H=>this._domNodePointerDown(H)))}_createArrow(I){const H=this._register(new C(I));this.domNode.domNode.appendChild(H.bgDomNode),this.domNode.domNode.appendChild(H.domNode)}_createSlider(I,H,Z,X){this.slider=(0,x.Z)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(I),this.slider.setLeft(H),typeof Z=="number"&&this.slider.setWidth(Z),typeof X=="number"&&this.slider.setHeight(X),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register((0,R.ko)(this.slider.domNode,R.Bx.POINTER_DOWN,G=>{G.button===0&&(G.preventDefault(),this._sliderPointerDown(G))})),this.onclick(this.slider.domNode,G=>{G.leftButton&&G.stopPropagation()})}_onElementSize(I){return this._scrollbarState.setVisibleSize(I)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(I){return this._scrollbarState.setScrollSize(I)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(I){return this._scrollbarState.setScrollPosition(I)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(I){I.target===this.domNode.domNode&&this._onPointerDown(I)}delegatePointerDown(I){const H=this.domNode.domNode.getClientRects()[0].top,Z=H+this._scrollbarState.getSliderPosition(),X=H+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),G=this._sliderPointerPosition(I);Z<=G&&G<=X?I.button===0&&(I.preventDefault(),this._sliderPointerDown(I)):this._onPointerDown(I)}_onPointerDown(I){let H,Z;if(I.target===this.domNode.domNode&&typeof I.offsetX=="number"&&typeof I.offsetY=="number")H=I.offsetX,Z=I.offsetY;else{const Y=(0,R.BK)(this.domNode.domNode);H=I.pageX-Y.left,Z=I.pageY-Y.top}const X=I.pointerType==="mouse",G=I.button===0;if(G||!X){const Y=this._pointerDownRelativePosition(H,Z);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(Y):this._scrollbarState.getDesiredScrollPositionFromOffset(Y))}G&&(I.preventDefault(),this._sliderPointerDown(I))}_sliderPointerDown(I){if(!I.target||!(I.target instanceof Element))return;const H=this._sliderPointerPosition(I),Z=this._sliderOrthogonalPointerPosition(I),X=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(I.target,I.pointerId,I.buttons,G=>{const Y=this._sliderOrthogonalPointerPosition(G),j=Math.abs(Y-Z);if(r.uF&&j>d){this._setDesiredScrollPositionNow(X.getScrollPosition());return}const ie=this._sliderPointerPosition(G)-H;this._setDesiredScrollPositionNow(X.getDesiredScrollPositionFromDelta(ie))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(I){const H={};this.writeScrollPosition(H,I),this._scrollable.setScrollPositionNow(H)}updateScrollbarSize(I){this._updateScrollbarSize(I),this._scrollbarState.setScrollbarSize(I),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}var o=e(88122),c=e(5915);class a extends l{constructor(I,H,Z){const X=I.getScrollDimensions(),G=I.getCurrentScrollPosition();if(super({lazyRender:H.lazyRender,host:Z,scrollbarState:new o.m(H.horizontalHasArrows?H.arrowSize:0,H.horizontal===2?0:H.horizontalScrollbarSize,H.vertical===2?0:H.verticalScrollbarSize,X.width,X.scrollWidth,G.scrollLeft),visibility:H.horizontal,extraScrollbarClassName:"horizontal",scrollable:I,scrollByPage:H.scrollByPage}),H.horizontalHasArrows){const Y=(H.arrowSize-b)/2,j=(H.horizontalScrollbarSize-b)/2;this._createArrow({className:"scra",icon:c.W.scrollbarButtonLeft,top:j,left:Y,bottom:void 0,right:void 0,bgWidth:H.arrowSize,bgHeight:H.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new T.$(null,1,0))}),this._createArrow({className:"scra",icon:c.W.scrollbarButtonRight,top:j,left:void 0,bottom:void 0,right:Y,bgWidth:H.arrowSize,bgHeight:H.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new T.$(null,-1,0))})}this._createSlider(Math.floor((H.horizontalScrollbarSize-H.horizontalSliderSize)/2),0,void 0,H.horizontalSliderSize)}_updateSlider(I,H){this.slider.setWidth(I),this.slider.setLeft(H)}_renderDomNode(I,H){this.domNode.setWidth(I),this.domNode.setHeight(H),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(I){return this._shouldRender=this._onElementScrollSize(I.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(I.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(I.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(I,H){return I}_sliderPointerPosition(I){return I.pageX}_sliderOrthogonalPointerPosition(I){return I.pageY}_updateScrollbarSize(I){this.slider.setHeight(I)}writeScrollPosition(I,H){I.scrollLeft=H}updateOptions(I){this.updateScrollbarSize(I.horizontal===2?0:I.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(I.vertical===2?0:I.verticalScrollbarSize),this._visibilityController.setVisibility(I.horizontal),this._scrollByPage=I.scrollByPage}}class p extends l{constructor(I,H,Z){const X=I.getScrollDimensions(),G=I.getCurrentScrollPosition();if(super({lazyRender:H.lazyRender,host:Z,scrollbarState:new o.m(H.verticalHasArrows?H.arrowSize:0,H.vertical===2?0:H.verticalScrollbarSize,0,X.height,X.scrollHeight,G.scrollTop),visibility:H.vertical,extraScrollbarClassName:"vertical",scrollable:I,scrollByPage:H.scrollByPage}),H.verticalHasArrows){const Y=(H.arrowSize-b)/2,j=(H.verticalScrollbarSize-b)/2;this._createArrow({className:"scra",icon:c.W.scrollbarButtonUp,top:Y,left:j,bottom:void 0,right:void 0,bgWidth:H.verticalScrollbarSize,bgHeight:H.arrowSize,onActivate:()=>this._host.onMouseWheel(new T.$(null,0,1))}),this._createArrow({className:"scra",icon:c.W.scrollbarButtonDown,top:void 0,left:j,bottom:Y,right:void 0,bgWidth:H.verticalScrollbarSize,bgHeight:H.arrowSize,onActivate:()=>this._host.onMouseWheel(new T.$(null,0,-1))})}this._createSlider(0,Math.floor((H.verticalScrollbarSize-H.verticalSliderSize)/2),H.verticalSliderSize,void 0)}_updateSlider(I,H){this.slider.setHeight(I),this.slider.setTop(H)}_renderDomNode(I,H){this.domNode.setWidth(H),this.domNode.setHeight(I),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(I){return this._shouldRender=this._onElementScrollSize(I.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(I.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(I.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(I,H){return H}_sliderPointerPosition(I){return I.pageY}_sliderOrthogonalPointerPosition(I){return I.pageX}_updateScrollbarSize(I){this.slider.setWidth(I)}writeScrollPosition(I,H){I.scrollTop=H}updateOptions(I){this.updateScrollbarSize(I.vertical===2?0:I.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(I.vertical),this._scrollByPage=I.scrollByPage}}var _=e(2106),E=e(94513);const S=500,h=50;class D{constructor(I,H,Z){this.timestamp=I,this.deltaX=H,this.deltaY=Z,this.score=0}}const ne=class ne{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let I=1,H=0,Z=1,X=this._rear;do{const G=X===this._front?I:Math.pow(2,-Z);if(I-=G,H+=this._memory[X].score*G,X===this._front)break;X=(this._capacity+X-1)%this._capacity,Z++}while(!0);return H<=.5}acceptStandardWheelEvent(I){if(v.H8){const H=(0,R.zk)(I.browserEvent),Z=(0,v.pR)(H);this.accept(Date.now(),I.deltaX*Z,I.deltaY*Z)}else this.accept(Date.now(),I.deltaX,I.deltaY)}
9accept(I,H,Z){let X=null;const G=new D(I,H,Z);this._front===-1&&this._rear===-1?(this._memory[0]=G,this._front=0,this._rear=0):(X=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=G),G.score=this._computeScore(G,X)}_computeScore(I,H){if(Math.abs(I.deltaX)>0&&Math.abs(I.deltaY)>0)return 1;let Z=.5;if((!this._isAlmostInt(I.deltaX)||!this._isAlmostInt(I.deltaY))&&(Z+=.25),H){const X=Math.abs(I.deltaX),G=Math.abs(I.deltaY),Y=Math.abs(H.deltaX),j=Math.abs(H.deltaY),z=Math.max(Math.min(X,Y),1),ie=Math.max(Math.min(G,j),1),re=Math.max(X,Y),de=Math.max(G,j);re%z===0&&de%ie===0&&(Z-=.5)}return Math.min(Math.max(Z,0),1)}_isAlmostInt(I){const H=Number.EPSILON*100;return Math.abs(Math.round(I)-I)<.01+H}};ne.INSTANCE=new ne;let k=ne;class N extends A.x{get onScroll(){return this._onScroll.event}get options(){return this._options}constructor(I,H,Z){super(),this._inertialTimeout=null,this._inertialSpeed={X:0,Y:0},this._onScroll=this._register(new _.vl),this._onWillScroll=this._register(new _.vl),I.style.overflow="hidden",this._options=te(H),this._scrollable=Z,this._register(this._scrollable.onScroll(G=>{this._onWillScroll.fire(G),this._onDidScroll(G),this._onScroll.fire(G)}));const X={onMouseWheel:G=>this._onMouseWheel(G),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new p(this._scrollable,this._options,X)),this._horizontalScrollbar=this._register(new a(this._scrollable,this._options,X)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(I),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=(0,x.Z)(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=(0,x.Z)(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=(0,x.Z)(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,G=>this._onMouseOver(G)),this.onmouseleave(this._listenOnDomNode,G=>this._onMouseLeave(G)),this._hideTimeout=this._register(new g.pc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=(0,u.AS)(this._mouseWheelToDispose),this._inertialTimeout&&(this._inertialTimeout.dispose(),this._inertialTimeout=null),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(I){this._verticalScrollbar.delegatePointerDown(I)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(I){this._scrollable.setScrollDimensions(I,!1)}updateClassName(I){this._options.className=I,r.zx&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(I){typeof I.handleMouseWheel<"u"&&(this._options.handleMouseWheel=I.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof I.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=I.mouseWheelScrollSensitivity),typeof I.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=I.fastScrollSensitivity),typeof I.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=I.scrollPredominantAxis),typeof I.horizontal<"u"&&(this._options.horizontal=I.horizontal),typeof I.vertical<"u"&&(this._options.vertical=I.vertical),typeof I.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=I.horizontalScrollbarSize),typeof I.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=I.verticalScrollbarSize),typeof I.scrollByPage<"u"&&(this._options.scrollByPage=I.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(I){this._onMouseWheel(new T.$(I))}
9async _periodicSync(){let I=!1;(this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0)&&(this._scrollable.setScrollPositionNow({scrollTop:this._scrollable.getCurrentScrollPosition().scrollTop-this._inertialSpeed.Y*100,scrollLeft:this._scrollable.getCurrentScrollPosition().scrollLeft-this._inertialSpeed.X*100}),this._inertialSpeed.X*=.9,this._inertialSpeed.Y*=.9,Math.abs(this._inertialSpeed.X)<.01&&(this._inertialSpeed.X=0),Math.abs(this._inertialSpeed.Y)<.01&&(this._inertialSpeed.Y=0),I=this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0),I?(this._inertialTimeout||(this._inertialTimeout=new g.pc),this._inertialTimeout.cancelAndSet(()=>this._periodicSync(),1e3/60)):(this._inertialTimeout?.dispose(),this._inertialTimeout=null)}_setListeningToMouseWheel(I){if(this._mouseWheelToDispose.length>0!==I&&(this._mouseWheelToDispose=(0,u.AS)(this._mouseWheelToDispose),I)){const Z=X=>{this._onMouseWheel(new T.$(X))};this._mouseWheelToDispose.push((0,R.ko)(this._listenOnDomNode,R.Bx.MOUSE_WHEEL,Z,{passive:!1}))}}_onMouseWheel(I){if(I.browserEvent?.defaultPrevented)return;const H=k.INSTANCE;H.acceptStandardWheelEvent(I);let Z=!1;if(I.deltaY||I.deltaX){let G=I.deltaY*this._options.mouseWheelScrollSensitivity,Y=I.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&Y+G===0?Y=G=0:Math.abs(G)>=Math.abs(Y)?Y=0:G=0),this._options.flipAxes&&([G,Y]=[Y,G]);const j=!r.zx&&I.browserEvent&&I.browserEvent.shiftKey;(this._options.scrollYToX||j)&&!Y&&(Y=G,G=0),I.browserEvent&&I.browserEvent.altKey&&(Y=Y*this._options.fastScrollSensitivity,G=G*this._options.fastScrollSensitivity);const z=this._scrollable.getFutureScrollPosition();let ie={};if(G){const re=h*G,de=z.scrollTop-(re<0?Math.floor(re):Math.ceil(re));this._verticalScrollbar.writeScrollPosition(ie,de)}if(Y){const re=h*Y,de=z.scrollLeft-(re<0?Math.floor(re):Math.ceil(re));this._horizontalScrollbar.writeScrollPosition(ie,de)}if(ie=this._scrollable.validateScrollPosition(ie),this._options.inertialScroll&&(Y||G)&&!H.isPhysicalMouseWheel()){let re=!1;this._inertialSpeed.X===0&&this._inertialSpeed.Y===0&&(re=!0),this._inertialSpeed.Y=(G<0?-1:1)*Math.abs(G)**1.02,this._inertialSpeed.X=(Y<0?-1:1)*Math.abs(Y)**1.02,re&&this._periodicSync()}(z.scrollLeft!==ie.scrollLeft||z.scrollTop!==ie.scrollTop)&&(this._options.mouseWheelSmoothScroll&&H.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(ie):this._scrollable.setScrollPositionNow(ie),Z=!0)}let X=Z;!X&&this._options.alwaysConsumeMouseWheel&&(X=!0),!X&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(X=!0),X&&(I.preventDefault(),I.stopPropagation())}_onDidScroll(I){this._shouldRender=this._horizontalScrollbar.onDidScroll(I)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(I)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const I=this._scrollable.getCurrentScrollPosition(),H=I.scrollTop>0,Z=I.scrollLeft>0,X=Z?" left":"",G=H?" top":"",Y=Z||H?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${X}`),this._topShadowDomNode.setClassName(`shadow${G}`),this._topLeftShadowDomNode.setClassName(`shadow${Y}${G}${X}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(I){this._mouseIsOver=!1,this._hide()}_onMouseOver(I){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),S)}}class W extends N{constructor(I,H){H=H||{}
9,H.mouseWheelSmoothScroll=!1;const Z=new E.yE({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:X=>(0,R.PG)((0,R.zk)(I),X)});super(I,H,Z),this._register(Z)}setScrollPosition(I){this._scrollable.setScrollPositionNow(I)}}class U extends N{constructor(I,H,Z){super(I,H,Z)}setScrollPosition(I){I.reuseAnimation?this._scrollable.setScrollPositionSmooth(I,I.reuseAnimation):this._scrollable.setScrollPositionNow(I)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class $ extends N{constructor(I,H){H=H||{},H.mouseWheelSmoothScroll=!1;const Z=new E.yE({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:X=>(0,R.PG)((0,R.zk)(I),X)});super(I,H,Z),this._register(Z),this._element=I,this._register(this.onScroll(X=>{X.scrollTopChanged&&(this._element.scrollTop=X.scrollTop),X.scrollLeftChanged&&(this._element.scrollLeft=X.scrollLeft)})),this.scanDomNode()}setScrollPosition(I){this._scrollable.setScrollPositionNow(I)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function te(V){const I={lazyRender:typeof V.lazyRender<"u"?V.lazyRender:!1,className:typeof V.className<"u"?V.className:"",useShadows:typeof V.useShadows<"u"?V.useShadows:!0,handleMouseWheel:typeof V.handleMouseWheel<"u"?V.handleMouseWheel:!0,flipAxes:typeof V.flipAxes<"u"?V.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof V.consumeMouseWheelIfScrollbarIsNeeded<"u"?V.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof V.alwaysConsumeMouseWheel<"u"?V.alwaysConsumeMouseWheel:!1,scrollYToX:typeof V.scrollYToX<"u"?V.scrollYToX:!1,mouseWheelScrollSensitivity:typeof V.mouseWheelScrollSensitivity<"u"?V.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof V.fastScrollSensitivity<"u"?V.fastScrollSensitivity:5,scrollPredominantAxis:typeof V.scrollPredominantAxis<"u"?V.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof V.mouseWheelSmoothScroll<"u"?V.mouseWheelSmoothScroll:!0,inertialScroll:typeof V.inertialScroll<"u"?V.inertialScroll:!1,arrowSize:typeof V.arrowSize<"u"?V.arrowSize:11,listenOnDomNode:typeof V.listenOnDomNode<"u"?V.listenOnDomNode:null,horizontal:typeof V.horizontal<"u"?V.horizontal:1,horizontalScrollbarSize:typeof V.horizontalScrollbarSize<"u"?V.horizontalScrollbarSize:10,horizontalSliderSize:typeof V.horizontalSliderSize<"u"?V.horizontalSliderSize:0,horizontalHasArrows:typeof V.horizontalHasArrows<"u"?V.horizontalHasArrows:!1,vertical:typeof V.vertical<"u"?V.vertical:1,verticalScrollbarSize:typeof V.verticalScrollbarSize<"u"?V.verticalScrollbarSize:10,verticalHasArrows:typeof V.verticalHasArrows<"u"?V.verticalHasArrows:!1,verticalSliderSize:typeof V.verticalSliderSize<"u"?V.verticalSliderSize:0,scrollByPage:typeof V.scrollByPage<"u"?V.scrollByPage:!1};return I.horizontalSliderSize=typeof V.horizontalSliderSize<"u"?V.horizontalSliderSize:I.horizontalScrollbarSize,I.verticalSliderSize=typeof V.verticalSliderSize<"u"?V.verticalSliderSize:I.verticalScrollbarSize,r.zx&&(I.className+=" mac"),I}},16844:(St,We,e)=>{e.d(We,{$X:()=>Be,AV:()=>x,BO:()=>u,Bm:()=>i,Bq:()=>b,DB:()=>h,Dp:()=>$,E_:()=>le,GP:()=>y,HG:()=>o,LJ:()=>I,LU:()=>Le,Lv:()=>D,MV:()=>z,NB:()=>C,OS:()=>r,Q_:()=>N,Qp:()=>te,S8:()=>Ye,Ss:()=>Ve,UD:()=>p,UU:()=>c,Vi:()=>ne,W1:()=>E,Wd:()=>Ie,Wv:()=>k,Z5:()=>Z,_J:()=>xe,aC:()=>we,aI:()=>W,bm:()=>L,eY:()=>d,ih:()=>g,iy:()=>j,jy:()=>A,km:()=>Y,lF:()=>_,lT:()=>a,m:()=>ie,ne:()=>M,ns:()=>U,pc:()=>V,r_:()=>Me,tk:()=>Qe,tl:()=>Ce,uz:()=>l,y_:()=>He,zY:()=>_e,z_:()=>H,zd:()=>S});var v=e(36260),R=e(63946);function x(Te){return!Te||typeof Te!="string"?!0:Te.trim().length===0}const T=/{(\d+)}/g;function y(Te,...oe){return oe.length===0?Te:Te.replace(T,function(q,ue){const J=parseInt(ue,10);return isNaN(J)||J<0||J>=oe.length?q:oe[J]})}function A(Te){return Te.replace(/[<>"'&]/g,oe=>{switch(oe){case"<":return"&lt;";case">":return"&gt;";
9case'"':return"&quot;";case"'":return"&apos;";case"&":return"&amp;"}return oe})}function g(Te){return Te.replace(/[<>&]/g,function(oe){switch(oe){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return oe}})}function L(Te){return Te.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function b(Te,oe=" "){const q=C(Te,oe);return u(q,oe)}function C(Te,oe){if(!Te||!oe)return Te;const q=oe.length;let ue=0;if(q===1){const J=oe.charCodeAt(0);for(;ue<Te.length&&Te.charCodeAt(ue)===J;)ue++}else for(;Te.startsWith(oe,ue);)ue+=q;return Te.substring(ue)}function u(Te,oe){if(!Te||!oe)return Te;const q=oe.length,ue=Te.length;if(q===1){let ve=ue;const De=oe.charCodeAt(0);for(;ve>0&&Te.charCodeAt(ve-1)===De;)ve--;return Te.substring(0,ve)}let J=ue;for(;J>0&&Te.endsWith(oe,J);)J-=q;return Te.substring(0,J)}function i(Te){return Te.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function r(Te,oe,q={}){if(!Te)throw new Error("Cannot create regex from empty string");oe||(Te=L(Te)),q.wholeWord&&(/\B/.test(Te.charAt(0))||(Te="\\b"+Te),/\B/.test(Te.charAt(Te.length-1))||(Te=Te+"\\b"));let ue="";return q.global&&(ue+="g"),q.matchCase||(ue+="i"),q.multiline&&(ue+="m"),q.unicode&&(ue+="u"),new RegExp(Te,ue)}function d(Te){return Te.source==="^"||Te.source==="^$"||Te.source==="$"||Te.source==="^\\s*$"?!1:!!(Te.exec("")&&Te.lastIndex===0)}function l(Te){return Te.split(/\r\n|\r|\n/)}function o(Te){for(let oe=0,q=Te.length;oe<q;oe++){const ue=Te.charCodeAt(oe);if(ue!==32&&ue!==9)return oe}return-1}function c(Te,oe=0,q=Te.length){for(let ue=oe;ue<q;ue++){const J=Te.charCodeAt(ue);if(J!==32&&J!==9)return Te.substring(oe,ue)}return Te.substring(oe,q)}function a(Te,oe=Te.length-1){for(let q=oe;q>=0;q--){const ue=Te.charCodeAt(q);if(ue!==32&&ue!==9)return q}return-1}function p(Te,oe){return Te<oe?-1:Te>oe?1:0}function _(Te,oe,q=0,ue=Te.length,J=0,ve=oe.length){for(;q<ue&&J<ve;q++,J++){const Se=Te.charCodeAt(q),pe=oe.charCodeAt(J);if(Se<pe)return-1;if(Se>pe)return 1}const De=ue-q,fe=ve-J;return De<fe?-1:De>fe?1:0}function E(Te,oe){return S(Te,oe,0,Te.length,0,oe.length)}function S(Te,oe,q=0,ue=Te.length,J=0,ve=oe.length){for(;q<ue&&J<ve;q++,J++){let Se=Te.charCodeAt(q),pe=oe.charCodeAt(J);if(Se===pe)continue;if(Se>=128||pe>=128)return _(Te.toLowerCase(),oe.toLowerCase(),q,ue,J,ve);D(Se)&&(Se-=32),D(pe)&&(pe-=32);const Ae=Se-pe;if(Ae!==0)return Ae}const De=ue-q,fe=ve-J;return De<fe?-1:De>fe?1:0}function h(Te){return Te>=48&&Te<=57}function D(Te){return Te>=97&&Te<=122}function k(Te){return Te>=65&&Te<=90}function N(Te,oe){return Te.length===oe.length&&S(Te,oe)===0}function W(Te,oe,q){return Te===oe||Te!==void 0&&oe!==void 0&&N(Te,oe)}function U(Te,oe){const q=oe.length;return q<=Te.length&&S(Te,oe,0,q)===0}function $(Te,oe){const q=Te.length,ue=q-oe.length;return ue>=0&&S(Te,oe,ue,q)===0}function te(Te,oe){const q=Math.min(Te.length,oe.length);let ue;for(ue=0;ue<q;ue++)if(Te.charCodeAt(ue)!==oe.charCodeAt(ue))return ue;return q}function ne(Te,oe){const q=Math.min(Te.length,oe.length);let ue;const J=Te.length-1,ve=oe.length-1;for(ue=0;ue<q;ue++)if(Te.charCodeAt(J-ue)!==oe.charCodeAt(ve-ue))return ue;return q}function V(Te){return 55296<=Te&&Te<=56319}function I(Te){return 56320<=Te&&Te<=57343}function H(Te,oe){return(Te-55296<<10)+(oe-56320)+65536}function Z(Te,oe,q){const ue=Te.charCodeAt(q);if(V(ue)&&q+1<oe){const J=Te.charCodeAt(q+1);if(I(J))return H(ue,J)}return ue}function X(Te,oe){const q=Te.charCodeAt(oe-1);if(I(q)&&oe>1){const ue=Te.charCodeAt(oe-2);if(V(ue))return H(ue,q)}return q}class G{get offset(){return this._offset}constructor(oe,q=0){this._str=oe,this._len=oe.length,this._offset=q}setOffset(oe){this._offset=oe}prevCodePoint(){const oe=X(this._str,this._offset);return this._offset-=oe>=65536?2:1,oe}nextCodePoint(){const oe=Z(this._str,this._len,this._offset);return this._offset+=oe>=65536?2:1,oe}eol(){return this._offset>=this._len}}class Y{get offset(){return this._iterator.offset}constructor(oe,q=0){this._iterator=new G(oe,q)}nextGraphemeLength(){const oe=ae.getInstance(),q=this._iterator,ue=q.offset;
9let J=oe.getGraphemeBreakType(q.nextCodePoint());for(;!q.eol();){const ve=q.offset,De=oe.getGraphemeBreakType(q.nextCodePoint());if(je(J,De)){q.setOffset(ve);break}J=De}return q.offset-ue}prevGraphemeLength(){const oe=ae.getInstance(),q=this._iterator,ue=q.offset;let J=oe.getGraphemeBreakType(q.prevCodePoint());for(;q.offset>0;){const ve=q.offset,De=oe.getGraphemeBreakType(q.prevCodePoint());if(je(De,J)){q.setOffset(ve);break}J=De}return ue-q.offset}eol(){return this._iterator.eol()}}function j(Te,oe){return new Y(Te,oe).nextGraphemeLength()}function z(Te,oe){return new Y(Te,oe).prevGraphemeLength()}function ie(Te,oe){oe>0&&I(Te.charCodeAt(oe))&&oe--;const q=oe+j(Te,oe);return[q-z(Te,q),q]}let re;function de(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function le(Te){return re||(re=de()),re.test(Te)}const he=/^[\t\n\r\x20-\x7E]*$/;function we(Te){return he.test(Te)}const xe=/[\u2028\u2029]/;function Be(Te){return xe.test(Te)}function M(Te){return Te>=11904&&Te<=55215||Te>=63744&&Te<=64255||Te>=65281&&Te<=65374||Te>=65504&&Te<=65510}function Ve(Te){return Te>=127462&&Te<=127487||Te===8986||Te===8987||Te===9200||Te===9203||Te>=9728&&Te<=10175||Te===11088||Te===11093||Te>=127744&&Te<=128591||Te>=128640&&Te<=128764||Te>=128992&&Te<=129008||Te>=129280&&Te<=129535||Te>=129648&&Te<=129782}const Me="\uFEFF";function Le(Te){return!!(Te&&Te.length>0&&Te.charCodeAt(0)===65279)}function _e(Te,oe=!1){return Te?(oe&&(Te=Te.replace(/\\./g,"")),Te.toLowerCase()!==Te):!1}function Qe(Te){return Te=Te%(2*26),Te<26?String.fromCharCode(97+Te):String.fromCharCode(65+Te-26)}function je(Te,oe){return Te===0?oe!==5&&oe!==7:Te===2&&oe===3?!1:Te===4||Te===2||Te===3||oe===4||oe===2||oe===3?!0:!(Te===8&&(oe===8||oe===9||oe===11||oe===12)||(Te===11||Te===9)&&(oe===9||oe===10)||(Te===12||Te===10)&&oe===10||oe===5||oe===13||oe===7||Te===1||Te===13&&oe===14||Te===6&&oe===6)}const Ke=class Ke{static getInstance(){return Ke._INSTANCE||(Ke._INSTANCE=new Ke),Ke._INSTANCE}constructor(){this._data=Ee()}getGraphemeBreakType(oe){if(oe<32)return oe===10?3:oe===13?2:4;if(oe<127)return 0;const q=this._data,ue=q.length/3;let J=1;for(;J<=ue;)if(oe<q[3*J])J=2*J;else if(oe>q[3*J+1])J=2*J+1;else return q[3*J+2];return 0}};Ke._INSTANCE=null;let ae=Ke;function Ee(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,850
95,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70
9502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,
912,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,23
962,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,4649
96,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54
9168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function Ie(Te,oe){if(Te===0)return 0;const q=Ue(Te,oe);if(q!==void 0)return q;const ue=new G(oe,Te);return ue.prevCodePoint(),ue.offset}function Ue(Te,oe){const q=new G(oe,Te);let ue=q.prevCodePoint();for(;$e(ue)||ue===65039||ue===8419;){if(q.offset===0)return;ue=q.prevCodePoint()}if(!Ve(ue))return;let J=q.offset;return J>0&&q.prevCodePoint()===8205&&(J=q.offset),J}function $e(Te){return 127995<=Te&&Te<=127999}const Ye="\xA0",qe=class qe{static getInstance(oe){return qe.cache.get(Array.from(oe).join(","))}static getLocales(){return qe._locales.value}constructor(oe){this.confusableDictionary=oe}isAmbiguous(oe){return this.confusableDictionary.has(oe)}getPrimaryConfusable(oe){return this.confusableDictionary.get(oe)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}};qe.ambiguousCharacterData=new R.d(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,583
96,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,
9120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,12
90368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,12
90,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}')),qe.cache=new v.o5(oe=>{const q=oe.split(",");function ue(Xe){const dt=new Map;for(let gt=0;gt<Xe.length;gt+=2)dt.set(Xe[gt],Xe[gt+1]);return dt}function J(Xe,dt){const gt=new Map(Xe);for(const[Bt,_t]of dt)gt.set(Bt,_t);return gt}function ve(Xe,dt){if(!Xe)return dt;const gt=new Map;for(const[Bt,_t]of Xe)dt.has(Bt)&&gt.set(Bt,_t);return gt}const De=qe.ambiguousCharacterData.value;
9let fe=q.filter(Xe=>!Xe.startsWith("_")&&Object.hasOwn(De,Xe));fe.length===0&&(fe=["_default"]);let Se;for(const Xe of fe){const dt=ue(De[Xe]);Se=ve(Se,dt)}const pe=ue(De._common),Ae=J(pe,Se);return new qe(Ae)}),qe._locales=new R.d(()=>Object.keys(qe.ambiguousCharacterData.value).filter(oe=>!oe.startsWith("_")));let Ce=qe;const ht=class ht{static getRawData(){return JSON.parse('{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}')}static getData(){return this._data||(this._data=new Set([...Object.values(ht.getRawData())].flat())),this._data}static isInvisibleCharacter(oe){return ht.getData().has(oe)}static get codePoints(){return ht.getData()}};ht._data=void 0;let He=ht},16989:(St,We,e)=>{var v=e(50946),R=e(48295),x=e(3765),T=e(87676),y=e(14333),A=e(8897),g=e(10998),L=e(73678),b=e(61988),C=e(99859),u=e(47936),i=e(47624),r=e(97148);const S=class S extends g.jG{constructor(D){super(),this._editor=D,this._editorObs=(0,b.U)(this._editor),this._placeholderText=this._editorObs.getOption(100),this._state=(0,C.C)({owner:this,equalsFn:A.dB},k=>{const N=this._placeholderText.read(k);if(N&&this._editorObs.valueIsEmpty.read(k))return{placeholder:N}}),this._shouldViewBeAlive=l(this,k=>this._state.read(k)?.placeholder!==void 0),this._view=(0,C.un)(k=>{if(!this._shouldViewBeAlive.read(k))return;const N=(0,y.h)("div.editorPlaceholder");k.store.add((0,u.fm)(W=>{const U=this._state.read(W),$=U?.placeholder!==void 0;N.root.style.display=$?"block":"none",N.root.innerText=U?.placeholder??""})),k.store.add((0,u.fm)(W=>{const U=this._editorObs.layoutInfo.read(W);N.root.style.left=`${U.contentLeft}px`,N.root.style.width=U.contentWidth-U.verticalScrollbarWidth+"px",N.root.style.top=`${this._editor.getTopForLineNumber(0)}px`})),k.store.add((0,u.fm)(W=>{N.root.style.fontFamily=this._editorObs.getOption(58).read(W),N.root.style.fontSize=this._editorObs.getOption(61).read(W)+"px",N.root.style.lineHeight=this._editorObs.getOption(75).read(W)+"px"})),k.store.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:(0,i.l)(0),position:(0,i.l)(null),domNode:N.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};S.ID="editor.contrib.placeholderText";let d=S;function l(h,D){return(0,r.ZX)(h,(k,N)=>N===!0?!0:D(k))}var o=e(82399),c=function(h,D,k,N){var W=arguments.length,U=W<3?D:N===null?N=Object.getOwnPropertyDescriptor(D,k):N,$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(h,D,k,N);else for(var te=h.length-1;te>=0;te--)($=h[te])&&(U=(W<3?$(U):W>3?$(D,k,U):$(D,k))||U);return W>3&&U&&Object.defineProperty(D,k,U),U},a=function(h,D){return function(k,N){D(k,N,h)}};class p{constructor(D){this.instantiationService=D}init(...D){}}function _(h){return h()}let E=class extends p{constructor(D,k){super(k),this.init(D)}};E=c([a(1,o._Y)],E),(0,v.HW)(d.ID,_(()=>d),0),(0,T.x1)("editor.placeholder.foreground",R.Ek,(0,x.kg)(1380,"Foreground color of the placeholder text in the editor."))},17954:(St,We,e)=>{e.d(We,{f:()=>R});var v=e(79359),R;(function(x){function T(N){return!!N&&typeof N=="object"&&typeof N[Symbol.iterator]=="function"}x.is=T;const y=Object.freeze([]);function A(){return y}x.empty=A;function*g(N){yield N}x.single=g;function L(N){return T(N)?N:g(N)}x.wrap=L;function b(N){return N??y}x.from=b;function*C(N){for(let W=N.length-1;W>=0;W--)yield N[W]}x.reverse=C;function u(N){return!N||N[Symbol.iterator]().next().done===!0}x.isEmpty=u;function i(N){return N[Symbol.iterator]().next().value}x.first=i;function r(N,W){let U=0;for(const $ of N)if(W($,U++))return!0;return!1}x.some=r;function d(N,W){let U=0;for(const $ of N)if(!W($,U++))return!1;return!0}x.every=d;function l(N,W){for(const U of N)if(W(U))return U}x.find=l;function*o(N,W){for(const U of N)W(U)&&(yield U)}x.filter=o;function*c(N,W){let U=0;for(const $ of N)yield W($,U++)}x.map=c;function*a(N,W){let U=0;for(const $ of N)yield*W($,U++)}x.flatMap=a;function*p(...N){for(const W of N)(0,v.xZ)(W)?yield*W:yield W}x.concat=p;function _(N,W,U){let $=U;for(const te of N)$=W($,te);return $}x.reduce=_;function E(N){let W=0;for(const U of N)W++;return W}x.length=E;function*S(N,W,U=N.length){for(W<-N.length&&(W=0),W<0&&(W+=N.length),U<0?U+=N.length:U>N.length&&(U=N.length);W<U;W++)yield N[W]}x.slice=S;function h(N,W=Number.POSITIVE_INFINITY){const U=[];if(W===0)return[U,N];const $=N[Symbol.iterator]();for(let te=0;te<W;te++){const ne=$.next();if(ne.done)return[U,x.empty()];U.push(ne.value)}return[U,{[Symbol.iterator](){return $}}]}x.consume=h;async function D(N){const W=[];for await(const U of N)W.push(U);return W}x.asyncToArray=D;async function k(N){let W=[];for await(const U of N)W=W.concat(U);return W}x.asyncToArrayFlat=k})(R||(R={}))},18019:(St,We,e)=>{e.d(We,{IN:()=>E,LC:()=>te,P8:()=>$,S8:()=>D,SA:()=>h,V8:()=>W,Vn:()=>ne,fj:()=>k,hd:()=>N,pD:()=>U});var v=e(9871);const R=65,x=97,T=90,y=122,A=46,g=47,L=92,b=58,C=63;
9class u extends Error{constructor(I,H,Z){let X;typeof H=="string"&&H.indexOf("not ")===0?(X="must not be",H=H.replace(/^not /,"")):X="must be";const G=I.indexOf(".")!==-1?"property":"argument";let Y=`The "${I}" ${G} ${X} of type ${H}`;Y+=`. Received type ${typeof Z}`,super(Y),this.code="ERR_INVALID_ARG_TYPE"}}function i(V,I){if(V===null||typeof V!="object")throw new u(I,"Object",V)}function r(V,I){if(typeof V!="string")throw new u(I,"string",V)}const d=v.iD==="win32";function l(V){return V===g||V===L}function o(V){return V===g}function c(V){return V>=R&&V<=T||V>=x&&V<=y}function a(V,I,H,Z){let X="",G=0,Y=-1,j=0,z=0;for(let ie=0;ie<=V.length;++ie){if(ie<V.length)z=V.charCodeAt(ie);else{if(Z(z))break;z=g}if(Z(z)){if(!(Y===ie-1||j===1))if(j===2){if(X.length<2||G!==2||X.charCodeAt(X.length-1)!==A||X.charCodeAt(X.length-2)!==A){if(X.length>2){const re=X.lastIndexOf(H);re===-1?(X="",G=0):(X=X.slice(0,re),G=X.length-1-X.lastIndexOf(H)),Y=ie,j=0;continue}else if(X.length!==0){X="",G=0,Y=ie,j=0;continue}}I&&(X+=X.length>0?`${H}..`:"..",G=2)}else X.length>0?X+=`${H}${V.slice(Y+1,ie)}`:X=V.slice(Y+1,ie),G=ie-Y-1;Y=ie,j=0}else z===A&&j!==-1?++j:j=-1}return X}function p(V){return V?`${V[0]==="."?"":"."}${V}`:""}function _(V,I){i(I,"pathObject");const H=I.dir||I.root,Z=I.base||`${I.name||""}${p(I.ext)}`;return H?H===I.root?`${H}${Z}`:`${H}${V}${Z}`:Z}const E={resolve(...V){let I="",H="",Z=!1;for(let X=V.length-1;X>=-1;X--){let G;if(X>=0){if(G=V[X],r(G,`paths[${X}]`),G.length===0)continue}else I.length===0?G=(0,v.bJ)():(G=v._K[`=${I}`]||(0,v.bJ)(),(G===void 0||G.slice(0,2).toLowerCase()!==I.toLowerCase()&&G.charCodeAt(2)===L)&&(G=`${I}\\`));const Y=G.length;let j=0,z="",ie=!1;const re=G.charCodeAt(0);if(Y===1)l(re)&&(j=1,ie=!0);else if(l(re))if(ie=!0,l(G.charCodeAt(1))){let de=2,le=de;for(;de<Y&&!l(G.charCodeAt(de));)de++;if(de<Y&&de!==le){const he=G.slice(le,de);for(le=de;de<Y&&l(G.charCodeAt(de));)de++;if(de<Y&&de!==le){for(le=de;de<Y&&!l(G.charCodeAt(de));)de++;(de===Y||de!==le)&&(z=`\\\\${he}\\${G.slice(le,de)}`,j=de)}}}else j=1;else c(re)&&G.charCodeAt(1)===b&&(z=G.slice(0,2),j=2,Y>2&&l(G.charCodeAt(2))&&(ie=!0,j=3));if(z.length>0)if(I.length>0){if(z.toLowerCase()!==I.toLowerCase())continue}else I=z;if(Z){if(I.length>0)break}else if(H=`${G.slice(j)}\\${H}`,Z=ie,ie&&I.length>0)break}return H=a(H,!Z,"\\",l),Z?`${I}\\${H}`:`${I}${H}`||"."},normalize(V){r(V,"path");const I=V.length;if(I===0)return".";let H=0,Z,X=!1;const G=V.charCodeAt(0);if(I===1)return o(G)?"\\":V;if(l(G))if(X=!0,l(V.charCodeAt(1))){let j=2,z=j;for(;j<I&&!l(V.charCodeAt(j));)j++;if(j<I&&j!==z){const ie=V.slice(z,j);for(z=j;j<I&&l(V.charCodeAt(j));)j++;if(j<I&&j!==z){for(z=j;j<I&&!l(V.charCodeAt(j));)j++;if(j===I)return`\\\\${ie}\\${V.slice(z)}\\`;j!==z&&(Z=`\\\\${ie}\\${V.slice(z,j)}`,H=j)}}}else H=1;
9else c(G)&&V.charCodeAt(1)===b&&(Z=V.slice(0,2),H=2,I>2&&l(V.charCodeAt(2))&&(X=!0,H=3));let Y=H<I?a(V.slice(H),!X,"\\",l):"";if(Y.length===0&&!X&&(Y="."),Y.length>0&&l(V.charCodeAt(I-1))&&(Y+="\\"),!X&&Z===void 0&&V.includes(":")){if(Y.length>=2&&c(Y.charCodeAt(0))&&Y.charCodeAt(1)===b)return`.\\${Y}`;let j=V.indexOf(":");do if(j===I-1||l(V.charCodeAt(j+1)))return`.\\${Y}`;while((j=V.indexOf(":",j+1))!==-1)}return Z===void 0?X?`\\${Y}`:Y:X?`${Z}\\${Y}`:`${Z}${Y}`},isAbsolute(V){r(V,"path");const I=V.length;if(I===0)return!1;const H=V.charCodeAt(0);return l(H)||I>2&&c(H)&&V.charCodeAt(1)===b&&l(V.charCodeAt(2))},join(...V){if(V.length===0)return".";let I,H;for(let G=0;G<V.length;++G){const Y=V[G];r(Y,"path"),Y.length>0&&(I===void 0?I=H=Y:I+=`\\${Y}`)}if(I===void 0)return".";let Z=!0,X=0;if(typeof H=="string"&&l(H.charCodeAt(0))){++X;const G=H.length;G>1&&l(H.charCodeAt(1))&&(++X,G>2&&(l(H.charCodeAt(2))?++X:Z=!1))}if(Z){for(;X<I.length&&l(I.charCodeAt(X));)X++;X>=2&&(I=`\\${I.slice(X)}`)}return E.normalize(I)},relative(V,I){if(r(V,"from"),r(I,"to"),V===I)return"";const H=E.resolve(V),Z=E.resolve(I);if(H===Z||(V=H.toLowerCase(),I=Z.toLowerCase(),V===I))return"";if(H.length!==V.length||Z.length!==I.length){const we=H.split("\\"),xe=Z.split("\\");we[we.length-1]===""&&we.pop(),xe[xe.length-1]===""&&xe.pop();const Be=we.length,M=xe.length,Ve=Be<M?Be:M;let Me;for(Me=0;Me<Ve&&we[Me].toLowerCase()===xe[Me].toLowerCase();Me++);return Me===0?Z:Me===Ve?M>Ve?xe.slice(Me).join("\\"):Be>Ve?"..\\".repeat(Be-1-Me)+"..":"":"..\\".repeat(Be-Me)+xe.slice(Me).join("\\")}let X=0;for(;
9X<V.length&&V.charCodeAt(X)===L;)X++;let G=V.length;for(;G-1>X&&V.charCodeAt(G-1)===L;)G--;const Y=G-X;let j=0;for(;j<I.length&&I.charCodeAt(j)===L;)j++;let z=I.length;for(;z-1>j&&I.charCodeAt(z-1)===L;)z--;const ie=z-j,re=Y<ie?Y:ie;let de=-1,le=0;for(;le<re;le++){const we=V.charCodeAt(X+le);if(we!==I.charCodeAt(j+le))break;we===L&&(de=le)}if(le!==re){if(de===-1)return Z}else{if(ie>re){if(I.charCodeAt(j+le)===L)return Z.slice(j+le+1);if(le===2)return Z.slice(j+le)}Y>re&&(V.charCodeAt(X+le)===L?de=le:le===2&&(de=3)),de===-1&&(de=0)}let he="";for(le=X+de+1;le<=G;++le)(le===G||V.charCodeAt(le)===L)&&(he+=he.length===0?"..":"\\..");return j+=de,he.length>0?`${he}${Z.slice(j,z)}`:(Z.charCodeAt(j)===L&&++j,Z.slice(j,z))},toNamespacedPath(V){if(typeof V!="string"||V.length===0)return V;const I=E.resolve(V);if(I.length<=2)return V;if(I.charCodeAt(0)===L){if(I.charCodeAt(1)===L){const H=I.charCodeAt(2);if(H!==C&&H!==A)return`\\\\?\\UNC\\${I.slice(2)}`}}else if(c(I.charCodeAt(0))&&I.charCodeAt(1)===b&&I.charCodeAt(2)===L)return`\\\\?\\${I}`;return I},dirname(V){r(V,"path");const I=V.length;if(I===0)return".";let H=-1,Z=0;const X=V.charCodeAt(0);if(I===1)return l(X)?V:".";if(l(X)){if(H=Z=1,l(V.charCodeAt(1))){let j=2,z=j;for(;j<I&&!l(V.charCodeAt(j));)j++;if(j<I&&j!==z){for(z=j;j<I&&l(V.charCodeAt(j));)j++;if(j<I&&j!==z){for(z=j;j<I&&!l(V.charCodeAt(j));)j++;if(j===I)return V;j!==z&&(H=Z=j+1)}}}}else c(X)&&V.charCodeAt(1)===b&&(H=I>2&&l(V.charCodeAt(2))?3:2,Z=H);let G=-1,Y=!0;for(let j=I-1;j>=Z;--j)if(l(V.charCodeAt(j))){if(!Y){G=j;break}}else Y=!1;if(G===-1){if(H===-1)return".";G=H}return V.slice(0,G)},basename(V,I){I!==void 0&&r(I,"suffix"),r(V,"path");let H=0,Z=-1,X=!0,G;if(V.length>=2&&c(V.charCodeAt(0))&&V.charCodeAt(1)===b&&(H=2),I!==void 0&&I.length>0&&I.length<=V.length){if(I===V)return"";let Y=I.length-1,j=-1;for(G=V.length-1;G>=H;--G){const z=V.charCodeAt(G);if(l(z)){if(!X){H=G+1;break}}else j===-1&&(X=!1,j=G+1),Y>=0&&(z===I.charCodeAt(Y)?--Y===-1&&(Z=G):(Y=-1,Z=j))}return H===Z?Z=j:Z===-1&&(Z=V.length),V.slice(H,Z)}for(G=V.length-1;G>=H;--G)if(l(V.charCodeAt(G))){if(!X){H=G+1;break}}else Z===-1&&(X=!1,Z=G+1);return Z===-1?"":V.slice(H,Z)},extname(V){r(V,"path");let I=0,H=-1,Z=0,X=-1,G=!0,Y=0;V.length>=2&&V.charCodeAt(1)===b&&c(V.charCodeAt(0))&&(I=Z=2);for(let j=V.length-1;j>=I;--j){const z=V.charCodeAt(j);if(l(z)){if(!G){Z=j+1;break}continue}X===-1&&(G=!1,X=j+1),z===A?H===-1?H=j:Y!==1&&(Y=1):H!==-1&&(Y=-1)}return H===-1||X===-1||Y===0||Y===1&&H===X-1&&H===Z+1?"":V.slice(H,X)},format:_.bind(null,"\\"),parse(V){r(V,"path");const I={root:"",dir:"",base:"",ext:"",name:""};if(V.length===0)return I;const H=V.length;let Z=0,X=V.charCodeAt(0);if(H===1)return l(X)?(I.root=I.dir=V,I):(I.base=I.name=V,I);if(l(X)){if(Z=1,l(V.charCodeAt(1))){let de=2,le=de;for(;de<H&&!l(V.charCodeAt(de));)de++;if(de<H&&de!==le){for(le=de;de<H&&l(V.charCodeAt(de));)de++;if(de<H&&de!==le){for(le=de;de<H&&!l(V.charCodeAt(de));)de++;de===H?Z=de:de!==le&&(Z=de+1)}}}}else if(c(X)&&V.charCodeAt(1)===b){if(H<=2)return I.root=I.dir=V,I;if(Z=2,l(V.charCodeAt(2))){if(H===3)return I.root=I.dir=V,I;Z=3}}Z>0&&(I.root=V.slice(0,Z));let G=-1,Y=Z,j=-1,z=!0,ie=V.length-1,re=0;for(;ie>=Z;--ie){if(X=V.charCodeAt(ie),l(X)){if(!z){Y=ie+1;break}continue}j===-1&&(z=!1,j=ie+1),X===A?G===-1?G=ie:re!==1&&(re=1):G!==-1&&(re=-1)}return j!==-1&&(G===-1||re===0||re===1&&G===j-1&&G===Y+1?I.base=I.name=V.slice(Y,j):(I.name=V.slice(Y,G),I.base=V.slice(Y,j),I.ext=V.slice(G,j))),Y>0&&Y!==Z?I.dir=V.slice(0,Y-1):I.dir=I.root,I},sep:"\\",delimiter:";",win32:null,posix:null},S=(()=>{if(d){const V=/\\/g;return()=>{const I=(0,v.bJ)().replace(V,"/");return I.slice(I.indexOf("/"))}}return()=>(0,v.bJ)()})(),h={resolve(...V){let I="",H=!1;for(let Z=V.length-1;Z>=0&&!H;Z--){const X=V[Z];r(X,`paths[${Z}]`),X.length!==0&&(I=`${X}/${I}`,H=X.charCodeAt(0)===g)}if(!H){const Z=S();I=`${Z}/${I}`,H=Z.charCodeAt(0)===g}return I=a(I,!H,"/",o),H?`/${I}`:I.length>0?I:"."},normalize(V){if(r(V,"path"),V.length===0)return".";const I=V.charCodeAt(0)===g,H=V.charCodeAt(V.length-1)===g;
9return V=a(V,!I,"/",o),V.length===0?I?"/":H?"./":".":(H&&(V+="/"),I?`/${V}`:V)},isAbsolute(V){return r(V,"path"),V.length>0&&V.charCodeAt(0)===g},join(...V){if(V.length===0)return".";const I=[];for(let H=0;H<V.length;++H){const Z=V[H];r(Z,"path"),Z.length>0&&I.push(Z)}return I.length===0?".":h.normalize(I.join("/"))},relative(V,I){if(r(V,"from"),r(I,"to"),V===I||(V=h.resolve(V),I=h.resolve(I),V===I))return"";const H=1,Z=V.length,X=Z-H,G=1,Y=I.length-G,j=X<Y?X:Y;let z=-1,ie=0;for(;ie<j;ie++){const de=V.charCodeAt(H+ie);if(de!==I.charCodeAt(G+ie))break;de===g&&(z=ie)}if(ie===j)if(Y>j){if(I.charCodeAt(G+ie)===g)return I.slice(G+ie+1);if(ie===0)return I.slice(G+ie)}else X>j&&(V.charCodeAt(H+ie)===g?z=ie:ie===0&&(z=0));let re="";for(ie=H+z+1;ie<=Z;++ie)(ie===Z||V.charCodeAt(ie)===g)&&(re+=re.length===0?"..":"/..");return`${re}${I.slice(G+z)}`},toNamespacedPath(V){return V},dirname(V){if(r(V,"path"),V.length===0)return".";const I=V.charCodeAt(0)===g;let H=-1,Z=!0;for(let X=V.length-1;X>=1;--X)if(V.charCodeAt(X)===g){if(!Z){H=X;break}}else Z=!1;return H===-1?I?"/":".":I&&H===1?"//":V.slice(0,H)},basename(V,I){I!==void 0&&r(I,"suffix"),r(V,"path");let H=0,Z=-1,X=!0,G;if(I!==void 0&&I.length>0&&I.length<=V.length){if(I===V)return"";let Y=I.length-1,j=-1;for(G=V.length-1;G>=0;--G){const z=V.charCodeAt(G);if(z===g){if(!X){H=G+1;break}}else j===-1&&(X=!1,j=G+1),Y>=0&&(z===I.charCodeAt(Y)?--Y===-1&&(Z=G):(Y=-1,Z=j))}return H===Z?Z=j:Z===-1&&(Z=V.length),V.slice(H,Z)}for(G=V.length-1;G>=0;--G)if(V.charCodeAt(G)===g){if(!X){H=G+1;break}}else Z===-1&&(X=!1,Z=G+1);return Z===-1?"":V.slice(H,Z)},extname(V){r(V,"path");let I=-1,H=0,Z=-1,X=!0,G=0;for(let Y=V.length-1;Y>=0;--Y){const j=V[Y];if(j==="/"){if(!X){H=Y+1;break}continue}Z===-1&&(X=!1,Z=Y+1),j==="."?I===-1?I=Y:G!==1&&(G=1):I!==-1&&(G=-1)}return I===-1||Z===-1||G===0||G===1&&I===Z-1&&I===H+1?"":V.slice(I,Z)},format:_.bind(null,"/"),parse(V){r(V,"path");const I={root:"",dir:"",base:"",ext:"",name:""};if(V.length===0)return I;const H=V.charCodeAt(0)===g;let Z;H?(I.root="/",Z=1):Z=0;let X=-1,G=0,Y=-1,j=!0,z=V.length-1,ie=0;for(;z>=Z;--z){const re=V.charCodeAt(z);if(re===g){if(!j){G=z+1;break}continue}Y===-1&&(j=!1,Y=z+1),re===A?X===-1?X=z:ie!==1&&(ie=1):X!==-1&&(ie=-1)}if(Y!==-1){const re=G===0&&H?1:G;X===-1||ie===0||ie===1&&X===Y-1&&X===G+1?I.base=I.name=V.slice(re,Y):(I.name=V.slice(re,X),I.base=V.slice(re,Y),I.ext=V.slice(X,Y))}return G>0?I.dir=V.slice(0,G-1):H&&(I.dir="/"),I},sep:"/",delimiter:":",win32:null,posix:null};h.win32=E.win32=E,h.posix=E.posix=h;const D=d?E.normalize:h.normalize,k=d?E.join:h.join,N=d?E.resolve:h.resolve,W=d?E.relative:h.relative,U=d?E.dirname:h.dirname,$=d?E.basename:h.basename,te=d?E.extname:h.extname,ne=d?E.sep:h.sep},18146:(St,We,e)=>{e.d(We,{tz:()=>A,yy:()=>x});const v={0:" ",1:"u",2:"r"},R=65535,x=16777215,T=4278190080;class y{constructor(b){const C=Math.ceil(b/32);this._states=new Uint32Array(C)}get(b){const C=b/32|0,u=b%32;return(this._states[C]&1<<u)!==0}set(b,C){const u=b/32|0,i=b%32,r=this._states[u];C?this._states[u]=r|1<<i:this._states[u]=r&~(1<<i)}}class A{constructor(b,C,u){if(b.length!==C.length||b.length>R)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=b,this._endIndexes=C,this._collapseStates=new y(b.length),this._userDefinedStates=new y(b.length),this._recoveredStates=new y(b.length),this._types=u,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const b=[],C=(u,i)=>{const r=b[b.length-1];return this.getStartLineNumber(r)<=u&&this.getEndLineNumber(r)>=i};for(let u=0,i=this._startIndexes.length;u<i;u++){const r=this._startIndexes[u],d=this._endIndexes[u];if(r>x||d>x)throw new Error("startLineNumber or endLineNumber must not exceed "+x);for(;b.length>0&&!C(r,d);)b.pop();const l=b.length>0?b[b.length-1]:-1;b.push(u),this._startIndexes[u]=r+((l&255)<<24),this._endIndexes[u]=d+((l&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(b){return this._startIndexes[b]&x}getEndLineNumber(b){return this._endIndexes[b]&x}getType(b){return this._types?this._types[b]:void 0}hasTypes(){return!!this._types}isCollapsed(b){return this._collapseStates.get(b)}setCollapsed(b,C){this._collapseStates.set(b,C)}isUserDefined(b){return this._userDefinedStates.get(b)}setUserDefined(b,C){return this._userDefinedStates.set(b,C)}isRecovered(b){return this._recoveredStates.get(b)}setRecovered(b,C){return this._recoveredStates.set(b,C)}getSource(b){return this.isUserDefined(b)?1:this.isRecovered(b)?2:0}setSource(b,C){C===1?(this.setUserDefined(b,!0),this.setRecovered(b,!1)):C===2?(this.setUserDefined(b,!1),this.setRecovered(b,!0)):(this.setUserDefined(b,!1),this.setRecovered(b,!1))}setCollapsedAllOfType(b,C){let u=!1;if(this._types)for(let i=0;i<this._types.length;i++)this._types[i]===b&&(this.setCollapsed(i,C),u=!0);return u}toRegion(b){return new g(this,b)}getParentIndex(b){this.ensureParentIndices();const C=((this._startIndexes[b]&T)>>>24)+((this._endIndexes[b]&T)>>>16);return C===R?-1:C}
9contains(b,C){return this.getStartLineNumber(b)<=C&&this.getEndLineNumber(b)>=C}findIndex(b){let C=0,u=this._startIndexes.length;if(u===0)return-1;for(;C<u;){const i=Math.floor((C+u)/2);b<this.getStartLineNumber(i)?u=i:C=i+1}return C-1}findRange(b){let C=this.findIndex(b);if(C>=0){if(this.getEndLineNumber(C)>=b)return C;for(C=this.getParentIndex(C);C!==-1;){if(this.contains(C,b))return C;C=this.getParentIndex(C)}}return-1}toString(){const b=[];for(let C=0;C<this.length;C++)b[C]=`[${v[this.getSource(C)]}${this.isCollapsed(C)?"+":"-"}] ${this.getStartLineNumber(C)}/${this.getEndLineNumber(C)}`;return b.join(", ")}toFoldRange(b){return{startLineNumber:this._startIndexes[b]&x,endLineNumber:this._endIndexes[b]&x,type:this._types?this._types[b]:void 0,isCollapsed:this.isCollapsed(b),source:this.getSource(b)}}static fromFoldRanges(b){const C=b.length,u=new Uint32Array(C),i=new Uint32Array(C);let r=[],d=!1;for(let o=0;o<C;o++){const c=b[o];u[o]=c.startLineNumber,i[o]=c.endLineNumber,r.push(c.type),c.type&&(d=!0)}d||(r=void 0);const l=new A(u,i,r);for(let o=0;o<C;o++)b[o].isCollapsed&&l.setCollapsed(o,!0),l.setSource(o,b[o].source);return l}static sanitizeAndMerge(b,C,u,i){u=u??Number.MAX_VALUE;const r=(D,k)=>Array.isArray(D)?N=>N<k?D[N]:void 0:N=>N<k?D.toFoldRange(N):void 0,d=r(b,b.length),l=r(C,C.length);let o=0,c=0,a=d(0),p=l(0);const _=[];let E,S=0;const h=[];for(;a||p;){let D;if(p&&(!a||a.startLineNumber>=p.startLineNumber))a&&a.startLineNumber===p.startLineNumber?(p.source===1?D=p:(D=a,D.isCollapsed=p.isCollapsed&&(a.endLineNumber===p.endLineNumber||!i?.startsInside(a.startLineNumber+1,a.endLineNumber+1)),D.source=0),a=d(++o)):(D=p,p.isCollapsed&&p.source===0&&(D.source=2)),p=l(++c);else{let k=c,N=p;for(;;){if(!N||N.startLineNumber>a.endLineNumber){D=a;break}if(N.source===1&&N.endLineNumber>a.endLineNumber)break;N=l(++k)}a=d(++o)}if(D){for(;E&&E.endLineNumber<D.startLineNumber;)E=_.pop();D.endLineNumber>D.startLineNumber&&D.startLineNumber>S&&D.endLineNumber<=u&&(!E||E.endLineNumber>=D.endLineNumber)&&(h.push(D),S=D.startLineNumber,E&&_.push(E),E=D)}}return h}}class g{constructor(b,C){this.ranges=b,this.index=C}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(b){return b.startLineNumber<=this.startLineNumber&&b.endLineNumber>=this.endLineNumber}containsLine(b){return this.startLineNumber<=b&&b<=this.endLineNumber}}},18382:(St,We,e)=>{e.d(We,{CU:()=>T,b1:()=>L,bu:()=>b,t4:()=>A,tA:()=>g,vw:()=>C,yU:()=>y});var v=e(3765),R=e(94901),x=e(87676);const T=(0,x.x1)("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},(0,v.kg)(1838,"Overall foreground color. This color is only used if not overridden by a component."));(0,x.x1)("strongForeground",{dark:"#FFFFFF",light:"#000000",hcDark:"#FFFFFF",hcLight:"#000000"},(0,v.kg)(1839,"Highest-contrast foreground color, intended for text or icons that need maximum legibility across various backgrounds. This color is only used if not overridden by a component.")),(0,x.x1)("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},(0,v.kg)(1840,"Overall foreground for disabled elements. This color is only used if not overridden by a component.")),(0,x.x1)("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},(0,v.kg)(1841,"Overall foreground color for error messages. This color is only used if not overridden by a component."));const y=(0,x.x1)("descriptionForeground",{light:"#717171",dark:(0,x.JO)(T,.7),hcDark:(0,x.JO)(T,.7),hcLight:(0,x.JO)(T,.7)},(0,v.kg)(1842,"Foreground color for description text providing additional information, for example for a label.")),A=(0,x.x1)("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},(0,v.kg)(1843,"The default color for icons in the workbench.")),g=(0,x.x1)("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},(0,v.kg)(1844,"Overall border color for focused elements. This color is only used if not overridden by a component.")),L=(0,x.x1)("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},(0,v.kg)(1845,"An extra border around elements to separate them from others for greater contrast.")),b=(0,x.x1)("contrastActiveBorder",{light:null,dark:null,hcDark:g,hcLight:g},(0,v.kg)(1846,"An extra border around active elements to separate them from others for greater contrast."));(0,x.x1)("selection.background",null,(0,v.kg)(1847,"The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const C=(0,x.x1)("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},(0,v.kg)(1848,"Foreground color for links in text."));(0,x.x1)("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},(0,v.kg)(1849,"Foreground color for links in text when clicked on and on mouse hover.")),(0,x.x1)("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:R.Q1.black,hcLight:"#292929"},(0,v.kg)(1850,"Color for text separators.")),(0,x.x1)("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#FFFFFF",hcLight:"#FFFFFF"},(0,v.kg)(1851,"Foreground color for preformatted text segments.")),(0,x.x1)("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:null,hcLight:"#09345f"}
9,(0,v.kg)(1852,"Background color for preformatted text segments.")),(0,x.x1)("textPreformat.border",{light:null,dark:null,hcDark:L,hcLight:null},(0,v.kg)(1853,"Border color for preformatted text segments.")),(0,x.x1)("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},(0,v.kg)(1854,"Background color for block quotes in text.")),(0,x.x1)("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:R.Q1.white,hcLight:"#292929"},(0,v.kg)(1855,"Border color for block quotes in text.")),(0,x.x1)("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:R.Q1.black,hcLight:"#F2F2F2"},(0,v.kg)(1856,"Background color for code blocks in text."))},18447:(St,We,e)=>{var D;e.d(We,{G:()=>h});var v=e(14333),R=e(21550),x=e(65958),T=e(5915),y=e(44437),A=e(94327),g=e(2106),L=e(10998),b=e(58881),C=e(3765),u=e(92557),i=e(31540),r=e(82399),d=e(56071),l=e(29879),o=e(98769),c=e(62105),a=e(71469),p=function(k,N,W,U){var $=arguments.length,te=$<3?N:U===null?U=Object.getOwnPropertyDescriptor(N,W):U,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(k,N,W,U);else for(var V=k.length-1;V>=0;V--)(ne=k[V])&&(te=($<3?ne(te):$>3?ne(N,W,te):ne(N,W))||te);return $>3&&te&&Object.defineProperty(N,W,te),te},_=function(k,N){return function(W,U){N(W,U,k)}},E;let S=(D=class extends L.jG{constructor(N,W,U,$,te,ne,V,I,H,Z,X){super(),this.typeId=N,this.editor=W,this.showCommand=$,this.range=te,this.edits=ne,this.onSelectNewEdit=V,this.additionalActions=I,this._keybindingService=Z,this._actionWidgetService=X,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=U.bindTo(H),this.visibleContext.set(!0),this._register((0,L.s)(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register((0,L.s)(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(G=>{this.dispose()})),this._register(g.Jh.runAndSubscribe(Z.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){this.button.element.title=this._keybindingService.appendKeybinding(this.showCommand.label,this.showCommand.id)}create(){this.domNode=(0,v.$)(".post-edit-widget"),this.button=this._register(new R.$(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register((0,v.ko)(this.domNode,v.Bx.CLICK,()=>this.showSelector()))}getId(){return E.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){const N=(0,v.BK)(this.button.element),W={x:N.left+N.width,y:N.top+N.height};this._actionWidgetService.show("postEditWidget",!1,this.edits.allEdits.map((U,$)=>({kind:"action",item:U,label:U.title,disabled:!1,canPreview:!1,group:{title:"",icon:b.L.fromId($===this.edits.activeEditIndex?T.W.check.id:T.W.blank.id)}})),{onHide:()=>{this.editor.focus()},onSelect:U=>{this._actionWidgetService.hide(!1);const $=this.edits.allEdits.findIndex(te=>te===U);if($!==this.edits.activeEditIndex)return this.onSelectNewEdit($)}},W,this.editor.getDomNode()??void 0,this.additionalActions)}},E=D,D.baseId="editor.widget.postEditWidget",D);S=E=p([_(8,i.fN),_(9,d.b),_(10,u.$)],S);let h=class extends L.jG{constructor(N,W,U,$,te,ne,V,I){super(),this._id=N,this._editor=W,this._visibleContext=U,this._showCommand=$,this._getAdditionalActions=te,this._instantiationService=ne,this._bulkEditService=V,this._notificationService=I,this._currentWidget=this._register(new L.HE),this._register(g.Jh.any(W.onDidChangeModel,W.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(N,W,U,$,te){if(!N.length||!this._editor.hasModel())return;const ne=this._editor.getModel(),V=W.allEdits.at(W.activeEditIndex);if(!V)return;const I=async re=>{const de=this._editor.getModel();de&&(await de.undo(),this.applyEditAndShowIfNeeded(N,{activeEditIndex:re,allEdits:W.allEdits},U,$,te))},H=(re,de)=>{(0,A.MB)(re)||(this._notificationService.error(de),U&&this.show(N[0],W,I))},Z=new c.gI(this._editor,3,void 0,te);let X;try{X=await(0,x.nY)($(V,Z.token),Z.token)}catch(re){return H(re,(0,C.kg)(976,`Error resolving edit '{0}':
10{1}`,V.title,(0,y.r)(re)))}finally{Z.dispose()}if(te.isCancellationRequested)return;const G=(0,a.v)(ne.uri,N,X),Y=N[0],j=ne.deltaDecorations([],[{range:Y,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let z,ie;try{z=await this._bulkEditService.apply(G,{editor:this._editor,token:te}),ie=ne.getDecorationRange(j[0])}catch(re){return H(re,(0,C.kg)(977,`Error applying edit '{0}':
11{1}`,V.title,(0,y.r)(re)))}finally{ne.deltaDecorations(j,[])}te.isCancellationRequested||U&&z.isApplied&&W.allEdits.length>1&&this.show(ie??Y,W,I)}show(N,W,U){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(S,this._id,this._editor,this._visibleContext,this._showCommand,N,W,U,this._getAdditionalActions()))}clear(){this._currentWidget.clear()}tryShowSelector(){this._currentWidget.value?.showSelector()}};h=p([_(5,r._Y),_(6,o.nu),_(7,l.Ot)],h)},18577:(St,We,e)=>{e.d(We,{IF:()=>C});var v=e(65065),R=(l=>(l[l.None=0]="None",l[l.CommonJS=1]="CommonJS",l[l.AMD=2]="AMD",l[l.UMD=3]="UMD",l[l.System=4]="System",l[l.ES2015=5]="ES2015",l[l.ESNext=99]="ESNext",l))(R||{}),x=(l=>(l[l.None=0]="None",l[l.Preserve=1]="Preserve",l[l.React=2]="React",l[l.ReactNative=3]="ReactNative",l[l.ReactJSX=4]="ReactJSX",l[l.ReactJSXDev=5]="ReactJSXDev",l))(x||{}),T=(l=>(l[l.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",l[l.LineFeed=1]="LineFeed",l))(T||{}),y=(l=>(l[l.ES3=0]="ES3",l[l.ES5=1]="ES5",l[l.ES2015=2]="ES2015",l[l.ES2016=3]="ES2016",l[l.ES2017=4]="ES2017",l[l.ES2018=5]="ES2018",l[l.ES2019=6]="ES2019",l[l.ES2020=7]="ES2020",l[l.ESNext=99]="ESNext",l[l.JSON=100]="JSON",l[l.Latest=99]="Latest",l))(y||{}),A=(l=>(l[l.Classic=1]="Classic",l[l.NodeJs=2]="NodeJs",l))(A||{});class g{constructor(o,c,a,p,_){this._onDidChange=new v.vl,this._onDidExtraLibsChange=new v.vl,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(c),this.setWorkerOptions(a),this.setInlayHintsOptions(p),this.setModeConfiguration(_),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,c){let a;if(typeof c>"u"?a=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:a=c,this._extraLibs[a]&&this._extraLibs[a].content===o)return{dispose:()=>{}};let p=1;return this._removedExtraLibs[a]&&(p=this._removedExtraLibs[a]+1),this._extraLibs[a]&&(p=this._extraLibs[a].version+1),this._extraLibs[a]={content:o,version:p},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let _=this._extraLibs[a];_&&_.version===p&&(delete this._extraLibs[a],this._removedExtraLibs[a]=p,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const c in this._extraLibs)this._removedExtraLibs[c]=this._extraLibs[c].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const c of o){const a=c.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,p=c.content;let _=1;this._removedExtraLibs[a]&&(_=this._removedExtraLibs[a]+1),this._extraLibs[a]={content:p,version:_}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}
11,0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}}const L=null,b={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},C=new g({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},b),u=new g({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},b),i=()=>d().then(l=>l.getTypeScriptWorker()),r=()=>d().then(l=>l.getJavaScriptWorker());function d(){return Promise.all([e.e(226),e.e(744),e.e(76)]).then(e.bind(e,71989))}v.eo.onLanguage("typescript",()=>d().then(l=>
11l.setupTypeScript(C))),v.eo.onLanguage("javascript",()=>d().then(l=>l.setupJavaScript(u)))},18676:(St,We,e)=>{e.d(We,{TQ:()=>g,eb:()=>d,nh:()=>r});var v=e(94901);class R{constructor(a,p,_,E,S){this._parsedThemeRuleBrand=void 0,this.token=a,this.index=p,this.fontStyle=_,this.foreground=E,this.background=S}}function x(c){if(!c||!Array.isArray(c))return[];const a=[];let p=0;for(let _=0,E=c.length;_<E;_++){const S=c[_];let h=-1;if(typeof S.fontStyle=="string"){h=0;const N=S.fontStyle.split(" ");for(let W=0,U=N.length;W<U;W++)switch(N[W]){case"italic":h=h|1;break;case"bold":h=h|2;break;case"underline":h=h|4;break;case"strikethrough":h=h|8;break}}let D=null;typeof S.foreground=="string"&&(D=S.foreground);let k=null;typeof S.background=="string"&&(k=S.background),a[p++]=new R(S.token||"",_,h,D,k)}return a}function T(c,a){c.sort((W,U)=>{const $=C(W.token,U.token);return $!==0?$:W.index-U.index});let p=0,_="000000",E="ffffff";for(;c.length>=1&&c[0].token==="";){const W=c.shift();W.fontStyle!==-1&&(p=W.fontStyle),W.foreground!==null&&(_=W.foreground),W.background!==null&&(E=W.background)}const S=new A;for(const W of a)S.getId(W);const h=S.getId(_),D=S.getId(E),k=new u(p,h,D),N=new i(k);for(let W=0,U=c.length;W<U;W++){const $=c[W];N.insert($.token,$.fontStyle,S.getId($.foreground),S.getId($.background))}return new g(S,N)}const y=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class A{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(a){if(a===null)return 0;const p=a.match(y);if(!p)throw new Error("Illegal value for token color: "+a);a=p[1].toUpperCase();let _=this._color2id.get(a);return _||(_=++this._lastColorId,this._color2id.set(a,_),this._id2color[_]=v.Q1.fromHex("#"+a),_)}getColorMap(){return this._id2color.slice(0)}}class g{static createFromRawTokenTheme(a,p){return this.createFromParsedTokenTheme(x(a),p)}static createFromParsedTokenTheme(a,p){return T(a,p)}constructor(a,p){this._colorMap=a,this._root=p,this._cache=new Map}getColorMap(){return this._colorMap.getColorMap()}_match(a){return this._root.match(a)}match(a,p){let _=this._cache.get(p);if(typeof _>"u"){const E=this._match(p),S=b(p);_=(E.metadata|S<<8)>>>0,this._cache.set(p,_)}return(_|a<<0)>>>0}}const L=/\b(comment|string|regex|regexp)\b/;function b(c){const a=c.match(L);if(!a)return 0;switch(a[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function C(c,a){return c<a?-1:c>a?1:0}class u{constructor(a,p,_){this._themeTrieElementRuleBrand=void 0,this._fontStyle=a,this._foreground=p,this._background=_,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new u(this._fontStyle,this._foreground,this._background)}acceptOverwrite(a,p,_){a!==-1&&(this._fontStyle=a),p!==0&&(this._foreground=p),_!==0&&(this._background=_),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class i{constructor(a){this._themeTrieElementBrand=void 0,this._mainRule=a,this._children=new Map}match(a){if(a==="")return this._mainRule;const p=a.indexOf(".");let _,E;p===-1?(_=a,E=""):(_=a.substring(0,p),E=a.substring(p+1));const S=this._children.get(_);return typeof S<"u"?S.match(E):this._mainRule}insert(a,p,_,E){if(a===""){this._mainRule.acceptOverwrite(p,_,E);return}const S=a.indexOf(".");let h,D;S===-1?(h=a,D=""):(h=a.substring(0,S),D=a.substring(S+1));let k=this._children.get(h);typeof k>"u"&&(k=new i(this._mainRule.clone()),this._children.set(h,k)),k.insert(D,p,_,E)}}function r(c){const a=[];for(let p=1,_=c.length;p<_;p++){const E=c[p];a[p]=`.mtk${p} { color: ${E}; }`}return a.push(".mtki { font-style: italic; }"),a.push(".mtkb { font-weight: bold; }"),a.push(".mtku { text-decoration: underline; text-underline-position: under; }"),a.push(".mtks { text-decoration: line-through; }"),a.push(".mtks.mtku { text-decoration: underline line-through; text-underline-position: under; }"),a.join(`
12`)}function d(c,a){const p=l(c);return o(`font-decoration-${p}-${a}`)}function l(c){const a=c.toLowerCase().trim();return a?o(a):"default"}function o(c){return c.replace(/[^a-z0-9_-]/gi,"-")}},18782:(St,We,e)=>{e.d(We,{Io:()=>A,J3:()=>x,Ld:()=>y,Th:()=>L});var v=e(17954),R=e(85525);const x="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function T(C=""){let u="(-?\\d*\\.\\d\\w*)|([^";for(const i of x)C.indexOf(i)>=0||(u+="\\"+i);return u+="\\s]+)",new RegExp(u,"g")}const y=T();function A(C){let u=y;if(C&&C instanceof RegExp)if(C.global)u=C;else{let i="g";C.ignoreCase&&(i+="i"),C.multiline&&(i+="m"),C.unicode&&(i+="u"),u=new RegExp(C.source,i)}return u.lastIndex=0,u}const g=new R.w;
12g.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function L(C,u,i,r,d){if(u=A(u),d||(d=v.f.first(g)),i.length>d.maxLen){let p=C-d.maxLen/2;return p<0?p=0:r+=p,i=i.substring(p,C+d.maxLen/2),L(C,u,i,r,d)}const l=Date.now(),o=C-1-r;let c=-1,a=null;for(let p=1;!(Date.now()-l>=d.timeBudget);p++){const _=o-d.windowSize*p;u.lastIndex=Math.max(0,_);const E=b(u,i,o,c);if(!E&&a||(a=E,_<=0))break;c=_}if(a){const p={word:a[0],startColumn:r+1+a.index,endColumn:r+1+a.index+a[0].length};return u.lastIndex=0,p}return null}function b(C,u,i,r){let d;for(;d=C.exec(u);){const l=d.index||0;if(l<=i&&C.lastIndex>=i)return d;if(r>0&&l>r)return null}return null}},18917:(St,We,e)=>{e.d(We,{E0:()=>p,k0:()=>_,rv:()=>N});var v=e(5915),R=e(31531),x=e(3765),T=e(87676),y=e(18382),A=e(75962),g=e(73858),L=e(69227),b=e(82735),C=e(75712),u=e(10680),i=e(58687),r=e(94865),d=e(74707),l=e(11210),o=e(89044),c=e(58881);const a=(0,T.x1)("editor.foldBackground",{light:(0,T.JO)(g.se,.3),dark:(0,T.JO)(g.se,.3),hcDark:null,hcLight:null},(0,x.kg)(1045,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);(0,T.x1)("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},(0,x.kg)(1046,"Color of the collapsed text after the first line of a folded range.")),(0,T.x1)("editorGutter.foldingControlForeground",y.t4,(0,x.kg)(1047,"Color of the folding control in the editor gutter."));const p=(0,l.pU)("folding-expanded",v.W.chevronDown,(0,x.kg)(1048,"Icon for expanded ranges in the editor glyph margin.")),_=(0,l.pU)("folding-collapsed",v.W.chevronRight,(0,x.kg)(1049,"Icon for collapsed ranges in the editor glyph margin.")),E=(0,l.pU)("folding-manual-collapsed",_,(0,x.kg)(1050,"Icon for manually collapsed ranges in the editor glyph margin.")),S=(0,l.pU)("folding-manual-expanded",p,(0,x.kg)(1051,"Icon for manually expanded ranges in the editor glyph margin.")),h={color:(0,o.Yf)(a),position:1},D=(0,x.kg)(1052,"Click to expand the range."),k=(0,x.kg)(1053,"Click to collapse the range."),W=class W{constructor($){this.editor=$,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption($,te,ne){return te?W.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?$?this.showFoldingHighlights?W.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:W.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:W.NO_CONTROLS_EXPANDED_RANGE_DECORATION:$?ne?this.showFoldingHighlights?W.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:W.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?W.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:W.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?ne?W.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:W.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ne?W.MANUALLY_EXPANDED_VISUAL_DECORATION:W.EXPANDED_VISUAL_DECORATION}changeDecorations($){return this.editor.changeDecorations($)}removeDecorations($){this.editor.removeDecorations($)}};W.COLLAPSED_VISUAL_DECORATION=R.kI.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:D,firstLineDecorationClassName:c.L.asClassName(_)}),W.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=R.kI.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h,isWholeLine:!0,linesDecorationsTooltip:D,firstLineDecorationClassName:c.L.asClassName(_)}),W.MANUALLY_COLLAPSED_VISUAL_DECORATION=R.kI.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:D,firstLineDecorationClassName:c.L.asClassName(E)}),W.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=R.kI.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h,isWholeLine:!0,linesDecorationsTooltip:D,firstLineDecorationClassName:c.L.asClassName(E)}),W.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=R.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:D}),W.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=R.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:h,isWholeLine:!0,linesDecorationsTooltip:D}),W.EXPANDED_VISUAL_DECORATION=R.kI.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+c.L.asClassName(p),linesDecorationsTooltip:k}),W.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=R.kI.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:c.L.asClassName(p),linesDecorationsTooltip:k}),W.MANUALLY_EXPANDED_VISUAL_DECORATION=R.kI.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+c.L.asClassName(S),linesDecorationsTooltip:k}),W.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=R.kI.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:c.L.asClassName(S),linesDecorationsTooltip:k}),W.NO_CONTROLS_EXPANDED_RANGE_DECORATION=R.kI.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),W.HIDDEN_RANGE_DECORATION=R.kI.register({description:"folding-hidden-range-decoration",stickiness:1});let N=W},19103:(St,We,e)=>{e.d(We,{A:()=>p});var v=e(3765),R=e(13338),x=e(2106),T=e(68387),y=e(10998),A=e(63339),g=e(93557),L=e(14333),b=e(83952),C=e(34061),u=e(87594),i=e(36930),r=e(20396),d=e(65568),l=e(67954);const o=L.$,c="selectOption.entry.template";class a{get templateId(){return c}renderTemplate(S){const h=Object.create(null);return h.root=S,h.text=(0,L.BC)(S,o(".option-text")),h.detail=(0,L.BC)(S,o(".option-detail")),h.decoratorRight=(0,L.BC)(S,o(".option-decorator-right")),h}renderElement(S,h,D){const k=D,N=S.text,W=S.detail,U=S.decoratorRight,$=S.isDisabled;k.text.textContent=N,k.detail.textContent=W||"",k.decoratorRight.textContent=U||"",$?k.root.classList.add("option-disabled"):k.root.classList.remove("option-disabled"),S.isSeparator?(k.root.classList.add("option-separator"),k.root.classList.add("option-disabled")):k.root.classList.remove("option-separator")}disposeTemplate(S){}}const _=class _ extends y.jG{constructor(S,h,D,k,N){super(),this.options=[],this._currentSelection=0,this._hasDetail
12s=!1,this._selectionDetailsDisposables=this._register(new y.Cm),this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=k,this.selectBoxOptions=N||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=_.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new x.vl,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(D),this.selected=h||0,S&&this.setOptions(S,h),this.initStyleSheet()}setTitle(S){!this._hover&&S?this._hover=this._register((0,r.i)().setupManagedHover((0,d.nZ)("mouse"),this.selectElement,S)):this._hover&&this._hover.update(S)}getHeight(){return 22}getTemplateId(){return c}constructSelectDropDown(S){this.contextViewProvider=S,this.selectDropDownContainer=(0,L.$)(".monaco-select-box-dropdown-container"),this.selectionDetailsPane=(0,L.BC)(this.selectDropDownContainer,o(".select-box-details-pane"));const h=(0,L.BC)(this.selectDropDownContainer,o(".select-box-dropdown-container-width-control")),D=(0,L.BC)(h,o(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",(0,L.BC)(D,this.widthControlElement),this._dropDownPosition=0,this.styleElement=(0,b.li)(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register((0,L.ko)(this.selectDropDownContainer,L.Bx.DRAG_START,k=>{L.fs.stop(k,!0)}))}registerListeners(){this._register((0,L.un)(this.selectElement,"change",h=>{this.selected=h.target.selectedIndex,this._onDidSelect.fire({index:h.target.selectedIndex,selected:h.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register((0,L.ko)(this.selectElement,L.Bx.CLICK,h=>{L.fs.stop(h),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register((0,L.ko)(this.selectElement,L.Bx.MOUSE_DOWN,h=>{L.fs.stop(h)}));let S;this._register((0,L.ko)(this.selectElement,"touchstart",h=>{S=this._isVisible})),this._register((0,L.ko)(this.selectElement,"touchend",h=>{L.fs.stop(h),S?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register((0,L.ko)(this.selectElement,L.Bx.KEY_DOWN,h=>{const D=new u.Z(h);let k=!1;A.zx?(D.keyCode===18||D.keyCode===16||D.keyCode===10||D.keyCode===3)&&(k=!0):(D.keyCode===18&&D.altKey||D.keyCode===16&&D.altKey||D.keyCode===10||D.keyCode===3)&&(k=!0),k&&(this.showSelectDropDown(),L.fs.stop(h,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(S,h){(0,R.aI)(this.options,S)||(this.options=S,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((D,k)=>{this.selectElement.add(this.createOption(D.text,k,D.isDisabled)),typeof D.description=="string"&&(this._hasDetails=!0)})),h!==void 0&&(this.select(h),this._currentSelection=this.selected)}setOptionsList(){this.selectList?.splice(0,this.selectList.length,this.options)}select(S){S>=0&&S<this.options.length?this.selected=S:S>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(S){this.selectElement.tabIndex=S?0:-1}render(S){this.container=S,S.classList.add("select-container"),S.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const S=[];
12this.styles.listFocusBackground&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(S.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),S.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),S.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(S.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),S.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1px solid ${this.styles.listFocusOutline} !important; outline-offset: -1px !important; }`),this.styles.listHoverOutline&&S.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1px solid ${this.styles.listHoverOutline} !important; outline-offset: -1px !important; }`),S.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),S.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=S.join(`
13`)}styleSelectElement(){const S=this.styles.selectBackground??"",h=this.styles.selectForeground??"",D=this.styles.selectBorder??"";this.selectElement.style.backgroundColor=S,this.selectElement.style.color=h,this.selectElement.style.borderColor=D}styleList(){const S=this.styles.selectBackground??"",h=(0,g.gI)(this.styles.selectListBackgroun
13d,S);this.selectDropDownContainer.style.backgroundColor=h,this.selectDropDownListContainer.style.backgroundColor=h,this.selectionDetailsPane.style.backgroundColor=h,this.selectList.style(this.styles)}createOption(S,h,D){const k=document.createElement("option");return k.value=S,k.text=S,k.disabled=!!D,k}showSelectDropDown(){this.selectionDetailsPane.textContent="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:S=>this.renderSelectDropDown(S,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:S=>this.renderSelectDropDown(S),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(S){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),S&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(S,h){S.appendChild(this.selectDropDownContainer);const D=(0,L.zk)(this.selectElement).getComputedStyle(this.selectElement).fontSize;return D&&(this.selectDropDownContainer.style.fontSize=D),this.layoutSelectDropDown(h),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let S=0;return this.options.forEach((h,D)=>{this.updateDetail(D),this.selectionDetailsPane.offsetHeight>S&&(S=this.selectionDetailsPane.offsetHeight)}),S}layoutSelectDropDown(S){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const h=(0,L.zk)(this.selectElement),D=(0,L.BK)(this.selectElement),k=h.innerHeight-D.top-D.height-(this.selectBoxOptions.minBottomMargin||0),N=D.top-_.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,W=this.selectElement.offsetWidth,U=this.setWidthControlElement(this.widthControlElement),$=`${Math.max(U,Math.round(W))}px`;this.selectDropDownContainer.style.width=$,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let te=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const ne=this._hasDetails?this._cachedMaxDetailsHeight:0,V=te+ne,I=Math.floor((k-ne)/this.getHeight()),H=Math.floor((N-ne)/this.getHeight());if(S)return D.top+D.height>h.innerHeight-22||D.top<_.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||I<1&&H<1?!1:(I<_.DEFAULT_MINIMUM_VISIBLE_OPTIONS&&H>I&&this.options.length>I?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(D.top+D.height>h.innerHeight-22||D.top<_.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN||this._dropDownPosition===0&&I<1||this._dropDownPosition===1&&H<1)return this.hideSelectDropDown(!0),!1;if(this._dropDownPosition===0){if(this._isVisible&&I+H<1)return this.hideSelectDropDown(!0),!1;V>k&&(te=I*this.getHeight())}else V>N&&(te=H*this.getHeight());return this.selectList.layout(te),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetail
13s?(this.selectList.getHTMLElement().style.height=`${te}px`,this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=`${te}px`,this.updateDetail(this.selected),this.selectDropDownContainer.style.width=$,this.selectDropDownListContainer.setAttribute("tabindex","0"),!0}else return!1}setWidthControlElement(S){let h=0;if(S){let D=0,k=0;this.options.forEach((N,W)=>{const U=N.detail?N.detail.length:0,$=N.decoratorRight?N.decoratorRight.length:0,te=N.text.length+U+$;te>k&&(D=W,k=te)}),S.textContent=this.options[D].text+(this.options[D].decoratorRight?`${this.options[D].decoratorRight} `:""),h=(0,L.Tr)(S)}return h}createSelectList(S){if(this.selectList)return;this.selectDropDownListContainer=(0,L.BC)(S,o(".select-box-dropdown-list-container")),this.listRenderer=new a,this.selectList=this._register(new l.B8("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:k=>{if(k.isSeparator)return(0,v.kg)(17,"separator");let N=k.text;return k.detail&&(N+=`. ${k.detail}`),k.decoratorRight&&(N+=`. ${k.decoratorRight}`),k.description&&(N+=`. ${k.description}`),N},getWidgetAriaLabel:()=>(0,v.kg)(18,"Select Box"),getRole:()=>A.zx?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const h=this._register(new C.f(this.selectDropDownListContainer,"keydown")),D=x.Jh.chain(h.event,k=>k.filter(()=>this.selectList.length>0).map(N=>new u.Z(N)));this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===3))(this.onEnter,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===2))(this.onEnter,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===9))(this.onEscape,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===16))(this.onUpArrow,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===18))(this.onDownArrow,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===12))(this.onPageDown,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===11))(this.onPageUp,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===14))(this.onHome,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode===13))(this.onEnd,this)),this._register(x.Jh.chain(D,k=>k.filter(N=>N.keyCode>=21&&N.keyCode<=56||N.keyCode>=85&&N.keyCode<=113))(this.onCharacter,this)),this._register((0,L.ko)(this.selectList.getHTMLElement(),L.Bx.POINTER_UP,k=>this.onPointerUp(k))),this._register(this.selectList.onMouseOver(k=>typeof k.index<"u"&&!this.options[k.index]?.isDisabled&&this.selectList.setFocus([k.index]))),this._register(this.selectList.onDidChangeFocus(k=>this.onListFocus(k))),this._register((0,L.ko)(this.selectDropDownContainer,L.Bx.FOCUS_OUT,k=>{!this._isVisible||(0,L.QX)(k.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(S){if(!this.selectList.length)return;L.fs.stop(S);const h=S.target;if(!h||h.classList.contains("slider"))return;const D=h.closest(".monaco-list-row");if(!D)return;const k=Number(D.getAttribute("data-index")),N=D.classList.contains("option-disabled");k>=0&&k<this.options.length&&!N&&(this.selected=k,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]),this.selected!==this._currentSelection&&(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)),this.hideSelectDropDown(!0))}onListBlur(){this._sticky||(this.selected!==this._currentSelection&&this.select(this._currentSelection),this.hideSelectDropDown(!1))}renderDescriptionMarkdown(S,h){const D=N=>{for(let W=0;W<N.childNodes.length;W++){const U=N.childNodes.item(W);(U.tagName&&U.tagName.toLowerCase())==="img"?U.remove():D(U)}},k=(0,i.Gc)({value:S,supportThemeIcons:!0},{actionHandler:h});return k.element.classList.add("select-box-description-markdown"),D(k.element),k}
13onListFocus(S){!this._isVisible||!this._hasDetails||this.updateDetail(S.indexes[0])}updateDetail(S){this._selectionDetailsDisposables.clear(),this.selectionDetailsPane.textContent="";const h=this.options[S],D=h?.description??"",k=h?.descriptionIsMarkdown??!1;if(D){if(k){const N=h.descriptionMarkdownActionHandler,W=this._selectionDetailsDisposables.add(this.renderDescriptionMarkdown(D,N));this.selectionDetailsPane.appendChild(W.element)}else this.selectionDetailsPane.textContent=D;this.selectionDetailsPane.style.display="block"}else this.selectionDetailsPane.style.display="none";this._skipLayout=!0,this.contextViewProvider.layout(),this._skipLayout=!1}onEscape(S){L.fs.stop(S),this.select(this._currentSelection),this.hideSelectDropDown(!0)}onEnter(S){if(L.fs.stop(S),this.options[this.selected]?.isDisabled){this.hideSelectDropDown(!0);return}this.selected!==this._currentSelection&&(this._currentSelection=this.selected,this._onDidSelect.fire({index:this.selectElement.selectedIndex,selected:this.options[this.selected].text}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)),this.hideSelectDropDown(!0)}onDownArrow(S){if(this.selected<this.options.length-1){L.fs.stop(S,!0);let h=this.selected+1;for(;h<this.options.length&&this.options[h].isDisabled;)h++;if(h>=this.options.length)return;this.selected=h,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(S){if(this.selected>0){L.fs.stop(S,!0);let h=this.selected-1;for(;h>=0&&this.options[h].isDisabled;)h--;if(h<0)return;this.selected=h,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onPageUp(S){L.fs.stop(S),this.selectList.focusPreviousPage(),setTimeout(()=>{let h=this.selectList.getFocus()[0];for(;h>0&&this.options[h].isDisabled;)h--;this.options[h].isDisabled||(this.selected=h,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))},1)}onPageDown(S){L.fs.stop(S),this.selectList.focusNextPage(),setTimeout(()=>{let h=this.selectList.getFocus()[0];for(;h<this.options.length-1&&this.options[h].isDisabled;)h++;this.options[h].isDisabled||(this.selected=h,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))},1)}onHome(S){if(L.fs.stop(S),this.options.length<2)return;let h=0;for(;h<this.options.length-1&&this.options[h].isDisabled;)h++;this.options[h].isDisabled||(this.selected=h,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(S){if(L.fs.stop(S),this.options.length<2)return;let h=this.options.length-1;for(;h>0&&this.options[h].isDisabled;)h--;this.options[h].isDisabled||(this.selected=h,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(S){const h=T.YM.toString(S.keyCode);let D=-1;for(let k=0;k<this.options.length-1;k++)if(D=(k+this.selected+1)%this.options.length,this.options[D].text.charAt(0).toUpperCase()===h&&!this.options[D].isDisabled){this.select(D),this.selectList.setFocus([D]),this.selectList.reveal(this.selectList.getFocus()[0]),L.fs.stop(S);break}}dispose(){this.hideSelectDropDown(!1),super.dispose()}};_.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN=32,_.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN=2,_.DEFAULT_MINIMUM_VISIBLE_OPTIONS=3;let p=_},19184:(St,We,e)=>{e.d(We,{BQ:()=>v,Yo:()=>x});function v(T,y){const A=T.getCount(),g=T.findTokenIndexAtOffset(y),L=T.getLanguageId(g);let b=g;for(;b+1<A&&T.getLanguageId(b+1)===L;)b++;let C=g;for(;C>0&&T.getLanguageId(C-1)===L;)C--;return new R(T,L,C,b+1,T.getStartOffset(C),T.getEndOffset(b))}class R{constructor(y,A,g,L,b,C){this._scopedLineTokensBrand=void 0,this._actual=y,this.languageId=A,this._firstTokenIndex=g,this._lastTokenIndex=L,this.firstCharOffset=b,this._lastCharOffset=C,this.languageIdCodec=y.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(y){return this._actual.getLineContent().substring(0,this.firstCharOffset+y)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(y){return this._actual.findTokenIndexAtOffset(y+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(y){return this._actual.getStandardTokenType(y+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function x(T){return(T&3)!==0}},19381:(St,We,e)=>{e.d(We,{Fd:()=>y,aJ:()=>T});var v=e(13338),R=e(10998),x=e(67167),T;(function(g){g[g.PRESERVE=0]="PRESERVE",g[g.LAST=1]="LAST"})(T||(T={}));const y={Quickaccess:"workbench.contributions.quickaccess"};class A{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(L){return L.prefix.length===0?this.defaultProvider=L:this.providers.push(L),this.providers.sort((b,C)=>C.prefix.length-b.prefix.length),(0,R.s)(()=>{this.providers.splice(this.providers.indexOf(L),1),this.defaultProvider===L&&(this.defaultProvider=void 0)})}getQuickAccessProviders(L){return(0,v.Yc)([this.defaultProvider,...this.providers]).filter(b=>!b.when||L.contextMatchesRules(b.when))}getQuickAccessProvider(L,b){return(L?this.providers.find(u=>L.startsWith(u.prefix)&&(!u.when||b.contextMatchesRules(u.when))):void 0)||this.defaultProvider}}x.O.add(y.Quickaccess,new A)},19572:(St,We,e)=>{var Z;e.d(We,{Z:()=>H,B:()=>te});var v=e(65958),R=e(10998),x=e(14469);class T{constructor(G){this.esmModuleLocation=G.esmModuleLocation,this.esmModuleLocationBundler=G.esmModuleLocationBundler,this.label=G.label}}var y=e(4445),A=e(28061),g=e(52394),L=e(56848),b=e(64830),C=e(41504),u=e(13338),i=e(46441),r=e(23013),d=e(94327),l=e(29849),o=e(23837),c=e(39331
13),a=e(80816),p=e(48877),_=e(14333),E=e(55526),S=e(96358),h=e(13072),D=e(45739),k=function(X,G,Y,j){var z=arguments.length,ie=z<3?G:j===null?j=Object.getOwnPropertyDescriptor(G,Y):j,re;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ie=Reflect.decorate(X,G,Y,j);else for(var de=X.length-1;de>=0;de--)(re=X[de])&&(ie=(z<3?re(ie):z>3?re(G,Y,ie):re(G,Y))||ie);return z>3&&ie&&Object.defineProperty(G,Y,ie),ie},N=function(X,G){return function(Y,j){G(Y,j,X)}},W;const U=5*60*1e3;function $(X,G){const Y=X.getModel(G);return!(!Y||Y.isTooLargeForSyncing())}let te=(Z=class extends R.jG{constructor(G,Y,j,z,ie,re){super(),this._languageConfigurationService=z,this._webWorkerService=re,this._modelService=G,this._workerManager=this._register(new V(W.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=j,this._register(ie.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(de,le)=>{if(!$(this._modelService,de.uri))return Promise.resolve({links:[]});const we=await(await this._workerWithResources([de.uri])).$computeLinks(de.uri.toString());return we&&{links:we}}})),this._register(ie.completionProvider.register("*",new ne(this._workerManager,Y,this._modelService,this._languageConfigurationService,this._logService,ie)))}canComputeUnicodeHighlights(G){return $(this._modelService,G)}async computedUnicodeHighlights(G,Y,j){return(await this._workerWithResources([G])).$computeUnicodeHighlights(G.toString(),Y,j)}async computeDiff(G,Y,j,z){const re=await(await this._workerWithResources([G,Y],!0)).$computeDiff(G.toString(),Y.toString(),j,z);if(!re)return null;return{identical:re.identical,quitEarly:re.quitEarly,changes:le(re.changes),moves:re.moves.map(he=>new o.t(new c.WL(new a.M(he[0],he[1]),new a.M(he[2],he[3])),le(he[4])))};function le(he){return he.map(we=>new c.wm(new a.M(we[0],we[1]),new a.M(we[2],we[3]),we[4]?.map(xe=>new c.q6(new A.Q(xe[0],xe[1],xe[2],xe[3]),new A.Q(xe[4],xe[5],xe[6],xe[7])))))}}async computeMoreMinimalEdits(G,Y,j=!1){if((0,u.EI)(Y)){if(!$(this._modelService,G))return Promise.resolve(Y);const z=r.W.create(),ie=this._workerWithResources([G]).then(re=>re.$computeMoreMinimalEdits(G.toString(),Y,j));return ie.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",G.toString(!0),z.elapsed())),Promise.race([ie,(0,v.wR)(1e3).then(()=>Y)])}else return Promise.resolve(void 0)}canNavigateValueSet(G){return $(this._modelService,G)}async navigateValueSet(G,Y,j){const z=this._modelService.getModel(G);if(!z)return null;const ie=this._languageConfigurationService.getLanguageConfiguration(z.getLanguageId()).getWordDefinition(),re=ie.source,de=ie.flags;return(await this._workerWithResources([G])).$navigateValueSet(G.toString(),Y,j,re,de)}canComputeWordRanges(G){return $(this._modelService,G)}async computeWordRanges(G,Y){const j=this._modelService.getModel(G);if(!j)return Promise.resolve(null);const z=this._languageConfigurationService.getLanguageConfiguration(j.getLanguageId()).getWordDefinition(),ie=z.source,re=z.flags;return(await this._workerWithResources([G])).$computeWordRanges(G.toString(),Y,ie,re)}async findSectionHeaders(G,Y){return(await this._workerWithResources([G])).$findSectionHeaders(G.toString(),Y)}async computeDefaultDocumentColors(G){return(await this._workerWithResources([G])).$computeDefaultDocumentColors(G.toString())}async _workerWithResources(G,Y=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(G,Y)}},W=Z,Z.workerDescriptor=new T({esmModuleLocation:()=>h.zl.asBrowserUri("vs/editor/common/services/editorWebWorkerMain.js"),esmModuleLocationBundler:()=>new URL(e(63151),e.b),label:"editorWorkerService"}),Z);te=W=k([N(0,b.S),N(1,C.U),N(2,i.rr),N(3,g.JZ),N(4,l.u),N(5,y.d)],te);class ne{constructor(G,Y,j,z,ie,re){this.languageConfigurationService=z,this.logService=ie,this.languageFeaturesService=re,this._debugDisplayName="wordbasedCompletions",this._workerManager=G,this._configurationService=Y,this._modelService=j}async provideCompletionItems(G,Y){const j=this._configurationService.getValue(G.uri,Y,"editor");if(j.wordBasedSuggestions==="off"||j.wordBasedSuggestions==="offWithInlineSuggestions"&&this.languageFeaturesService.inlineCompletionsProvider.has(G)&&(0,D.o)(this._configurationService,G.uri,G.getLanguageId()))return;const z=[];if(j.wordBasedSuggestions==="currentDocument")$(this._modelService,G.uri)&&z.push(G.uri);else for(const xe of this._modelService.getModels())$(this._modelService,xe.uri)&&
13(xe===G?z.unshift(xe.uri):(j.wordBasedSuggestions==="allDocuments"||xe.getLanguageId()===G.getLanguageId())&&z.push(xe.uri));if(z.length===0)return;const ie=this.languageConfigurationService.getLanguageConfiguration(G.getLanguageId()).getWordDefinition(),re=G.getWordAtPosition(Y),de=re?new A.Q(Y.lineNumber,re.startColumn,Y.lineNumber,re.endColumn):A.Q.fromPositions(Y),le=de.setEndPosition(Y.lineNumber,Y.column);this.logService.trace("[WordBasedCompletionItemProvider]",`word: "${re?.word||""}", wordDef: "${ie}", replace: [${de.toString()}], insert: [${le.toString()}]`);const we=await(await this._workerManager.withWorker()).textualSuggest(z,re?.word,ie);if(we)return{duration:we.duration,suggestions:we.words.map(xe=>({kind:18,label:xe,insertText:xe,range:{insert:le,replace:de}}))}}}let V=class extends R.jG{constructor(G,Y,j){super(),this._workerDescriptor=G,this._modelService=Y,this._webWorkerService=j,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new _.Be).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(U/2),p.G),this._register(this._modelService.onModelRemoved(ie=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>U&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new H(this._workerDescriptor,!1,this._modelService,this._webWorkerService)),Promise.resolve(this._editorWorkerClient)}};V=k([N(1,b.S),N(2,y.d)],V);class I{constructor(G){this._instance=G,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(G,Y){throw new Error("Not supported")}}let H=class extends R.jG{constructor(G,Y,j,z){super(),this._workerDescriptorOrWorker=G,this._disposed=!1,this._modelService=j,this._webWorkerService=z,this._keepIdleModels=Y,this._worker=null,this._modelManager=null}fhr(G,Y){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),S.M.setChannel(this._worker,this._createEditorWorkerHost())}catch(G){(0,x.IR)(G),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const G=this._getOrCreateWorker().proxy;return await G.$ping(),G}catch(G){return(0,x.IR)(G),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new I(new L.Q(null))}_createEditorWorkerHost(){return{$fhr:(G,Y)=>this.fhr(G,Y)}}_getOrCreateModelManager(G){return this._modelManager||(this._modelManager=this._register(new E.RK(G,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(G,Y=!1){if(this._disposed)return Promise.reject((0,d.aD)());const j=await this._getProxy();return this._getOrCreateModelManager(j).ensureSyncedResources(G,Y),j}async textualSuggest(G,Y,j){const z=await this.workerWithSyncedResources(G),ie=j.source,re=j.flags;return z.$textualSuggest(G.map(de=>de.toString()),Y,ie,re)}dispose(){super.dispose(),this._disposed=!0}};H=k([N(2,b.S),N(3,y.d)],H)},19822:(St,We,e)=>{e.d(We,{d:()=>L});var v=e(87110),R=e(8897),x=e(94327),T=e(2106),y=e(10998),A=e(82460);function g(b){switch(b){case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}class L{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(C,u,i,r){this._debugNameData=C,this._runFn=u,this._changeTracker=i,this._state=2,this._updateCount=0,this._disposed=!1,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._isRunning=!1,this._iteration=0,this._store=void 0,this._delayedStore=void 0,this._changeSummary=this._changeTracker?.createChangeSummary(void 0),(0,A.t)()?.handleAutorunCreated(this,r),this._run()}dispose(){if(!this._disposed){this._disposed=!0;for(const C of this._dependencies)C.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),(0,A.t)()?.handleAutorunDisposed(this)}}_run(){const C=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=C,this._state=3;try{if(!this._disposed){(0,A.t)()?.handleAutorunStarted(this);const u=this._changeSummary,i=this._delayedStore;i!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,u),this._changeSummary=this._changeTracker.createChangeSummary(u)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,u)}catch(r){(0,x.y4)(r)}finally{this._isRunning=!1,i!==void 0&&i.dispose()}}}finally{this._disposed||(0,A.t)()?.handleAutorunFinished(this);for(const u of this._dependenciesToBeRemoved)u.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(C){this._state===3&&(this._checkIterations(),this._state=1),this._updateCount++}endUpdate(C){try{if(this._updateCount===1){this._iteration=1;do{if(this._checkIterations())return;if(this._state===1){this._state=3;for(const u of this._dependencies)if(u.reportChanges(),this._state===2)break}this._iteration++,this._state!==3&&this._run()}while(this._state!==3)}}finally{this._updateCount--}(0,v.Ft)(()=>this._updateCount>=0)}handlePossibleChange(C){this._state===3&&this._isDependency(C)&&(this._checkIterations(),this._state=1)}handleChange(C,u){if(this._isDependency(C)){(0,A.t)()?.handleAutorunDependencyChanged(this,C,u);try{(this._changeTracker?this._changeTracker.handleChange({changedObservable:C,change:u,didChange:r=>r===C},this._changeSummary):!0)&&(this._checkIterations(),this._state=2)}catch(i){(0,x.y4)(i)}}}_isDependency(C){return this._dependencies.has(C)&&!this._dependenciesToBeRemoved.has(C)}_ensureNoRunning(){if(!this._isRunning)throw new x.D7("The reader object cannot be used outside its compute function!")}readObservable(C){if(this._ensureNoRunning(),this._disposed)return C.get();C.addObserver(this);const u=C.get();return this._dependencies.add(C),this._dependenciesToBeRemoved.delete(C),u}
vendor: 8,652 bytes, lines 13-14
13get store(){if(this._ensureNoRunning(),this._disposed)throw new x.D7("Cannot access store after dispose");return this._store===void 0&&(this._store=new y.Cm),this._store}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:g(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}_checkIterations(){return this._iteration>100?((0,x.y4)(new x.D7(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0):!1}}},19892:(St,We,e)=>{e.d(We,{J:()=>T,k:()=>x});var v=e(79359);const R=Object.create(null);function x(y,A){if((0,v.Kg)(A)){const g=R[A];if(g===void 0)throw new Error(`${y} references an unknown codicon: ${A}`);A=g}return R[y]=A,{id:y}}function T(){return R}},20396:(St,We,e)=>{e.d(We,{e:()=>x,i:()=>T});var v=e(10998);let R={showInstantHover:()=>{},showDelayedHover:()=>{},setupDelayedHover:()=>v.jG.None,setupDelayedHoverAtMouse:()=>v.jG.None,hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>({dispose:()=>{},show:()=>{},hide:()=>{},update:()=>{}}),showManagedHover:()=>{}};function x(y){R=y}function T(){return R}},20921:(St,We,e)=>{e.d(We,{TT:()=>Se,cZ:()=>ei,D$:()=>Zt,pn:()=>Bt});var v=e(13072),R=e(14333);/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function x(pt,Fe){(Fe==null||Fe>pt.length)&&(Fe=pt.length);for(var st=0,vt=Array(Fe);st<Fe;st++)vt[st]=pt[st];return vt}function T(pt){if(Array.isArray(pt))return pt}function y(pt,Fe){var st=pt==null?null:typeof Symbol<"u"&&pt[Symbol.iterator]||pt["@@iterator"];if(st!=null){var vt,Yt,Si,Bi,pi=[],$i=!0,fn=!1;try{if(Si=(st=st.call(pt)).next,Fe!==0)for(;!($i=(vt=Si.call(st)).done)&&(pi.push(vt.value),pi.length!==Fe);$i=!0);}catch(Sn){fn=!0,Yt=Sn}finally{try{if(!$i&&st.return!=null&&(Bi=st.return(),Object(Bi)!==Bi))return}finally{if(fn)throw Yt}}return pi}}function A(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
14In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function g(pt,Fe){return T(pt)||y(pt,Fe)||L(pt,Fe)||A()}function L(pt,Fe){if(pt){if(typeof pt=="string")return x(pt,Fe);var st={}.toString.call(pt).slice(8,-1);return st==="Object"&&pt.constructor&&(st=pt.constructor.name),st==="Map"||st==="Set"?Array.from(pt):st==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(st)?x(pt,Fe):void 0}}const b=Object.entries,C=Object.setPrototypeOf,u=Object.isFrozen,i=Object.getPrototypeOf,r=Object.getOwnPropertyDescriptor;let d=Object.freeze,l=Object.seal,o=Object.create,c=typeof Reflect<"u"&&Reflect,a=c.apply,p=c.construct;d||(d=function(Fe){return Fe}),l||(l=function(Fe){return Fe}),a||(a=function(Fe,st){for(var vt=arguments.length,Yt=new Array(vt>2?vt-2:0),Si=2;Si<vt;Si++)Yt[Si-2]=arguments[Si];return Fe.apply(st,Yt)}),p||(p=function(Fe){for(var st=arguments.length,vt=new Array(st>1?st-1:0),Yt=1;Yt<st;Yt++)vt[Yt-1]=arguments[Yt];return new Fe(...vt)});const _=z(Array.prototype.forEach),E=z(Array.prototype.lastIndexOf),S=z(Array.prototype.pop),h=z(Array.prototype.push),D=z(Array.prototype.splice),k=Array.isArray,N=z(String.prototype.toLowerCase),W=z(String.prototype.toString),U=z(String.prototype.match),$=z(String.prototype.replace),te=z(String.prototype.indexOf),ne=z(String.prototype.trim),V=z(Number.prototype.toString),I=z(Boolean.prototype.toString),H=typeof BigInt>"u"?null:z(BigInt.prototype.toString),Z=typeof Symbol>"u"?null:z(Symbol.prototype.toString),X=z(Object.prototype.hasOwnProperty),G=z(Object.prototype.toString),Y=z(RegExp.prototype.test),j=ie(TypeError);function z(pt){return function(Fe){Fe instanceof RegExp&&(Fe.lastIndex=0);for(var st=arguments.length,vt=new Array(st>1?st-1:0),Yt=1;Yt<st;Yt++)vt[Yt-1]=arguments[Yt];return a(pt,Fe,vt)}}function ie(pt){return function(){for(var Fe=arguments.length,st=new Array(Fe),vt=0;vt<Fe;vt++)st[vt]=arguments[vt];return p(pt,st)}}function re(pt,Fe){let st=arguments.length>2&&arguments[2]!==void 0?arguments[2]:N;if(C&&C(pt,null),!k(Fe))return pt;let vt=Fe.length;for(;vt--;){let Yt=Fe[vt];if(typeof Yt=="string"){const Si=st(Yt);Si!==Yt&&(u(Fe)||(Fe[vt]=Si),Yt=Si)}pt[Yt]=!0}return pt}function de(pt){for(let Fe=0;Fe<pt.length;Fe++)X(pt,Fe)||(pt[Fe]=null);return pt}function le(pt){const Fe=o(null);for(const vt of b(pt)){var st=g(vt,2);const Yt=st[0],Si=st[1];X(pt,Yt)&&(k(Si)?Fe[Yt]=de(Si):Si&&typeof Si=="object"&&Si.constructor===Object?Fe[Yt]=le(Si):Fe[Yt]=Si)}return Fe}function he(pt){switch(typeof pt){case"string":return pt;case"number":return V(pt);case"boolean":return I(pt);case"bigint":return H?H(pt):"0";case"symbol":return Z?Z(pt):"Symbol()";case"undefined":return G(pt);case"function":case"object":{if(pt===null)return G(pt);const Fe=pt,st=we(Fe,"toString");if(typeof st=="function"){const vt=st(Fe);return typeof vt=="string"?vt:G(vt)}return G(pt)}default:return G(pt)}}function we(pt,Fe){for(;pt!==null;){const vt=r(pt,Fe);if(vt){if(vt.get)return z(vt.get);if(typeof vt.value=="function")return z(vt.value)}pt=i(pt)}function st(){return null}return st}function xe(pt){try{return Y(pt,""),!0}catch{return!1}}const Be=d(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),M=d(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Ve=d(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Me=d(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Le=d(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),_e=d(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Qe=d(["#text"]),je=d(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","
14spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),ae=d(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Ee=d(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ie=d(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ue=l(/{{[\w\W]*|^[\w\W]*}}/g),$e=l(/<%[\w\W]*|^[\w\W]*%>/g),Ye=l(/\${[\w\W]*/g),Ce=l(/^data-[\-\w.\u00B7-\uFFFF]+$/),He=l(/^aria-[\-\w]+$/),Ke=l(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),qe=l(/^(?:\w+script|data):/i),ht=l(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Te=l(/^html$/i),oe=l(/^[a-z][.\w]*(-[.\w]+)+$/i),q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},ue=function(){return typeof window>"u"?null:window},J=function(Fe,st){if(typeof Fe!="object"||typeof Fe.createPolicy!="function")return null;let vt=null;const Yt="data-tt-policy-suffix";st&&st.hasAttribute(Yt)&&(vt=st.getAttribute(Yt));const Si="dompurify"+(vt?"#"+vt:"");try{return Fe.createPolicy(Si,{createHTML(Bi){return Bi},createScriptURL(Bi){return Bi}})}catch{return console.warn("TrustedTypes policy "+Si+" could not be created."),null}},ve=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function De(){let pt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ue();const Fe=Fn=>De(Fn);if(Fe.version="3.4.8",Fe.removed=[],!pt||!pt.document||pt.document.nodeType!==q.document||!pt.Element)return Fe.isSupported=!1,Fe;let st=pt.document;const vt=st,Yt=vt.currentScript;pt.DocumentFragment;
14const Si=pt.HTMLTemplateElement,Bi=pt.Node,pi=pt.Element,$i=pt.NodeFilter,fn=pt.NamedNodeMap;fn===void 0&&(pt.NamedNodeMap||pt.MozNamedAttrMap),pt.HTMLFormElement;const Sn=pt.DOMParser,On=pt.trustedTypes,Dn=pi.prototype,Qn=we(Dn,"cloneNode"),rs=we(Dn,"remove"),us=we(Dn,"nextSibling"),Zn=we(Dn,"childNodes"),zn=we(Dn,"parentNode"),ms=we(Dn,"shadowRoot"),es=we(Dn,"attributes"),Xn=Bi&&Bi.prototype?we(Bi.prototype,"nodeType"):null,Ts=Bi&&Bi.prototype?we(Bi.prototype,"nodeName"):null;if(typeof Si=="function"){const Fn=st.createElement("template");Fn.content&&Fn.content.ownerDocument&&(st=Fn.content.ownerDocument)}let ps,Yn="",zs=0;const Kn=function(hi){if(zs>0)throw j('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');zs++;try{return ps.createHTML(hi)}finally{zs--}},jt=st,$t=jt.implementation,Ei=jt.createNodeIterator,zi=jt.createDocumentFragment,hn=jt.getElementsByTagName,wn=vt.importNode;let en=ve();Fe.isSupported=typeof b=="function"&&typeof zn=="function"&&$t&&$t.createHTMLDocument!==void 0;const In=Ue,Bn=$e,Wi=Ye,At=Ce,Xt=He,li=qe,Mi=ht,vi=oe;let Vi=Ke,ui=null;const Wt=re({},[...Be,...M,...Ve,...Le,...Qe]);let Nn=null;const ci=re({},[...je,...ae,...Ee,...Ie]);let ut=Object.seal(o(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Rt=null,xt=null;const Ot=Object.seal(o(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Qt=!0,ai=!0,gi=!1,Ki=!0,Zi=!1,bi=!0,ot=!1,ge=!1,Ze=!1,at=!1,Et=!1,Ft=!1,qt=!0,Li=!1;const Ni="user-content-";let xi=!0,Ci=!1,Di={},Fi=null;const Gi=re({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Xi=null;const tn=re({},["audio","video","img","source","image","track"]);let yn=null;const Gn=re({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ys="http://www.w3.org/1998/Math/MathML",nn="http://www.w3.org/2000/svg",Cn="http://www.w3.org/1999/xhtml";let kn=Cn,Ds=!1,Gs=null;const xs=re({},[Ys,nn,Cn],W);let Ms=re({},["mi","mo","mn","ms","mtext"]),$n=re({},["annotation-xml"]);const _s=re({},["title","style","font","a","script"]);let ao=null;const ks=["application/xhtml+xml","text/html"],Fs="text/html";let as=null,vs=null;const Ns=st.createElement("form"),Er=function(hi){return hi instanceof RegExp||hi instanceof Function},Lr=function(){let hi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(vs&&vs===hi)return;(!hi||typeof hi!="object")&&(hi={}),hi=le(hi),ao=ks.indexOf(hi.PARSER_MEDIA_TYPE)===-1?Fs:hi.PARSER_MEDIA_TYPE,as=ao==="application/xhtml+xml"?W:N,ui=X(hi,"ALLOWED_TAGS")&&k(hi.ALLOWED_TAGS)?re({},hi.ALLOWED_TAGS,as):Wt,Nn=X(hi,"ALLOWED_ATTR")&&k(hi.ALLOWED_ATTR)?re({},hi.ALLOWED_ATTR,as):ci,Gs=X(hi,"ALLOWED_NAMESPACES")&&k(hi.ALLOWED_NAMESPACES)?re({},hi.ALLOWED_NAMESPACES,W):xs,yn=X(hi,"ADD_URI_SAFE_ATTR")&&k(hi.ADD_URI_SAFE_ATTR)?re(le(Gn),hi.ADD_URI_SAFE_ATTR,as):Gn,Xi=X(hi,"ADD_DATA_URI_TAGS")&&k(hi.ADD_DATA_URI_TAGS)?re(le(tn),hi.ADD_DATA_URI_TAGS,as):tn,Fi=X(hi,"FORBID_CONTENTS")&&k(hi.FORBID_CONTENTS)?re({},hi.FORBID_CONTENTS,as):Gi,Rt=X(hi,"FORBID_TAGS")&&k(hi.FORBID_TAGS)?re({},hi.FORBID_TAGS,as):le({}),xt=X(hi,"FORBID_ATTR")&&k(hi.FORBID_ATTR)?re({},hi.FORBID_ATTR,as):le({}),Di=X(hi,"USE_PROFILES")?hi.USE_PROFILES&&typeof hi.USE_PROFILES=="object"?le(hi.USE_PROFILES):hi.USE_PROFILES:!1,Qt=hi.ALLOW_ARIA_ATTR!==!1,ai=hi.ALLOW_DATA_ATTR!==!1,gi=hi.ALLOW_UNKNOWN_PROTOCOLS||!1,Ki=hi.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Zi=hi.SAFE_FOR_TEMPLATES||!1,bi=hi.SAFE_FOR_XML!==!1,ot=hi.WHOLE_DOCUMENT||!1,at=hi.RETURN_DOM||!1,Et=hi.RETURN_DOM_FRAGMENT||!1,Ft=hi.RETURN_TRUSTED_TYPE||!1,Ze=hi.FORCE_BODY||!1,qt=hi.SANITIZE_DOM!==!1,Li=hi.SANITIZE_NAMED_PROPS||!1,xi=hi.KEEP_CONTENT!==!1,Ci=hi.IN_PLACE||!1,Vi=xe(hi.ALLOWED_URI_REGEXP)?hi.ALLOWED_URI_REGEXP:Ke,kn=typeof hi.NAMESPACE=="str
14ing"?hi.NAMESPACE:Cn,Ms=X(hi,"MATHML_TEXT_INTEGRATION_POINTS")&&hi.MATHML_TEXT_INTEGRATION_POINTS&&typeof hi.MATHML_TEXT_INTEGRATION_POINTS=="object"?le(hi.MATHML_TEXT_INTEGRATION_POINTS):re({},["mi","mo","mn","ms","mtext"]),$n=X(hi,"HTML_INTEGRATION_POINTS")&&hi.HTML_INTEGRATION_POINTS&&typeof hi.HTML_INTEGRATION_POINTS=="object"?le(hi.HTML_INTEGRATION_POINTS):re({},["annotation-xml"]);const Yi=X(hi,"CUSTOM_ELEMENT_HANDLING")&&hi.CUSTOM_ELEMENT_HANDLING&&typeof hi.CUSTOM_ELEMENT_HANDLING=="object"?le(hi.CUSTOM_ELEMENT_HANDLING):o(null);if(ut=o(null),X(Yi,"tagNameCheck")&&Er(Yi.tagNameCheck)&&(ut.tagNameCheck=Yi.tagNameCheck),X(Yi,"attributeNameCheck")&&Er(Yi.attributeNameCheck)&&(ut.attributeNameCheck=Yi.attributeNameCheck),X(Yi,"allowCustomizedBuiltInElements")&&typeof Yi.allowCustomizedBuiltInElements=="boolean"&&(ut.allowCustomizedBuiltInElements=Yi.allowCustomizedBuiltInElements),Zi&&(ai=!1),Et&&(at=!0),Di&&(ui=re({},Qe),Nn=o(null),Di.html===!0&&(re(ui,Be),re(Nn,je)),Di.svg===!0&&(re(ui,M),re(Nn,ae),re(Nn,Ie)),Di.svgFilters===!0&&(re(ui,Ve),re(Nn,ae),re(Nn,Ie)),Di.mathMl===!0&&(re(ui,Le),re(Nn,Ee),re(Nn,Ie))),Ot.tagCheck=null,Ot.attributeCheck=null,X(hi,"ADD_TAGS")&&(typeof hi.ADD_TAGS=="function"?Ot.tagCheck=hi.ADD_TAGS:k(hi.ADD_TAGS)&&(ui===Wt&&(ui=le(ui)),re(ui,hi.ADD_TAGS,as))),X(hi,"ADD_ATTR")&&(typeof hi.ADD_ATTR=="function"?Ot.attributeCheck=hi.ADD_ATTR:k(hi.ADD_ATTR)&&(Nn===ci&&(Nn=le(Nn)),re(Nn,hi.ADD_ATTR,as))),X(hi,"ADD_URI_SAFE_ATTR")&&k(hi.ADD_URI_SAFE_ATTR)&&re(yn,hi.ADD_URI_SAFE_ATTR,as),X(hi,"FORBID_CONTENTS")&&k(hi.FORBID_CONTENTS)&&(Fi===Gi&&(Fi=le(Fi)),re(Fi,hi.FORBID_CONTENTS,as)),X(hi,"ADD_FORBID_CONTENTS")&&k(hi.ADD_FORBID_CONTENTS)&&(Fi===Gi&&(Fi=le(Fi)),re(Fi,hi.ADD_FORBID_CONTENTS,as)),xi&&(ui["#text"]=!0),ot&&re(ui,["html","head","body"]),ui.table&&(re(ui,["tbody"]),delete Rt.tbody),hi.TRUSTED_TYPES_POLICY){if(typeof hi.TRUSTED_TYPES_POLICY.createHTML!="function")throw j('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof hi.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw j('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const En=ps;ps=hi.TRUSTED_TYPES_POLICY;try{Yn=Kn("")}catch(An){throw ps=En,An}}else ps===void 0&&hi.TRUSTED_TYPES_POLICY!==null&&(ps=J(On,Yt)),ps&&typeof Yn=="string"&&(Yn=Kn(""));(en.uponSanitizeElement.length>0||en.uponSanitizeAttribute.length>0)&&ui===Wt&&(ui=le(ui)),en.uponSanitizeAttribute.length>0&&Nn===ci&&(Nn=le(Nn)),d&&d(hi),vs=hi},ur=re({},[...M,...Ve,...Me]),Da=re({},[...Le,..._e]),za=function(hi){let Yi=zn(hi);(!Yi||!Yi.tagName)&&(Yi={namespaceURI:kn,tagName:"template"});const En=N(hi.tagName),An=N(Yi.tagName);return Gs[hi.namespaceURI]?hi.namespaceURI===nn?Yi.namespaceURI===Cn?En==="svg":Yi.namespaceURI===Ys?En==="svg"&&(An==="annotation-xml"||Ms[An]):!!ur[En]:hi.namespaceURI===Ys?Yi.namespaceURI===Cn?En==="math":Yi.namespaceURI===nn?En==="math"&&$n[An]:!!Da[En]:hi.namespaceURI===Cn?Yi.namespaceURI===nn&&!$n[An]||Yi.namespaceURI===Ys&&!Ms[An]?!1:!Da[En]&&(_s[En]||!ur[En]):!!(ao==="application/xhtml+xml"&&Gs[hi.namespaceURI]):!1},fo=function(hi){h(Fe.removed,{element:hi});try{zn(hi).removeChild(hi)}catch{rs(hi)}},nr=function(hi,Yi){try{h(Fe.removed,{attribute:Yi.getAttributeNode(hi),from:Yi})}catch{h(Fe.removed,{attribute:null,from:Yi})}if(Yi.removeAttribute(hi),hi==="is")if(at||Et)try{fo(Yi)}catch{}else try{Yi.setAttribute(hi,"")}catch{}},Ur=function(hi){let Yi=null,En=null;if(Ze)hi="<remove></remove>"+hi;else{const As=U(hi,/^[\r\n\t ]+/);En=As&&As[0]}ao==="application/xhtml+xml"&&kn===Cn&&(hi='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+hi+"</body></html>");const An=ps?Kn(hi):hi;if(kn===Cn)try{Yi=new Sn().parseFromString(An,ao)}catch{}if(!Yi||!Yi.documentElement){Yi=$t.createDocument(kn,"template",null);try{Yi.documentElement.innerHTML=Ds?Yn:An}catch{}}const Cs=Yi.body||Yi.documentElement;return hi&&En&&Cs.insertBefore(st.createTextNode(En),Cs.childNodes[0]||null),kn===Cn?hn.call(Yi,ot?"html":"body")[0]:ot?Yi.documentElement:Cs},sr=function(hi){return Ei.call(hi.ownerDocument||hi,hi,$i.SHOW_ELEMENT|$i.SHOW_COMMENT|$i.SHOW_TEXT|$i.SHOW_PROCESSING_INSTRUCTION|$i.SHOW_CDATA_SECTION,null)},Qo=function(hi){var Yi,En;hi.normalize();const An=Ei.call(hi.ownerDocument||hi,hi,$i.SHOW_TEXT|$i.SHOW_COMMENT|$i.SHOW_CDATA_SECTION|$i.SHOW_PROCESSING_INSTRUCTION,null);let Cs=An.nextNode();for(;Cs;){let so=Cs.data;_([In,Bn,Wi],Wn=>{so=$(so,Wn," ")}),Cs.data=so,Cs=An.nextNode()}const As=(Yi=(En=hi.querySelectorAll)===null||En===void 0?void 0:En.call(hi,"template"))!==null&&Yi!==void 0?Yi:[];_(Array.from(As),so=>{zo(so.content)&&Qo(so.content)})},kr=function(hi){const Yi=Ts?Ts(hi):null;
14return typeof Yi!="string"||as(Yi)!=="form"?!1:typeof hi.nodeName!="string"||typeof hi.textContent!="string"||typeof hi.removeChild!="function"||hi.attributes!==es(hi)||typeof hi.removeAttribute!="function"||typeof hi.setAttribute!="function"||typeof hi.namespaceURI!="string"||typeof hi.insertBefore!="function"||typeof hi.hasChildNodes!="function"||hi.nodeType!==Xn(hi)||hi.childNodes!==Zn(hi)},zo=function(hi){if(!Xn||typeof hi!="object"||hi===null)return!1;try{return Xn(hi)===q.documentFragment}catch{return!1}},gr=function(hi){if(!Xn||typeof hi!="object"||hi===null)return!1;try{return typeof Xn(hi)=="number"}catch{return!1}};function sn(Fn,hi,Yi){_(Fn,En=>{En.call(Fe,hi,Yi,vs)})}const jr=function(hi){let Yi=null;if(sn(en.beforeSanitizeElements,hi,null),kr(hi))return fo(hi),!0;const En=as(Ts?Ts(hi):hi.nodeName);if(sn(en.uponSanitizeElement,hi,{tagName:En,allowedTags:ui}),bi&&hi.hasChildNodes()&&!gr(hi.firstElementChild)&&Y(/<[/\w!]/g,hi.innerHTML)&&Y(/<[/\w!]/g,hi.textContent)||bi&&hi.namespaceURI===Cn&&En==="style"&&gr(hi.firstElementChild)||hi.nodeType===q.progressingInstruction||bi&&hi.nodeType===q.comment&&Y(/<[/\w]/g,hi.data))return fo(hi),!0;if(Rt[En]||!(Ot.tagCheck instanceof Function&&Ot.tagCheck(En))&&!ui[En]){if(!Rt[En]&&Ln(En)&&(ut.tagNameCheck instanceof RegExp&&Y(ut.tagNameCheck,En)||ut.tagNameCheck instanceof Function&&ut.tagNameCheck(En)))return!1;if(xi&&!Fi[En]){const Cs=zn(hi),As=Zn(hi);if(As&&Cs){const so=As.length;for(let Wn=so-1;Wn>=0;--Wn){const Mo=Qn(As[Wn],!0);Cs.insertBefore(Mo,us(hi))}}}return fo(hi),!0}return(Xn?Xn(hi):hi.nodeType)===q.element&&!za(hi)||(En==="noscript"||En==="noembed"||En==="noframes")&&Y(/<\/no(script|embed|frames)/i,hi.innerHTML)?(fo(hi),!0):(Zi&&hi.nodeType===q.text&&(Yi=hi.textContent,_([In,Bn,Wi],Cs=>{Yi=$(Yi,Cs," ")}),hi.textContent!==Yi&&(h(Fe.removed,{element:hi.cloneNode()}),hi.textContent=Yi)),sn(en.afterSanitizeElements,hi,null),!1)},jn=function(hi,Yi,En){if(xt[Yi]||qt&&(Yi==="id"||Yi==="name")&&(En in st||En in Ns))return!1;const An=Nn[Yi]||Ot.attributeCheck instanceof Function&&Ot.attributeCheck(Yi,hi);if(!(ai&&!xt[Yi]&&Y(At,Yi))){if(!(Qt&&Y(Xt,Yi))){if(!An||xt[Yi]){if(!(Ln(hi)&&(ut.tagNameCheck instanceof RegExp&&Y(ut.tagNameCheck,hi)||ut.tagNameCheck instanceof Function&&ut.tagNameCheck(hi))&&(ut.attributeNameCheck instanceof RegExp&&Y(ut.attributeNameCheck,Yi)||ut.attributeNameCheck instanceof Function&&ut.attributeNameCheck(Yi,hi))||Yi==="is"&&ut.allowCustomizedBuiltInElements&&(ut.tagNameCheck instanceof RegExp&&Y(ut.tagNameCheck,En)||ut.tagNameCheck instanceof Function&&ut.tagNameCheck(En))))return!1}else if(!yn[Yi]){if(!Y(Vi,$(En,Mi,""))){if(!((Yi==="src"||Yi==="xlink:href"||Yi==="href")&&hi!=="script"&&te(En,"data:")===0&&Xi[hi])){if(!(gi&&!Y(li,$(En,Mi,"")))){if(En)return!1}}}}}}return!0},Do=re({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ln=function(hi){return!Do[N(hi)]&&Y(vi,hi)},xo=function(hi){sn(en.beforeSanitizeAttributes,hi,null);const Yi=hi.attributes;if(!Yi||kr(hi))return;const En={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Nn,forceKeepAttr:void 0};let An=Yi.length;for(;An--;){const Cs=Yi[An],As=Cs.name,so=Cs.namespaceURI,Wn=Cs.value,Mo=as(As),Hs=Wn;let Zs=As==="value"?Hs:ne(Hs);if(En.attrName=Mo,En.attrValue=Zs,En.keepAttr=!0,En.forceKeepAttr=void 0,sn(en.uponSanitizeAttribute,hi,En),Zs=En.attrValue,Li&&(Mo==="id"||Mo==="name")&&te(Zs,Ni)!==0&&(nr(As,hi),Zs=Ni+Zs),bi&&Y(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Zs)){nr(As,hi);continue}if(Mo==="attributename"&&U(Zs,"href")){nr(As,hi);continue}if(En.forceKeepAttr)continue;if(!En.keepAttr){nr(As,hi);continue}if(!Ki&&Y(/\/>/i,Zs)){nr(As,hi);continue}Zi&&_([In,Bn,Wi],la=>{Zs=$(Zs,la," ")});const $s=as(hi.nodeName);if(!jn($s,Mo,Zs)){nr(As,hi);continue}if(ps&&typeof On=="object"&&typeof On.getAttributeType=="function"&&!so)switch(On.getAttributeType($s,Mo)){case"TrustedHTML":{Zs=Kn(Zs);break}case"TrustedScriptURL":{Zs=ps.createScriptURL(Zs);break}}if(Zs!==Hs)try{so?hi.setAttributeNS(so,As,Zs):hi.setAttribute(As,Zs),kr(hi)?fo(hi):S(Fe.removed)}catch{nr(As,hi)}}sn(en.afterSanitizeAttributes,hi,null)},io=function(hi){let Yi=null;const En=sr(hi);for(sn(en.beforeSanitizeShadowDOM,hi,null);Yi=En.nextNode();)if(sn(en.uponSanitizeShadowNode,Yi,null),jr(Yi),xo(Yi),zo(Yi.content)&&io(Yi.content),(Xn?Xn(Yi):Yi.nodeType)===q.element){const Cs=ms?ms(Yi):Yi.shadowRoot;zo(Cs)&&(fr(Cs),io(Cs))}sn(en.afterSanitizeShadowDOM,hi,null)},fr=function(hi){const Yi=Xn?Xn(hi):hi.nodeType;if(Yi===q.element){const Cs=ms?ms(hi):hi.shadowRoot;zo(Cs)&&(fr(Cs),io(Cs))}const En=Zn?Zn(hi):hi.childNodes;if(!En)return;const An=[];_(En,Cs=>{h(An,Cs)});for(const Cs of An)fr(Cs);if(Yi===q.element){const Cs=Ts?Ts(hi):null;
14if(typeof Cs=="string"&&as(Cs)==="template"){const As=hi.content;zo(As)&&fr(As)}}};return Fe.sanitize=function(Fn){let hi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Yi=null,En=null,An=null,Cs=null;if(Ds=!Fn,Ds&&(Fn="<!-->"),typeof Fn!="string"&&!gr(Fn)&&(Fn=he(Fn),typeof Fn!="string"))throw j("dirty is not a string, aborting");if(!Fe.isSupported)return Fn;if(ge||Lr(hi),Fe.removed=[],typeof Fn=="string"&&(Ci=!1),Ci){const Wn=Ts?Ts(Fn):Fn.nodeName;if(typeof Wn=="string"){const Mo=as(Wn);if(!ui[Mo]||Rt[Mo])throw j("root node is forbidden and cannot be sanitized in-place")}if(kr(Fn))throw j("root node is clobbered and cannot be sanitized in-place");fr(Fn)}else if(gr(Fn))Yi=Ur("<!---->"),En=Yi.ownerDocument.importNode(Fn,!0),En.nodeType===q.element&&En.nodeName==="BODY"||En.nodeName==="HTML"?Yi=En:Yi.appendChild(En),fr(En);else{if(!at&&!Zi&&!ot&&Fn.indexOf("<")===-1)return ps&&Ft?Kn(Fn):Fn;if(Yi=Ur(Fn),!Yi)return at?null:Ft?Yn:""}Yi&&Ze&&fo(Yi.firstChild);const As=sr(Ci?Fn:Yi);for(;An=As.nextNode();)jr(An),xo(An),zo(An.content)&&io(An.content);if(Ci)return Zi&&Qo(Fn),Fn;if(at){if(Zi&&Qo(Yi),Et)for(Cs=zi.call(Yi.ownerDocument);Yi.firstChild;)Cs.appendChild(Yi.firstChild);else Cs=Yi;return(Nn.shadowroot||Nn.shadowrootmode)&&(Cs=wn.call(vt,Cs,!0)),Cs}let so=ot?Yi.outerHTML:Yi.innerHTML;return ot&&ui["!doctype"]&&Yi.ownerDocument&&Yi.ownerDocument.doctype&&Yi.ownerDocument.doctype.name&&Y(Te,Yi.ownerDocument.doctype.name)&&(so="<!DOCTYPE "+Yi.ownerDocument.doctype.name+`>
15`+so),Zi&&_([In,Bn,Wi],Wn=>{so=$(so,Wn," ")}),ps&&Ft?Kn(so):so},Fe.setConfig=function(){let Fn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Lr(Fn),ge=!0},Fe.clearConfig=function(){vs=null,ge=!1},Fe.isValidAttribute=function(Fn,hi,Yi){vs||Lr({});const En=as(Fn),An=as(hi);return jn(En,An,Yi)},Fe.addHook=function(Fn,hi){typeof hi=="function"&&h(en[Fn],hi)},Fe.removeHook=function(Fn,hi){if(hi!==void 0){const Yi=E(en[Fn],hi);return Yi===-1?void 0:D(en[Fn],Yi,1)[0]}return S(en[Fn])},Fe.removeHooks=function(Fn){en[Fn]=[]},Fe.removeAllHooks=function(){en=ve()},Fe}var fe=De();const Se=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","s","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]),pe=Object.freeze(["href","target","src","alt","title","for","name","role","tabindex","x-dispatch","required","checked","placeholder","type","start","width","height","align"]),Ae="vscode-relative-path";function Xe(pt,Fe){if(Fe.override==="*")return!0;try{const st=new URL(pt,Ae+"://");return!!(Fe.override.includes(st.protocol.replace(/:$/,""))||Fe.allowRelativePaths&&st.protocol===Ae+":"&&!pt.trim().toLowerCase().startsWith(Ae))}catch{return!1}}function dt(pt,Fe){fe.addHook("afterSanitizeAttributes",st=>{for(const vt of["href","src"])if(st.hasAttribute(vt)){const Yt=st.getAttribute(vt);vt==="href"?!Yt.startsWith("#")&&!Xe(Yt,pt)&&st.removeAttribute(vt):Xe(Yt,Fe)||st.removeAttribute(vt)}})}const gt=Object.freeze({ALLOWED_TAGS:[...Se],ALLOWED_ATTR:[...pe],ALLOW_UNKNOWN_PROTOCOLS:!0});function Bt(pt,Fe){return _t(pt,Fe,"trusted")}function _t(pt,Fe,st){try{const vt={...gt};Fe?.allowedTags&&(Fe.allowedTags.override&&(vt.ALLOWED_TAGS=[...Fe.allowedTags.override]),Fe.allowedTags.augment&&(vt.ALLOWED_TAGS=[...vt.ALLOWED_TAGS??[],...Fe.allowedTags.augment]));let Yt=[...pe];Fe?.allowedAttributes&&(Fe.allowedAttributes.override&&(Yt=[...Fe.allowedAttributes.override]),Fe.allowedAttributes.augment&&(Yt=[...Yt,...Fe.allowedAttributes.augment])),Yt=Yt.map(pi=>typeof pi=="string"?pi.toLowerCase():{attributeName:pi.attributeName.toLowerCase(),shouldKeep:pi.shouldKeep});const Si=new Set(Yt.map(pi=>typeof pi=="string"?pi:pi.attributeName)),Bi=new Map;for(const pi of Yt)typeof pi=="string"?Bi.delete(pi):Bi.set(pi.attributeName,pi);return vt.ALLOWED_ATTR=Array.from(Si),dt({override:Fe?.allowedLinkProtocols?.override??[v.ny.http,v.ny.https],allowRelativePaths:Fe?.allowRelativeLinkPaths??!1},{override:Fe?.allowedMediaProtocols?.override??[v.ny.http,v.ny.https],allowRelativePaths:Fe?.allowRelativeMediaPaths??!1}),Fe?.replaceWithPlaintext&&fe.addHook("uponSanitizeElement",Gt),Bi.size&&fe.addHook("uponSanitizeAttribute",(pi,$i)=>{const fn=Bi.get($i.attrName);if(fn){const Sn=fn.shouldKeep(pi,$i);
15typeof Sn=="string"?($i.keepAttr=!0,$i.attrValue=Sn):$i.keepAttr=Sn}else $i.keepAttr=Si.has($i.attrName)}),st==="dom"?fe.sanitize(pt,{...vt,RETURN_DOM_FRAGMENT:!0}):fe.sanitize(pt,{...vt,RETURN_TRUSTED_TYPE:!0})}finally{fe.removeAllHooks()}}const ri=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],Gt=(pt,Fe,st)=>{if(!Fe.allowedTags[Fe.tagName]&&Fe.tagName!=="body"){const vt=ei(pt);vt&&(pt.nodeType===Node.COMMENT_NODE?pt.parentElement?.insertBefore(vt,pt):pt.parentElement?.replaceChild(vt,pt))}};function ei(pt){if(!pt.ownerDocument)return;let Fe,st;if(pt.nodeType===Node.COMMENT_NODE)Fe=`<!--${pt.textContent}-->`;else if(pt instanceof Element){const Bi=pt.tagName.toLowerCase(),pi=ri.includes(Bi),$i=pt.attributes.length?" "+Array.from(pt.attributes).map(fn=>`${fn.name}="${fn.value}"`).join(" "):"";Fe=`<${Bi}${$i}>`,pi||(st=`</${Bi}>`)}else return;const vt=document.createDocumentFragment(),Yt=pt.ownerDocument.createTextNode(Fe);for(vt.appendChild(Yt);pt.firstChild;)vt.appendChild(pt.firstChild);const Si=st?pt.ownerDocument.createTextNode(st):void 0;return Si&&vt.appendChild(Si),vt}function Zt(pt,Fe,st){const vt=_t(Fe,st,"dom");(0,R.Ln)(pt,vt)}},21550:(St,We,e)=>{e.d(We,{$:()=>o});var v=e(14333),R=e(87594),x=e(36930),T=e(30474),y=e(65568),A=e(91818),g=e(94901),L=e(2106),b=e(90028),C=e(10998),u=e(58881
15),i=e(20396),r=e(20921);g.Q1.white.toString(),g.Q1.white.toString();const d=Object.freeze({allowedTags:{override:["b","i","u","code","span"]},allowedAttributes:{override:["class"]}}),l=Object.freeze({sanitizerConfig:{allowedAttributes:{override:["class"]}}});class o extends C.jG{get onDidClick(){return this._onDidClick.event}constructor(a,p){super(),this._label="",this._onDidClick=this._register(new L.vl),this._onDidEscape=this._register(new L.vl),this.options=p,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!p.secondary),this._element.classList.toggle("small",!!p.small);const _=p.secondary?p.buttonSecondaryBackground:p.buttonBackground,E=p.secondary?p.buttonSecondaryForeground:p.buttonForeground,S=p.secondary?p.buttonSecondaryBorder:p.buttonBorder;this._element.style.color=E||"",this._element.style.backgroundColor=_||"",S&&(this._element.style.border=`1px solid ${S}`),p.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof p.title=="string"&&this.setTitle(p.title),typeof p.ariaLabel=="string"&&this._element.setAttribute("aria-label",p.ariaLabel),a.appendChild(this._element),this.enabled=!p.disabled,this._register(T.q.addTarget(this._element)),[v.Bx.CLICK,T.B.Tap].forEach(h=>{this._register((0,v.ko)(this._element,h,D=>{if(!this.enabled){v.fs.stop(D);return}this._onDidClick.fire(D)}))}),this._register((0,v.ko)(this._element,v.Bx.KEY_DOWN,h=>{const D=new R.Z(h);let k=!1;this.enabled&&(D.equals(3)||D.equals(10))?(this._onDidClick.fire(h),k=!0):D.equals(9)&&(this._onDidEscape.fire(h),this._element.blur(),k=!0),k&&v.fs.stop(D,!0)})),this._register((0,v.ko)(this._element,v.Bx.MOUSE_OVER,h=>{this._element.classList.contains("disabled")||this.updateStyles(!0)})),this._register((0,v.ko)(this._element,v.Bx.MOUSE_OUT,h=>{this.updateStyles(!1)})),this.focusTracker=this._register((0,v.w5)(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateStyles(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateStyles(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(a){const p=[];for(let _ of(0,A.n)(a))if(typeof _=="string"){if(_=_.trim(),_==="")continue;const E=document.createElement("span");E.textContent=_,p.push(E)}else p.push(_);return p}updateStyles(a){let p,_,E;this.options.secondary?(p=a?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground,_=this.options.buttonSecondaryForeground,E=this.options.buttonSecondaryBorder):(p=a?this.options.buttonHoverBackground:this.options.buttonBackground,_=this.options.buttonForeground,E=this.options.buttonBorder),this._element.style.backgroundColor=p||"",this._element.style.color=_||"",this._element.style.border=E?`1px solid ${E}`:""}get element(){return this._element}set label(a){if(this._label===a||(0,b.VS)(this._label)&&(0,b.VS)(a)&&(0,b.nK)(this._label,a))return;this._element.classList.add("monaco-text-button");const p=this.options.supportShortLabel?this._labelElement:this._element;if((0,b.VS)(a)){const E=(0,x.Gc)(a,l,document.createElement("span"));E.dispose();const S=E.element.querySelector("p")?.innerHTML;S?(0,r.D$)(p,S,d):(0,v.Ln)(p)}else this.options.supportIcons?(0,v.Ln)(p,...this.getContentElements(a)):p.textContent=a;let _="";typeof this.options.title=="string"?_=this.options.title:this.options.title&&(_=(0,x.Mh)(a)),this.setTitle(_),this._setAriaLabel(),this._label=a}get label(){return this._label}_setAriaLabel(){typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):typeof this.options.title=="string"&&this._element.setAttribute("aria-label",this.options.title)}set icon(a){this._setAriaLabel();const p=Array.from(this._element.classList).filter(_=>_.startsWith("codicon-"));this._element.classList.remove(...p),this._element.classList.add(...u.L.asClassNameArray(a))}set enabled(a){a?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}set secondary(a){this._element.classList.toggle("secondary",a),this.options.secondary=a,this.updateStyles(!1)}setTitle(a){!this._hover&&a!==""?this._hover=this._register((0,i.i)().setupManagedHover(this.options.hoverDelegate??(0,y.nZ)("element"),this._element,a)):this._hover&&this._hover.update(a)}}},21600:(St,We,e)=>{e.d(We,{Jk:()=>o,R7:()=>Z});var v=e(3765),R=e(53909),x=e(31540),T=e(13034),y=e(50946),A=e(66316),g=e(66476),L=e(15365),b=e(28061),C=e(93702),u=e(82862),i=e(89673),r=e(29895),d=e(38122),l=e(52394);class o extends y.DX{constructor(we){super(we),this._inSelectionMode=we.inSelectionMode,this._wordNavigationType=we.wordNavigationType}runEditorCommand(we,xe,Be){if(!xe.hasModel())return;const M=(0,u.i)(xe.getOption(148),xe.getOption(147)),Ve=xe.getModel(),Me=xe.getSelections(),Le=Me.length>1,_e=Me.map(Qe=>{const je=new L.y(Qe.positionLineNumber,Qe.positionColumn),ae=this._move(M,Ve,je,this._wordNavigationType,Le);return this._moveTo(Qe,ae,this._inSelectionMode)});if(Ve.pushStackElement(),xe._getViewModel().setCursorStates("moveWordCommand",3,_e.map(Qe=>r.MF.fromModelSelection(Qe))),_e.length===1){const Qe=new L.y(_e[0].positionLineNumber,_e[0].positionColumn);xe.revealPosition(Qe,0)}}_moveTo(we,xe,Be){return Be?new C.L(we.selectionStartLineNumber,we.selectionStartColumn,xe.lineNumber,xe.column):new C.L(xe.lineNumber,xe.column,xe.lineNumber,xe.column)}}class c extends o{_move(we,xe,Be,M,Ve){return i.z.moveWordLeft(we,xe,Be,M,Ve)}}class a extends o{_move(we,xe,Be,M,Ve){return i.z.moveWordRight(we,xe,Be,M)}}class p extends c{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class _ extends c{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class E extends c{constructor(){super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:x.M$.and(d.R.textInputFocus,x.M$.and(R.f,T.nd)?.negate()),primary:2063,mac:{primary:527},weight:100}})}}class S extends c{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class h extends c{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class D extends c{constructor(){super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:x.M$.and(d.R.textInputFocus,x.M$.and(R.f,T.nd)?.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class k extends c{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(we,xe,Be,M,Ve){return super._move((0,u.i)(g.qB.wordSeparators.defaultValue,we.intlSegmenterLocales),xe,Be,M,Ve)}}class N extends c{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(we,xe,Be,M,Ve){return super._move((0,u.i)(g.qB.wordSeparators.defaultValue,we.intlSegmenterLocales),xe,Be,M,Ve)}}class W extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class U extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:x.M$.and(d.R.textInputFocus,x.M$.and(R.f,T.nd)?.negate()),primary:2065,mac:{primary:529},weight:100}})}}class $ extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class te extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class ne extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:x.M$.and(d.R.textInputFocus,x.M$.and(R.f,T.nd)?.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class V extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class I extends a{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(we,xe,Be,M,Ve){return super._move((0,u.i)(g.qB.wordSeparators.defaultValue,we.intlSegmenterLocales),xe,Be,M,Ve)}}class H extends a{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(we,xe,Be,M,Ve){return super._move((0,u.i)(g.qB.wordSeparators.defaultValue,we.intlSegmenterLocales),xe,Be,M,Ve)}}class Z extends y.DX{constructor(we){super({canTriggerInlineEdits:!0,...we}),this._whitespaceHeuristics=we.whitespaceHeuristics,this._wordNavigationType=we.wordNavigationType}runEditorCommand(we,xe,Be){const M=we?.get(l.JZ);if(!xe.hasModel()||!M)return;const Ve=(0,u.i)(xe.getOption(148),xe.getOption(147)),Me=xe.getModel(),Le=xe.getSelections(),_e=xe.getOption(10),Qe=xe.getOption(15),je=M.getLanguageConfiguration(Me.getLanguageId()).getAutoClosingPairs(),ae=xe._getViewModel(),Ee=Le.map(Ie=>{const Ue=this._delete({wordSeparators:Ve,model:Me,selection:Ie,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:xe.getOption(13),autoClosingBrackets:_e,autoClosingQuotes:Qe,autoClosingPairs:je,autoClosedCharacters:ae.getCursorAutoClosedCharacters()},this._wordNavigationType);return new A.iu(Ue,"")});xe.pushUndoStop(),xe.executeCommands(this.id,Ee),xe.pushUndoStop()}}class X extends Z{_delete(we,xe){const Be=i.z.deleteWordLeft(we,xe);return Be||new b.Q(1,1,1,1)}}class G extends Z{_delete(we,xe){const Be=i.z.deleteWordRight(we,xe);if(Be)return Be;const M=we.model.getLineCount(),Ve=we.model.getLineMaxColumn(M);return new b.Q(M,Ve,M,Ve)}}class Y extends X{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:d.R.writable})}}class j extends X{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:d.R.writable})}}class z extends X{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:d.R.writable,kbOpts:{kbExpr:d.R.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class ie extends G{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:d.R.writable})}}class re extends G{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:d.R.writable})}}class de extends G{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:d.R.writable,kbOpts:{kbExpr:d.R.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class le extends y.ks{constructor(){super({id:"deleteInsideWord",precondition:d.R.writable,label:(0,v.aS)(1628,"Delete Word"),metadata:{description:(0,v.aS)(1629,"Delete the word at the cursor"),args:[{name:"args",schema:{type:"object",properties:{onlyWord:{type:"boolean",default:!1,description:(0,v.kg)(1627,"Delete only the word and leave surrounding whitespace")}}}}]}})}run(we,xe,Be){if(!xe.hasModel())return;const M=!!(Be&&typeof Be=="object"&&Be.onlyWord),Ve=(0,u.i)(xe.getOption(148),xe.getOption(147)),Me=xe.getModel(),_e=xe.getSelections().map(Qe=>{const je=i.z.deleteInsideWord(Ve,Me,Qe,M);return new A.iu(je,"")});xe.pushUndoStop(),xe.executeCommands(this.id,_e),xe.pushUndoStop()}}(0,y.E_)(new p),(0,y.E_)(new _),(0,y.E_)(new E),(0,y.E_)(new S),(0,y.E_)(new h),(0,y.E_)(new D),(0,y.E_)(new W),(0,y.E_)(new U),(0,y.E_)(new $),(0,y.E_)(new te),(0,y.E_)(new ne),(0,y.E_)(new V),(0,y.E_)(new k),(0,y.E_)(new N),(0,y.E_)(new I),(0,y.E_)(new H),(0,y.E_)(new Y),(0,y.E_)(new j),(0,y.E_)(new z),(0,y.E_)(new ie),(0,y.E_)(new re),(0,y.E_)(new de),(0,y.Fl)(le)},22217:(St,We,e)=>{var v=e(14333),R=e(42802),x=e(37264),T=e(3765),y=e(85753),A=e(31540),g=e(89971),L=e(82399),b=e(46441),C=e(73027),u=e(26851),i=e(50946),r=e(98613),d=e(37283),l=e(76730);class o extends i.ks{constructor(){super({id:"editor.action.debugEditorGpuRenderer",label:(0,T.aS)(1144,"Developer: Debug Editor GPU Renderer"),precondition:A.M$.true()})}async run(a,p){const _=a.get(L._Y),S=await a.get(C.GK).pick([{label:(0,T.kg)(1141,"Log Texture Atlas Stats"),id:"logTextureAtlasStats"},{label:(0,T.kg)(1142,"Save Texture Atlas"),id:"saveTextureAtlas"},{label:(0,T.kg)(1143,"Draw Glyph"),id:"drawGlyph"}],{canPickMany:!1});if(S)switch(S.id){case"logTextureAtlasStats":_.invokeFunction(h=>{const D=h.get(b.rr),k=l.n.atlas;
15if(!l.n.atlas){D.error("No texture atlas found");return}const N=k.getStats();D.info(["Texture atlas stats",...N].join(`
16
17`))});break;case"saveTextureAtlas":_.invokeFunction(async h=>{const D=h.get(u.VR),k=h.get(g.$),N=D.getWorkspace().folders;if(N.length>0){const W=l.n.atlas,U=[];for(const[$,te]of W.pages.entries())U.push(k.writeFile(x.r.joinPath(N[0].uri,`textureAtlasPage${$}_actual.png`),R.MB.wrap(new Uint8Array(await(await te.source.convertToBlob()).arrayBuffer()))),k.writeFile(x.r.joinPath(N[0].uri,`textureAtlasPage${$}_usage.png`),R.MB.wrap(new Uint8Array(await(await te.getUsagePreview()).arrayBuffer()))));await Promise.all(U)}});break;case"drawGlyph":_.invokeFunction(async h=>{const D=h.get(y.pG),k=h.get(g.$),N=h.get(C.GK),U=h.get(u.VR).getWorkspace().folders;if(U.length===0)return;const $=l.n.atlas,te=D.getValue("editor.fontFamily"),ne=D.getValue("editor.fontSize"),V=new d.O(ne,te,(0,v.fz)().devicePixelRatio,l.n.decorationStyleCache);let I=await N.input({prompt:"Enter a character to draw (prefix with 0x for code point))"});if(!I)return;const H=I.match(/0x(?<codePoint>[0-9a-f]+)/i)?.groups?.codePoint;H!==void 0&&(I=String.fromCodePoint(parseInt(H,16)));const Z=0,G=$.getGlyph(V,I,Z,0,0);if(!G)return;const Y=$.pages[G.pageIndex].source.getContext("2d")?.getImageData(G.x,G.y,G.w,G.h);if(!Y)return;const j=new OffscreenCanvas(Y.width,Y.height);(0,r.HS)(j.getContext("2d")).putImageData(Y,0,0);const ie=await j.convertToBlob({type:"image/png"}),re=x.r.joinPath(U[0].uri,`glyph_${I}_${Z}_${ne}px_${te.replaceAll(/[,\\\/\.'\s]/g,"_")}.png`);await k.writeFile(re,R.MB.wrap(new Uint8Array(await ie.arrayBuffer())))});break}}}(0,i.Fl)(o)},22344:(St,We,e)=>{e.d(We,{e2:()=>g,sN:()=>T,tW:()=>x,v7:()=>i});var v=e(42802),R=e(16844);function x(d){return T(d,0)}function T(d,l){switch(typeof d){case"object":return d===null?y(349,l):Array.isArray(d)?L(d,l):b(d,l);case"string":return g(d,l);case"boolean":return A(d,l);case"number":return y(d,l);case"undefined":return y(937,l);default:return y(617,l)}}function y(d,l){return(l<<5)-l+d|0}function A(d,l){return y(d?433:863,l)}function g(d,l){l=y(149417,l);for(let o=0,c=d.length;o<c;o++)l=y(d.charCodeAt(o),l);return l}function L(d,l){return l=y(104579,l),d.reduce((o,c)=>T(c,o),l)}function b(d,l){return l=y(181387,l),Object.keys(d).sort().reduce((o,c)=>(o=g(c,o),T(d[c],o)),l)}function C(d,l,o=32){const c=o-l,a=~((1<<c)-1);return(d<<l|(a&d)>>>c)>>>0}function u(d,l=32){return d instanceof ArrayBuffer?(0,v.mU)(v.MB.wrap(new Uint8Array(d))):(d>>>0).toString(16).padStart(l/4,"0")}const r=class r{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(l){const o=l.length;if(o===0)return;const c=this._buff;let a=this._buffLen,p=this._leftoverHighSurrogate,_,E;for(p!==0?(_=p,E=-1,p=0):(_=l.charCodeAt(0),E=0);;){let S=_;if((0,R.pc)(_))if(E+1<o){const h=l.charCodeAt(E+1);(0,R.LJ)(h)?(E++,S=(0,R.z_)(_,h)):S=65533}else{p=_;break}else(0,R.LJ)(_)&&(S=65533);if(a=this._push(c,a,S),E++,E<o)_=l.charCodeAt(E);else break}this._buffLen=a,this._leftoverHighSurrogate=p}_push(l,o,c){return c<128?l[o++]=c:c<2048?(l[o++]=192|(c&1984)>>>6,l[o++]=128|(c&63)>>>0):c<65536?(l[o++]=224|(c&61440)>>>12,l[o++]=128|(c&4032)>>>6,l[o++]=128|(c&63)>>>0):(l[o++]=240|(c&1835008)>>>18,l[o++]=128|(c&258048)>>>12,l[o++]=128|(c&4032)>>>6,l[o++]=128|(c&63)>>>0),o>=64&&(this._step(),o-=64,this._totalLen+=64,l[0]=l[64],l[1]=l[65],l[2]=l[66]),o}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),u(this._h0)+u(this._h1)+u(this._h2)+u(this._h3)+u(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));const l=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(l/4294967296),!1),this._buffDV.setUint32(60,l%4294967296,!1),this._step()}_step(){const l=r._bigBlock32,o=this._buffDV;for(let k=0;k<64;k+=4)l.setUint32(k,o.getUint32(k,!1),!1);for(let k=64;k<320;k+=4)l.setUint32(k,C(l.getUint32(k-12,!1)^l.getUint32(k-32,!1)^l.getUint32(k-56,!1)^l.getUint32(k-64,!1),1),!1);let c=this._h0,a=this._h1,p=this._h2,_=this._h3,E=this._h4,S,h,D;for(let k=0;k<80;k++)k<20?(S=a&p|~a&_,h=1518500249):k<40?(S=a^p^_,h=1859775393):k<60?(S=a&p|a&_|p&_,h=2400959708):(S=a^p^_,h=3395469782),D=C(c,5)+S+E+h+l.getUint32(k*4,!1)&4294967295,E=_,_=p,p=C(a,30),a=c,c=D;this._h0=this._h0+c&4294967295,this._h1=this._h1+a&4294967295,this._h2=this._h2+p&4294967295,this._h3=this._h3+_&4294967295,this._h4=this._h4+E&4294967295}};r._bigBlock32=new DataView(new ArrayBuffer(320));let i=r},22467:(St,We,e)=>{e.d(We,{B6:()=>E,Fd:()=>o,LC:()=>r,P8:()=>i,Pi:()=>u,er:()=>b,iZ:()=>c,n4:()=>C,o1:()=>a,pD:()=>d,su:()=>g,uJ:()=>l});var v=e(78518),R=e(13072),x=e(18019),T=e(63339),y=e(16844),A=e(37264);function g(S){return(0,A.I)(S,!0)}class L{constructor(h){this._ignorePathCasing=h}compare(h,D,k=!1){return h===D?0:(0,y.UD)(this.getComparisonKey(h,k),this.getComparisonKey(D,k))}isEqual(h,D,k=!1){return h===D?!0:!h||!D?!1:this.getComparisonKey(h,k)===this.getComparisonKey(D,k)}getComparisonKey(h,D=!1){return h.with({path:this._ignorePathCasing(h)?h.path.toLowerCase():void 0,fragment:D?null:void 0}).toString()}isEqualOrParent(h,D,k=!1){if(h.scheme===D.scheme){if(h.scheme===R.ny.file)return(0,v._1)(g(h),g(D),this._ignorePathCasing(h))&&h.query===D.query&&(k||h.fragment===D.fragment);if(p(h.authority,D.authority))return(0,v._1)(h.path,D.path,this._ignorePathCasing(h),!0)&&h.query===D.query&&(k||h.fragment===D.fragment)}return!1}joinPath(h,...D){return A.r.joinPath(h,...D)}basenameOrAuthority(h){return i(h)||h.authority}basename(h,D){return x.SA.basename(h.path,D)}extname(h){return x.SA.extname(h.path)}dirname(h){if(h.path.length===0)return h;let D;return h.scheme===R.ny.file?D=A.r.file((0,x.pD)(g(h))).path:(D=x.SA.dirname(h.path),h.authority&&D.length&&D.charCodeAt(0)!==47&&(console.error(`dirname("${h.toString})) resulted in a relative path`),D="/")),h.with({path:D})}normalizePath(h){if(!h.path.length)return h;let D;return h.scheme===R.ny.file?D=A.r.file((0,x.S8)(g(h))).path:D=x.SA.normalize(h.path),h.with({path:D})}relativePath(h,D){if(h.scheme!==D.scheme||!p(h.authority,D.authority))return;if(h.scheme===R.ny.file){const W=(0,x.V8)(g(h),g(D));return T.uF?(0,v.TH)(W):W}let k=h.path||"/";const N=D.path||"/";if(this._ignorePathCasing(h)){let W=0;for(const U=Math.min(k.length,N.length);W<U&&!(k.charCodeAt(W)!==N.charCodeAt(W)&&k.charAt(W).toLowerCase()!==N.charAt(W).toLowerCase());W++);k=N.substr(0,W)+k.substr(W)}return x.SA.relative(k,N)}resolvePath(h,D){if(h.scheme===R.ny.file){const k=A.r.file((0,x.hd)(g(h),D));return h.with({authority:k.authority,path:k.path})}return D=(0,v.kb)(D),h.with({path:x.SA.resolve(h.path,D)})}isAbsolutePath(h){return!!h.path&&h.path[0]==="/"}isEqualAuthority(h,D){return h===D||h!==void 0&&D!==void 0&&(0,y.Q_)(h,D)}hasTrailingPathSeparator(h,D=x.Vn){if(h.scheme===R.ny.file){const k=g(h);return k.length>(0,v.Zn)(k).length&&k[k.length-1]===D}
17else{const k=h.path;return k.length>1&&k.charCodeAt(k.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(h.fsPath)}}removeTrailingPathSeparator(h,D=x.Vn){return _(h,D)?h.with({path:h.path.substr(0,h.path.length-1)}):h}addTrailingPathSeparator(h,D=x.Vn){let k=!1;if(h.scheme===R.ny.file){const N=g(h);k=N!==void 0&&N.length===(0,v.Zn)(N).length&&N[N.length-1]===D}else{D="/";const N=h.path;k=N.length===1&&N.charCodeAt(N.length-1)===47}return!k&&!_(h,D)?h.with({path:h.path+"/"}):h}}const b=new L(()=>!1),C=b.isEqual.bind(b);b.isEqualOrParent.bind(b),b.getComparisonKey.bind(b);const u=b.basenameOrAuthority.bind(b),i=b.basename.bind(b),r=b.extname.bind(b),d=b.dirname.bind(b),l=b.joinPath.bind(b),o=b.normalizePath.bind(b),c=b.relativePath.bind(b),a=b.resolvePath.bind(b);b.isAbsolutePath.bind(b);const p=b.isEqualAuthority.bind(b),_=b.hasTrailingPathSeparator.bind(b);b.removeTrailingPathSeparator.bind(b),b.addTrailingPathSeparator.bind(b);var E;(function(S){S.META_DATA_LABEL="label",S.META_DATA_DESCRIPTION="description",S.META_DATA_SIZE="size",S.META_DATA_MIME="mime";function h(D){const k=new Map;D.path.substring(D.path.indexOf(";")+1,D.path.lastIndexOf(";")).split(";").forEach(U=>{const[$,te]=U.split(":");$&&te&&k.set($,te)});const W=D.path.substring(0,D.path.indexOf(";"));return W&&k.set(S.META_DATA_MIME,W),k}S.parseMetaData=h})(E||(E={}))},22595:(St,We,e)=>{e.d(We,{f:()=>v});class v{constructor(x,T,y,A,g,L,b){this.id=x,this.label=T,this.alias=y,this.metadata=A,this._precondition=g,this._run=L,this._contextKeyService=b}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(x){return this.isSupported()?this._run(x):Promise.resolve(void 0)}}},22994:(St,We,e)=>{e.d(We,{W:()=>T,c:()=>x});var v=e(28061),R=e(34883);class x{static fromModelContentChanges(g){return g.map(b=>{const C=v.Q.lift(b.range);return new x((0,R.VL)(C.getStartPosition()),(0,R.VL)(C.getEndPosition()),(0,R.rR)(b.text))}).reverse()}constructor(g,L,b){this.startOffset=g,this.endOffset=L,this.newLength=b}toString(){return`[${(0,R.l4)(this.startOffset)}...${(0,R.l4)(this.endOffset)}) -> ${(0,R.l4)(this.newLength)}`}}class T{constructor(g){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=g.map(L=>y.from(L))}getOffsetBeforeChange(g){return this.adjustNextEdit(g),this.translateCurToOld(g)}getDistanceToNextChange(g){this.adjustNextEdit(g);const L=this.edits[this.nextEditIdx],b=L?this.translateOldToCur(L.offsetObj):null;return b===null?null:(0,R.MS)(g,b)}translateOldToCur(g){return g.lineCount===this.deltaLineIdxInOld?(0,R.qe)(g.lineCount+this.deltaOldToNewLineCount,g.columnCount+this.deltaOldToNewColumnCount):(0,R.qe)(g.lineCount+this.deltaOldToNewLineCount,g.columnCount)}translateCurToOld(g){const L=(0,R.l4)(g);return L.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,R.qe)(L.lineCount-this.deltaOldToNewLineCount,L.columnCount-this.deltaOldToNewColumnCount):(0,R.qe)(L.lineCount-this.deltaOldToNewLineCount,L.columnCount)}adjustNextEdit(g){for(;this.nextEditIdx<this.edits.length;){const L=this.edits[this.nextEditIdx],b=this.translateOldToCur(L.endOffsetAfterObj);if((0,R.vr)(b,g)){this.nextEditIdx++;const C=(0,R.l4)(b),u=(0,R.l4)(this.translateOldToCur(L.endOffsetBeforeObj)),i=C.lineCount-u.lineCount;this.deltaOldToNewLineCount+=i;const r=this.deltaLineIdxInOld===L.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,d=C.columnCount-u.columnCount;this.deltaOldToNewColumnCount=r+d,this.deltaLineIdxInOld=L.endOffsetBeforeObj.lineCount}else break}}}class y{static from(g){return new y(g.startOffset,g.endOffset,g.newLength)}constructor(g,L,b){this.endOffsetBeforeObj=(0,R.l4)(L),this.endOffsetAfterObj=(0,R.l4)((0,R.QB)(g,b)),this.offsetObj=(0,R.l4)(g)}}},23029:St=>{St.exports={}},23276:(St,We,e)=>{var S;e.d(We,{k:()=>E});var v=e(65958),R=e(94327),x=e(90028),T=e(10998),y=e(62105),A=e(50946),g=e(28061),L=e(77922),b=e(37042),C=e(87951),u=e(70228),i=e(3765),r=e(31540),d=e(95976),l=e(914),o=e(29849),c=e(31531),a=function(h,D,k,N){var W=arguments.length,U=W<3?D:N===null?N=Object.getOwnPropertyDescriptor(D,k):N,$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(h,D,k,N);else for(var te=h.length-1;te>=0;te--)($=h[te])&&(U=(W<3?$(U):W>3?$(D,k,U):$(D,k))||U);return W>3&&U&&Object.defineProperty(D,k,U),U},p=function(h,D){return function(k,N){D(k,N,h)}},_;let E=(S=class{constructor(D,k,N,W){this.textModelResolverService=k,this.languageService=N,this.languageFeaturesService=W,this.toUnhook=new T.Cm,this.toUnhookForKeyboard=new T.Cm,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=D,this.linkDecorations=this.editor.createDecorationsCollection();const U=new C.gi(D);this.toUnhook.add(U),this.toUnhook.add(U.onMouseMoveOrRelevantKeyDown(([$,te])=>{this.startFindDefinitionFromMouse($,te??void 0)})),this.toUnhook.add(U.onExecute($=>{this.isEnabled($)&&this.gotoDefinition($.target.position,$.hasSideBySideModifier).catch(te=>{(0,R.dz)(te)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(U.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(D){return D.getContribution(_.ID)}async startFindDefinitionFromCursor(D){await this.startFindDefinition(D),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}
17)),this.toUnhookForKeyboard.add(this.editor.onKeyDown(k=>{k&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(D,k){if(D.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(D,k)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const N=D.target.position;this.startFindDefinition(N)}async startFindDefinition(D){this.toUnhookForKeyboard.clear();const k=D?this.editor.getModel()?.getWordAtPosition(D):null;if(!k){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===k.startColumn&&this.currentWordAtPosition.endColumn===k.endColumn&&this.currentWordAtPosition.word===k.word)return;this.currentWordAtPosition=k;const N=new y.$t(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=(0,v.SS)($=>this.findDefinition(D,$));let W;try{W=await this.previousPromise}catch($){(0,R.dz)($);return}if(!W||!W.length||!N.validate(this.editor)){this.removeLinkDecorations();return}const U=W[0].originSelectionRange?g.Q.lift(W[0].originSelectionRange):new g.Q(D.lineNumber,k.startColumn,D.lineNumber,k.endColumn);if(W.length>1){let $=U;for(const{originSelectionRange:te}of W)te&&($=g.Q.plusRange($,te));this.addDecoration($,new x.Bc().appendText((0,i.kg)(1120,"Click to show {0} definitions.",W.length)))}else{const $=W[0];return $.uri?this.textModelResolverService.createModelReference($.uri).then(te=>{if(!te.object||!te.object.textEditorModel){te.dispose();return}const{object:{textEditorModel:ne}}=te,{startLineNumber:V}=$.range;if(V<1||V>ne.getLineCount()){te.dispose();return}const I=this.getPreviewValue(ne,V,$),H=this.languageService.guessLanguageIdByFilepathOrFirstLine(ne.uri);this.addDecoration(U,I?new x.Bc().appendCodeblock(H||"",I):void 0),te.dispose()}):void 0}}getPreviewValue(D,k,N){let W=N.range;return W.endLineNumber-W.startLineNumber>=_.MAX_SOURCE_PREVIEW_LINES&&(W=this.getPreviewRangeBasedOnIndentation(D,k)),W=D.validateRange(W),this.stripIndentationFromPreviewRange(D,k,W)}stripIndentationFromPreviewRange(D,k,N){let U=D.getLineFirstNonWhitespaceColumn(k);for(let te=k+1;te<N.endLineNumber;te++){const ne=D.getLineFirstNonWhitespaceColumn(te);U=Math.min(U,ne)}return D.getValueInRange(N).replace(new RegExp(`^\\s{${U-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(D,k){const N=D.getLineFirstNonWhitespaceColumn(k),W=Math.min(D.getLineCount(),k+_.MAX_SOURCE_PREVIEW_LINES);let U=k+1;for(;U<W;U++){const $=D.getLineFirstNonWhitespaceColumn(U);if(N===$)break}return new g.Q(k,1,U+1,1)}addDecoration(D,k){const N={range:D,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:k}};this.linkDecorations.set([N])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(D,k){return this.editor.hasModel()&&D.isLeftClick&&D.isNoneOrSingleMouseDown&&D.target.type===6&&!(D.target.detail.injectedText?.options instanceof c.Ho)&&(D.hasTriggerModifier||(k?k.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(D,k){const N=this.editor.getModel();return N?(0,l.hE)(this.languageFeaturesService.definitionProvider,N,D,!1,k):Promise.resolve(null)}async gotoDefinition(D,k){return this.editor.setPosition(D),this.editor.invokeWithinContext(N=>{const W=!k&&this.editor.getOption(101)&&!this.isInPeekEditor(N);return new d.mR({openToSide:k,openInPeek:W,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(N)})}isInPeekEditor(D){const k=D.get(r.fN);return u.x2.inPeekEditor.getValue(k)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},_=S,S.ID="editor.contrib.gotodefinitionatposition",S.MAX_SOURCE_PREVIEW_LINES=8,S);E=_=a([p(1,b.b),p(2,L.L),p(3,o.u)],E),(0,A.HW)(E.ID,E,2)},23473:(St,We,e)=>{e.d(We,{EH:()=>d,XF:()=>o,Z4:()=>l});var v=e(55893),R=e(39587),x=e(14333),T=e(30474),y=e(65568),A=e(68939),g=e(27969),L=e(10998),b=e(63339),C=e(79359),u=e(6826),i=e(3765),r=e(20396);class d extends L.jG{get action(){return this._action}constructor(a,p,_={}){super(),this.options=_,this._context=a||this,this._action=p,p instanceof g.rc&&this._register(p.onDidChange(E=>{this.element&&this.handleActionChangeEvent(E)}))}handleActionChangeEvent(a){a.enabled!==void 0&&this.updateEnabled(),a.checked!==void 0&&this.updateChecked(),a.class!==void 0&&this.updateClass(),a.label!==void 0&&(this.updateLabel(),this.updateTooltip()),a.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new g.LN)),this._actionRunner}set actionRunner(a){this._actionRunner=a}isEnabled(){return this._action.enabled}setActionContext(a){this._context=a}render(a){const p=this.element=a;this._register(T.q.addTarget(a));const _=this.options&&this.options.draggable;_&&(a.draggable=!0,v.gm&&this._register((0,x.ko)(a,x.Bx.DRAG_START,E=>E.dataTransfer?.setData(R.t.TEXT,this._action.label)))),this._register((0,x.ko)(p,T.B.Tap,E=>this.onClick(E,!0))),this._register((0,x.ko)(p,x.Bx.MOUSE_DOWN,E=>{_||x.fs.stop(E,!0),this._action.enabled&&E.button===0&&p.classList.add("active")})),b.zx&&this._register((0,x.ko)(p,x.Bx.CONTEXT_MENU,E=>{E.button===0&&E.ctrlKey===!0&&this.onClick(E)})),this._register((0,x.ko)(p,x.Bx.CLICK,E=>{x.fs.stop(E,!0),this.options&&this.options.isMenu||this.onClick(E)})),this._register((0,x.ko)(p,x.Bx.DBLCLICK,E=>{x.fs.stop(E,!0)})),[x.Bx.MOUSE_UP,x.Bx.MOUSE_OUT].forEach(E=>{this._register((0,x.ko)(p,E,S=>{x.fs.stop(S),p.classList.remove("active")}))})}onClick(a,p=!1){x.fs.stop(a,!0);const _=(0,C.z)(this._context)?this.options?.useEventAsContext?a:{preserveFocus:p}:this._context;this.actionRunner.run(this._action,_)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(a){this.element&&(this.element.tabIndex=a?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}getHoverContents(){return this.getTooltip()}updateTooltip(){if(!this.element)return;const a=this.getHoverContents()??"";if(this.updateAriaLabel(),!this.customHover&&a!==""){const p=this.options.hoverDelegate??(0,y.nZ)("element");this.customHover=this._store.add((0,r.i)().setupManagedHover(p,this.element,a))}else this.customHover&&this.customHover.update(a)}updateAriaLabel(){if(this.element){const a=this.getTooltip()??"";this.element.setAttribute("aria-label",a)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class l extends d{constructor(a,p,_){_={..._,icon:_.icon!==void 0?_.icon:!1,label:_.label!==void 0?_.label:!0},super(a,p,_),this.options=_,this.cssClass=""}render(a){super.render(a),(0,C.j)(this.element);const p=document.createElement("a");if(p.classList.add("action-label"),p.setAttribute("role",this.getDefaultAr
17iaRole()),this.label=p,this.element.appendChild(p),this.options.label&&this.options.keybinding&&!this.options.keybindingNotRenderedWithLabel){const _=document.createElement("span");_.classList.add("keybinding"),_.textContent=this.options.keybinding,this.element.appendChild(_)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===g.wv.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(a){this.label&&(this.label.tabIndex=a?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let a=null;return this.action.tooltip?a=this.action.tooltip:this.action.label&&(a=this.action.label,this.options.keybinding&&(a=(0,i.kg)(0,"{0} ({1})",a,this.options.keybinding))),a??void 0}updateClass(){this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.action.id===g.wv.ID&&this.action.class?this.label?.classList.add(this.action.class):this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):this.label?.classList.remove("codicon")}updateEnabled(){this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),this.element?.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),this.element?.classList.add("disabled"))}updateAriaLabel(){if(this.label){const a=this.getTooltip()??"";this.label.setAttribute("aria-label",a)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-pressed",this.action.checked?"true":"false"),this.label.setAttribute("role","button"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-pressed"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class o extends d{constructor(a,p,_,E,S,h,D){super(a,p),this.selectBox=new A.a(_,E,S,h,D),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(a){this.selectBox.select(a)}registerListeners(){this._register(this.selectBox.onDidSelect(a=>this.runAction(a.selected,a.index)))}runAction(a,p){this.actionRunner.run(this._action,this.getActionContext(a,p))}getActionContext(a,p){return a}setFocusable(a){this.selectBox.setFocusable(a)}focus(){this.selectBox?.focus()}blur(){this.selectBox?.blur()}render(a){this.selectBox.render(a)}}},23877:(St,We,e)=>{e.d(We,{k:()=>R});var v=e(28061);class R{static insert(T,y){return{range:new v.Q(T.lineNumber,T.column,T.lineNumber,T.column),text:y,forceMoveMarkers:!0}}static delete(T){return{range:T,text:null}}static replace(T,y){return{range:T,text:y}}static replaceMove(T,y){return{range:T,text:y,forceMoveMarkers:!0}}}},24594:(St,We,e)=>{e.d(We,{R$:()=>i,_k:()=>d,m2:()=>g,pS:()=>u,pz:()=>l,sA:()=>b});var v=e(1174),R=e(16844),x=e(58881);const T="$(",y=new RegExp(`\\$\\(${x.L.iconNameExpression}(?:${x.L.iconModifierExpression})?\\)`,"g"),A=new RegExp(`(\\\\)?${y.source}`,"g");function g(o){return o.replace(A,(c,a)=>a?c:`\\${c}`)}const L=new RegExp(`\\\\${y.source}`,"g");function b(o){return o.replace(L,c=>`\\${c}`)}const C=new RegExp(`(\\s)?(\\\\)?${y.source}(\\s)?`,"g");function u(o){return o.indexOf(T)===-1?o:o.replace(C,(c,a,p,_)=>p?c:a||_||"")}function i(o){return o?o.replace(/\$\((.*?)\)/g,(c,a)=>` ${a} `).trim():""}const r=new RegExp(`\\$\\(${x.L.iconNameCharacter}+\\)`,"g");function d(o){r.lastIndex=0;let c="";const a=[];let p=0;for(;;){const _=r.lastIndex,E=r.exec(o),S=o.substring(_,E?.index);if(S.length>0){c+=S;for(let h=0;h<S.length;h++)a.push(p)}if(!E)break;p+=E[0].length}return{text:c,iconOffsets:a}}function l(o,c,a=!1){const{text:p,iconOffsets:_}=c;if(!_||_.length===0)return(0,v.yr)(o,p,a);const E=(0,R.NB)(p," "),S=p.length-E.length,h=(0,v.yr)(o,E,a);if(h)for(const D of h){const k=_[D.start+S]+S;D.start+=k,D.end+=k}return h}},24665:(St,We,e)=>{e.d(We,{R:()=>o,t:()=>l});var v=e(71386),R=e(87301),x=e(65014),T=e(52394),y=e(29849),A=e(53909),g=e(82096),L=e(31540),b=e(82399),C=e(29879),u=e(89044),i=e(36477),r=function(c,a,p,_){var E=arguments.length,S=E<3?a:_===null?_=Object.getOwnPropertyDescriptor(a,p):_,h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(c,a,p,_);else for(var D=c.length-1;D>=0;D--)(h=c[D])&&(S=(E<3?h(S):E>3?h(a,p,S):h(a,p))||S);return E>3&&S&&Object.defineProperty(a,p,S),S},d=function(c,a){return function(p,_){a(p,_,c)}};let l=class extends x.x{constructor(a,p,_,E,S,h,D,k,N,W,U,$,te,ne){super(a,{...E.getRawOptions(),overflowWidgetsDomNode:E.getOverflowWidgetsDomNode()},_,S,h,D,k,N,W,U,$,te,ne),this._parentEditor=E,this._overwriteOptions=p,super.updateOptions(this._overwriteOptions),this._register(E.onDidChangeConfiguration(V=>this._onParentConfigurationChanged(V)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(a){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(a){(0,v.co)(this._overwriteOptions,a,!0),super.updateOptions(this._overwriteOptions)}};l=r([d(4,b._Y),d(5,R.T),d(6,g.d),d(7,L.fN),d(8,u.Gy),d(9,C.Ot),d(10,A.j),d(11,T.JZ),d(12,y.u),d(13,i.u)],l);function o(c){const a=c.get(R.T).getFocusedCodeEditor();return a instanceof l?a.getParentEditor():a}},24975:(St,We,e)=>{e.d(We,{V:()=>A,w:()=>g});var v=e(10998),R=e(73678),x=e(57955),T=e(99859),y=e(46933);
17function A(L,b,C,u=x.j.ofCaller()){return(0,y.eP)({debugName:()=>`Configuration Key "${L}"`},i=>C.onDidChangeConfiguration(r=>{r.affectsConfiguration(L)&&i(r)}),()=>C.getValue(L)??b,u)}function g(L,b,C,u=x.j.ofCaller()){const i=L.bindTo(b),r=new v.Cm;return(0,T.C)({debugName:()=>`Set Context Key "${L.key}"`},d=>{const l=C(d);return i.set(l),l},u).recomputeInitiallyAndOnChange(r),r}},25110:(St,We,e)=>{var o;var v=e(65958),R=e(10998),x=e(50946),T=e(2921),y=e(91265),A=e(63786),g=e(85753),L=e(89044),b=e(12060),C=e(23013),u=e(29849),i=e(82891),r=function(c,a,p,_){var E=arguments.length,S=E<3?a:_===null?_=Object.getOwnPropertyDescriptor(a,p):_,h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")S=Reflect.decorate(c,a,p,_);else for(var D=c.length-1;D>=0;D--)(h=c[D])&&(S=(E<3?h(S):E>3?h(a,p,S):h(a,p))||S);return E>3&&S&&Object.defineProperty(a,p,S),S},d=function(c,a){return function(p,_){a(p,_,c)}};let l=(o=class extends R.jG{constructor(a,p,_,E,S,h){super(),this._semanticTokensStylingService=p,this._themeService=_,this._configurationService=E,this._editor=a,this._provider=h.documentRangeSemanticTokensProvider,this._debounceInformation=S.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new v.uC(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[],this._rangeProvidersChangeListeners=[];const D=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))},k=()=>{if(this._cleanupProviderListeners(),this._editor.hasModel()){const N=this._editor.getModel();for(const W of this._provider.all(N)){const U=W.onDidChange?.(()=>{this._cancelAll(),D()});U&&this._rangeProvidersChangeListeners.push(U)}}};this._register(this._editor.onDidScrollChange(()=>{D()})),this._register(this._editor.onDidChangeModel(()=>{k(),this._cancelAll(),D()})),this._register(this._editor.onDidChangeModelLanguage(()=>{k(),this._cancelAll(),D()})),this._register(this._editor.onDidChangeModelContent(N=>{this._cancelAll(),D()})),k(),this._register(this._provider.onDidChange(()=>{k(),this._cancelAll(),D()})),this._register(this._configurationService.onDidChangeConfiguration(N=>{N.affectsConfiguration(y.r)&&(this._cancelAll(),D())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),D()})),D()}dispose(){this._cleanupProviderListeners(),super.dispose()}_cleanupProviderListeners(){(0,R.AS)(this._rangeProvidersChangeListeners),this._rangeProvidersChangeListeners=[]}_cancelAll(){for(const a of this._outstandingRequests)a.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(a){for(let p=0,_=this._outstandingRequests.length;p<_;p++)if(this._outstandingRequests[p]===a){this._outstandingRequests.splice(p,1);return}}_tokenizeViewportNow(){if(!this._editor.hasModel())return;const a=this._editor.getModel();if(a.tokenization.hasCompleteSemanticTokens())return;if(!(0,y.K)(a,this._themeService,this._configurationService)){a.tokenization.hasSomeSemanticTokens()&&a.tokenization.setSemanticTokens(null,!1);return}if(!(0,T.WG)(this._provider,a)){a.tokenization.hasSomeSemanticTokens()&&a.tokenization.setSemanticTokens(null,!1);return}const p=this._editor.getVisibleRangesPlusViewportAboveBelow();this._outstandingRequests=this._outstandingRequests.concat(p.map(_=>this._requestRange(a,_)))}_requestRange(a,p){const _=a.getVersionId(),E=(0,v.SS)(h=>Promise.resolve((0,T.nZ)(this._provider,a,p,h))),S=new C.W(!1);return E.then(h=>{if(this._debounceInformation.update(a,S.elapsed()),!h||!h.tokens||a.isDisposed()||a.getVersionId()!==_)return;const{provider:D,tokens:k}=h,N=this._semanticTokensStylingService.getStyling(D);a.tokenization.setPartialSemanticTokens(p,(0,A.b)(k,N,a.getLanguageId()))}).then(()=>this._removeOutstandingRequest(E),()=>this._removeOutstandingRequest(E)),E}},o.ID="editor.contrib.viewportSemanticTokens",o);l=r([d(1,i.F),d(2,L.Gy),d(3,g.pG),d(4,b.U),d(5,u.u)],l),(0,x.HW)(l.ID,l,1)},25277:(St,We,e)=>{e.d(We,{q:()=>R});class v{constructor(){this._nativeEditContextMapping=new Map}
17register(T,y){return this._nativeEditContextMapping.set(T,y),{dispose:()=>{this._nativeEditContextMapping.delete(T)}}}get(T){return this._nativeEditContextMapping.get(T)}}const R=new v},25837:(St,We,e)=>{e.d(We,{M:()=>R});var v=e(27424);function R(x,T){x instanceof v.D?(x.setFontFamily(T.getMassagedFontFamily()),x.setFontWeight(T.fontWeight),x.setFontSize(T.fontSize),x.setFontFeatureSettings(T.fontFeatureSettings),x.setFontVariationSettings(T.fontVariationSettings),x.setLineHeight(T.lineHeight),x.setLetterSpacing(T.letterSpacing)):(x.style.fontFamily=T.getMassagedFontFamily(),x.style.fontWeight=T.fontWeight,x.style.fontSize=T.fontSize+"px",x.style.fontFeatureSettings=T.fontFeatureSettings,x.style.fontVariationSettings=T.fontVariationSettings,x.style.lineHeight=T.lineHeight+"px",x.style.letterSpacing=T.letterSpacing+"px")}},26283:(St,We,e)=>{e.d(We,{BG:()=>x,IO:()=>y,Y:()=>T,eh:()=>R,pj:()=>g,qN:()=>A});class v{constructor(b,C){this._restrictedRenderingContextBrand=void 0,this._viewLayout=b,this.viewportData=C,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;const u=this._viewLayout.getCurrentViewport();this.scrollTop=u.top,this.scrollLeft=u.left,this.viewportWidth=u.width,this.viewportHeight=u.height}getScrolledTopFromAbsoluteTop(b){return b-this.scrollTop}getVerticalOffsetForLineNumber(b,C){return this._viewLayout.getVerticalOffsetForLineNumber(b,C)}getVerticalOffsetAfterLineNumber(b,C){return this._viewLayout.getVerticalOffsetAfterLineNumber(b,C)}getLineHeightForLineNumber(b){return this._viewLayout.getLineHeightForLineNumber(b)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}}class R extends v{constructor(b,C,u,i){super(b,C),this._renderingContextBrand=void 0,this._viewLines=u,this._viewLinesGpu=i}linesVisibleRangesForRange(b,C){const u=this._viewLines.linesVisibleRangesForRange(b,C);if(!this._viewLinesGpu)return u;const i=this._viewLinesGpu.linesVisibleRangesForRange(b,C);return u?i?u.concat(i).sort((r,d)=>r.lineNumber-d.lineNumber):u:i}visibleRangeForPosition(b){return this._viewLines.visibleRangeForPosition(b)??this._viewLinesGpu?.visibleRangeForPosition(b)??null}}class x{constructor(b,C,u,i){this.outsideRenderedLine=b,this.lineNumber=C,this.ranges=u,this.continuesOnNextLine=i}}class T{static from(b){const C=new Array(b.length);for(let u=0,i=b.length;u<i;u++){const r=b[u];C[u]=new T(r.left,r.width)}return C}constructor(b,C){this._horizontalRangeBrand=void 0,this.left=Math.round(b),this.width=Math.round(C)}toString(){return`[${this.left},${this.width}]`}}class y{constructor(b,C){this._floatHorizontalRangeBrand=void 0,this.left=b,this.width=C}toString(){return`[${this.left},${this.width}]`}static compare(b,C){return b.left-C.left}}class A{constructor(b,C){this.outsideRenderedLine=b,this.originalLeft=C,this.left=Math.round(this.originalLeft)}}class g{constructor(b,C){this.outsideRenderedLine=b,this.ranges=C}}},26579:(St,We,e)=>{e.d(We,{a:()=>R,w:()=>x});var v=e(82399);const R=(0,v.u1)("dataChannelService");class x{getDataChannel(y){return{sendData:()=>{}}}}},26851:(St,We,e)=>{e.d(We,{A7:()=>L,Q_:()=>C,VR:()=>A,cn:()=>d,ct:()=>l,jB:()=>g,kF:()=>r,mX:()=>i});var v=e(3765),R=e(18019),x=e(66525),T=e(37264),y=e(82399);const A=(0,y.u1)("contextService");function g(o){const c=o;return typeof c?.id=="string"&&T.r.isUri(c.uri)}function L(o){return typeof o?.id=="string"&&!g(o)&&!u(o)}const b={id:"empty-window"};function C(o,c){if(typeof o=="string"||typeof o>"u")return typeof o=="string"?{id:(0,R.P8)(o)}:b;const a=o;return a.configuration?{id:a.id,configPath:a.configuration}:a.folders.length===1?{id:a.id,uri:a.folders[0].uri}:{id:a.id}}function u(o){const c=o;return typeof c?.id=="string"&&T.r.isUri(c.configPath)}class i{constructor(c,a){this.raw=a,this.uri=c.uri,this.index=c.index,this.name=c.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const r="code-workspace";(0,v.kg)(2119,"Code Workspace");const d="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function l(o){return o.id===d}},27064:(St,We,e)=>{e.d(We,{S:()=>b,c:()=>L});var v=e(79359),R=e(29895),x=e(50572),T=e(89673),y=e(15365),A=e(28061),g=e(66055);class L{static addCursorDown(u,i,r){const d=[];let l=0;for(let o=0,c=i.length;o<c;o++){const a=i[o];d[l++]=new R.MF(a.modelState,a.viewState),r?d[l++]=R.MF.fromModelState(x.I.translateDown(u.curs
17orConfig,u.model,a.modelState)):d[l++]=R.MF.fromViewState(x.I.translateDown(u.cursorConfig,u,a.viewState))}return d}static addCursorUp(u,i,r){const d=[];let l=0;for(let o=0,c=i.length;o<c;o++){const a=i[o];d[l++]=new R.MF(a.modelState,a.viewState),r?d[l++]=R.MF.fromModelState(x.I.translateUp(u.cursorConfig,u.model,a.modelState)):d[l++]=R.MF.fromViewState(x.I.translateUp(u.cursorConfig,u,a.viewState))}return d}static moveToBeginningOfLine(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l];d[l]=this._moveToLineStart(u,c,r)}return d}static _moveToLineStart(u,i,r){const d=i.viewState.position.column,l=i.modelState.position.column,o=d===l,c=i.viewState.position.lineNumber,a=u.getLineFirstNonWhitespaceColumn(c);return!o&&!(d===a)?this._moveToLineStartByView(u,i,r):this._moveToLineStartByModel(u,i,r)}static _moveToLineStartByView(u,i,r){return R.MF.fromViewState(x.I.moveToBeginningOfLine(u.cursorConfig,u,i.viewState,r))}static _moveToLineStartByModel(u,i,r){return R.MF.fromModelState(x.I.moveToBeginningOfLine(u.cursorConfig,u.model,i.modelState,r))}static moveToEndOfLine(u,i,r,d){const l=[];for(let o=0,c=i.length;o<c;o++){const a=i[o];l[o]=this._moveToLineEnd(u,a,r,d)}return l}static _moveToLineEnd(u,i,r,d){const l=i.viewState.position,o=u.getLineMaxColumn(l.lineNumber),c=l.column===o,a=i.modelState.position,p=u.model.getLineMaxColumn(a.lineNumber),_=o-l.column===p-a.column;return c||_?this._moveToLineEndByModel(u,i,r,d):this._moveToLineEndByView(u,i,r,d)}static _moveToLineEndByView(u,i,r,d){return R.MF.fromViewState(x.I.moveToEndOfLine(u.cursorConfig,u,i.viewState,r,d))}static _moveToLineEndByModel(u,i,r,d){return R.MF.fromModelState(x.I.moveToEndOfLine(u.cursorConfig,u.model,i.modelState,r,d))}static expandLineSelection(u,i){const r=[];for(let d=0,l=i.length;d<l;d++){const o=i[d],c=o.modelState.selection.startLineNumber,a=u.model.getLineCount();let p=o.modelState.selection.endLineNumber,_;p===a?_=u.model.getLineMaxColumn(a):(p++,_=1),r[d]=R.MF.fromModelState(new R.mG(new A.Q(c,1,c,1),0,0,new y.y(p,_),0))}return r}static moveToBeginningOfBuffer(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l];d[l]=R.MF.fromModelState(x.I.moveToBeginningOfBuffer(u.cursorConfig,u.model,c.modelState,r))}return d}static moveToEndOfBuffer(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l];d[l]=R.MF.fromModelState(x.I.moveToEndOfBuffer(u.cursorConfig,u.model,c.modelState,r))}return d}static selectAll(u,i){const r=u.model.getLineCount(),d=u.model.getLineMaxColumn(r);return R.MF.fromModelState(new R.mG(new A.Q(1,1,1,1),0,0,new y.y(r,d),0))}static line(u,i,r,d,l){const o=u.model.validatePosition(d),c=l?u.coordinatesConverter.validateViewPosition(new y.y(l.lineNumber,l.column),o):u.coordinatesConverter.convertModelPositionToViewPosition(o);if(!r){const p=u.model.getLineCount();let _=o.lineNumber+1,E=1;return _>p&&(_=p,E=u.model.getLineMaxColumn(_)),R.MF.fromModelState(new R.mG(new A.Q(o.lineNumber,1,_,E),2,0,new y.y(_,E),0))}const a=i.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumber<a)return R.MF.fromViewState(i.viewState.move(!0,c.lineNumber,1,0));if(o.lineNumber>a){const p=u.getLineCount();let _=c.lineNumber+1,E=1;return _>p&&(_=p,E=u.getLineMaxColumn(_)),R.MF.fromViewState(i.viewState.move(!0,_,E,0))}else{const p=i.modelState.selectionStart.getEndPosition();return R.MF.fromModelState(i.modelState.move(!0,p.lineNumber,p.column,0))}}static word(u,i,r,d){const l=u.model.validatePosition(d);return R.MF.fromModelState(T.z.word(u.cursorConfig,u.model,i.modelState,r,l))}static cancelSelection(u,i){if(!i.modelState.hasSelection())return new R.MF(i.modelState,i.viewState);const r=i.viewState.position.lineNumber,d=i.viewState.position.column;return R.MF.fromViewState(new R.mG(new A.Q(r,d,r,d),0,0,new y.y(r,d),0))}static moveTo(u,i,r,d,l){if(r){if(i.modelState.selectionStartKind===1)return this.word(u,i,r,d);if(i.modelState.selectionStartKind===2)return this.line(u,i,r,d,l)}const o=u.model.validatePosition(d),c=l?u.coordinatesConverter.validateViewPosition(new y.y(l.lineNumber,l.column),o):u.coordinatesConverter.convertModelPositionToViewPosition(o);return R.MF.fromViewState(i.viewState.move(r,c.lineNumber,c.column,0))}static simpleMove(u,i,r,d,l,o){switch(r){case 0:return o===4?this._moveHalfLineLeft(u,i,d):this._moveLeft(u,i,d,l);case 1:return o===4?this._moveHalfLineRight(u,i,d):this._moveRight(u,i,d,l);case 2:return o===2?this._moveUpByViewLines(u,i,d,l):o===5?this._moveUpByFoldedLines(u,i,d,l):this._moveUpByModelLines(u,i,d,l);case 3:return o===2?this._moveDownByViewLines(u,i,d,l):o===5?this._moveDownByFoldedLines(u,i,d,l):this._moveDownByModelLines(u,i,d,l);case 4:return o===2?i.map(c=>
17R.MF.fromViewState(x.I.moveToPrevBlankLine(u.cursorConfig,u,c.viewState,d))):i.map(c=>R.MF.fromModelState(x.I.moveToPrevBlankLine(u.cursorConfig,u.model,c.modelState,d)));case 5:return o===2?i.map(c=>R.MF.fromViewState(x.I.moveToNextBlankLine(u.cursorConfig,u,c.viewState,d))):i.map(c=>R.MF.fromModelState(x.I.moveToNextBlankLine(u.cursorConfig,u.model,c.modelState,d)));case 6:return this._moveToViewMinColumn(u,i,d);case 7:return this._moveToViewFirstNonWhitespaceColumn(u,i,d);case 8:return this._moveToViewCenterColumn(u,i,d);case 9:return this._moveToViewMaxColumn(u,i,d);case 10:return this._moveToViewLastNonWhitespaceColumn(u,i,d);default:return null}}static viewportMove(u,i,r,d,l){const o=u.getCompletelyVisibleViewRange(),c=u.coordinatesConverter.convertViewRangeToModelRange(o);switch(r){case 11:{const a=this._firstLineNumberInRange(u.model,c,l),p=u.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(u,i[0],d,a,p)]}case 13:{const a=this._lastLineNumberInRange(u.model,c,l),p=u.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(u,i[0],d,a,p)]}case 12:{const a=Math.round((c.startLineNumber+c.endLineNumber)/2),p=u.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(u,i[0],d,a,p)]}case 14:{const a=[];for(let p=0,_=i.length;p<_;p++){const E=i[p];a[p]=this.findPositionInViewportIfOutside(u,E,o,d)}return a}default:return null}}static findPositionInViewportIfOutside(u,i,r,d){const l=i.viewState.position.lineNumber;if(r.startLineNumber<=l&&l<=r.endLineNumber-1)return new R.MF(i.modelState,i.viewState);{let o;l>r.endLineNumber-1?o=r.endLineNumber-1:l<r.startLineNumber?o=r.startLineNumber:o=l;const c=x.I.vertical(u.cursorConfig,u,l,i.viewState.position.column,i.viewState.leftoverVisibleColumns,o,!1);return R.MF.fromViewState(i.viewState.move(d,c.lineNumber,c.column,c.leftoverVisibleColumns))}}static _firstLineNumberInRange(u,i,r){let d=i.startLineNumber;return i.startColumn!==u.getLineMinColumn(d)&&d++,Math.min(i.endLineNumber,d+r-1)}static _lastLineNumberInRange(u,i,r){let d=i.startLineNumber;return i.startColumn!==u.getLineMinColumn(d)&&d++,Math.max(d,i.endLineNumber-r+1)}static _moveLeft(u,i,r,d){return i.map(l=>{const c=u.getTextDirection(l.viewState.position.lineNumber)===g.z4.RTL;return R.MF.fromViewState(c?x.I.moveRight(u.cursorConfig,u,l.viewState,r,d):x.I.moveLeft(u.cursorConfig,u,l.viewState,r,d))})}static _moveHalfLineLeft(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=Math.round(u.getLineLength(a)/2);d[l]=R.MF.fromViewState(x.I.moveLeft(u.cursorConfig,u,c.viewState,r,p))}return d}static _moveRight(u,i,r,d){return i.map(l=>{const c=u.getTextDirection(l.viewState.position.lineNumber)===g.z4.RTL;return R.MF.fromViewState(c?x.I.moveLeft(u.cursorConfig,u,l.viewState,r,d):x.I.moveRight(u.cursorConfig,u,l.viewState,r,d))})}static _moveHalfLineRight(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=Math.round(u.getLineLength(a)/2);d[l]=R.MF.fromViewState(x.I.moveRight(u.cursorConfig,u,c.viewState,r,p))}return d}static _moveDownByViewLines(u,i,r,d){const l=[];for(let o=0,c=i.length;o<c;o++){const a=i[o];l[o]=R.MF.fromViewState(x.I.moveDown(u.cursorConfig,u,a.viewState,r,d))}return l}static _moveDownByModelLines(u,i,r,d){const l=[];for(let o=0,c=i.length;o<c;o++){const a=i[o];l[o]=R.MF.fromModelState(x.I.moveDown(u.cursorConfig,u.model,a.modelState,r,d))}return l}static _moveUpByViewLines(u,i,r,d){const l=[];for(let o=0,c=i.length;o<c;o++){const a=i[o];l[o]=R.MF.fromViewState(x.I.moveUp(u.cursorConfig,u,a.viewState,r,d))}return l}static _moveUpByModelLines(u,i,r,d){const l=[];for(let o=0,c=i.length;o<c;o++){const a=i[o];l[o]=R.MF.fromModelState(x.I.moveUp(u.cursorConfig,u.model,a.modelState,r,d))}return l}static _moveDownByFoldedLines(u,i,r,d){const l=u.model,o=l.getLineCount(),c=u.getHiddenAreas();return i.map(a=>{const p=a.modelState.hasSelection()&&!r?a.modelState.selection.endLineNumber:a.modelState.position.lineNumber,E=L._targetFoldedDown(p,d,c,o)-p;return E===0?R.MF.fromModelState(a.modelState):R.MF.fromModelState(x.I.moveDown(u.curs
17orConfig,l,a.modelState,r,E))})}static _moveUpByFoldedLines(u,i,r,d){const l=u.model,o=u.getHiddenAreas();return i.map(c=>{const a=c.modelState.hasSelection()&&!r?c.modelState.selection.startLineNumber:c.modelState.position.lineNumber,p=L._targetFoldedUp(a,d,o),_=a-p;return _===0?R.MF.fromModelState(c.modelState):R.MF.fromModelState(x.I.moveUp(u.cursorConfig,l,c.modelState,r,_))})}static _targetFoldedDown(u,i,r,d){let l=u,o=0;for(;o<r.length&&r[o].endLineNumber<l+1;)o++;for(let c=0;c<i;c++){if(l>=d)return d;let a=l+1;for(;o<r.length&&r[o].endLineNumber<a;)o++;if(o<r.length&&r[o].startLineNumber<=a&&(a=r[o].endLineNumber+1),a>d)return l;l=a}return l}static _targetFoldedUp(u,i,r){let d=u,l=r.length-1;for(;l>=0&&r[l].startLineNumber>d-1;)l--;for(let o=0;o<i;o++){if(d<=1)return 1;let c=d-1;for(;l>=0&&r[l].startLineNumber>c;)l--;if(l>=0&&r[l].endLineNumber>=c&&(c=r[l].startLineNumber-1),c<1)return d;d=c}return d}static _moveToViewPosition(u,i,r,d,l){return R.MF.fromViewState(i.viewState.move(r,d,l,0))}static _moveToModelPosition(u,i,r,d,l){return R.MF.fromModelState(i.modelState.move(r,d,l,0))}static _moveToViewMinColumn(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=u.getLineMinColumn(a);d[l]=this._moveToViewPosition(u,c,r,a,p)}return d}static _moveToViewFirstNonWhitespaceColumn(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=u.getLineFirstNonWhitespaceColumn(a);d[l]=this._moveToViewPosition(u,c,r,a,p)}return d}static _moveToViewCenterColumn(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=Math.round((u.getLineMaxColumn(a)+u.getLineMinColumn(a))/2);d[l]=this._moveToViewPosition(u,c,r,a,p)}return d}static _moveToViewMaxColumn(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=u.getLineMaxColumn(a);d[l]=this._moveToViewPosition(u,c,r,a,p)}return d}static _moveToViewLastNonWhitespaceColumn(u,i,r){const d=[];for(let l=0,o=i.length;l<o;l++){const c=i[l],a=c.viewState.position.lineNumber,p=u.getLineLastNonWhitespaceColumn(a);d[l]=this._moveToViewPosition(u,c,r,a,p)}return d}}var b;(function(C){const u=function(r){if(!(0,v.Gv)(r))return!1;const d=r;return!(!(0,v.Kg)(d.to)||!(0,v.b0)(d.select)&&!(0,v.Lm)(d.select)||!(0,v.b0)(d.by)&&!(0,v.Kg)(d.by)||!(0,v.b0)(d.value)&&!(0,v.Et)(d.value)||!(0,v.b0)(d.noHistory)&&!(0,v.Lm)(d.noHistory))};C.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:`Property-value pairs that can be passed through this argument:
18					* 'to': A mandatory logical position value providing where to move the cursor.
19						\`\`\`
20						'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',
21						'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'
22						'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'
23						'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'
24						\`\`\`
25					* 'by': Unit to move. Default is computed based on 'to' value.
26						\`\`\`
27						'line', 'wrappedLine', 'character', 'halfLine', 'foldedLine'
28						\`\`\`
29						Use 'foldedLine' with 'up'/'down' to move by logical lines while treating each
30						folded region as a single step.
31					* 'value': Number of units to move. Default is '1'.
32					* 'select': If 'true' makes the selection. Default is 'false'.
33					* 'noHistory': If 'true' does not add the movement to navigation history. Default is 'false'.
34				`,constraint:u,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine","foldedLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1},noHistory:{type:"boolean",default:!1}}}}]},C.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"}
34,C.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine",FoldedLine:"foldedLine"};function i(r){if(!r.to)return null;let d;switch(r.to){case C.RawDirection.Left:d=0;break;case C.RawDirection.Right:d=1;break;case C.RawDirection.Up:d=2;break;case C.RawDirection.Down:d=3;break;case C.RawDirection.PrevBlankLine:d=4;break;case C.RawDirection.NextBlankLine:d=5;break;case C.RawDirection.WrappedLineStart:d=6;break;case C.RawDirection.WrappedLineFirstNonWhitespaceCharacter:d=7;break;case C.RawDirection.WrappedLineColumnCenter:d=8;break;case C.RawDirection.WrappedLineEnd:d=9;break;case C.RawDirection.WrappedLineLastNonWhitespaceCharacter:d=10;break;case C.RawDirection.ViewPortTop:d=11;break;case C.RawDirection.ViewPortBottom:d=13;break;case C.RawDirection.ViewPortCenter:d=12;break;case C.RawDirection.ViewPortIfOutside:d=14;break;default:return null}let l=0;switch(r.by){case C.RawUnit.Line:l=1;break;case C.RawUnit.WrappedLine:l=2;break;case C.RawUnit.Character:l=3;break;case C.RawUnit.HalfLine:l=4;break;case C.RawUnit.FoldedLine:l=5;break}return{direction:d,unit:l,select:!!r.select,value:r.value||1,noHistory:!!r.noHistory}}C.parse=i})(b||(b={}))},27424:(St,We,e)=>{e.d(We,{D:()=>v,Z:()=>x});class v{constructor(y){this.domNode=y,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}focus(){this.domNode.focus()}setMaxWidth(y){const A=R(y);this._maxWidth!==A&&(this._maxWidth=A,this.domNode.style.maxWidth=this._maxWidth)}setWidth(y){const A=R(y);this._width!==A&&(this._width=A,this.domNode.style.width=this._width)}setHeight(y){const A=R(y);this._height!==A&&(this._height=A,this.domNode.style.height=this._height)}setTop(y){const A=R(y);this._top!==A&&(this._top=A,this.domNode.style.top=this._top)}setLeft(y){const A=R(y);this._left!==A&&(this._left=A,this.domNode.style.left=this._left)}setBottom(y){const A=R(y);this._bottom!==A&&(this._bottom=A,this.domNode.style.bottom=this._bottom)}setRight(y){const A=R(y);this._right!==A&&(this._right=A,this.domNode.style.right=this._right)}setPaddingLeft(y){const A=R(y);this._paddingLeft!==A&&(this._paddingLeft=A,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(y){this._fontFamily!==y&&(this._fontFamily=y,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(y){this._fontWeight!==y&&(this._fontWeight=y,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(y){const A=R(y);this._fontSize!==A&&(this._fontSize=A,this.domNode.style.fontSize=this._fontSize)}setFontStyle(y){this._fontStyle!==y&&(this._fontStyle=y,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(y){this._fontFeatureSettings!==y&&(this._fontFeatureSettings=y,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(y){this._fontVariationSettings!==y&&(this._fontVariationSettings=y,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(y){this._textDecoration!==y&&(this._textDecoration=y,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(y){const A=R(y);this._lineHeight!==A&&(this._lineHeight=A,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(y){const A=R(y);this._letterSpacing!==A&&(this._letterSpacing=A,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(y){this._className!==y&&(this._className=y,this.domNode.className=this._className)}toggleClassName(y,A){this.domNode.classList.toggle(y,A),this._className=this.domNode.className}setDisplay(y){this._display!==y&&(this._display=y,this.domNode.style.display=this._display)}setPosition(y){this._position!==y&&(this._position=y,this.domNode.style.position=this._position)}setVisibility(y){this._visibility!==y&&(this._visibility=y,this.domNode.style.visibility=this._visibility)}setColor(y){this._color!==y&&(this._color=y,this.domNode.style.color=this._color)}
34setBackgroundColor(y){this._backgroundColor!==y&&(this._backgroundColor=y,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(y){this._layerHint!==y&&(this._layerHint=y,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(y){this._boxShadow!==y&&(this._boxShadow=y,this.domNode.style.boxShadow=y)}setContain(y){this._contain!==y&&(this._contain=y,this.domNode.style.contain=this._contain)}setAttribute(y,A){this.domNode.setAttribute(y,A)}removeAttribute(y){this.domNode.removeAttribute(y)}appendChild(y){this.domNode.appendChild(y.domNode)}removeChild(y){this.domNode.removeChild(y.domNode)}}function R(T){return typeof T=="number"?`${T}px`:T}function x(T){return new v(T)}},27454:(St,We,e)=>{e.d(We,{V:()=>R,y:()=>x});var v=e(37512);class R{constructor(y){const A=(0,v.W)(y);this._defaultValue=A,this._asciiMap=R._createAsciiMap(A),this._map=new Map}static _createAsciiMap(y){const A=new Uint8Array(256);return A.fill(y),A}set(y,A){const g=(0,v.W)(A);y>=0&&y<256?this._asciiMap[y]=g:this._map.set(y,g)}get(y){return y>=0&&y<256?this._asciiMap[y]:this._map.get(y)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class x{constructor(){this._actual=new R(0)}add(y){this._actual.set(y,1)}has(y){return this._actual.get(y)===1}clear(){return this._actual.clear()}}},27619:(St,We,e)=>{e.d(We,{DR:()=>A,cj:()=>T,oc:()=>y});var v=e(66459),R=e(3765),x=e(82399),T;(function(g){g[g.Hint=1]="Hint",g[g.Info=2]="Info",g[g.Warning=4]="Warning",g[g.Error=8]="Error"})(T||(T={})),function(g){function L(l,o){return o-l}g.compare=L;const b=Object.create(null);b[g.Error]=(0,R.kg)(1795,"Error"),b[g.Warning]=(0,R.kg)(1796,"Warning"),b[g.Info]=(0,R.kg)(1797,"Info");function C(l){return b[l]||""}g.toString=C;const u=Object.create(null);u[g.Error]=(0,R.kg)(1798,"Errors"),u[g.Warning]=(0,R.kg)(1799,"Warnings"),u[g.Info]=(0,R.kg)(1800,"Infos");function i(l){return u[l]||""}g.toStringPlural=i;function r(l){switch(l){case v.A.Error:return g.Error;case v.A.Warning:return g.Warning;case v.A.Info:return g.Info;case v.A.Ignore:return g.Hint}}g.fromSeverity=r;function d(l){switch(l){case g.Error:return v.A.Error;case g.Warning:return v.A.Warning;case g.Info:return v.A.Info;case g.Hint:return v.A.Ignore}}g.toSeverity=d}(T||(T={}));var y;(function(g){const L="";function b(u){return C(u,!0)}g.makeKey=b;function C(u,i){const r=[L];return u.source?r.push(u.source.replace("\xA6","\\\xA6")):r.push(L),u.code?typeof u.code=="string"?r.push(u.code.replace("\xA6","\\\xA6")):r.push(u.code.value.replace("\xA6","\\\xA6")):r.push(L),u.severity!==void 0&&u.severity!==null?r.push(T.toString(u.severity)):r.push(L),u.message&&i?r.push(u.message.replace("\xA6","\\\xA6")):r.push(L),u.startLineNumber!==void 0&&u.startLineNumber!==null?r.push(u.startLineNumber.toString()):r.push(L),u.startColumn!==void 0&&u.startColumn!==null?r.push(u.startColumn.toString()):r.push(L),u.endLineNumber!==void 0&&u.endLineNumber!==null?r.push(u.endLineNumber.toString()):r.push(L),u.endColumn!==void 0&&u.endColumn!==null?r.push(u.endColumn.toString()):r.push(L),r.push(L),r.join("\xA6")}g.makeKeyOptionalMessage=C})(y||(y={}));const A=(0,x.u1)("markerService")},27682:(St,We,e)=>{e.d(We,{u:()=>h});var v=e(65958),R=e(90028),x=e(15365),T=e(31531),y=e(46311),A=e(37042),g=e(11950),L=e(14270),b=e(49998),C=e(85753),u=e(29849),i=e(3765),r=e(63339),d=e(7850),l=e(13338),o=e(56071),c=e(90428),a=e(82096),p=e(52265),_=function(D,k,N,W){var U=arguments.length,$=U<3?k:W===null?W=Object.getOwnPropertyDescriptor(k,N):W,te;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(D,k,N,W);else for(var ne=D.length-1;ne>=0;ne--)(te=D[ne])&&($=(U<3?te($):U>3?te(k,N,$):te(k,N))||$);return U>3&&$&&Object.defineProperty(k,N,$),$},E=function(D,k){return function(N,W){k(N,W,D)}};class S extends y.mm{constructor(k,N,W,U){super(10,N,k.item.anchor.range,W,U,!0),this.part=k}}let h=class extends L.xJ{constructor(k,N,W,U,$,te,ne,V){super(k,N,$,ne,W,U,V),this._resolverService=te,this.hoverOrdinal=6}suggestHoverAnchor(k){if(!b.M.get(this._editor)||k.target.type!==6)return null;
34const W=k.target.detail.injectedText?.options;return W instanceof T.Ho&&W.attachedData instanceof b.z?new S(W.attachedData,this,k.event.posx,k.event.posy):null}computeSync(){return[]}computeAsync(k,N,W,U){return k instanceof S?new v.PQ(async $=>{const{part:te}=k;if(await te.item.resolve(U),U.isCancellationRequested)return;let ne;typeof te.item.hint.tooltip=="string"?ne=new R.Bc().appendText(te.item.hint.tooltip):te.item.hint.tooltip&&(ne=te.item.hint.tooltip),ne&&$.emitOne(new L.eH(this,k.range,[ne],!1,0)),(0,l.EI)(te.item.hint.textEdits)&&$.emitOne(new L.eH(this,k.range,[new R.Bc().appendText((0,i.kg)(1205,"Double-click to insert"))],!1,10001));let V;if(typeof te.part.tooltip=="string"?V=new R.Bc().appendText(te.part.tooltip):te.part.tooltip&&(V=te.part.tooltip),V&&$.emitOne(new L.eH(this,k.range,[V],!1,1)),te.part.location||te.part.command){let H;const X=this._editor.getOption(86)==="altKey"?r.zx?(0,i.kg)(1206,"cmd + click"):(0,i.kg)(1207,"ctrl + click"):r.zx?(0,i.kg)(1208,"option + click"):(0,i.kg)(1209,"alt + click");te.part.location&&te.part.command?H=new R.Bc().appendText((0,i.kg)(1210,"Go to Definition ({0}), right click for more",X)):te.part.location?H=new R.Bc().appendText((0,i.kg)(1211,"Go to Definition ({0})",X)):te.part.command&&(H=new R.Bc(`[${(0,i.kg)(1212,"Execute Command")}](${(0,d.CN)(te.part.command)} "${te.part.command.title}") (${X})`,{isTrusted:!0})),H&&$.emitOne(new L.eH(this,k.range,[H],!1,1e4))}const I=this._resolveInlayHintLabelPartHover(te,U);for await(const H of I)$.emitOne(H)}):v.PQ.EMPTY}async*_resolveInlayHintLabelPartHover(k,N){if(!k.part.location)return;const{uri:W,range:U}=k.part.location,$=await this._resolverService.createModelReference(W);try{const te=$.object.textEditorModel;if(!this._languageFeaturesService.hoverProvider.has(te))return;for await(const ne of(0,g.U)(this._languageFeaturesService.hoverProvider,te,new x.y(U.startLineNumber,U.startColumn),N))(0,R.it)(ne.hover.contents)||(yield new L.eH(this,k.item.anchor.range,ne.hover.contents,!1,2+ne.ordinal))}finally{$.dispose()}}};h=_([E(1,p.TN),E(2,o.b),E(3,c.TN),E(4,C.pG),E(5,A.b),E(6,u.u),E(7,a.d)],h)},27969:(St,We,e)=>{e.d(We,{HJ:()=>L,LN:()=>y,YH:()=>g,ih:()=>b,rc:()=>T,wv:()=>A});var v=e(2106),R=e(10998),x=e(3765);class T extends R.jG{get onDidChange(){return this._onDidChange.event}constructor(r,d="",l="",o=!0,c){super(),this._onDidChange=this._register(new v.vl),this._enabled=!0,this._id=r,this._label=d,this._cssClass=l,this._enabled=o,this._actionCallback=c}get id(){return this._id}get label(){return this._label}set label(r){this._setLabel(r)}_setLabel(r){this._label!==r&&(this._label=r,this._onDidChange.fire({label:r}))}get tooltip(){return this._tooltip||""}set tooltip(r){this._setTooltip(r)}_setTooltip(r){this._tooltip!==r&&(this._tooltip=r,this._onDidChange.fire({tooltip:r}))}get class(){return this._cssClass}set class(r){this._setClass(r)}_setClass(r){this._cssClass!==r&&(this._cssClass=r,this._onDidChange.fire({class:r}))}get enabled(){return this._enabled}set enabled(r){this._setEnabled(r)}_setEnabled(r){this._enabled!==r&&(this._enabled=r,this._onDidChange.fire({enabled:r}))}get checked(){return this._checked}set checked(r){this._setChecked(r)}_setChecked(r){this._checked!==r&&(this._checked=r,this._onDidChange.fire({checked:r}))}async run(r,d){this._actionCallback&&await this._actionCallback(r)}}class y extends R.jG{constructor(){super(...arguments),this._onWillRun=this._register(new v.vl),this._onDidRun=this._register(new v.vl)}get onWillRun(){return this._onWillRun.event}get onDidRun(){return this._onDidRun.event}async run(r,d){if(!r.enabled)return;this._onWillRun.fire({action:r});let l;try{await this.runAction(r,d)}catch(o){l=o}this._onDidRun.fire({action:r,error:l})}async runAction(r,d){await r.run(d)}}const C=class C{constructor(){this.id=C.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=void 0}static join(...r){let d=[];for(const l of r)l.length&&(d.length?d=[...d,new C,...l]:d=l);return d}static clean(r){for(;r.length>0&&r[0].id===C.ID;)r.shift();for(;r.length>0&&r[r.length-1].id===C.ID;)r.pop();for(let d=r.length-2;d>=0;d--)r[d].id===C.ID&&r[d+1].id===C.ID&&r.splice(d+1,1);return r}async run(){}};C.ID="vs.actions.separator";let A=C;class g{get actions(){return this._actions}constructor(r,d,l,o){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=r,this.label=d,this.class=o,this._actions=l}async run(){}}const u=class u extends T{constructor(){super(u.ID,(0,x.kg)(32,"(empty)"),void 0,!1)}};u.ID="vs.actions.empty";let L=u;function b(i){return{id:i.id,label:i.label,tooltip:i.tooltip??i.label,class:i.class,enabled:i.enabled??!0,checked:i.checked,run:async(...r)=>i.run(...r)}}},27983:(St,We,e)=>{e.d(We,{x:()=>R});var v=e(82399);const R=(0,v.u1)("defaultAccountService")},27992:(St,We,e)=>{e.d(We,{QO:()=>r,cO:()=>u,db:()=>i,fT:()=>A,qK:()=>C,rm:()=>g});var v,R,x;class T{constructor(o,c){this.uri=o,this.value=c}}function y(l){return Array.isArray(l)}const d=class d{constructor(o,c){if(this[v]="ResourceMap",o instanceof d)this.map=new Map(o.map),this.toKey=c??d.defaultToKey;else if(y(o)){this.map=new Map,this.toKey=c??d.defaultToKey;for(const[a,p]of o)this.set(a,p)}else this.map=new Map,this.toKey=o??d.defaultToKey}set(o,c){return this.map.set(this.toKey(o),new T(o,c)),this}get(o){return this.map.get(this.toKey(o))?.value}has(o){return this.map.has(this.toKey(o))}get size(){return this.map.size}clear(){this.map.clear()}delete(o){return this.map.delete(this.toKey(o))}forEach(o,c){typeof c<"u"&&(o=o.bind(c));for(const[a,p]of this.map)o(p.value,p.uri,this)}*values(){for(const o of this.map.values())yield o.value}*keys(){for(const o of this.map.values())yield o.uri}*entries(){for(const o of this.map.values())yield[o.uri,o.value]}*[(v=Symbol.toStringTag,Symbol.iterator)](){for(const[,o]of this.map)yield[o.uri,o.value]}};d.defaultToKey=o=>o.toString();let A=d;class g{constructor(o,c){this[R]="ResourceSet",!o||typeof o=="function"?this._map=new A(o):(this._map=new A(c),o.forEach(this.add,this))}get size(){return this._map.size}add(o){return this._map.set(o,o),this}clear(){this._map.clear()}delete(o){return this._map.delete(o)}
34forEach(o,c){this._map.forEach((a,p)=>o.call(c,p,p,this))}has(o){return this._map.has(o)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(R=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}}class L{constructor(){this[x]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(o){return this._map.has(o)}get(o,c=0){const a=this._map.get(o);if(a)return c!==0&&this.touch(a,c),a.value}set(o,c,a=0){let p=this._map.get(o);if(p)p.value=c,a!==0&&this.touch(p,a);else{switch(p={key:o,value:c,next:void 0,previous:void 0},a){case 0:this.addItemLast(p);break;case 1:this.addItemFirst(p);break;case 2:this.addItemLast(p);break;default:this.addItemLast(p);break}this._map.set(o,p),this._size++}return this}delete(o){return!!this.remove(o)}remove(o){const c=this._map.get(o);if(c)return this._map.delete(o),this.removeItem(c),this._size--,c.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const o=this._head;return this._map.delete(o.key),this.removeItem(o),this._size--,o.value}forEach(o,c){const a=this._state;let p=this._head;for(;p;){if(c?o.bind(c)(p.value,p.key,this):o(p.value,p.key,this),this._state!==a)throw new Error("LinkedMap got modified during iteration.");p=p.next}}keys(){const o=this,c=this._state;let a=this._head;const p={[Symbol.iterator](){return p},[Symbol.dispose](){},next(){if(o._state!==c)throw new Error("LinkedMap got modified during iteration.");if(a){const _={value:a.key,done:!1};return a=a.next,_}else return{value:void 0,done:!0}}};return p}values(){const o=this,c=this._state;let a=this._head;const p={[Symbol.iterator](){return p},[Symbol.dispose](){},next(){if(o._state!==c)throw new Error("LinkedMap got modified during iteration.");if(a){const _={value:a.value,done:!1};return a=a.next,_}else return{value:void 0,done:!0}}};return p}entries(){const o=this,c=this._state;let a=this._head;const p={[Symbol.iterator](){return p},[Symbol.dispose](){},next(){if(o._state!==c)throw new Error("LinkedMap got modified during iteration.");if(a){const _={value:[a.key,a.value],done:!1};return a=a.next,_}else return{value:void 0,done:!0}}};return p}[(x=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(o){if(o>=this.size)return;if(o===0){this.clear();return}let c=this._head,a=this.size;for(;c&&a>o;)this._map.delete(c.key),c=c.next,a--;this._head=c,this._size=a,c&&(c.previous=void 0),this._state++}trimNew(o){if(o>=this.size)return;if(o===0){this.clear();return}let c=this._tail,a=this.size;for(;c&&a>o;)this._map.delete(c.key),c=c.previous,a--;this._tail=c,this._size=a,c&&(c.next=void 0),this._state++}addItemFirst(o){if(!this._head&&!this._tail)this._tail=o;else if(this._head)o.next=this._head,this._head.previous=o;else throw new Error("Invalid list");this._head=o,this._state++}addItemLast(o){if(!this._head&&!this._tail)this._head=o;else if(this._tail)o.previous=this._tail,this._tail.next=o;else throw new Error("Invalid list");this._tail=o,this._state++}removeItem(o){if(o===this._head&&o===this._tail)this._head=void 0,this._tail=void 0;else if(o===this._head){if(!o.next)throw new Error("Invalid list");o.next.previous=void 0,this._head=o.next}else if(o===this._tail){if(!o.previous)throw new Error("Invalid list");o.previous.next=void 0,this._tail=o.previous}else{const c=o.next,a=o.previous;if(!c||!a)throw new Error("Invalid list");c.previous=a,a.next=c}o.next=void 0,o.previous=void 0,this._state++}touch(o,c){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(c!==1&&c!==2)){if(c===1){if(o===this._head)return;const a=o.next,p=o.previous;o===this._tail?(p.next=void 0,this._tail=p):(a.previous=p,p.next=a),o.previous=void 0,o.next=this._head,this._head.previous=o,this._head=o,this._state++}else if(c===2){if(o===this._tail)return;const a=o.next,p=o.previous;o===this._head?(a.previous=void 0,this._head=a):(a.previous=p,p.next=a),o.next=void 0,o.previous=this._tail,this._tail.next=o,this._tail=o,this._state
34++}}}toJSON(){const o=[];return this.forEach((c,a)=>{o.push([a,c])}),o}fromJSON(o){this.clear();for(const[c,a]of o)this.set(c,a)}}class b extends L{constructor(o,c=1){super(),this._limit=o,this._ratio=Math.min(Math.max(0,c),1)}get limit(){return this._limit}set limit(o){this._limit=o,this.checkTrim()}get(o,c=2){return super.get(o,c)}peek(o){return super.get(o,0)}set(o,c){return super.set(o,c,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}class C extends b{constructor(o,c=1){super(o,c)}trim(o){this.trimOld(o)}set(o,c){return super.set(o,c),this.checkTrim(),this}}class u{constructor(o){if(this._m1=new Map,this._m2=new Map,o)for(const[c,a]of o)this.set(c,a)}clear(){this._m1.clear(),this._m2.clear()}set(o,c){this._m1.set(o,c),this._m2.set(c,o)}get(o){return this._m1.get(o)}getKey(o){return this._m2.get(o)}delete(o){const c=this._m1.get(o);return c===void 0?!1:(this._m1.delete(o),this._m2.delete(c),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class i{constructor(){this.map=new Map}add(o,c){let a=this.map.get(o);a||(a=new Set,this.map.set(o,a)),a.add(c)}delete(o,c){const a=this.map.get(o);a&&(a.delete(c),a.size===0&&this.map.delete(o))}forEach(o,c){const a=this.map.get(o);a&&a.forEach(c)}}
34class r{constructor(){this._data=new Map}set(o,...c){let a=this._data;for(let p=0;p<c.length-1;p++){let _=a.get(c[p]);_===void 0&&(_=new Map,a.set(c[p],_)),a=_}a.set(c[c.length-1],o)}get(...o){let c=this._data;for(let a=0;a<o.length-1;a++){const p=c.get(o[a]);if(p===void 0)return;c=p}return c.get(o[o.length-1])}clear(){this._data.clear()}toString(){const o=(c,a)=>{let p="";for(const[_,E]of c)p+=`${"  ".repeat(a)}${_}: `,E instanceof Map?p+=`
35`+o(E,a+1):p+=`${E}
36`;return p};return o(this._data,0)}}},28060:(St,We,e)=>{e.d(We,{Jn:()=>b,YJ:()=>g,_8:()=>y,jU:()=>r,qC:()=>L});var v=e(63339),R=e(84587);const x=v.zx?1.5:1.35,T=8;class y{static _create(l,o,c,a,p,_,E,S,h){_===0?_=x*c:_<T&&(_=_*c),_=Math.round(_),_<T&&(_=T);const D=1+(h?0:R.D.getZoomLevel()*.1);return c*=D,_*=D,p===b&&(o==="normal"||o==="bold"?p=L:(p=`'wght' ${parseInt(o,10)}`,o="normal")),new y({pixelRatio:S,fontFamily:l,fontWeight:o,fontSize:c,fontFeatureSettings:a,fontVariationSettings:p,lineHeight:_,letterSpacing:E})}constructor(l){this._bareFontInfoBrand=void 0,this.pixelRatio=l.pixelRatio,this.fontFamily=String(l.fontFamily),this.fontWeight=String(l.fontWeight),this.fontSize=l.fontSize,this.fontFeatureSettings=l.fontFeatureSettings,this.fontVariationSettings=l.fontVariationSettings,this.lineHeight=l.lineHeight|0,this.letterSpacing=l.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const l=r.fontFamily,o=y._wrapInQuotes(this.fontFamily);return this.fontFamily!==l?`${o}, ${l}`:o}static _wrapInQuotes(l){return/[,"']/.test(l)?l:/[+ ]/.test(l)?`"${l}"`:l}}const A=2;class g extends y{constructor(l,o){super(l),this._editorStylingBrand=void 0,this.version=A,this.isTrusted=o,this.isMonospace=l.isMonospace,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=l.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=l.canUseHalfwidthRightwardsArrow,this.spaceWidth=l.spaceWidth,this.middotWidth=l.middotWidth,this.wsmiddotWidth=l.wsmiddotWidth,this.maxDigitWidth=l.maxDigitWidth}equals(l){return this.fontFamily===l.fontFamily&&this.fontWeight===l.fontWeight&&this.fontSize===l.fontSize&&this.fontFeatureSettings===l.fontFeatureSettings&&this.fontVariationSettings===l.fontVariationSettings&&this.lineHeight===l.lineHeight&&this.letterSpacing===l.letterSpacing&&this.typicalHalfwidthCharacterWidth===l.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===l.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===l.canUseHalfwidthRightwardsArrow&&this.spaceWidth===l.spaceWidth&&this.middotWidth===l.middotWidth&&this.wsmiddotWidth===l.wsmiddotWidth&&this.maxDigitWidth===l.maxDigitWidth}}const L="normal",b="translate",r={fontFamily:v.zx?"Menlo, Monaco, 'Courier New', monospace":v.uF?"Consolas, 'Courier New', monospace":"'Droid Sans Mono', monospace",fontWeight:"normal",fontSize:v.zx?12:14,lineHeight:0,letterSpacing:0}},28598:(St,We,e)=>{var Ei,zi,wn,en,In;e.d(We,{D:()=>Yn});var v=e(44385),R=e(13338),x=e(78903),T=e(94327),y=e(2106),A=e(10998),g=e(23013),L=e(79359),b=e(80878),C=e(50946),u=e(23877),i=e(15365),r=e(28061),d=e(38122),l=e(47317),o=e(50960),c=e(47039),a=e(85847),p=e(31540),_=e(3765),E=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},S=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}},h;let D=(Ei=class{constructor(At,Xt){this._editor=At,this._enabled=!1,this._ckAtEnd=h.AtEnd.bindTo(Xt),this._configListener=this._editor.onDidChangeConfiguration(li=>li.hasChanged(139)&&this._update()),this._update()}dispose(){this._configListener.dispose(),this._selectionListener?.dispose(),this._ckAtEnd.reset()}
36_update(){const At=this._editor.getOption(139)==="on";if(this._enabled!==At)if(this._enabled=At,this._enabled){const Xt=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const li=this._editor.getModel(),Mi=this._editor.getSelection(),vi=li.getWordAtPosition(Mi.getStartPosition());if(!vi){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(vi.endColumn===Mi.getStartPosition().column&&Mi.getStartPosition().lineNumber===Mi.getEndPosition().lineNumber)};this._selectionListener=this._editor.onDidChangeCursorSelection(Xt),Xt()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},h=Ei,Ei.AtEnd=new p.N1("atEndOfWord",!1,{type:"boolean",description:(0,_.kg)(1546,"A context key that is true when at the end of a word. Note that this is only defined when tab-completions are enabled")}),Ei);D=h=E([S(1,p.fN)],D);var k=e(82096),N=e(82399),W=e(46441),U=e(93516),$=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},te=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}},ne;let V=(zi=class{constructor(At,Xt){this._editor=At,this._index=0,this._ckOtherSuggestions=ne.OtherSuggestions.bindTo(Xt)}dispose(){this.reset()}reset(){this._ckOtherSuggestions.reset(),this._listener?.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:At,index:Xt},li){if(At.items.length===0){this.reset();return}if(ne._moveIndex(!0,At,Xt)===Xt){this.reset();return}this._acceptNext=li,this._model=At,this._index=Xt,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(At,Xt,li){let Mi=li;for(let vi=Xt.items.length;vi>0&&(Mi=(Mi+Xt.items.length+(At?1:-1))%Xt.items.length,!(Mi===li||!Xt.items[Mi].completion.additionalTextEdits));vi--);return Mi}next(){this._move(!0)}prev(){this._move(!1)}_move(At){if(this._model)try{this._ignore=!0,this._index=ne._moveIndex(At,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},ne=zi,zi.OtherSuggestions=new p.N1("hasOtherSuggestions",!1),zi);V=ne=$([te(1,p.fN)],V);var I=e(27454);class H{constructor(At,Xt,li,Mi){this._disposables=new A.Cm,this._disposables.add(li.onDidSuggest(vi=>{vi.completionModel.items.length===0&&this.reset()})),this._disposables.add(li.onDidCancel(vi=>{this.reset()})),this._disposables.add(Xt.onDidShow(()=>this._onItem(Xt.getFocusedItem()))),this._disposables.add(Xt.onDidFocus(this._onItem,this)),this._disposables.add(Xt.onDidHide(this.reset,this)),this._disposables.add(At.onWillType(vi=>{if(this._active&&!Xt.isFrozen()&&li.state!==0){const Vi=vi.charCodeAt(vi.length-1);this._active.acceptCharacters.has(Vi)&&At.getOption(0)&&Mi(this._active.item)}}))}_onItem(At){if(!At||!(0,R.EI)(At.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===At.item)return;const Xt=new I.y;for(const li of At.item.completion.commitCharacters)li.length>
360&&Xt.add(li.charCodeAt(0));this._active={acceptCharacters:Xt,item:At}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}var Z=e(58819);const hn=class hn{constructor(At,Xt){this._disposables=new A.Cm,this._lastOvertyped=[],this._locked=!1,this._disposables.add(At.onWillType(()=>{if(this._locked||!At.hasModel())return;const li=At.getSelections(),Mi=li.length;let vi=!1;for(let ui=0;ui<Mi;ui++)if(!li[ui].isEmpty()){vi=!0;break}if(!vi){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const Vi=At.getModel();for(let ui=0;ui<Mi;ui++){const Wt=li[ui];if(Vi.getValueLengthInRange(Wt)>hn._maxSelectionLength)return;this._lastOvertyped[ui]={value:Vi.getValueInRange(Wt),multiline:Wt.startLineNumber!==Wt.endLineNumber}}})),this._disposables.add(Xt.onDidTrigger(li=>{this._locked=!0})),this._disposables.add(Xt.onDidCancel(li=>{this._locked=!1}))}getLastOvertypedInfo(At){if(At>=0&&At<this._lastOvertyped.length)return this._lastOvertyped[At]}dispose(){this._disposables.dispose()}};hn._maxSelectionLength=51200;let X=hn;var G=e(14333),Y=e(60543),j=e(66526),z=e(67954),ie=e(65958),re=e(62992),de=e(16844),le=e(24665),he=e(77439),we=e(54860),xe=e(58067),Be=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},M=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}};let Ve=class{constructor(At,Xt,li,Mi,vi,Vi){this._menuId=Xt,this._menuService=vi,this._contextKeyService=Vi,this._menuDisposables=new A.Cm,this.element=(0,G.BC)(At,(0,G.$)(".suggest-status-bar"));const ui=Wt=>li?.showIconsNoKeybindings?Wt instanceof xe.Xe?Mi.createInstance(we.oq,Wt,void 0):void 0:Wt instanceof xe.Xe?Mi.createInstance(we.rr,Wt,{useComma:!1}):void 0;this._leftActions=new he.E(this.element,{actionViewItemProvider:ui}),this._rightActions=new he.E(this.element,{actionViewItemProvider:ui}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const At=this._menuService.createMenu(this._menuId,this._contextKeyService),Xt=()=>{const li=[],Mi=[];for(const[vi,Vi]of At.getActions())vi==="left"?li.push(...Vi):Mi.push(...Vi);this._leftActions.clear(),this._leftActions.push(li),this._rightActions.clear(),this._rightActions.push(Mi)};this._menuDisposables.add(At.onDidChange(()=>Xt())),this._menuDisposables.add(At)}hide(){this._menuDisposables.clear()}};Ve=Be([M(3,N._Y),M(4,xe.ez),M(5,p.fN)],Ve);var Me=e(48621),Le=e(90840),_e=e(87676),Qe=e(18382),je=e(75962),ae=e(73858),Ee=e(69227),Ie=e(82735),Ue=e(75712),$e=e(10680),Ye=e(58687),Ce=e(94865),He=e(74707),Ke=e(89044),qe=e(12111),ht=e(16831),Te=e(5915),oe=e(90028),q=e(58881),ue=e(89563),J=e(52265),ve=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},De=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}};function fe(Wi){return!!Wi&&!!(Wi.completion.documentation||Wi.completion.detail&&Wi.completion.detail!==Wi.completion.label)}let Se=class{constructor(At,Xt,li){this._editor=At,this._themeService=Xt,this._markdownRendererService=li,this._onDidClose=new y.vl,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new y.vl,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new A.Cm,this._renderDisposeable=new A.Cm,this._size=new G.fg(330,0),this.domNode=(0,G.$)(".suggest-details"),this.domNode.classList.add("no-docs"),this._body=(0,G.$)(".body"),this._scrollbar=new ht.MU(this._body,{alwaysConsumeMouseWheel:!0}),(0,G.BC)(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=(0,G.BC)(this._body,(0,G.$)(".header")),this._close=(0,G.BC)(this._header,(0,G.$)("span"+q.L.asCSSSelector(Te.W.close))),this._close.title=(0,_.kg)(1542,"Close"),this._close.role="button",this._close.tabIndex=-1,this._type=(0,G.BC)(this._header,(0,G.$)("p.type")),this._docs=(0,G.BC)(this._body,(0,G.$)("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(Mi=>{Mi.hasChanged(59)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose(),this._onDidClose.dispose(),this._onDidChangeContents.dispose()}_configureFont(){const At=this._editor.getOptions(),Xt=At.get(59),li=Xt.getMassagedFontFamily(),Mi=At.get(135)||Xt.fontSize,vi=At.get(136)||Xt.lineHeight,Vi=Xt.fontWeight,ui=`${Mi}px`,Wt=`${vi}px`;this.domNode.style.fontSize=ui,this.domNode.style.lineHeight=`${vi/Mi}`,this.domNode.style.fontWeight=Vi,this.domNode.style.fontFeatureSettings=Xt.fontFeatureSettings,this._type.style.fontFamily=li,this._close.style.height=Wt,this._close.style.width=Wt}getLayoutInfo(){const At=this._editor.getOption(136)||this._editor.getOption(59).lineHeight,Xt=(0,ue.Bb)(this._themeService.getColorTheme(
36).type)?2:1,li=Xt*2;return{lineHeight:At,borderWidth:Xt,borderHeight:li,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=(0,_.kg)(1543,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(At,Xt){this._renderDisposeable.clear();let{detail:li,documentation:Mi}=At.completion;if(Xt){let vi="";vi+=`score: ${At.score[0]}
37`,vi+=`prefix: ${At.word??"(no prefix)"}
38`,vi+=`word: ${At.completion.filterText?At.completion.filterText+" (filterText)":At.textLabel}
39`,vi+=`distance: ${At.distance} (localityBonus-setting)
40`,vi+=`index: ${At.idx}, based on ${At.completion.sortText&&`sortText: "${At.completion.sortText}"`||"label"}
41`,vi+=`commit_chars: ${At.completion.commitCharacters?.join("")}
42`,Mi=new oe.Bc().appendCodeblock("empty",vi),li=`Provider: ${At.provider._debugDisplayName}`}if(!Xt&&!fe(At)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),li){const vi=li.length>1e5?`${li.substr(0,1e5)}\u2026`:li;this._type.textContent=vi,this._type.title=vi,(0,G.WU)(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(vi))}else(0,G.w_)(this._type),this._type.title="",(0,G.jD)(this._type),this.domNode.classList.add("no-type");if((0,G.w_)(this._docs),typeof Mi=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=Mi;else if(Mi){this._docs.classList.add("markdown-docs"),(0,G.w_)(this._docs);const vi=this._markdownRendererService.render(Mi,{context:this._editor,asyncRenderCallback:()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}});this._docs.appendChild(vi.element),this._renderDisposeable.add(vi)}this.domNode.classList.toggle("detail-and-doc",!!li&&!!Mi),this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=vi=>{vi.preventDefault(),vi.stopPropagation()},this._close.onclick=vi=>{vi.preventDefault(),vi.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(At,Xt){const li=new G.fg(At,Xt);G.fg.equals(li,this._size)||(this._size=li,(0,G.Ej)(this.domNode,At,Xt)),this._scrollbar.scanDomNode()}scrollDown(At=8){this._body.scrollTop+=At}scrollUp(At=8){this._body.scrollTop-=At}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}focus(){this.domNode.focus()}};Se=ve([De(1,Ke.Gy),De(2,J.TN)],Se);class pe{constructor(At,Xt){this.widget=At,this._editor=Xt,this.allowEditorOverflow=!0,this._disposables=new A.Cm,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new qe.v,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(At.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let li,Mi,vi=0,Vi=0;this._disposables.add(this._resizable.onDidWillResize(()=>{li=this._topLeft,Mi=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(ui=>{if(li&&Mi){this.widget.layout(ui.dimension.width,ui.dimension.height);let Wt=!1;ui.west&&(Vi=Mi.width-ui.dimension.width,Wt=!0),ui.north&&(vi=Mi.height-ui.dimension.height,Wt=!0),Wt&&this._applyTopLeft({top:li.top+vi,left:li.left+Vi})}ui.done&&(li=void 0,Mi=void 0,vi=0,Vi=0,this._userSize=ui.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{this._anchorBox&&this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(At=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),At&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(At,Xt){const li=At.getBoundingClientRect();this._anchorBox=li,this._preferAlignAtTop=Xt,this._placeAtAnchor(this._anchorBox,this._userSize??this.widget.size,Xt)}_placeAtAnchor(At,Xt,li){const Mi=(0,G.tG)(this.getDomNode().ownerDocument.body),vi=this.widget.getLayoutInfo(),Vi=new G.fg(220,2*vi.lineHeight),ui=At.top,Wt=function(){const Ze=Mi.width-(At.left+At.width+vi.borderWidth+vi.horizontalPadding),at=-vi.borderWidth+At.left+At.width,Et=ne
42w G.fg(Ze,Mi.height-At.top-vi.borderHeight-vi.verticalPadding),Ft=Et.with(void 0,At.top+At.height-vi.borderHeight-vi.verticalPadding);return{top:ui,left:at,fit:Ze-Xt.width,maxSizeTop:Et,maxSizeBottom:Ft,minSize:Vi.with(Math.min(Ze,Vi.width))}}(),Nn=function(){const Ze=At.left-vi.borderWidth-vi.horizontalPadding,at=Math.max(vi.horizontalPadding,At.left-Xt.width-vi.borderWidth),Et=new G.fg(Ze,Mi.height-At.top-vi.borderHeight-vi.verticalPadding),Ft=Et.with(void 0,At.top+At.height-vi.borderHeight-vi.verticalPadding);return{top:ui,left:at,fit:Ze-Xt.width,maxSizeTop:Et,maxSizeBottom:Ft,minSize:Vi.with(Math.min(Ze,Vi.width))}}(),ci=function(){const Ze=At.left,at=-vi.borderWidth+At.top+At.height,Et=new G.fg(At.width-vi.borderHeight,Mi.height-At.top-At.height-vi.verticalPadding);return{top:at,left:Ze,fit:Et.height-Xt.height,maxSizeBottom:Et,maxSizeTop:Et,minSize:Vi.with(Et.width)}}(),ut=function(){const Ze=At.left,at=new G.fg(At.width-vi.borderHeight,At.top-vi.verticalPadding);return{top:Math.max(vi.verticalPadding,At.top-Xt.height),left:Ze,fit:at.height-Xt.height,maxSizeTop:at,maxSizeBottom:at,minSize:Vi.with(at.width)}}(),xt=[Wt,Nn,li?ci:ut],Ot=xt.find(Ze=>Ze.fit>=0)??xt.sort((Ze,at)=>at.fit-Ze.fit)[0],Qt=At.top+At.height-vi.borderHeight;let ai,gi=Xt.height;const Ki=Math.max(Ot.maxSizeTop.height,Ot.maxSizeBottom.height);gi>Ki&&(gi=Ki);let Zi;li?gi<=Ot.maxSizeTop.height?(ai=!0,Zi=Ot.maxSizeTop):(ai=!1,Zi=Ot.maxSizeBottom):gi<=Ot.maxSizeBottom.height?(ai=!1,Zi=Ot.maxSizeBottom):(ai=!0,Zi=Ot.maxSizeTop);let{top:bi,left:ot}=Ot;Ot===ut?bi=At.top-gi+vi.borderWidth:!ai&&gi>At.height&&(bi=Qt-gi);const ge=this._editor.getDomNode();if(ge){const Ze=ge.getBoundingClientRect();bi-=Ze.top,ot-=Ze.left}this._applyTopLeft({left:ot,top:bi}),Ot===ut?this._resizable.enableSashes(!0,!1,!1,!0):this._resizable.enableSashes(!ai,Ot===Wt,ai,Ot!==Wt),this._resizable.minSize=Ot.minSize,this._resizable.maxSize=Zi,this._resizable.layout(gi,Math.min(Zi.width,Xt.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(At){this._topLeft=At,this._editor.layoutOverlayWidget(this)}}var Ae=e(79400),Xe=e(1174),dt=e(37264),gt=e(78148),Bt=e(64830),_t=e(77922),ri=e(89971),Gt=e(11210),ei=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},Zt=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}};const pt=(0,Gt.pU)("suggest-more-info",Te.W.chevronRight,(0,_.kg)(1544,"Icon for more information in the suggest widget.")),Fe=new(wn=class{extract(At,Xt){if(At.textLabel.match(wn._regexStrict))return Xt[0]=At.textLabel,!0;if(At.completion.detail&&At.completion.detail.match(wn._regexStrict))return Xt[0]=At.completion.detail,!0;if(At.completion.documentation){const li=typeof At.completion.documentation=="string"?At.completion.documentation:At.completion.documentation.value,Mi=wn._regexRelaxed.exec(li);if(Mi&&(Mi.index===0||Mi.index+Mi[0].length===li.length))return Xt[0]=Mi[0],!0}return!1}},wn._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,wn._regexStrict=new RegExp(`^${wn._regexRelaxed.source}$`,"i"),wn);let st=class{constructor(At,Xt,li,Mi){this._editor=At,this._modelService=Xt,this._languageService=li,this._themeService=Mi,this._onDidToggleDetails=new y.vl,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(At){const Xt=new A.Cm,li=At;li.classList.add("show-file-icons");const Mi=(0,G.BC)(At,(0,G.$)(".icon")),vi=(0,G.BC)(Mi,(0,G.$)("span.colorspan")),Vi=(0,G.BC)(At,(0,G.$)(".contents")),ui=(0,G.BC)(Vi,(0,G.$)(".main")),Wt=(0,G.BC)(ui,(0,G.$)(".icon-label.codicon")),Nn=(0,G.BC)(ui,(0,G.$)("span.left")),ci=(0,G.BC)(ui,(0,G.$)("span.right")),ut=new Ae.s(Nn,{supportHighlights:!0,supportIcons:!0});Xt.add(ut);const Rt=(0,G.BC)(Nn,(0,G.$)("span.signature-label")),xt=(0,G.BC)(Nn,(0,G.$)("span.qualifier-label")),Ot=(0,G.BC)(ci,(0,G.$)("span.details-label")),Qt=(0,G.BC)(ci,(0,G.$)("span.readMore"+q.L.asCSSSelector(pt)));return Qt.title=(0,_.kg)(1545,"Read More"),{root:li,left:Nn,right:ci,icon:Mi,colorspan:vi,iconLabel:ut,iconContainer:Wt,parametersLabel:Rt,qualifierLabel:xt,detailsLabel:Ot,readMore:Qt,disposables:Xt,configureFont:()=>{const gi=this._editor.getOptions(),Ki=gi.get(59),Zi=Ki.getMassagedFontFamily(),bi=Ki.fontFeatureSettings,ot=Ki.fontVariationSettings,ge=gi.get(135)||Ki.fontSize,Ze=gi.get(136)||Ki.lineHeight,at=Ki.fontWeight,Et=Ki.letterSpacing,Ft=`${ge}px`,qt=`${Ze}px`,Li=`${Et}px`;li.style.fontSize=Ft,li.style.fontWeight=at,li.style.letterSpacing=Li,ui.style.fontFamily=Zi,ui.style.fontFeatureSettings=bi,ui.style.fontVariationSettings=ot,ui.style.lineHeight=qt,Mi.style.height=qt,Mi.style.width=qt,Qt.style.height=qt,Qt.style.width=qt}}}renderElement(At,Xt,li){li.configureFont();const{completion:Mi}=At;li.colorspan.style.backgroundColor="";const vi={labelEscapeNewLines:!0,matches:(0,Xe.WJ)(At.score)},Vi=[];if(Mi.kind===19&&Fe.extract(At,Vi))li.icon.className="icon customcolor",li.iconContainer.className="icon hide",li.colorspan.style.backgroundColor=Vi[0];else if(Mi.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){li.icon.className="icon hide",li.iconContainer.className="icon hide";const ui=(0,gt.I)(this._modelService,this._languageService,dt.r.from({scheme:"fake",path:At.textLabel}
42),ri.p.FILE),Wt=(0,gt.I)(this._modelService,this._languageService,dt.r.from({scheme:"fake",path:Mi.detail}),ri.p.FILE);vi.extraClasses=ui.length>Wt.length?ui:Wt}else Mi.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(li.icon.className="icon hide",li.iconContainer.className="icon hide",vi.extraClasses=[(0,gt.I)(this._modelService,this._languageService,dt.r.from({scheme:"fake",path:At.textLabel}),ri.p.FOLDER),(0,gt.I)(this._modelService,this._languageService,dt.r.from({scheme:"fake",path:Mi.detail}),ri.p.FOLDER)].flat()):(li.icon.className="icon hide",li.iconContainer.className="",li.iconContainer.classList.add("suggest-icon",...q.L.asClassNameArray(l.HC.toIcon(Mi.kind))));Mi.tags&&Mi.tags.indexOf(1)>=0&&(vi.extraClasses=(vi.extraClasses||[]).concat(["deprecated"]),vi.matches=[]),li.iconLabel.setLabel(At.textLabel,void 0,vi),typeof Mi.label=="string"?(li.parametersLabel.textContent="",li.detailsLabel.textContent=vt(Mi.detail||""),li.root.classList.add("string-label")):(li.parametersLabel.textContent=vt(Mi.label.detail||""),li.detailsLabel.textContent=vt(Mi.label.description||""),li.root.classList.remove("string-label")),this._editor.getOption(134).showInlineDetails?(0,G.WU)(li.detailsLabel):(0,G.jD)(li.detailsLabel),fe(At)?(li.right.classList.add("can-expand-details"),(0,G.WU)(li.readMore),li.readMore.onmousedown=ui=>{ui.stopPropagation(),ui.preventDefault()},li.readMore.onclick=ui=>{ui.stopPropagation(),ui.preventDefault(),this._onDidToggleDetails.fire()}):(li.right.classList.remove("can-expand-details"),(0,G.jD)(li.readMore),li.readMore.onmousedown=null,li.readMore.onclick=null)}disposeTemplate(At){At.disposables.dispose()}};st=ei([Zt(1,Bt.S),Zt(2,_t.L),Zt(3,Ke.Gy)],st);function vt(Wi){return Wi.replace(/\r\n|\r|\n/g,"")}var Yt=e(3273),Si=e(63339),Bi=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},pi=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}},$i;(0,_e.x1)("editorSuggestWidget.background",ae.Cg,(0,_.kg)(1525,"Background color of the suggest widget.")),(0,_e.x1)("editorSuggestWidget.border",ae.sI,(0,_.kg)(1526,"Border color of the suggest widget."));const fn=(0,_e.x1)("editorSuggestWidget.foreground",ae.By,(0,_.kg)(1527,"Foreground color of the suggest widget."));(0,_e.x1)("editorSuggestWidget.selectedForeground",Ce.nH,(0,_.kg)(1528,"Foreground color of the selected entry in the suggest widget.")),(0,_e.x1)("editorSuggestWidget.selectedIconForeground",Ce.c7,(0,_.kg)(1529,"Icon foreground color of the selected entry in the suggest widget."));const Sn=(0,_e.x1)("editorSuggestWidget.selectedBackground",Ce.Al,(0,_.kg)(1530,"Background color of the selected entry in the suggest widget."));(0,_e.x1)("editorSuggestWidget.highlightForeground",Ie.QI,(0,_.kg)(1531,"Color of the match highlights in the suggest widget.")),(0,_e.x1)("editorSuggestWidget.focusHighlightForeground",Ie.eM,(0,_.kg)(1532,"Color of the match highlights in the suggest widget when an item is focused.")),(0,_e.x1)("editorSuggestWidgetStatus.foreground",(0,_e.JO)(fn,.5),(0,_.kg)(1533,"Foreground color of the suggest widget status."));class On{constructor(At,Xt){this._service=At,this._key=`suggestWidget.size/${Xt.getEditorType()}/${Xt instanceof le.t}`}restore(){const At=this._service.get(this._key,0)??"";try{const Xt=JSON.parse(At);if(G.fg.is(Xt))return G.fg.lift(Xt)}catch{}}store(At){this._service.store(this._key,JSON.stringify(At),0,1)}reset(){this._service.remove(this._key,0)}}let Dn=(en=class{constructor(At,Xt,li,Mi,vi){this.editor=At,this._storageService=Xt,this._state=0,this._isAuto=!1,this._loadingTimeout=new A.HE,this._pendingLayout=new A.HE,this._pendingShowDetail
42s=new A.HE,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new ie.pc,this._disposables=new A.Cm,this._onDidSelect=new y.fV,this._onDidFocus=new y.fV,this._onDidHide=new y.vl,this._onDidShow=new y.vl,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new y.vl,this.element=new qe.v,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Qn(this,At),this._persistedSize=new On(Xt,At);class Vi{constructor(Ot,Qt,ai=!1,gi=!1){this.persistedSize=Ot,this.currentSize=Qt,this.persistHeight=ai,this.persistWidth=gi}}let ui;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),ui=new Vi(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(xt=>{if(this._resize(xt.dimension.width,xt.dimension.height),ui&&(ui.persistHeight=ui.persistHeight||!!xt.north||!!xt.south,ui.persistWidth=ui.persistWidth||!!xt.east||!!xt.west),!!xt.done){if(ui){const{itemHeight:Ot,defaultSize:Qt}=this.getLayoutInfo(),ai=Math.round(Ot/2);let{width:gi,height:Ki}=this.element.size;(!ui.persistHeight||Math.abs(ui.currentSize.height-Ki)<=ai)&&(Ki=ui.persistedSize?.height??Qt.height),(!ui.persistWidth||Math.abs(ui.currentSize.width-gi)<=ai)&&(gi=ui.persistedSize?.width??Qt.width),this._persistedSize.store(new G.fg(gi,Ki))}this._contentWidget.unlockPreference(),ui=void 0}})),this._messageElement=(0,G.BC)(this.element.domNode,(0,G.$)(".message")),this._listElement=(0,G.BC)(this.element.domNode,(0,G.$)(".tree"));const Wt=this._disposables.add(vi.createInstance(Se,this.editor));Wt.onDidClose(()=>this.toggleDetails(),this,this._disposables),this._details=new pe(Wt,this.editor);const Nn=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(134).showIcons);Nn();const ci=vi.createInstance(st,this.editor);this._disposables.add(ci),this._disposables.add(ci.onDidToggleDetails(()=>this.toggleDetails())),this._list=new z.B8("SuggestWidget",this._listElement,{getHeight:xt=>this.getLayoutInfo().itemHeight,getTemplateId:xt=>"suggestion"},[ci],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>Si.uF?"listitem":"option",getWidgetAriaLabel:()=>(0,_.kg)(1536,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:xt=>{let Ot=xt.textLabel;const Qt=l.HC.toLabel(xt.completion.kind);if(typeof xt.completion.label!="string"){const{detail:Zi,description:bi}=xt.completion.label;Zi&&bi?Ot=(0,_.kg)(1537,"{0} {1}, {2}, {3}",Ot,Zi,bi,Qt):Zi?Ot=(0,_.kg)(1538,"{0} {1}, {2}",Ot,Zi,Qt):bi&&(Ot=(0,_.kg)(1539,"{0}, {1}, {2}",Ot,bi,Qt))}else Ot=(0,_.kg)(1540,"{0}, {1}",Ot,Qt);if(!xt.isResolved||!this._isDetailsVisible())return Ot;const{documentation:ai,detail:gi}=xt.completion,Ki=(0,de.GP)("{0}{1}",gi||"",ai?typeof ai=="string"?ai:ai.value:"");return(0,_.kg)(1541,"{0}, docs: {1}",Ot,Ki)}}}),this._list.style((0,Yt.t8)({listInactiveFocusBackground:Sn,listInactiveFocusOutline:Qe.bu})),this._status=vi.createInstance(Ve,this.element.domNode,U.dt,void 0);const ut=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(134).showStatusBar);ut(),this._disposables.add(this._list.onMouseDown(xt=>this._onListMouseDownOrTap(xt))),this._disposables.add(this._list.onTap(xt=>this._onListMouseDownOrTap(xt))),this._disposables.add(this._list.onDidChangeSelection(xt=>this._onListSelection(xt))),this._disposables.add(this._list.onDidChangeFocus(xt=>this._onListFocus(xt))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(xt=>{xt.hasChanged(134)&&(ut(),Nn()),this._completionModel&&(xt.hasChanged(59)||xt.hasChanged(135)||xt.hasChanged(136))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=U.ob.Visible.bindTo(li),this._ctxSuggestWidgetDetailsVisible=U.ob.DetailsVisible.bindTo(li),this._ctxSuggestWidgetMultipleSuggestions=U.ob.MultipleSuggestions.bindTo(li),this._ctxSuggestWidgetHasFocusedSuggestion=U.ob.HasFocusedSuggestion.bindTo(li),this._ctxSuggestWidgetDetailsFocused=U.ob.DetailsFocused.bindTo(li);const Rt=(0,G.w5)(this._details.widget.domNode);this._disposables.add(Rt),this._disposables.add(Rt.onDidFocus(()=>this._ctxSuggestWidgetDetailsFocused.set(!0))),this._disposables.add(Rt.onDidBlur(()=>this._ctxSuggestWidgetDetailsFocused.set(!1))),this._disposables.add((0,G.un)(this._details.widget.domNode,"keydown",xt=>{this._onDetailsKeydown.fire(xt)})),this._disposables.add(this.editor.onMouseDown(xt=>this._onEditorMouseDown(xt)))}
42dispose(){this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),this._loadingTimeout.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidHide.dispose(),this._onDidShow.dispose(),this._onDetailsKeydown.dispose()}_onEditorMouseDown(At){this._details.widget.domNode.contains(At.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(At.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(At){typeof At.element>"u"||typeof At.index>"u"||(At.browserEvent.preventDefault(),At.browserEvent.stopPropagation(),this._select(At.element,At.index))}_onListSelection(At){At.elements.length&&this._select(At.elements[0],At.indexes[0])}_select(At,Xt){const li=this._completionModel;li&&(this._onDidSelect.fire({item:At,index:Xt,model:li}),this.editor.focus())}_onListFocus(At){if(this._ignoreFocusEvents)return;if(this._state===5&&this._setState(3),!At.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const Xt=At.elements[0],li=At.indexes[0];Xt!==this._focusedItem&&(this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=Xt,this._list.reveal(li),this._currentSuggestionDetails=(0,ie.SS)(async Mi=>{const vi=(0,ie.EQ)(()=>{this._isDetailsVisible()&&this._showDetails(!0,!1)},250),Vi=Mi.onCancellationRequested(()=>vi.dispose());try{return await Xt.resolve(Mi)}finally{vi.dispose(),Vi.dispose()}}),this._currentSuggestionDetails.then(()=>{li>=this._list.length||Xt!==this._list.element(li)||(this._ignoreFocusEvents=!0,this._list.splice(li,1,[Xt]),this._list.setFocus([li]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this._showDetails(!1,!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:this._list.getElementID(li)}))}).catch(T.dz)),this._onDidFocus.fire({item:Xt,index:li,model:this._completionModel})}_setState(At){if(this._state!==At)switch(this._state=At,this.element.domNode.classList.toggle("frozen",At===4),this.element.domNode.classList.remove("message"),At){case 0:(0,G.jD)(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=$i.LOADING_MESSAGE,(0,G.jD)(this._listElement,this._status.element),(0,G.WU)(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,v.h5)($i.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=$i.NO_SUGGESTIONS_MESSAGE,(0,G.jD)(this._listElement,this._status.element),(0,G.WU)(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,(0,v.h5)($i.NO_SUGGESTIONS_MESSAGE);break;case 3:(0,G.jD)(this._messageElement),(0,G.WU)(this._listElement,this._status.element),this._show();break;case 4:(0,G.jD)(this._messageElement),(0,G.WU)(this._listElement,this._status.element),this._show();break;case 5:(0,G.jD)(this._messageElement),(0,G.WU)(this._listElement,this._status.element),this._details.show(),this._show(),this._details.widget.focus();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore(
42)),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(At,Xt){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!At,this._isAuto||(this._loadingTimeout.value=(0,ie.EQ)(()=>this._setState(1),Xt)))}showSuggestions(At,Xt,li,Mi,vi){if(this._contentWidget.setPosition(this.editor.getPosition()),this._loadingTimeout.clear(),this._currentSuggestionDetails?.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==At&&(this._completionModel=At),li&&this._state!==2&&this._state!==0){this._setState(4);return}const Vi=this._completionModel.items.length,ui=Vi===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(Vi>1),ui){this._setState(Mi?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(li?4:3),this._list.reveal(Xt,0,Xt===0?0:this.getLayoutInfo().itemHeight*.33),this._list.setFocus(vi?[]:[Xt])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}
42this._pendingLayout.value=(0,G.Oq)((0,G.zk)(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._list.setFocus(this._list.getFocus()),this._setState(3)):this._state===3&&(this._setState(5),this._isDetailsVisible()?this._details.widget.focus():this.toggleDetails(!0))}toggleDetails(At=!1){this._isDetailsVisible()?(this._pendingShowDetail
42s.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(fe(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this._showDetails(!1,At))}_showDetails(At,Xt){this._pendingShowDetails.value=(0,G.Oq)((0,G.zk)(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show();let li=!1;At?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details"),Xt&&(this._details.widget.focus(),li=!0)),li||this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this._showDetails(!1,!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){this._pendingLayout.clear(),this._pendingShowDetail
42s.clear(),this._loadingTimeout.clear(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const At=this._persistedSize.restore(),Xt=Math.ceil(this.getLayoutInfo().itemHeight*4.3);At&&At.height<Xt&&this._persistedSize.store(At.with(void 0,Xt))}isFrozen(){return this._state===4}_afterRender(At){if(At===null){this._isDetailsVisible()&&this._details.hide();return}this._state===2||this._state===1||(this._isDetailsVisible()&&!this._details.widget.isEmpty&&this._details.show(),this._positionDetails())}_layout(At){if(!this.editor.hasModel()||!this.editor.getDomNode())return;const Xt=(0,G.tG)(this.element.domNode.ownerDocument.body),li=this.getLayoutInfo();At||(At=li.defaultSize);let Mi=At.height,vi=At.width;if(this._status.element.style.height=`${li.itemHeight}px`,this._state===2||this._state===1)Mi=li.itemHeight+li.borderHeight,vi=li.defaultSize.width/2,this.element.enableSashes(!1,!1,!1,!1),this.element.minSize=this.element.maxSize=new G.fg(vi,Mi),this._contentWidget.setPreference(2);else{const Vi=Xt.width-li.borderHeight-2*li.horizontalPadding;vi>Vi&&(vi=Vi);const ui=this._completionModel?this._completionModel.stats.pLabelLen*li.typicalHalfwidthCharacterWidth:vi,Wt=li.statusBarHeight+this._list.contentHeight+li.borderHeight,Nn=li.itemHeight+li.statusBarHeight,ci=(0,G.BK)(this.editor.getDomNode()),ut=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),Rt=ci.top+ut.top+ut.height,xt=Math.min(Xt.height-Rt-li.verticalPadding,Wt),Ot=ci.top+ut.top-li.verticalPadding,Qt=Math.min(Ot,Wt);let ai=Math.min(Math.max(Qt,xt)+li.borderHeight,Wt);Mi===this._cappedHeight?.capped&&(Mi=this._cappedHeight.wanted),Mi<Nn&&(Mi=Nn),Mi>ai&&(Mi=ai),Mi>xt&&Qt>xt||this._forceRenderingAbove&&Ot>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),ai=Qt):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),ai=xt),this.element.preferredSize=new G.fg(ui,li.defaultSize.height),this.element.maxSize=new G.fg(Vi,ai),this.element.minSize=new G.fg(220,Nn),this._cappedHeight=Mi===Wt?{wanted:this._cappedHeight?.wanted??At.height,capped:Mi}:void 0}this._resize(vi,Mi)}_resize(At,Xt){const{width:li,height:Mi}=this.element.maxSize;At=Math.min(li,At),Xt=Math.min(Mi,Xt);const{statusBarHeight:vi}=this.getLayoutInfo();this._list.layout(Xt-vi,At),this._listElement.style.height=`${Xt-vi}px`,this.element.layout(Xt,At),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,this._contentWidget.getPosition()?.preference[0]===2)}getLayoutInfo(){const At=this.editor.getOption(59),Xt=(0,re.qE)(this.editor.getOption(136)||At.lineHeight,8,1e3),li=!this.editor.getOption(134).showStatusBar||this._state===2||this._state===1?0:Xt,Mi=this._details.widget.getLayoutInfo().borderWidth,vi=2*Mi;return{itemHeight:Xt,statusBarHeight:li,borderWidth:Mi,borderHeight:vi,typicalHalfwidthCharacterWidth:At.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new G.fg(430,li+12*Xt)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(At){this._storageService.store("expandSuggestionDocs",At,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},$i=en,en.LOADING_MESSAGE=(0,_.kg)(1534,"Loading..."),en.NO_SUGGESTIONS_MESSAGE=(0,_.kg)(1535,"No suggestions."),en);Dn=$i=Bi([pi(1,Le.CS),pi(2,p.fN),pi(3,Ke.Gy),pi(4,N._Y)],Dn);class Qn{constructor(At,Xt){this._widget=At,this._editor=Xt,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:At,width:Xt}=this._widget.element.size,{borderWidth:li,horizontalPadding:Mi}=this._widget.getLayoutInfo();return new G.fg(Xt+2*li+Mi,At+2*li)}afterRender(At){this._widget._afterRender(At)}setPreference(At){this._preferenceLocked||(this._preference=At)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(At){this._position=At}}var rs=e(76243),us=e(22467),Zn=e(22344),zn=e(31531),ms=e(32471),es=function(Wi,At,Xt,li){var Mi=arguments.length,vi=Mi<3?At:li===null?li=Object.getOwnPropertyDescriptor(At,Xt):li,Vi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")vi=Reflect.decorate(Wi,At,Xt,li);else for(var ui=Wi.length-1;ui>=0;ui--)(Vi=Wi[ui])&&(vi=(Mi<3?Vi(vi):Mi>3?Vi(At,Xt,vi):Vi(At,Xt))||vi);return Mi>3&&vi&&Object.defineProperty(At,Xt,vi),vi},Xn=function(Wi,At){return function(Xt,li){At(Xt,li,Wi)}},Ts;class ps{constructor(At,Xt){if(this._model=At,this._position=Xt,this._decorationOptions=zn.kI.register({description:"suggest-line-suffix",stickiness:1}),At.getLineMaxColumn(Xt.lineNumber)!==Xt.column){const Mi=At.getOffsetAt(Xt),vi=At.getPositionAt(Mi+1);At.changeDecorations(Vi=>{this._marker&&Vi.removeDecoration(this._marker),this._marker=Vi.addDecoration(r.Q.fromPositions(Xt,vi),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(At=>{At.removeDecoration(this._marker),this._marker=void 0})}delta(At){if(this._model.isDisposed()||this._position.lineNumber!==At.lineNumber)return 0;if(this._marker){const Xt=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(Xt.getStartPosition())-this._model.getOffsetAt(At)}else return this._model.getLineMaxColumn(At.lineNumber)-At.column}}let Yn=(In=class{static get(At){return At.getContribution(Ts.ID)}get onWillInsertSuggestItem(){return this._onWillInsertSuggestItem.event}constructor(At,Xt,li,Mi,vi,Vi,ui){this._memoryService=Xt,this._commandService=li,this._contextKeyService=Mi,this._instantiationService=vi,this._logService=Vi,this._telemetryService=ui,this._lineSuffix=new A.HE,this._toDispose=new A.Cm,this._selectors=new zs(ut=>ut.priority),this._onWillInsertSuggestItem=new y.vl,this._wantsForceRenderingAbove=!1,this.editor=At,this.model=vi.createInstance(Z.Y,this.editor),this._selectors.register({priority:0,select:(ut,Rt,xt)=>this._memoryService.select(ut,Rt,xt)});const Wt=U.ob.InsertMode.bindTo(Mi);Wt.set(At.getOption(134).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>Wt.set(At.getOption(134).insertMode))),this.widget=this._toDispose.add(new G.Ij((0,G.zk)(At.getDomNode()),()=>{const ut=this._instantiationService.createInstance(Dn,this.editor);this._toDispose.add(ut),this._toDispose.add(ut.onDidSelect(ai=>this._insertSuggestion(ai,0),this));const Rt=new H(this.editor,ut,this.model,ai=>
42this._insertSuggestion(ai,2));this._toDispose.add(Rt);const xt=U.ob.MakesTextEdit.bindTo(this._contextKeyService),Ot=U.ob.HasInsertAndReplaceRange.bindTo(this._contextKeyService),Qt=U.ob.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add((0,A.s)(()=>{xt.reset(),Ot.reset(),Qt.reset()})),this._toDispose.add(ut.onDidFocus(({item:ai})=>{const gi=this.editor.getPosition(),Ki=ai.editStart.column,Zi=gi.column;let bi=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!ai.completion.additionalTextEdits&&!(ai.completion.insertTextRules&4)&&Zi-Ki===ai.completion.insertText.length&&(bi=this.editor.getModel().getValueInRange({startLineNumber:gi.lineNumber,startColumn:Ki,endLineNumber:gi.lineNumber,endColumn:Zi})!==ai.completion.insertText),xt.set(bi),Ot.set(!i.y.equals(ai.editInsertEnd,ai.editReplaceEnd)),Qt.set(!!ai.provider.resolveCompletionItem||!!ai.completion.documentation||ai.completion.detail!==ai.completion.label)})),this._wantsForceRenderingAbove&&ut.forceRenderingAbove(),ut})),this._overtypingCapturer=this._toDispose.add(new G.Ij((0,G.zk)(At.getDomNode()),()=>this._toDispose.add(new X(this.editor,this.model)))),this._alternatives=this._toDispose.add(new G.Ij((0,G.zk)(At.getDomNode()),()=>this._toDispose.add(new V(this.editor,this._contextKeyService)))),this._toDispose.add(vi.createInstance(D,At)),this._toDispose.add(this.model.onDidTrigger(ut=>{this.widget.value.showTriggered(ut.auto,ut.shy?250:50),this._lineSuffix.value=new ps(this.editor.getModel(),ut.position)})),this._toDispose.add(this.model.onDidSuggest(ut=>{if(ut.triggerOptions.shy)return;let Rt=-1;for(const Ot of this._selectors.itemsOrderedByPriorityDesc)if(Rt=Ot.select(this.editor.getModel(),this.editor.getPosition(),ut.completionModel.items),Rt!==-1)break;if(Rt===-1&&(Rt=0),this.model.state===0)return;let xt=!1;if(ut.triggerOptions.auto){const Ot=this.editor.getOption(134);Ot.selectionMode==="never"||Ot.selectionMode==="always"?xt=Ot.selectionMode==="never":Ot.selectionMode==="whenTriggerCharacter"?xt=ut.triggerOptions.triggerKind!==1:Ot.selectionMode==="whenQuickSuggestion"&&(xt=ut.triggerOptions.triggerKind===1&&!ut.triggerOptions.refilter)}this.widget.value.showSuggestions(ut.completionModel,Rt,ut.isFrozen,ut.triggerOptions.auto,xt)})),this._toDispose.add(this.model.onDidCancel(ut=>{ut.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const Nn=U.ob.AcceptSuggestionsOnEnter.bindTo(Mi),ci=()=>{const ut=this.editor.getOption(1);Nn.set(ut==="on"||ut==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>ci())),ci()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dis
42pose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(At,Xt){if(!At||!At.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const li=o.O.get(this.editor);if(!li)return;this._onWillInsertSuggestItem.fire({item:At.item});const Mi=this.editor.getModel(),vi=Mi.getAlternativeVersionId(),{item:Vi}=At,ui=[],Wt=new x.Qi;Xt&1||this.editor.pushUndoStop();const Nn=this.getOverwriteInfo(Vi,!!(Xt&8));this._memoryService.memorize(Mi,this.editor.getPosition(),Vi);const ci=Vi.isResolved;let ut=-1,Rt=-1;if(Array.isArray(Vi.completion.additionalTextEdits)){this.model.cancel();const Ot=b.D.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",Vi.completion.additionalTextEdits.map(Qt=>{let ai=r.Q.lift(Qt.range);if(ai.startLineNumber===Vi.position.lineNumber&&ai.startColumn>Vi.position.column){const gi=this.editor.getPosition().column-Vi.position.column,Ki=gi,Zi=r.Q.spansMultipleLines(ai)?0:gi;ai=new r.Q(ai.startLineNumber,ai.startColumn+Ki,ai.endLineNumber,ai.endColumn+Zi)}return u.k.replaceMove(ai,Qt.text)})),Ot.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!ci){const Ot=new g.W;let Qt;const ai=Mi.onDidChangeContent(bi=>{if(bi.isFlush){Wt.cancel(),ai.dispose();return}for(const ot of bi.changes){const ge=r.Q.getEndPosition(ot.range);(!Qt||i.y.isBefore(ge,Qt))&&(Qt=ge)}}),gi=Xt;Xt|=2;let Ki=!1;const Zi=this.editor.onWillType(()=>{Zi.dispose(),Ki=!0,gi&2||this.editor.pushUndoStop()});ui.push(Vi.resolve(Wt.token).then(()=>{if(!Vi.completion.additionalTextEdits||Wt.token.isCancellationRequested)return;if(Qt&&Vi.completion.additionalTextEdits.some(ot=>i.y.isBefore(Qt,r.Q.getStartPosition(ot.range))))return!1;Ki&&this.editor.pushUndoStop();const bi=b.D.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",Vi.completion.additionalTextEdits.map(ot=>u.k.replaceMove(r.Q.lift(ot.range),ot.text))),bi.restoreRelativeVerticalPositionOfCursor(this.editor),(Ki||!(gi&2))&&this.editor.pushUndoStop(),!0}).then(bi=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",Ot.elapsed(),bi),Rt=bi===!0?1:bi===!1?0:-2}).finally(()=>{ai.dispose(),Zi.dispose()}))}let{insertText:xt}=Vi.completion;if(Vi.completion.insertTextRules&4||(xt=c.fr.escape(xt)),this.model.cancel(),li.insert(xt,{overwriteBefore:Nn.overwriteBefore,overwriteAfter:Nn.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(Vi.completion.insertTextRules&1),clipboardText:At.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value,reason:ms.dg.suggest({providerId:l.NI.fromExtensionId(Vi.extensionId?.value)})}),Xt&2||this.editor.pushUndoStop(),Vi.completion.command)if(Vi.completion.command.id===Kn.id)this.model.trigger({auto:!0,retrigger:!0});else{const Ot=new g.W;ui.push(this._commandService.executeCommand(Vi.completion.command.id,...Vi.completion.command.arguments?[...Vi.completion.command.arguments]:[]).catch(Qt=>{Vi.completion.extensionId?(0,T.M_)(Qt):(0,T.dz)(Qt)}).finally(()=>{ut=Ot.elapsed()}))}Xt&4&&this._alternatives.value.set(At,Ot=>{for(Wt.cancel();Mi.canUndo();){vi!==Mi.getAlternativeVersionId()&&Mi.undo(),this._insertSuggestion(Ot,3|(Xt&8?8:0));break}}),this._alertCompletionItem(Vi),Promise.all(ui).finally(()=>{this._reportSuggestionAcceptedTelemetry(Vi,Mi,ci,ut,Rt,At.index,At.model.items),this.model.clear(),Wt.dispose()})}_reportSuggestionAcceptedTelemetry(At,Xt,li,Mi,vi,Vi,ui){if(Math.random()>1e-4)return;const Wt=new Map;for(let Rt=0;Rt<Math.min(30,ui.length);Rt++){const xt=ui[Rt].textLabel;Wt.has(xt)?Wt.get(xt).push(Rt):Wt.set(xt,[Rt])}const Nn=Wt.get(At.textLabel),ut=Nn&&Nn.length>1?Nn[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:At.extensionId?.value??"unknown",providerId:At.provider._debugDisplayName??"unknown",kind:At.completion.kind,basenameHash:(0,Zn.tW)((0,us.P8)(Xt.uri)).toString(16),languageId:Xt.getLanguageId(),fileExtension:(0,us.LC)(Xt.uri),resolveInfo:At.provider.resolve
42CompletionItem?li?1:0:-1,resolveDuration:At.resolveDuration,commandDuration:Mi,additionalEditsAsync:vi,index:Vi,firstIndex:ut})}getOverwriteInfo(At,Xt){(0,L.j)(this.editor.hasModel());let li=this.editor.getOption(134).insertMode==="replace";Xt&&(li=!li);const Mi=At.position.column-At.editStart.column,vi=(li?At.editReplaceEnd.column:At.editInsertEnd.column)-At.position.column,Vi=this.editor.getPosition().column-At.position.column,ui=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:Mi+Vi,overwriteAfter:vi+ui}}_alertCompletionItem(At){if((0,R.EI)(At.completion.additionalTextEdits)){const Xt=(0,_.kg)(1514,"Accepting '{0}' made {1} additional edits",At.textLabel,At.completion.additionalTextEdits.length);(0,v.xE)(Xt)}}triggerSuggest(At,Xt,li){this.editor.hasModel()&&(this.model.trigger({auto:Xt??!1,completionOptions:{providerFilter:At,kindFilter:li?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(At){if(!this.editor.hasModel())return;const Xt=this.editor.getPosition(),li=()=>{Xt.equals(this.editor.getPosition())&&this._commandService.executeCommand(At.fallback)},Mi=vi=>{if(vi.completion.insertTextRules&4||vi.completion.additionalTextEdits)return!0;const Vi=this.editor.getPosition(),ui=vi.editStart.column,Wt=Vi.column;return Wt-ui!==vi.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:Vi.lineNumber,startColumn:ui,endLineNumber:Vi.lineNumber,endColumn:Wt})!==vi.completion.insertText};y.Jh.once(this.model.onDidTrigger)(vi=>{const Vi=[];y.Jh.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{(0,A.AS)(Vi),li()},void 0,Vi),this.model.onDidSuggest(({completionModel:ui})=>{if((0,A.AS)(Vi),ui.items.length===0){li();return}const Wt=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),ui.items),Nn=ui.items[Wt];if(!Mi(Nn)){li();return}this.editor.pushUndoStop(),this._insertSuggestion({index:Wt,item:Nn,model:ui},7)},void 0,Vi)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(Xt,0),this.editor.focus()}acceptSelectedSuggestion(At,Xt){const li=this.widget.value.getFocusedItem();let Mi=0;At&&(Mi|=4),Xt&&(Mi|=8),this._insertSuggestion(li,Mi)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.isInitialized?this.widget.value.forceRenderingAbove():this._wantsForceRenderingAbove=!0}stopForceRenderingAbove(){this.widget.isInitialized?this.widget.value.stopForceRenderingAbove():this._wantsForceRenderingAbove=!1}registerSelector(At){return this._selectors.register(At)}},Ts=In,In.ID="editor.contrib.suggestController",In);Yn=Ts=es([Xn(1,a.GS),Xn(2,k.d),Xn(3,p.fN),Xn(4,N._Y),Xn(5,W.rr),Xn(6,rs.k)],Yn);class zs{constructor(At){this.prioritySelector=At,this._items=new Array}register(At){if(this._items.indexOf(At)!==-1)throw new Error("Value is already registered");return this._items.push(At),this._items.sort((Xt,li)=>this.prioritySelector(li)-this.prioritySelector(Xt)),{dispose:()=>{const Xt=this._items.indexOf(At);Xt>=0&&this._items.splice(Xt,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}const Bn=class Bn extends C.ks{constructor(){super({id:Bn.id,label:(0,_.aS)(1523,"Trigger Suggest"),precondition:p.M$.and(d.R.writable,d.R.hasCompletionItemProvider,U.ob.Visible.toNegated()),kbOpts:{kbExpr:d.R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(At,Xt,li){const Mi=Yn.get(Xt);if(!Mi)return;let vi;li&&typeof li=="object"&&li.auto===!0&&(vi=!0),Mi.triggerSuggest(void 0,vi,void 0)}};Bn.id="editor.action.triggerSuggest";let Kn=Bn;(0,C.HW)(Yn.ID,Yn,2),(0,C.Fl)(Kn);const jt=190,$t=C.DX.bindToContribution(Yn.get);(0,C.E_)(new $t({id:"acceptSelectedSuggestion",precondition:p.M$.and(U.ob.Visible,U.ob.HasFocusedSuggestion),handler(Wi){Wi.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:p.M$.and(U.ob.Visible,d.R.textInputFocus),weight:jt},{primary:3,kbExpr:p.M$.and(U.ob.Visible,d.R.textInputFocus,U.ob.AcceptSuggestionsOnEnter,U.ob.MakesTextEdit),weight:jt}],menuOpts:[{menuId:U.dt,title:(0,_.kg)(1515,"Insert"),group:"left",order:1,when:p.M$.and(U.ob.HasFocusedSuggestion,U.ob.HasInsertAndReplaceRange.toNegated())},{menuId:U.dt,title:(0,_.kg)(1516,"Insert"),group:"left",order:1,when:p.M$.and(U.ob.HasFocusedSuggestion,U.ob.HasInsertAndReplaceRange,U.ob.InsertMode.isEqualTo("insert"))},{menuId:U.dt,title:(0,_.kg)(1517,"Replace"),group:"left",order:1,when:p.M$.and(U.ob.HasFocusedSuggestion,U.ob.HasInsertAndReplaceRange,U.ob.InsertMode.isEqualTo("replace"))}]})),(0,C.E_)(new $t({id:"acceptAlternativeSelectedSuggestion",precondition:p.M$.and(U.ob.Visible,d.R.textInputFocus,U.ob.HasFocusedSuggestion),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:1027,secondary:[1026]},handler(Wi){Wi.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:U.dt,group:"left",order:2,when:p.M$.and(U.ob.HasFocusedSuggestion,U.ob.HasInsertAndReplaceRange,U.ob.InsertMode.isEqualTo("insert")),title:(0,_.kg)(1518,"Replace")},{menuId:U.dt,group:"left",order:2,when:p.M$.and(U.ob.HasFocusedSuggestion,U.ob.HasInsertAndReplaceRange,U.ob.InsertMode.isEqualTo("replace")),title:(0,_.kg)(1519,"Insert")}]})),k.w.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),(0,C.E_)(new $t({id:"hideSuggestWidget",precondition:U.ob.Visible,handler:Wi=>Wi.cancelSuggestWidget(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:9,secondary:[1033]}})),(0,C.E_)(new $t({id:"selectNextSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectNextSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}},menuOpts:{menuId:U.dt,group:"left",order:0,when:U.ob.HasFocusedSuggestion.toNegated(),title:(0,_.kg)(1520,"Select")}})),(0,C.E_)(new $t({id:"selectNextPageSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectNextPageSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:12,secondary:[2060]}})),(0,C.E_)(new $t({id:"selectLastSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectLastSuggestion()})),(0,C.E_)(new $t({id:"selectPrevSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectPrevSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),(0,C.E_)(new $t({id:"selectPrevPageSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectPrevPageSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:11,secondary:[2059]}})),(0,C.E_)(new $t({id:"selectFirstSuggestion",precondition:p.M$.and(U.ob.Visible,p.M$.or(U.ob.MultipleSuggestions,U.ob.HasFocusedSuggestion.negate())),handler:Wi=>Wi.selectFirstSuggestion()})),(0,C.E_)(new $t({id:"focusSuggestion",precondition:p.M$.and(U.ob.Visible,U.ob.HasFocusedSuggestion.negate()),handler:Wi=>Wi.focusSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),(0,C.E_)(new $t({id:"focusAndAcceptSuggestion",precondition:p.M$.and(U.ob.Visible,U.ob.HasFocusedSuggestion.negate()),handler:Wi=>{Wi.focusSuggestion(),Wi.acceptSelectedSuggestion(!0,!1)}}
42)),(0,C.E_)(new $t({id:"toggleSuggestionDetails",precondition:p.M$.and(U.ob.Visible,U.ob.HasFocusedSuggestion),handler:Wi=>Wi.toggleSuggestionDetails(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:U.dt,group:"right",order:1,when:p.M$.and(U.ob.DetailsVisible,U.ob.CanResolve),title:(0,_.kg)(1521,"Show Less")},{menuId:U.dt,group:"right",order:1,when:p.M$.and(U.ob.DetailsVisible.toNegated(),U.ob.CanResolve),title:(0,_.kg)(1522,"Show More")}]})),(0,C.E_)(new $t({id:"toggleExplainMode",precondition:U.ob.Visible,handler:Wi=>Wi.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),(0,C.E_)(new $t({id:"toggleSuggestionFocus",precondition:U.ob.Visible,handler:Wi=>Wi.toggleSuggestionFocus(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:2570,mac:{primary:778}}})),(0,C.E_)(new $t({id:"insertBestCompletion",precondition:p.M$.and(d.R.textInputFocus,p.M$.equals("config.editor.tabCompletion","on"),D.AtEnd,U.ob.Visible.toNegated(),V.OtherSuggestions.toNegated(),o.O.InSnippetMode.toNegated()),handler:(Wi,At)=>{Wi.triggerSuggestAndAcceptBest((0,L.Gv)(At)?{fallback:"tab",...At}:{fallback:"tab"})},kbOpts:{weight:jt,primary:2}})),(0,C.E_)(new $t({id:"insertNextSuggestion",precondition:p.M$.and(d.R.textInputFocus,p.M$.equals("config.editor.tabCompletion","on"),V.OtherSuggestions,U.ob.Visible.toNegated(),o.O.InSnippetMode.toNegated()),handler:Wi=>Wi.acceptNextSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:2}})),(0,C.E_)(new $t({id:"insertPrevSuggestion",precondition:p.M$.and(d.R.textInputFocus,p.M$.equals("config.editor.tabCompletion","on"),V.OtherSuggestions,U.ob.Visible.toNegated(),o.O.InSnippetMode.toNegated()),handler:Wi=>Wi.acceptPrevSuggestion(),kbOpts:{weight:jt,kbExpr:d.R.textInputFocus,primary:1026}})),(0,C.E_)(new class extends C.DX{constructor(){super({id:"suggestWidgetCopy",precondition:U.ob.DetailsFocused,kbOpts:{weight:jt+10,kbExpr:U.ob.DetailsFocused,primary:2081,win:{primary:2081,secondary:[2067]}}})}runEditorCommand(Wi,At){(0,G.zk)(At.getDomNode()).document.execCommand("copy")}}),(0,C.Fl)(class extends C.ks{constructor(){super({id:"editor.action.resetSuggestSize",label:(0,_.aS)(1524,"Reset Suggest Widget Size"),precondition:void 0})}run(Wi,At){Yn.get(At)?.resetWidgetSize()}})},28609:(St,We,e)=>{var ne;e.d(We,{E:()=>te,f:()=>$});var v=e(14333),R=e(30474),x=e(5915),T=e(2106),y=e(10998),A=e(73678),g=e(58881),L=e(66476),b=e(66055),C=e(31531),u=e(50969),i=e(73042),r=e(3765),d=e(56071),l=e(11210),o=e(28061),c=e(96016),a=e(99859),p=e(47936),_=function(V,I,H,Z){var X=arguments.length,G=X<3?I:Z===null?Z=Object.getOwnPropertyDescriptor(I,H):Z,Y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(V,I,H,Z);else for(var j=V.length-1;j>=0;j--)(Y=V[j])&&(G=(X<3?Y(G):X>3?Y(I,H,G):Y(I,H))||G);return X>3&&G&&Object.defineProperty(I,H,G),G},E=function(V,I){return function(H,Z){I(H,Z,V)}},S;const h=(0,l.pU)("gutter-lightbulb",x.W.lightBulb,(0,r.kg)(910,"Icon which spawns code actions menu from the gutter when there is no space in the editor.")),D=(0,l.pU)("gutter-lightbulb-auto-fix",x.W.lightbulbAutofix,(0,r.kg)(911,"Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),k=(0,l.pU)("gutter-lightbulb-sparkle",x.W.lightbulbSparkle,(0,r.kg)(912,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),N=(0,l.pU)("gutter-lightbulb-aifix-auto-fix",x.W.lightbulbSparkleAutofix,(0,r.kg)(913,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),W=(0,l.pU)("gutter-lightbulb-sparkle-filled",x.W.sparkleFilled,(0,r.kg)(914,"Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var U;(function(V){V.Hidden={type:0};class I{constructor(Z,X,G,Y){this.actions=Z,this.trigger=X,this.editorPosition=G,this.widgetPosition=Y,this.type=1}}V.Showing=I})(U||(U={}));function $(V,I,H,Z,X=!1){if(V.validActions.length<=0)return;let G,Y=!1;V.allAIFixes?(G=X?W:x.W.sparkleFilled,V.validActions.length===1&&(Y=!0)):V.hasAutoFix?V.hasAIFix?G=X?N:x.W.lightbulbSparkleAutofix:G=X?D:x.W.lightbulbAutofix:V.hasAIFix?G=X?k:x.W.lightbulbSparkle:G=X?h:x.W.lightBulb;let j;return Y?j=(0,r.kg)(915,"Run: {0}
42",V.validActions[0].action.title):V.hasAutoFix&&H?j=(0,r.kg)(916,"Show Code Actions. Preferred Quick Fix Available ({0})",H):!V.hasAutoFix&&Z?j=(0,r.kg)(917,"Show Code Actions ({0})",Z):j=(0,r.kg)(918,"Show Code Actions"),{actions:V,trigger:I,icon:G,autoRun:Y,title:j,isGutter:X}}let te=(ne=class extends y.jG{static _computeLightBulbInfo(I,H,Z,X){if(I.type===1)return $(I.actions,I.trigger,Z,X,H)}constructor(I,H){super(),this._editor=I,this._keybindingService=H,this.onlyWithEmptySelection=!1,this._onClick=this._register(new T.vl),this.onClick=this._onClick.event,this._state=(0,c.FY)(this,U.Hidden),this._gutterState=(0,c.FY)(this,U.Hidden),this._combinedInfo=(0,a.un)(this,Z=>{const X=this._gutterState.read(Z);if(X.type===1)return S._computeLightBulbInfo(X,!0,this._preferredKbLabel.read(Z),this._quickFixKbLabel.read(Z));const G=this._state.read(Z);if(G.type===1)return S._computeLightBulbInfo(G,!1,this._preferredKbLabel.read(Z),this._quickFixKbLabel.read(Z))}),this._iconClasses=[],this.lightbulbClasses=["codicon-"+h.id,"codicon-"+N.id,"codicon-"+D.id,"codicon-"+k.id,"codicon-"+W.id],this._preferredKbLabel=(0,c.FY)(this,void 0),this._quickFixKbLabel=(0,c.FY)(this,void 0),this.gutterDecoration=S.GUTTER_DECORATION,this._domNode=(0,v.$)("div.lightBulbWidget"),this._domNode.role="listbox",this._register(R.q.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(Z=>{const X=this._editor.getModel(),G=this._state.get();(G.type!==1||!X||G.editorPosition.lineNumber>=X.getLineCount())&&this.hide();const Y=this._gutterState.get();(Y.type!==1||!X||Y.editorPosition.lineNumber>=X.getLineCount())&&this.gutterHide()}
42)),this._register((0,v.Xc)(this._domNode,Z=>{const X=this._state.get();if(X.type!==1)return;this._editor.focus(),Z.preventDefault();const{top:G,height:Y}=(0,v.BK)(this._domNode),j=this._editor.getOption(75);let z=Math.floor(j/3);X.widgetPosition.position!==null&&X.widgetPosition.position.lineNumber<X.editorPosition.lineNumber&&(z+=j),this._onClick.fire({x:Z.posx,y:G+Y+z,actions:X.actions,trigger:X.trigger})})),this._register((0,v.ko)(this._domNode,"mouseenter",Z=>{(Z.buttons&1)===1&&this.hide()})),this._register(T.Jh.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(i.pR)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(i.pQ)?.getLabel()??void 0,void 0)})),this._register((0,p.fm)(Z=>{const X=this._combinedInfo.read(Z);this._updateLightBulbTitleAndIcon(X),this._updateGutterDecorationOptions(X)})),this._register(this._editor.onMouseDown(async Z=>{if(!Z.target.element||!this.lightbulbClasses.some(ie=>Z.target.element&&Z.target.element.classList.contains(ie)))return;const X=this._gutterState.get();if(X.type!==1)return;this._editor.focus();const{top:G,height:Y}=(0,v.BK)(Z.target.element),j=this._editor.getOption(75);let z=Math.floor(j/3);X.widgetPosition.position!==null&&X.widgetPosition.position.lineNumber<X.editorPosition.lineNumber&&(z+=j),this._onClick.fire({x:Z.event.posx,y:G+Y+z,actions:X.actions,trigger:X.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){const I=this._state.get();return I.type===1?I.widgetPosition:null}update(I,H,Z){if(I.validActions.length<=0)return this.gutterHide(),this.hide();if(this.onlyWithEmptySelection&&!this._editor.getSelection()?.isEmpty())return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(this._editor.getOptions().get(73).enabled===L.jT.Off)return this.gutterHide(),this.hide();const Y=this._editor.getModel();if(!Y)return this.gutterHide(),this.hide();const{lineNumber:j,column:z}=Y.validatePosition(Z),ie=Y.getOptions().tabSize,re=this._editor.getOptions().get(59),de=Y.getLineContent(j),le=(0,u.G)(de,ie),he=re.spaceWidth*le>22,we=_e=>_e>2&&this._editor.getTopForLineNumber(_e)===this._editor.getTopForLineNumber(_e-1),xe=this._editor.getLineDecorations(j);let Be=!1;if(xe)for(const _e of xe){const Qe=_e.options.glyphMarginClassName;if(Qe&&!this.lightbulbClasses.some(je=>Qe.includes(je))){Be=!0;break}}let M=j,Ve=1;if(!he){const _e=Qe=>{const je=Y.getLineContent(Qe);return/^\s*$|^\s+/.test(je)||je.length<=Ve};if(j>1&&!we(j-1)){const Qe=Y.getLineCount(),je=j===Qe,ae=j>1&&_e(j-1),Ee=!je&&_e(j+1),Ie=_e(j),Ue=!Ee&&!ae;if(!Ee&&!ae&&!Be)return this._gutterState.set(new U.Showing(I,H,Z,{position:{lineNumber:M,column:Ve},preference:S._posPref}),void 0),this.renderGutterLightbub(),this.hide();ae||je||ae&&!Ie?M-=1:(Ee||Ue&&Ie)&&(M+=1)}else if(j===1&&(j===Y.getLineCount()||!_e(j+1)&&!_e(j)))if(this._gutterState.set(new U.Showing(I,H,Z,{position:{lineNumber:M,column:Ve},preference:S._posPref}),void 0),Be)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(j<Y.getLineCount()&&!we(j+1))M+=1;else if(z*re.spaceWidth<22)return this.hide();Ve=/^\S\s*$/.test(Y.getLineContent(M))?2:1}this._state.set(new U.Showing(I,H,Z,{position:{lineNumber:M,column:Ve},preference:S._posPref}),void 0),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const Me=I.validActions,Le=I.validActions[0].action.kind;if(Me.length!==1||!Le){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this._state.get()!==U.Hidden&&(this._state.set(U.Hidden,void 0),this._editor.layoutContentWidget(this))}gutterHide(){this._gutterState.get()!==U.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this._gutterState.set(U.Hidden,void 0))}
42_updateLightBulbTitleAndIcon(I){this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],!(!I||I.isGutter)&&(this._domNode.title=I.title,this._iconClasses=g.L.asClassNameArray(I.icon),this._domNode.classList.add(...this._iconClasses))}_updateGutterDecorationOptions(I){!I||!I.isGutter||(this.gutterDecoration=C.kI.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:g.L.asClassName(I.icon),glyphMargin:{position:b.ZS.Left},stickiness:1}))}renderGutterLightbub(){const I=this._editor.getSelection();I&&(this._gutterDecorationID===void 0?this._addGutterDecoration(I.startLineNumber):this._updateGutterDecoration(this._gutterDecorationID,I.startLineNumber))}_addGutterDecoration(I){this._editor.changeDecorations(H=>{this._gutterDecorationID=H.addDecoration(new o.Q(I,0,I,0),this.gutterDecoration)})}_removeGutterDecoration(I){this._editor.changeDecorations(H=>{H.removeDecoration(I),this._gutterDecorationID=void 0})}_updateGutterDecoration(I,H){this._editor.changeDecorations(Z=>{Z.changeDecoration(I,new o.Q(H,0,H,0)),Z.changeDecorationOptions(I,this.gutterDecoration)})}},S=ne,ne.GUTTER_DECORATION=C.kI.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:g.L.asClassName(x.W.lightBulb),glyphMargin:{position:b.ZS.Left},stickiness:1}),ne.ID="editor.contrib.lightbulbWidget",ne._posPref=[0],ne);te=S=_([E(1,d.b)],te)},28654:(St,We,e)=>{e.d(We,{R9:()=>L,d1:()=>r,jM:()=>g,o5:()=>u,sN:()=>i,sy:()=>C});var v=e(78903),R=e(94327),x=e(64830),T=e(29849),y=e(56307),A=e(85753);async function g(d,l,o,c="auto"){return i(new b,d,l,o,c)}function L(d,l,o,c){return Promise.resolve(o.provideColorPresentations(d,l,c))}class b{constructor(){}async compute(l,o,c,a){const p=await l.provideDocumentColors(o,c);if(Array.isArray(p))for(const _ of p)a.push({colorInfo:_,provider:l});return Array.isArray(p)}}class C{constructor(){}async compute(l,o,c,a){const p=await l.provideDocumentColors(o,c);if(Array.isArray(p))for(const _ of p)a.push({range:_.range,color:[_.color.red,_.color.green,_.color.blue,_.color.alpha]});return Array.isArray(p)}}class u{constructor(l){this.colorInfo=l}async compute(l,o,c,a){const p=await l.provideColorPresentations(o,this.colorInfo,v.XO.None);return Array.isArray(p)&&a.push(...p),Array.isArray(p)}}async function i(d,l,o,c,a){let p=!1,_;const E=[],S=l.ordered(o);for(let h=S.length-1;h>=0;h--){const D=S[h];if(a!=="always"&&D instanceof y.L)_=D;else try{await d.compute(D,o,c,E)&&(p=!0)}catch(k){(0,R.M_)(k)}}return p?E:_&&a!=="never"?(await d.compute(_,o,c,E),E):[]}function r(d,l){const{colorProvider:o}=d.get(T.u),c=d.get(x.S).getModel(l);if(!c)throw(0,R.Qg)();const a=d.get(A.pG).getValue("editor.defaultColorDecorators",{resource:l});return{model:c,colorProviderRegistry:o,defaultColorDecoratorsEnablement:a}}},29277:(St,We,e)=>{var M,Ve;var v=e(67167),R=e(19381),x=e(45933),T=e(87301),y=e(24594),A=e(58039),g=e(5915),L=e(44437),b=e(94327),C=e(1174),u=e(48289),i=e(10998),r=e(27992),d=e(58881);function l(Le){const _e=new Map;for(const Qe of Le)_e.set(Qe,(_e.get(Qe)??0)+1);return _e}class o{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(_e,Qe){const je=this.computeEmbedding(_e),ae=new Map,Ee=[];for(const[Ie,Ue]of this.documents){if(Qe.isCancellationRequested)return[];for(const $e of Ue.chunks){const Ye=this.computeSimilarityScore($e,je,ae);Ye>0&&Ee.push({key:Ie,score:Ye})}}return Ee}static termFrequencies(_e){return l(o.splitTerms(_e))}static*splitTerms(_e){const Qe=je=>je.toLowerCase();for(const[je]of _e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield Qe(je);const ae=je.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(ae.length>1)for(const Ee of ae)Ee.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(Ee)&&(yield Qe(Ee))}}updateDocuments(_e){for(const{key:Qe}of _e)this.deleteDocument(Qe);for(const Qe of _e){const je=[];for(const ae of Qe.textChunks){const Ee=o.termFrequencies(ae);for(const Ie of Ee.keys())this.chunkOccurrences.set(Ie,(this.chunkOccurrences.get(Ie)??0)+1);je.push({text:ae,tf:Ee})}this.chunkCount+=je.length,this.documents.set(Qe.key,{chunks:je})}return this}deleteDocument(_e){const Qe=this.documents.get(_e);if(Qe){this.documents.delete(_e),this.chunkCount-=Qe.chunks.length;
42for(const je of Qe.chunks)for(const ae of je.tf.keys()){const Ee=this.chunkOccurrences.get(ae);if(typeof Ee=="number"){const Ie=Ee-1;Ie<=0?this.chunkOccurrences.delete(ae):this.chunkOccurrences.set(ae,Ie)}}}}computeSimilarityScore(_e,Qe,je){let ae=0;for(const[Ee,Ie]of Object.entries(Qe)){const Ue=_e.tf.get(Ee);if(!Ue)continue;let $e=je.get(Ee);typeof $e!="number"&&($e=this.computeIdf(Ee),je.set(Ee,$e));const Ye=Ue*$e;ae+=Ye*Ie}return ae}computeEmbedding(_e){const Qe=o.termFrequencies(_e);return this.computeTfidf(Qe)}computeIdf(_e){const Qe=this.chunkOccurrences.get(_e)??0;return Qe>0?Math.log((this.chunkCount+1)/Qe):0}computeTfidf(_e){const Qe=Object.create(null);for(const[je,ae]of _e){const Ee=this.computeIdf(je);Ee>0&&(Qe[je]=ae*Ee)}return Qe}}function c(Le){const _e=Le.slice(0);_e.sort((je,ae)=>ae.score-je.score);const Qe=_e[0]?.score??0;if(Qe>0)for(const je of _e)je.score/=Qe;return _e}var a=e(3765),p=e(82096),_=e(85753),E=e(94535),S=e(82399),h=e(56071),D=e(46441),k=e(65958),N=e(78903),W=e(73027),U=e(79359),$;(function(Le){Le[Le.NO_ACTION=0]="NO_ACTION",Le[Le.CLOSE_PICKER=1]="CLOSE_PICKER",Le[Le.REFRESH_PICKER=2]="REFRESH_PICKER",Le[Le.REMOVE_ITEM=3]="REMOVE_ITEM"})($||($={}));function te(Le){const _e=Le;return Array.isArray(_e.items)}function ne(Le){const _e=Le;return!!_e.picks&&_e.additionalPicks instanceof Promise}class V extends i.jG{constructor(_e,Qe){super(),this.prefix=_e,this.options=Qe}provide(_e,Qe,je){const ae=new i.Cm;_e.canAcceptInBackground=!!this.options?.canAcceptInBackground,_e.matchOnLabel=_e.matchOnDescription=_e.matchOnDetail=_e.sortByLabel=!1;let Ee;const Ie=ae.add(new i.HE),Ue=async()=>{Ee?.dispose(!0),_e.busy=!1;const Ye=Ie.value=new i.Cm;Ee=Ye.add(new N.Qi(Qe));const Ce=Ee.token;let He=_e.value.substring(this.prefix.length);this.options?.shouldSkipTrimPickFilter||(He=He.trim());const Ke=this._getPicks(He,Ye,Ce,je),qe=(Te,oe)=>{let q,ue;if(te(Te)?(q=Te.items,ue=Te.active):q=Te,q.length===0){if(oe)return!1;(He.length>0||_e.hideInput)&&this.options?.noResultsPick&&((0,U.Tn)(this.options.noResultsPick)?q=[this.options.noResultsPick(He)]:q=[this.options.noResultsPick])}return _e.items=q,ue&&(_e.activeItems=[ue]),!0},ht=async Te=>{let oe=!1,q=!1;await Promise.all([(async()=>{typeof Te.mergeDelay=="number"&&(await(0,k.wR)(Te.mergeDelay),Ce.isCancellationRequested)||q||(oe=qe(Te.picks,!0))})(),(async()=>{_e.busy=!0;try{const ue=await Te.additionalPicks;if(Ce.isCancellationRequested)return;let J,ve;te(Te.picks)?(J=Te.picks.items,ve=Te.picks.active):J=Te.picks;let De,fe;if(te(ue)?(De=ue.items,fe=ue.active):De=ue,De.length>0||!oe){let Se;if(!ve&&!fe){const pe=_e.activeItems[0];pe&&J.indexOf(pe)!==-1&&(Se=pe)}qe({items:[...J,...De],active:ve||fe||Se})}}finally{Ce.isCancellationRequested||(_e.busy=!1),q=!0}})()])};if(Ke!==null)if(ne(Ke))await ht(Ke);else if(!(Ke instanceof Promise))qe(Ke);else{_e.busy=!0;try{const Te=await Ke;if(Ce.isCancellationRequested)return;ne(Te)?await ht(Te):qe(Te)}finally{Ce.isCancellationRequested||(_e.busy=!1)}}};ae.add(_e.onDidChangeValue(()=>Ue())),Ue(),ae.add(_e.onDidAccept(Ye=>{if(je?.handleAccept){Ye.inBackground||_e.hide(),je.handleAccept?.(_e.activeItems[0],Ye.inBackground);return}const[Ce]=_e.selectedItems;if(typeof Ce?.accept=="function"){if((0,W.Bz)(_e.keyMods)&&!!Ce.attach){Ce.attach(_e.keyMods,Ye);return}Ye.inBackground||_e.hide(),Ce.accept(_e.keyMods,Ye)}}));const $e=async(Ye,Ce)=>{if(typeof Ce.trigger!="function")return;const He=Ce.buttons?.indexOf(Ye)??-1;if(He>=0){const Ke=Ce.trigger(He,_e.keyMods),qe=typeof Ke=="number"?Ke:await Ke;if(Qe.isCancellationRequested)return;switch(qe){case $.NO_ACTION:break;case $.CLOSE_PICKER:_e.hide();break;case $.REFRESH_PICKER:Ue();break;case $.REMOVE_ITEM:{const ht=_e.items.indexOf(Ce);if(ht!==-1){const Te=_e.items.slice(),oe=Te.splice(ht,1),q=_e.activeItems.filter(J=>J!==oe[0]),ue=_e.keepScrollPosition;_e.keepScrollPosition=!0,_e.items=Te,q&&(_e.activeItems=q),_e.keepScrollPosition=ue}break}}}};return ae.add(_e.onDidTriggerItemButton(({button:Ye,item:Ce})=>$e(Ye,Ce))),ae.add(_e.onDidTriggerSeparatorButton(({button:Ye,separator:Ce})=>$e(Ye,Ce))),ae}}var I=e(90840),H=e(76243),Z=e(91178),X=function(Le,_e,Qe,je){var ae=arguments.length,Ee=ae<3?_e:je===null?je=Object.getOwnPropertyDescriptor(_e,Qe):je,Ie;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ee=Reflect.decorate(Le,_e,Qe,je);else for(var Ue=Le.length-1;Ue>=0;Ue--)(Ie=Le[Ue])&&(Ee=(ae<3?Ie(Ee):ae>3?Ie(_e,Qe,Ee):Ie(_e,Qe))||Ee);return ae>3&&Ee&&Object.defineProperty(_e,Qe,Ee),Ee},G=function(Le,_e){return function(Qe,je){_e(Qe,je,Le)}},Y,j;let z=(M=class extends V{constructor(_e,Qe,je,ae,Ee,Ie){super(Y.PREFIX,_e),this.keybindingService=je,this.commandService=ae,this.telemetryService=Ee,this.dialogService=Ie,this.commandsHistory=this._register(Qe.createInstance(ie)),this.options=_e}async _getPicks(_e,Qe,je,ae){const Ee=await this.getCommandPicks(je);if(je.isCancellationRequested)return[];const Ie=(0,u.P)(()=>{const qe=new o;qe.updateDocuments(Ee.map(Te=>({key:Te.commandId,textChunks:[this.getTfIdfChunk(Te)]})));const ht=qe.calculateScores(_e,je);return c(ht).filter(Te=>Te.score>Y.TFIDF_THRESHOLD).slice(0,Y.TFIDF_MAX_RESULTS)}),Ue=[];for(const qe of Ee){const ht=Y.WORD_FILTER(_e,qe.label)??void 0;let Te;if(qe.commandAlias&&(Te=Y.WORD_FILTER(_e,qe.commandAlias)??void 0),ht||Te)qe.highlights={label:ht,detail
42:this.options.showAlias?Te:void 0},Ue.push(qe);else if(_e===qe.commandId)Ue.push(qe);else if(_e.length>=3){const oe=Ie();if(je.isCancellationRequested)return[];const q=oe.find(ue=>ue.key===qe.commandId);q&&(qe.tfIdfScore=q.score,Ue.push(qe))}}const $e=new Map;for(const qe of Ue){const ht=$e.get(qe.label);ht?(qe.description=qe.commandId,ht.description=ht.commandId):$e.set(qe.label,qe)}Ue.sort((qe,ht)=>{if(qe.tfIdfScore&&ht.tfIdfScore)return qe.tfIdfScore===ht.tfIdfScore?qe.label.localeCompare(ht.label):ht.tfIdfScore-qe.tfIdfScore;if(qe.tfIdfScore)return 1;if(ht.tfIdfScore)return-1;const Te=this.commandsHistory.peek(qe.commandId),oe=this.commandsHistory.peek(ht.commandId);if(Te&&oe)return Te>oe?-1:1;if(Te)return-1;if(oe)return 1;if(this.options.suggestedCommandIds){const J=this.options.suggestedCommandIds.has(qe.commandId),ve=this.options.suggestedCommandIds.has(ht.commandId);if(J&&ve)return 0;if(J)return-1;if(ve)return 1}const q=qe.commandCategory===Z.L.Developer.value,ue=ht.commandCategory===Z.L.Developer.value;return q&&!ue?1:!q&&ue?-1:qe.label.localeCompare(ht.label)});const Ye=[];let Ce=!1,He=!0,Ke=!!this.options.suggestedCommandIds;for(let qe=0;qe<Ue.length;qe++){const ht=Ue[qe],Te=!!this.commandsHistory.peek(ht.commandId);qe===0&&Te&&(Ye.push({type:"separator",label:(0,a.kg)(1803,"recently used")}),Ce=!0),He&&ht.tfIdfScore!==void 0&&(Ye.push({type:"separator",label:(0,a.kg)(1804,"similar commands")}),He=!1),Ke&&ht.tfIdfScore===void 0&&!Te&&this.options.suggestedCommandIds?.has(ht.commandId)&&(Ye.push({type:"separator",label:(0,a.kg)(1805,"commonly used")}),Ce=!0,Ke=!1),Ce&&ht.tfIdfScore===void 0&&!Te&&!this.options.suggestedCommandIds?.has(ht.commandId)&&(Ye.push({type:"separator",label:(0,a.kg)(1806,"other commands")}),Ce=!1),Ye.push(this.toCommandPick(ht,ae,Te))}return this.hasAdditionalCommandPicks(_e,je)?{picks:Ye,additionalPicks:(async()=>{const qe=await this.getAdditionalCommandPicks(Ee,Ue,_e,je);if(je.isCancellationRequested)return[];const ht=qe.map(Te=>this.toCommandPick(Te,ae));return He&&ht[0]?.type!=="separator"&&ht.unshift({type:"separator",label:(0,a.kg)(1807,"similar commands")}),ht})()}:Ye}toCommandPick(_e,Qe,je=!1){if(_e.type==="separator")return _e;const ae=_e.tooltip??_e.commandDescription?.value,Ee=this.keybindingService.lookupKeybinding(_e.commandId),Ie=Ee?(0,a.kg)(1808,"{0}, {1}",_e.label,Ee.getAriaLabel()):_e.label,Ue=_e.buttons||[],$e=je?[...Ue,{iconClass:d.L.asClassName(g.W.close),tooltip:(0,a.kg)(1809,"Remove from Recently Used")}]:_e.buttons;return{..._e,tooltip:ae,ariaLabel:Ie,detail:this.options.showAlias&&_e.commandAlias!==_e.label?_e.commandAlias:void 0,keybinding:Ee,buttons:$e,accept:async()=>{this.commandsHistory.push(_e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:_e.commandId,from:Qe?.from??"quick open"});try{_e.args?.length?await this.commandService.executeCommand(_e.commandId,..._e.args):await this.commandService.executeCommand(_e.commandId)}catch(Ye){(0,b.MB)(Ye)||this.dialogService.error((0,a.kg)(1810,"Command '{0}' resulted in an error",_e.label),(0,L.r)(Ye))}},trigger:je?(Ye,Ce)=>{const He=Ue.length;return Ye===He?(this.commandsHistory.remove(_e.commandId),$.REMOVE_ITEM):_e.trigger?_e.trigger(Ye,Ce):$.NO_ACTION}:_e.trigger}}getTfIdfChunk({label:_e,commandAlias:Qe,commandDescription:je}){let ae=_e;return Qe&&Qe!==_e&&(ae+=` - ${Qe}`),je&&je.value!==_e&&(ae+=` - ${je.value===je.original?je.value:`${je.value} (${je.original})`}`),ae}},Y=M,M.PREFIX=">",M.TFIDF_THRESHOLD=.5,M.TFIDF_MAX_RESULTS=5,M.WORD_FILTER=(0,C.or)(C.ko,C.J1),M);z=Y=X([G(1,S._Y),G(2,h.b),G(3,p.d),G(4,H.k),G(5,E.X)],z);let ie=(Ve=class extends i.jG{constructor(_e,Qe,je){super(),this.storageService=_e,this.configurationService=Qe,this.logService=je,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(_e=>this.updateConfiguration(_e))),this._register(this.storageService.onWillSaveState(_e=>{_e.reason===I.LP.SHUTDOWN&&this.saveState()}))}updateConfiguration(_e){_e&&!_e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=j.getConfiguredCommandHistoryLength(this.configurationService),j.cache&&j.cache.limit!==this.configuredCommandsHistoryLength&&(j.cache.limit=this.configuredCommandsHistoryLength,j.hasChanges=!0))}load(){const _e=this.storageService.get(j.PREF_KEY_CACHE,0);let Qe;if(_e)try{Qe=JSON.parse(_e)}catch(ae){this.logService.error(`[CommandsHistory] invalid data: ${ae}`)}const je=j.cache=new r.qK(this.configuredCommandsHistoryLength,1);if(Qe){let ae;Qe.usesLRU?ae=Qe.entries:ae=Qe.entries.sort((Ee,Ie)=>Ee.value-Ie.value),ae.forEach(Ee=>je.set(Ee.key,Ee.value))}j.counter=this.storageService.getNumber(j.PREF_KEY_COUNTER,0,j.counter)}push(_e){j.cache&&(j.cache.set(_e,j.counter++),j.hasChanges=!0)}peek(_e){return j.cache?.peek(_e)}remove(_e){j.cache&&(j.cache.delete(_e),j.hasChanges=!0)}saveState(){if(!j.cache||!j.hasChanges)return;const _e={usesLRU:!0,entries:[]};j.cache.forEach((Qe,je)=>_e.entries.push({key:je,value:Qe})),this.storageService.store(j.PREF_KEY_CACHE,JSON.stringify(_e),0,0),this.storageService.store(j.PREF_KEY_COUNTER,j.counter,0,0),j.hasChanges=!1}static getConfiguredCommandHistoryLength(_e){const je=_e.getValue().workbench?.commandPalette?.history;return typeof je=="number"?je:j.DEFAULT_COMMANDS_HISTORY_LENGTH}},j=Ve,Ve.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Ve.PREF_KEY_CACHE="commandPalette.mru.cache",Ve.PREF_KEY_COUNTER="commandPalette.mru.counter",Ve.counter=1,Ve.hasChanges=!1,Ve);
42ie=j=X([G(0,I.CS),G(1,_.pG),G(2,D.rr)],ie);class re extends z{constructor(_e,Qe,je,ae,Ee,Ie){super(_e,Qe,je,ae,Ee,Ie)}getCodeEditorCommandPicks(){const _e=this.activeTextEditorControl;if(!_e)return[];const Qe=[];for(const je of _e.getSupportedActions()){let ae;je.metadata?.description&&((0,A.f)(je.metadata.description)?ae=je.metadata.description:ae={original:je.metadata.description,value:je.metadata.description}),Qe.push({commandId:je.id,commandAlias:je.alias,commandDescription:ae,label:(0,y.pS)(je.label)||je.id})}return Qe}}var de=e(50946),le=e(38122),he=function(Le,_e,Qe,je){var ae=arguments.length,Ee=ae<3?_e:je===null?je=Object.getOwnPropertyDescriptor(_e,Qe):je,Ie;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ee=Reflect.decorate(Le,_e,Qe,je);else for(var Ue=Le.length-1;Ue>=0;Ue--)(Ie=Le[Ue])&&(Ee=(ae<3?Ie(Ee):ae>3?Ie(_e,Qe,Ee):Ie(_e,Qe))||Ee);return ae>3&&Ee&&Object.defineProperty(_e,Qe,Ee),Ee},we=function(Le,_e){return function(Qe,je){_e(Qe,je,Le)}};let xe=class extends re{get activeTextEditorControl(){return this.codeEditorService.getFocusedCodeEditor()??void 0}constructor(_e,Qe,je,ae,Ee,Ie){super({showAlias:!1},_e,je,ae,Ee,Ie),this.codeEditorService=Qe}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};xe=he([we(0,S._Y),we(1,T.T),we(2,h.b),we(3,p.d),we(4,H.k),we(5,E.X)],xe);const Me=class Me extends de.ks{constructor(){super({id:Me.ID,label:x.gf.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:le.R.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(_e){_e.get(W.GK).quickAccess.show(xe.PREFIX)}};Me.ID="editor.action.quickCommand";let Be=Me;(0,de.Fl)(Be),v.O.as(R.Fd.Quickaccess).registerQuickAccessProvider({ctor:xe,prefix:xe.PREFIX,helpEntries:[{description:x.gf.quickCommandHelp,commandId:Be.ID}]})},29762:(St,We,e)=>{e.d(We,{s:()=>l,i:()=>d});var v=e(14333),R=e(77439),x=e(79578),T=e(27969),y=e(5915),A=e(58881),g=e(2106),L=e(10998),b=e(3765),C=e(65568);const u=20,i=4,r="--vscode-toolbar-action-min-width";class d extends L.jG{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(a,p,_={orientation:0}){if(super(),this.container=a,this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new g._B),this.originalPrimaryActions=[],this.originalSecondaryActions=[],this.hiddenActions=[],this.disposables=this._register(new L.Cm),_.hoverDelegate=_.hoverDelegate??this._register((0,C.bW)()),this.options=_,this.toggleMenuAction=this._register(new l(()=>this.toggleMenuActionViewItem?.show(),_.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",a.appendChild(this.element),this.actionBar=this._register(new R.E(this.element,{orientation:_.orientation,ariaLabel:_.ariaLabel,actionRunner:_.actionRunner,allowContextMenu:_.allowContextMenu,highlightToggledItems:_.highlightToggledItems,hoverDelegate:_.hoverDelegate,actionViewItemProvider:(E,S)=>{if(E.id===l.ID)return this.toggleMenuActionViewItem=new x.d(E,{getActions:()=>this.toggleMenuAction.menuActions},p,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:A.L.asClassNameArray(_.moreIcon??y.W.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(_.actionViewItemProvider){const h=_.actionViewItemProvider(E,S);if(h)return h}if(E instanceof T.YH){const h=new x.d(E,E.actions,p,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:E.class,anch
42orAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return h.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(h),this.disposables.add(this._onDidChangeDropdownVisibility.add(h.onDidChangeVisibility)),h}}})),this.options.responsiveBehavior?.enabled){this.element.classList.toggle("responsive",!0),this.element.classList.toggle("responsive-all",this.options.responsiveBehavior.kind==="all"),this.element.classList.toggle("responsive-last",this.options.responsiveBehavior.kind==="last"),this.element.style.setProperty(r,`${this.getConfiguredActionMinWidth()}px`);const E=new ResizeObserver(()=>{this.updateActions(this.getAvailableWidth())});E.observe(this.options.responsiveBehavior?.observedElement??this.element),this._store.add((0,L.s)(()=>E.disconnect()))}}set actionRunner(a){this.actionBar.actionRunner=a}get actionRunner(){return this.actionBar.actionRunner}set context(a){this.actionBar.context=a,this.toggleMenuActionViewItem?.setActionContext(a);for(const p of this.submenuActionViewItems)p.setActionContext(a)}getElement(){return this.element}getItemAction(a){return this.actionBar.getAction(a)}getItemWidth(a){return this.actionBar.getWidth(a)}getItemsLength(){return this.actionBar.length()}setActions(a,p){this.clear(),this.originalPrimaryActions=a?a.slice(0):[],this.originalSecondaryActions=p?p.slice(0):[];const _=a?a.slice(0):[];if(this.hasSecondaryActions=!!(p&&p.length>0),this.hasSecondaryActions&&p&&(this.toggleMenuAction.menuActions=p.slice(0),_.push(this.toggleMenuAction)),_.length>0&&this.options.trailingSeparator&&_.push(new T.wv),_.forEach(E=>{this.actionBar.push(E,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(E)})}),this.updateOverflowClassName(),this.applyResponsiveActionMinWidths(),this.options.responsiveBehavior?.enabled){if(this.hiddenActions.length=0,this.options.responsiveBehavior?.minItems!==void 0){const E=this.options.responsiveBehavior.minItems,S=this.originalPrimaryActions.slice(0,E).reduce((D,k)=>D+this.getActionMinWidth(k),0);let h=0;(this.originalSecondaryActions.length>0||E<this.originalPrimaryActions.length)&&(h=u+i),this.container.style.minWidth=`${S+h}px`,this.element.style.minWidth=`${S+h}px`}else{const E=this.originalPrimaryActions.length>0?this.getActionMinWidth(this.originalPrimaryActions[0]):u+i;this.container.style.minWidth=`${E}px`,this.element.style.minWidth=`${E}px`}this.updateActions(this.getAvailableWidth())}}getKeybindingLabel(a){return this.options.getKeyBinding?.(a)?.getLabel()??void 0}getConfiguredActionMinWidth(a){return a?.id===l.ID?u:this.options.responsiveBehavior?.getActionMinWidth?.(a??this.toggleMenuAction)??this.options.responsiveBehavior?.actionMinWidth??u}getActionMinWidth(a){return this.getConfiguredActionMinWidth(a)+i}getAvailableWidth(){return this.options.responsiveBehavior?.getAvailableWidth?this.options.responsiveBehavior.getAvailableWidth():this.element.getBoundingClientRect().width}applyResponsiveActionMinWidths(){if(!this.options.responsiveBehavior?.enabled)return;if(this.options.responsiveBehavior.kind==="last"){const _=this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-2:this.actionBar.length()-1,E=_>=0?this.actionBar.getAction(_):void 0,S=`${this.getConfiguredActionMinWidth(E)}px`;this.element.style.getPropertyValue(r)!==S&&this.element.style.setProperty(r,S);return}const a=this.actionBar.getContainer().firstElementChild;if((0,v.sb)(a))for(let p=0;p<a.children.length;p++){const _=a.children.item(p);if(!(0,v.sb)(_))continue;const E=this.actionBar.getAction(p),S=`${this.getConfiguredActionMinWidth(E)}px`;_.style.minWidth!==S&&(_.style.minWidth=S)}}updateActions(a){if(this.actionBar.isEmpty())return;this.applyResponsiveActionMinWidths();const p=parseInt(this.element.style.minWidth);a=Math.max(a,Number.isNaN(p)?0:p);const _=h=>{if(this.options.responsiveBehavior?.kind==="last"){const D=this.actionBar.hasAction(this.toggleMenuAction),k=D?this.actionBar.length()-1:this.actionBar.length();if(k===0)return D?u+i:0;let N=0;for(let U=0;U<k-1;U++)N+=this.actionBar.getWidth(U)+i;const W=this.actionBar.getAction(k-1);return N+=h?this.actionBar.getWidth(k-1):this.getActionMinWidth(W),N+=D?u+i:0,N}else{let D=0;for(let k=0;k<this.actionBar.length();k++)D+=h?this.actionBar.getWidth(k):this.getActionMinWidth(this.actionBar.getAction(k));return D}},E=_(!1);if(E<=a&&this.hiddenActions.length===0)return;if(E>
42a){if(this.options.responsiveBehavior?.minItems!==void 0&&(this.actionBar.hasAction(this.toggleMenuAction)?this.actionBar.length()-1:this.actionBar.length())<=this.options.responsiveBehavior.minItems)return;for(;_(!1)>a&&this.actionBar.length()>0;){const h=this.originalPrimaryActions.length-this.hiddenActions.length-1;if(h<0)break;const D=this.originalPrimaryActions[h],k=Math.min(this.getActionMinWidth(D),this.getItemWidth(h));this.hiddenActions.unshift({action:D,size:k}),this.actionBar.pull(h),this.originalSecondaryActions.length===0&&this.hiddenActions.length===1&&(this.actionBar.push(this.toggleMenuAction,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(this.toggleMenuAction)}),this.updateOverflowClassName()),this.applyResponsiveActionMinWidths()}}else for(;this.hiddenActions.length>0;){const h=this.hiddenActions.shift();if(_(!0)+h.size>a){this.hiddenActions.unshift(h);break}this.actionBar.push(h.action,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(h.action),index:this.originalPrimaryActions.length-this.hiddenActions.length-1}),this.originalSecondaryActions.length===0&&this.hiddenActions.length===0&&(this.toggleMenuAction.menuActions=[],this.actionBar.pull(this.actionBar.length()-1),this.updateOverflowClassName()),this.applyResponsiveActionMinWidths()}const S=this.hiddenActions.map(h=>h.action);if(this.originalSecondaryActions.length>0||S.length>0){const h=this.originalSecondaryActions.slice(0);this.toggleMenuAction.menuActions=T.wv.join(S,h)}this.updateOverflowClassName(),this.applyResponsiveActionMinWidths()}updateOverflowClassName(){this.actionBar.domNode.classList.toggle("has-overflow",this.actionBar.hasAction(this.toggleMenuAction))}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),this.element.remove(),super.dispose()}}const o=class o extends T.rc{constructor(a,p){p=p||(0,b.kg)(19,"More Actions..."),super(o.ID,p,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=a}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(a){this._menuActions=a}};o.ID="toolbar.toggle.more";let l=o},29795:(St,We,e)=>{var Qt,gi;e.d(We,{T:()=>xt});var v=e(14333),R=e(97393),x=e(94327),T=e(2106),y=e(41807),A=e(10998),g=e(73678),L=e(71285),b=e(31540),C=e(82399),u=e(30657),i=e(24975),r=e(44023),d=e(80816),l=e(15365),o=e(28061),c=e(12596),a=e(38122),p=e(50946),_=e(87301),E=e(80878),S=e(65014),h=e(13021),D=e(77439),k=e(16831),N=e(13338),W=e(5915),U=e(58881),$=e(25837),te=e(2744),ne=e(66476),V=e(77011),I=e(39331),H=e(77922),Z=e(57445),X=e(39723),G=e(11608),Y=e(3765),j=e(11210),z=e(27969),ie=e(39084),re=e(99859),de=e(96016),le=e(47936),he=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},we=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}};const xe=(0,j.pU)("diff-review-insert",W.W.add,(0,Y.kg)(113,"Icon for 'Insert' in accessible diff viewer.")),Be=(0,j.pU)("diff-review-remove",W.W.remove,(0,Y.kg)(114,"Icon for 'Remove' in accessible diff viewer.")),M=(0,j.pU)("diff-review-close",W.W.close,(0,Y.kg)(115,"Icon for 'Close' in accessible diff viewer."));let Ve=(Qt=class extends A.jG{constructor(ot,ge,Ze,at,Et,Ft,qt,Li,Ni){super(),this._parentNode=ot,this._visible=ge,this._setVisible=Ze,this._canClose=at,this._width=Et,this._height=Ft,this._diffs=qt,this._models=Li,this._instantiationService=Ni,this._state=(0,re.un)(this,xi=>{const Ci=this._visible.read(xi);if(this._parentNode.style.visibility=Ci?"visible":"hidden",!Ci)return null;const Di=xi.store.add(this._instantiationService.createInstance(Me,this._diffs,this._models,this._setVisible,this._canClose)),Fi=xi.store.add(this._instantiationService.createInstance($e,this._parentNode,Di,this._width,this._height,this._models));return{model:Di,view:Fi}}).recomputeInitiallyAndOnChange(this._store)}
42next(){(0,ie.Rn)(ot=>{const ge=this._visible.get();this._setVisible(!0,ot),ge&&this._state.get().model.nextGroup(ot)})}prev(){(0,ie.Rn)(ot=>{this._setVisible(!0,ot),this._state.get().model.previousGroup(ot)})}close(){(0,ie.Rn)(ot=>{this._setVisible(!1,ot)})}},Qt._ttPolicy=(0,h.H)("diffReview",{createHTML:ot=>ot}),Qt);Ve=he([we(8,C._Y)],Ve);let Me=class extends A.jG{constructor(ot,ge,Ze,at,Et){super(),this._diffs=ot,this._models=ge,this._setVisible=Ze,this.canClose=at,this._accessibilitySignalService=Et,this._groups=(0,de.FY)(this,[]),this._currentGroupIdx=(0,de.FY)(this,0),this._currentElementIdx=(0,de.FY)(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((Ft,qt)=>this._groups.read(qt)[Ft]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((Ft,qt)=>this.currentGroup.read(qt)?.lines[Ft]),this._register((0,le.fm)(Ft=>{const qt=this._diffs.read(Ft);if(!qt){this._groups.set([],void 0);return}const Li=_e(qt,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());(0,ie.Rn)(Ni=>{const xi=this._models.getModifiedPosition();if(xi){const Ci=Li.findIndex(Di=>xi?.lineNumber<Di.range.modified.endLineNumberExclusive);Ci!==-1&&this._currentGroupIdx.set(Ci,Ni)}this._groups.set(Li,Ni)})})),this._register((0,le.fm)(Ft=>{const qt=this.currentElement.read(Ft);qt?.type===Qe.Deleted?this._accessibilitySignalService.playSignal(L.Rh.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):qt?.type===Qe.Added&&this._accessibilitySignalService.playSignal(L.Rh.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register((0,le.fm)(Ft=>{const qt=this.currentElement.read(Ft);if(qt&&qt.type!==Qe.Header){const Li=qt.modifiedLineNumber??qt.diff.modified.startLineNumber;this._models.modifiedSetSelection(o.Q.fromPositions(new l.y(Li,1)))}}))}_goToGroupDelta(ot,ge){const Ze=this.groups.get();!Ze||Ze.length<=1||(0,ie.PO)(ge,at=>{this._currentGroupIdx.set(V.L.ofLength(Ze.length).clipCyclic(this._currentGroupIdx.get()+ot),at),this._currentElementIdx.set(0,at)})}nextGroup(ot){this._goToGroupDelta(1,ot)}previousGroup(ot){this._goToGroupDelta(-1,ot)}_goToLineDelta(ot){const ge=this.currentGroup.get();!ge||ge.lines.length<=1||(0,ie.Rn)(Ze=>{this._currentElementIdx.set(V.L.ofLength(ge.lines.length).clip(this._currentElementIdx.get()+ot),Ze)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(ot){const ge=this.currentGroup.get();if(!ge)return;const Ze=ge.lines.indexOf(ot);Ze!==-1&&(0,ie.Rn)(at=>{this._currentElementIdx.set(Ze,at)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const ot=this.currentElement.get();ot&&(ot.type===Qe.Deleted?this._models.originalReveal(o.Q.fromPositions(new l.y(ot.originalLineNumber,1))):this._models.modifiedReveal(ot.type!==Qe.Header?o.Q.fromPositions(new l.y(ot.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};Me=he([we(4,L.Nt)],Me);const Le=3;function _e(bi,ot,ge){const Ze=[];for(const at of(0,N.n)(bi,(Et,Ft)=>Ft.modified.startLineNumber-Et.modified.endLineNumberExclusive<2*Le)){const Et=[];Et.push(new ae);const Ft=new d.M(Math.max(1,at[0].original.startLineNumber-Le),Math.min(at[at.length-1].original.endLineNumberExclusive+Le,ot+1)),qt=new d.M(Math.max(1,at[0].modified.startLineNumber-Le),Math.min(at[at.length-1].modified.endLineNumberExclusive+Le,ge+1));(0,N.pN)(at,(xi,Ci)=>{const Di=new d.M(xi?xi.original.endLineNumberExclusive:Ft.startLineNumber,Ci?Ci.original.startLineNumber:Ft.endLineNumberExclusive),Fi=new d.M(xi?xi.modified.endLineNumberExclusive:qt.startLineNumber,Ci?Ci.modified.startLineNumber:qt.endLineNumberExclusive);Di.forEach(Gi=>{Et.push(new Ue(Gi,Fi.startLineNumber+(Gi-Di.startLineNumber)))}),Ci&&(Ci.original.forEach(Gi=>{Et.push(new Ee(Ci,Gi))}),Ci.modified.forEach(Gi=>{Et.push(new Ie(Ci,Gi))}))});const Li=at[0].modified.join(at[at.length-1].modified),Ni=at[0].original.join(at[at.length-1].original);Ze.push(new je(new I.WL(Li,Ni),Et))}return Ze}var Qe;(function(bi){bi[bi.Header=0]="Header",bi[bi.Unchanged=1]="Unchanged",bi[bi.Deleted=2]="Deleted",bi[bi.Added=3]="Added"})(Qe||(Qe={}));
42class je{constructor(ot,ge){this.range=ot,this.lines=ge}}class ae{constructor(){this.type=Qe.Header}}class Ee{constructor(ot,ge){this.diff=ot,this.originalLineNumber=ge,this.type=Qe.Deleted,this.modifiedLineNumber=void 0}}class Ie{constructor(ot,ge){this.diff=ot,this.modifiedLineNumber=ge,this.type=Qe.Added,this.originalLineNumber=void 0}}class Ue{constructor(ot,ge){this.originalLineNumber=ot,this.modifiedLineNumber=ge,this.type=Qe.Unchanged}}let $e=class extends A.jG{constructor(ot,ge,Ze,at,Et,Ft){super(),this._element=ot,this._model=ge,this._width=Ze,this._height=at,this._models=Et,this._languageService=Ft,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const qt=document.createElement("div");qt.className="diff-review-actions",this._actionBar=this._register(new D.E(qt)),this._register((0,le.fm)(Li=>{this._actionBar.clear(),this._model.canClose.read(Li)&&this._actionBar.push((0,z.ih)({id:"diffreview.close",label:(0,Y.kg)(116,"Close"),class:"close-diff-review "+U.L.asClassName(M),enabled:!0,run:async()=>ge.close()}),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new k.MU(this._content,{})),(0,v.Ln)(this.domNode,this._scrollbar.getDomNode(),qt),this._register((0,le.fm)(Li=>{this._height.read(Li),this._width.read(Li),this._scrollbar.scanDomNode()})),this._register((0,A.s)(()=>{(0,v.Ln)(this.domNode)})),this._register((0,te.AV)(this.domNode,{width:this._width,height:this._height})),this._register((0,te.AV)(this._content,{width:this._width,height:this._height})),this._register((0,le.yC)((Li,Ni)=>{this._model.currentGroup.read(Li),this._render(Ni)})),this._register((0,v.un)(this.domNode,"keydown",Li=>{(Li.equals(18)||Li.equals(2066)||Li.equals(530))&&(Li.preventDefault(),this._model.goToNextLine()),(Li.equals(16)||Li.equals(2064)||Li.equals(528))&&(Li.preventDefault(),this._model.goToPreviousLine()),(Li.equals(9)||Li.equals(2057)||Li.equals(521)||Li.equals(1033))&&(Li.preventDefault(),this._model.close()),(Li.equals(10)||Li.equals(3))&&(Li.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(ot){const ge=this._models.getOriginalOptions(),Ze=this._models.getModifiedOptions(),at=document.createElement("div");at.className="diff-review-table",at.setAttribute("role","list"),at.setAttribute("aria-label",(0,Y.kg)(117,"Accessible Diff Viewer. Use arrow up and down to navigate.")),(0,$.M)(at,Ze.get(59)),(0,v.Ln)(this._content,at);const Et=this._models.getOriginalModel(),Ft=this._models.getModifiedModel();if(!Et||!Ft)return;const qt=Et.getOptions(),Li=Ft.getOptions(),Ni=Ze.get(75),xi=this._model.currentGroup.get();for(const Ci of xi?.lines||[]){if(!xi)break;let Di;if(Ci.type===Qe.Header){const Gi=document.createElement("div");Gi.className="diff-review-row",Gi.setAttribute("role","listitem");const Xi=xi.range,tn=this._model.currentGroupIndex.get(),yn=this._model.groups.get().length,Gn=kn=>kn===0?(0,Y.kg)(118,"no lines changed"):kn===1?(0,Y.kg)(119,"1 line changed"):(0,Y.kg)(120,"{0} lines changed",kn),Ys=Gn(Xi.original.length),nn=Gn(Xi.modified.length);Gi.setAttribute("aria-label",(0,Y.kg)(121,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",tn+1,yn,Xi.original.startLineNumber,Ys,Xi.modified.startLineNumber,nn));const Cn=document.createElement("div");Cn.className="diff-review-cell diff-review-summary",Cn.appendChild(document.createTextNode(`${tn+1}/${yn}: @@ -${Xi.original.startLineNumber},${Xi.original.length} +${Xi.modified.startLineNumber},${Xi.modified.length} @@`)),Gi.appendChild(Cn),Di=Gi}else Di=this._createRow(Ci,Ni,this._width.get(),ge,Et,qt,Ze,Ft,Li);at.appendChild(Di);const Fi=(0,re.un)(Gi=>this._model.currentElement.read(Gi)===Ci);ot.add((0,le.fm)(Gi=>{const Xi=Fi.read(Gi);Di.tabIndex=Xi?0:-1,Xi&&Di.focus()})),ot.add((0,v.ko)(Di,"focus",()=>{this._model.goToLine(Ci)}))}this._scrollbar.scanDomNode()}_createRow(ot,ge,Ze,at,Et,Ft,qt,Li,Ni){const xi=at.get(165),Ci=xi.glyphMarginWidth+xi.lineNumbersWidth,Di=qt.get(165),Fi=10+Di.glyphMarginWidth+Di.lineNumbersWidth;let Gi="diff-review-row",Xi="";const tn="diff-review-spacer";let yn=null;switch(ot.type){case Qe.Added:Gi="diff-review-row line-insert",Xi=" char-insert",yn=xe;break;case Qe.Deleted:Gi="diff-review-row line-delete",Xi=" char-delete",yn=Be;break}const Gn=document.createElement("div");Gn.style.minWidth=Ze+"px",Gn.className=Gi,Gn.setAttribute("role","listitem"),Gn.ariaLevel="";const Ys=document.createElement("div");Ys.className="diff-review-cell",Ys.style.height=`${ge}px`,Gn.appendChild(Ys);const nn=document.createElement("span");nn.style.width=Ci+"px",nn.style.minWidth=Ci+"px",nn.className="diff-review-line-number"+Xi,ot.originalLineNumber!==void 0?nn.appendChild(document.createTextNode(String(ot.originalLineNumber))):nn.innerText="\xA0",Ys.appendChild(nn);const Cn=document.createElement("span");Cn.style.width=Fi+"px",Cn.style.minWidth=Fi+"px",Cn.style.paddingRight="10px",Cn.className="diff-review-line-number"+Xi,ot.modifiedLineNumber!==void 0?Cn.appendChild(document.createTextNode(String(ot.modifiedLineNumber))):Cn.innerText="\xA0",Ys.appendChild(Cn);const kn=document.createElement("span");if(kn.className=tn,yn){const xs=document.createElement("span");xs.className=U.L.asClassName(yn),xs.innerText="\xA0\xA0",kn.appendChild(xs)}else kn.innerText="\xA0\xA0";Ys.appendChild(kn);let Ds;if(ot.modifiedLineNumber!==void 0){let xs=this._getLineHtml(Li,qt,Ni.tabSize,ot.modifiedLineNumber,this._languageService.languageIdCodec);Ve._ttPolicy&&(xs=Ve._ttPolicy.createHTML(xs)),Ys.insertAdjacentHTML("beforeend",xs),Ds=Li.getLineContent(ot.modifiedLineNumber)}else{let xs=this._getLineHtml(Et,at,Ft.tabSize,ot.originalLineNumber,this._languageService.languageIdCodec);Ve._ttPolicy&&(xs=Ve._ttPolicy.createHTML(xs)),Ys.insertAdjacentHTML("beforeend",xs),Ds=Et.getLineContent(ot.originalLineNumber)}Ds.length===0&&(Ds=(0,Y.kg)(122,"blank"));let Gs="";
42switch(ot.type){case Qe.Unchanged:ot.originalLineNumber===ot.modifiedLineNumber?Gs=(0,Y.kg)(123,"{0} unchanged line {1}",Ds,ot.originalLineNumber):Gs=(0,Y.kg)(124,"{0} original line {1} modified line {2}",Ds,ot.originalLineNumber,ot.modifiedLineNumber);break;case Qe.Added:Gs=(0,Y.kg)(125,"+ {0} modified line {1}",Ds,ot.modifiedLineNumber);break;case Qe.Deleted:Gs=(0,Y.kg)(126,"- {0} original line {1}",Ds,ot.originalLineNumber);break}return Gn.setAttribute("aria-label",Gs),Gn}_getLineHtml(ot,ge,Ze,at,Et){const Ft=ot.getLineContent(at),qt=ge.get(59),Li=ge.get(117).verticalScrollbarSize,Ni=Z.f7.createEmpty(Ft,Et),xi=G.qL.isBasicASCII(Ft,ot.mightContainNonBasicASCII()),Ci=G.qL.containsRTL(Ft,xi,ot.mightContainRTL());return(0,X.Md)(new X.zL(qt.isMonospace&&!ge.get(40),qt.canUseHalfwidthRightwardsArrow,Ft,!1,xi,Ci,0,Ni,[],Ze,0,qt.spaceWidth,qt.middotWidth,qt.wsmiddotWidth,ge.get(133),ge.get(113),ge.get(108),ge.get(60)!==ne.Bc.OFF,null,null,Li)).html}};$e=he([we(5,H.L)],$e);class Ye{constructor(ot){this.editors=ot}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(ot){this.editors.original.revealRange(ot),this.editors.original.setSelection(ot),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(ot){ot&&(this.editors.modified.revealRange(ot),this.editors.modified.setSelection(ot)),this.editors.modified.focus()}modifiedSetSelection(ot){this.editors.modified.setSelection(ot)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){return this.editors.modified.getPosition()??void 0}}var Ce=e(13784),He=e(97148),Ke=e(46933),qe=e(68541),ht=e(47624);const ai=class ai extends A.jG{constructor(ot,ge,Ze,at,Et){super(),this._rootElement=ot,this._diffModel=ge,this._originalEditorLayoutInfo=Ze,this._modifiedEditorLayoutInfo=at,this._editors=Et,this._originalScrollTop=(0,Ke.y0)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,Ke.y0)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,qe.y)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,de.FY)(this,0),this._modifiedViewZonesChangedSignal=(0,qe.y)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,qe.y)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,re.un)(this,xi=>{this._element.replaceChildren();const Ci=this._diffModel.read(xi),Di=Ci?.diff.read(xi)?.movedTexts;if(!Di||Di.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(xi);const Fi=this._originalEditorLayoutInfo.read(xi),Gi=this._modifiedEditorLayoutInfo.read(xi);if(!Fi||!Gi){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(xi),this._originalViewZonesChangedSignal.read(xi);const Xi=Di.map(kn=>{function Ds(as,vs){const Ns=vs.getTopForLineNumber(as.startLineNumber,!0),Er=vs.getTopForLineNumber(as.endLineNumberExclusive,!0);return(Ns+Er)/2}const Gs=Ds(kn.lineRangeMapping.original,this._editors.original),xs=this._originalScrollTop.read(xi),Ms=Ds(kn.lineRangeMapping.modified,this._editors.modified),$n=this._modifiedScrollTop.read(xi),_s=Gs-xs,ao=Ms-$n,ks=Math.min(Gs,Ms),Fs=Math.max(Gs,Ms);return{range:new V.L(ks,Fs),from:_s,to:ao,fromWithoutScroll:Gs,toWithoutScroll:Ms,move:kn}});Xi.sort((0,N.nH)((0,N.VE)(kn=>kn.fromWithoutScroll>kn.toWithoutScroll,N.TS),(0,N.VE)(kn=>kn.fromWithoutScroll>kn.toWithoutScroll?kn.fromWithoutScroll:-kn.toWithoutScroll,N.U9)));const tn=oe.compute(Xi.map(kn=>kn.range)),yn=10,Gn=Fi.verticalScrollbarWidth,Ys=(tn.getTrackCount()-1)*10+yn*2,nn=Gn+Ys+(Gi.contentLeft-ai.movedCodeBlockPadding);let Cn=0;for(const kn of Xi){const Ds=tn.getTrack(Cn),Gs=Gn+yn+Ds*10,xs=15,Ms=15,$n=nn,_s=Gi.glyphMarginWidth+Gi.lineNumbersWidth,ao=18,ks=document.createElementNS("http://www.w3.org/2000/svg","rect");ks.classList.add("arrow-rectangle"),ks.setAttribute("x",`${$n-_s}`),ks.setAttribute("y",`${kn.to-ao/2}`),ks.setAttribute("width",`${_s}`),ks.setAttribute("height",`${ao}`),this._element.appendChild(ks);const Fs=document.createElementNS("http://www.w3.org/2000/svg","g"),as=document.createElementNS("http://www.w3.org/2000/svg","path");as.setAttribute("d",`M 0 ${kn.from} L ${Gs} ${kn.from} L ${Gs} ${kn.to} L ${$n-Ms} ${kn.to}`),as.setAttribute("fill","none"),Fs.appendChild(as);const vs=document.createElementNS("http://www.w3.org/2000/svg","polygon");vs.classList.add("arrow"),xi.store.add((0,le.fm)(Ns=>{as.classList.toggle("currentMove",kn.move===Ci.activeMovedText.read(Ns)),vs.classList.toggle("currentMove",kn.move===Ci.activeMovedText.read(Ns))})),vs.setAttribute("points",`${$n-Ms},${kn.to-xs/2} ${$n},${kn.to} ${$n-Ms},${kn.to+xs/2}`),Fs.appendChild(vs),this._element.appendChild(Fs),Cn++}this.width.set(Ys,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register((0,A.s)(()=>this._element.remove())),this._register((0,le.fm)(xi=>{const Ci=this._originalEditorLayoutInfo.read(xi),Di=this._modifiedEditorLayoutInfo.read(xi);!Ci||!Di||(this._element.style.left=`${Ci.width-Ci.verticalScrollbarWidth}px`,this._element.style.height=`${Ci.height}
42px`,this._element.style.width=`${Ci.verticalScrollbarWidth+Ci.contentLeft-ai.movedCodeBlockPadding+this.width.read(xi)}px`)})),this._register((0,He.OI)(this._state));const Ft=(0,re.un)(xi=>{const Di=this._diffModel.read(xi)?.diff.read(xi);return Di?Di.movedTexts.map(Fi=>({move:Fi,original:new te.D1((0,ht.l)(Fi.lineRangeMapping.original.startLineNumber-1),18),modified:new te.D1((0,ht.l)(Fi.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register((0,te.Vs)(this._editors.original,Ft.map(xi=>xi.map(Ci=>Ci.original)))),this._register((0,te.Vs)(this._editors.modified,Ft.map(xi=>xi.map(Ci=>Ci.modified)))),this._register((0,le.yC)((xi,Ci)=>{const Di=Ft.read(xi);for(const Fi of Di)Ci.add(new q(this._editors.original,Fi.original,Fi.move,"original",this._diffModel.get())),Ci.add(new q(this._editors.modified,Fi.modified,Fi.move,"modified",this._diffModel.get()))}));const qt=(0,qe.y)("original.onDidFocusEditorWidget",xi=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>xi(void 0),0))),Li=(0,qe.y)("modified.onDidFocusEditorWidget",xi=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>xi(void 0),0)));let Ni="modified";this._register((0,le.Y)({changeTracker:{createChangeSummary:()=>{},handleChange:(xi,Ci)=>(xi.didChange(qt)&&(Ni="original"),xi.didChange(Li)&&(Ni="modified"),!0)}},xi=>{qt.read(xi),Li.read(xi);const Ci=this._diffModel.read(xi);if(!Ci)return;const Di=Ci.diff.read(xi);let Fi;if(Di&&Ni==="original"){const Gi=this._editors.originalCursor.read(xi);Gi&&(Fi=Di.movedTexts.find(Xi=>Xi.lineRangeMapping.original.contains(Gi.lineNumber)))}if(Di&&Ni==="modified"){const Gi=this._editors.modifiedCursor.read(xi);Gi&&(Fi=Di.movedTexts.find(Xi=>Xi.lineRangeMapping.modified.contains(Gi.lineNumber)))}Fi!==Ci.movedTextToCompare.read(void 0)&&Ci.movedTextToCompare.set(void 0,void 0),Ci.setActiveMovedText(Fi)}))}};ai.movedCodeBlockPadding=4;let Te=ai;class oe{static compute(ot){const ge=[],Ze=[];for(const at of ot){let Et=ge.findIndex(Ft=>!Ft.intersectsStrict(at));Et===-1&&(ge.length>=6?Et=(0,R.TM)(ge,(0,N.VE)(qt=>qt.intersectWithRangeLength(at),N.U9)):(Et=ge.length,ge.push(new V.h))),ge[Et].addRange(at),Ze.push(Et)}return new oe(ge.length,Ze)}constructor(ot,ge){this._trackCount=ot,this.trackPerLineIdx=ge}getTrack(ot){return this.trackPerLineIdx[ot]}getTrackCount(){return this._trackCount}}class q extends te.uN{constructor(ot,ge,Ze,at,Et){const Ft=(0,v.h)("div.diff-hidden-lines-widget");super(ot,ge,Ft.root),this._editor=ot,this._move=Ze,this._kind=at,this._diffModel=Et,this._nodes=(0,v.h)("div.diff-moved-code-block",{style:{marginRight:"4px"}},[(0,v.h)("div.text-content@textContent"),(0,v.h)("div.action-bar@actionBar")]),Ft.root.appendChild(this._nodes.root);const qt=(0,Ke.y0)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register((0,te.AV)(this._nodes.root,{paddingRight:qt.map(Di=>Di.verticalScrollbarWidth)}));let Li;Ze.changes.length>0?Li=this._kind==="original"?(0,Y.kg)(147,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,Y.kg)(148,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):Li=this._kind==="original"?(0,Y.kg)(149,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,Y.kg)(150,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const Ni=this._register(new D.E(this._nodes.actionBar,{highlightToggledItems:!0})),xi=new z.rc("",Li,"",!1);Ni.push(xi,{icon:!1,label:!0});const Ci=new z.rc("","Compare",U.L.asClassName(W.W.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===Ze?void 0:this._move,void 0)});this._register((0,le.fm)(Di=>{const Fi=this._diffModel.movedTextToCompare.read(Di)===Ze;Ci.checked=Fi})),Ni.push(Ci,{icon:!1,label:!0})}}var ue=e(36811);class J extends A.jG{constructor(ot,ge,Ze,at){super(),this._editors=ot,this._diffModel=ge,this._options=Ze,this._decorations=(0,re.un)(this,Et=>{const Ft=this._diffModel.read(Et),qt=Ft?.diff.read(Et);if(!qt)return null;const Li=this._diffModel.read(Et).movedTextToCompare.read(Et),Ni=this._options.renderIndicators.read(Et),xi=this._options.showEmptyDecorations.read(Et),Ci=[],Di=[];if(!Li)for(const Gi of qt.mappings)if(Gi.lineRangeMapping.original.isEmpty||Ci.push({range:Gi.lineRangeMapping.original.toInclusiveRange(),options:Ni?ue.Ob:ue.XT}),Gi.lineRangeMapping.modified.isEmpty||Di.push({range:Gi.lineRangeMapping.modified.toInclusiveRange(),options:Ni?ue.Kl:ue.Zw}
42),Gi.lineRangeMapping.modified.isEmpty||Gi.lineRangeMapping.original.isEmpty)Gi.lineRangeMapping.original.isEmpty||Ci.push({range:Gi.lineRangeMapping.original.toInclusiveRange(),options:ue.KL}),Gi.lineRangeMapping.modified.isEmpty||Di.push({range:Gi.lineRangeMapping.modified.toInclusiveRange(),options:ue.Ou});else{const Xi=this._options.useTrueInlineDiffRendering.read(Et)&&(0,Ce.l9)(Gi.lineRangeMapping);for(const tn of Gi.lineRangeMapping.innerChanges||[])if(Gi.lineRangeMapping.original.contains(tn.originalRange.startLineNumber)&&Ci.push({range:tn.originalRange,options:tn.originalRange.isEmpty()&&xi?ue.wp:ue.Zb}),Gi.lineRangeMapping.modified.contains(tn.modifiedRange.startLineNumber)&&Di.push({range:tn.modifiedRange,options:tn.modifiedRange.isEmpty()&&xi&&!Xi?ue.GM:ue.bk}),Xi){const yn=Ft.model.original.getValueInRange(tn.originalRange);Di.push({range:tn.modifiedRange,options:{description:"deleted-text",before:{content:yn,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(Li)for(const Gi of Li.changes){const Xi=Gi.original.toInclusiveRange();Xi&&Ci.push({range:Xi,options:Ni?ue.Ob:ue.XT});const tn=Gi.modified.toInclusiveRange();tn&&Di.push({range:tn,options:Ni?ue.Kl:ue.Zw});for(const yn of Gi.innerChanges||[])Ci.push({range:yn.originalRange,options:ue.Zb}),Di.push({range:yn.modifiedRange,options:ue.bk})}const Fi=this._diffModel.read(Et).activeMovedText.read(Et);for(const Gi of qt.movedTexts)Ci.push({range:Gi.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(Gi===Fi?" currentMove":""),blockPadding:[Te.movedCodeBlockPadding,0,Te.movedCodeBlockPadding,Te.movedCodeBlockPadding]}}),Di.push({range:Gi.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(Gi===Fi?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:Ci,modifiedDecorations:Di}}),this._register((0,te.pY)(this._editors.original,this._decorations.map(Et=>Et?.originalDecorations||[]))),this._register((0,te.pY)(this._editors.modified,this._decorations.map(Et=>Et?.modifiedDecorations||[])))}}var ve=e(61988),De=e(27424),fe=e(88122),Se=e(96803),pe=e(87676),Ae=e(18382),Xe=e(75962),dt=e(73858),gt=e(69227),Bt=e(82735),_t=e(75712),ri=e(10680),Gt=e(58687),ei=e(94865),Zt=e(74707),pt=e(89044),Fe=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},st=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}},vt;let Yt=(gi=class extends A.jG{constructor(ot,ge,Ze,at,Et,Ft,qt){super(),this._editors=ot,this._rootElement=ge,this._diffModel=Ze,this._rootWidth=at,this._rootHeight=Et,this._modifiedEditorLayoutInfo=Ft,this._themeService=qt,this.width=vt.ENTIRE_DIFF_OVERVIEW_WIDTH;const Li=(0,Ke.y0)(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),Ni=(0,re.un)(Di=>{const Fi=Li.read(Di),Gi=Fi.getColor(dt.ld)||(Fi.getColor(dt.Gj)||dt.EY).transparent(2),Xi=Fi.getColor(dt.$B)||(Fi.getColor(dt.GN)||dt.ZE).transparent(2);return{insertColor:Gi,removeColor:Xi}}),xi=(0,De.Z)(document.createElement("div"));xi.setClassName("diffViewport"),xi.setPosition("absolute");const Ci=(0,v.h)("div.diffOverview",{style:{position:"absolute",top:"0px",width:vt.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register((0,te.rX)(Ci,xi.domNode)),this._register((0,v.un)(Ci,v.Bx.POINTER_DOWN,Di=>{this._editors.modified.delegateVerticalScrollbarPointerDown(Di)})),this._register((0,v.ko)(Ci,v.Bx.MOUSE_WHEEL,Di=>{this._editors.modified.delegateScrollFromMouseWheelEvent(Di)},{passive:!1})),this._register((0,te.rX)(this._rootElement,Ci)),this._register((0,le.yC)((Di,Fi)=>{const Gi=this._diffModel.read(Di),Xi=this._editors.original.createOverviewRuler("original diffOverviewRuler");Xi&&(Fi.add(Xi),Fi.add((0,te.rX)(Ci,Xi.getDomNode())));const tn=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(tn&&(Fi.add(tn),Fi.add((0,te.rX)(Ci,tn.getDomNode()))),!Xi||!tn)return;const yn=(0,qe.y)("viewZoneChanged",this._editors.original.onDidChangeViewZones),Gn=(0,qe.y)("viewZoneChanged",this._editors.modified.onDidChangeViewZones),Ys=(0,qe.y)("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),nn=(0,qe.y)("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);Fi.add((0,le.fm)(Cn=>{yn.read(Cn),Gn.read(Cn),Ys.read(Cn),nn.read(Cn);const kn=Ni.read(Cn),Ds=Gi?.diff.read(Cn)?.mappings;function Gs($n,_s,ao){const ks=ao._getViewModel();return ks?$n.filter(Fs=>Fs.length>0).map(Fs=>{const as=ks.coordinatesConverter.convertModelPositionToViewPosition(new l.y(Fs.startLineNumber,1)),vs=ks.coordinatesConverter.convertModelPositionToViewPosition(new l.y(Fs.endLineNumberExclusive,1)),Ns=vs.lineNumber-as.lineNumber;return new Se.iE(as.lineNumber,vs.lineNumber,Ns,_s.toString())}):[]}const xs=Gs((Ds||[]).map($n=>$n.lineRangeMapping.original),kn.removeColor,this._editors.original),Ms=Gs((Ds||[]).map($n=>$n.lineRangeMapping.modified),kn.insertColor,this._editors.modified);Xi?.setZones(xs),tn?.setZones(Ms)})),Fi.add((0,le.fm)(Cn=>{const kn=this._rootHeight.read(Cn),Ds=this._rootWidth.read(Cn),Gs=this._modifiedEditorLayoutInfo.read(Cn);if(Gs){const xs=vt.ENTIRE_DIFF_OVERVIEW_WIDTH-2*vt.ONE_OVERVIEW_WIDTH;Xi.setLayout({top:0,height:kn,right:xs+vt.ONE_OVERVIEW_WIDTH,width:vt.ONE_OVERVIEW_WIDTH}),tn.setLayout({top:0,height:kn,right:0,width:vt.ONE_OVERVIEW_WIDTH});const Ms=this._editors.modifiedScrollTop.read(Cn),$n=this._editors.modifiedScrollHeight.read(Cn),_s=this._editors.modified.getOption(117),ao=new fe.m(_s.verticalHasArrows?_s.arrowSize:0,_s.verticalScrollbarSize,0,Gs.height,$n,Ms);xi.setTop(ao.getSliderPosition()),xi.setHeight(ao.getSliderSize())}else xi.setTop(0),xi.setHeight(0);Ci.style.height=kn+"px",Ci.style.left=Ds-vt.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",xi.setWidth(vt.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},vt=gi,gi.ONE_OVERVIEW_WIDTH=15,gi.ENTIRE_DIFF_OVERVIEW_WIDTH=gi.ONE_OVERVIEW_WIDTH*2,gi);Yt=vt=Fe([st(6,pt.Gy)],Yt);var Si=e(56071),Bi=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},pi=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}};let $i=class extends A.jG{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(ot,ge,Ze,at,Et,Ft,qt,Li){super(),this.originalEditorElement=ot,this.modifiedEditorElement=ge,this._options=Ze,this._argCodeEditorWidgetOptions=at,this._createInnerEditor=Et,this._contextKeyService=Ft,this._instantiationService=qt,this._keybindingService=Li,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new T.vl),this.modifiedScrollTop=(0,Ke.y0)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=(0,Ke.y0)(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=(0,ve.U)(this.modified),this.originalObs=(0,ve.U)(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=(0,Ke.y0)(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=(0,re.C)({owner:this,equalsFn:l.y.equals},Ni=>this.modifiedSelections.read(Ni)[0]?.getPosition()??new l.y(1,1)),this.originalCursor=(0,Ke.y0)(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new l.y(1,1)),this.isOriginalFocused=(0,ve.U)(this.original).isFocused,this.isModifiedFocused=(0,ve.U)(this.modified).isFocused,this.isFocused=(0,re.un)(this,Ni=>this.isOriginalFocused.read(Ni)||this.isModifiedFocused.read(Ni)),this._argCodeEditorWidgetOptions=null,this._register((0,le.Y)({changeTracker:{createChangeSummary:()=>({}),handleChange:(Ni,xi)=>(Ni.didChange(Ze.editorOptions)&&Object.assign(xi,Ni.change.changedOptions),!0)}},(Ni,xi)=>{Ze.editorOptions.read(Ni),this._options.renderSideBySide.read(Ni),this.modified.updateOptions(this._adjustOptionsForRightHandSide(Ni,xi)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(Ni,xi))}))}_createLeftHandSideEditor(ot,ge){const Ze=this._adjustOptionsForLeftHandSide(void 0,ot),at=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,Ze,ge),Et=this._contextKeyService.createKey("isInDiffLeftEditor",at.hasWidgetFocus());return this._register(at.onDidFocusEditorWidget(()=>Et.set(!0))),this._register(at.onDidBlurEditorWidget(()=>Et.set(!1))),at}_createRightHandSideEditor(ot,ge){const Ze=this._adjustOptionsForRightHandSide(void 0,ot),at=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,Ze,ge),Et=this._contextKeyService.createKey("isInDiffRightEditor",at.hasWidgetFocus());return this._register(at.onDidFocusEditorWidget(()=>Et.set(!0))),this._register(at.onDidBlurEditorWidget(()=>Et.set(!1))),at}_constructInnerEditor(ot,ge,Ze,at){const Et=this._createInnerEditor(ot,ge,Ze,at);return this._register(Et.onDidContentSizeChange(Ft=>{const qt=this.original.getContentWidth()+this.modified.getContentWidth()+Yt.ENTIRE_DIFF_OVERVIEW_WIDTH,Li=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:Li,contentWidth:qt,contentHeightChanged:Ft.contentHeightChanged,contentWidthChanged:Ft.contentWidthChanged})}
42)),Et}_adjustOptionsForLeftHandSide(ot,ge){const Ze=this._adjustOptionsForSubEditor(ge);return this._options.renderSideBySide.get()?(Ze.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},Ze.wordWrapOverride1=this._options.diffWordWrap.get()):(Ze.wordWrapOverride1="off",Ze.wordWrapOverride2="off",Ze.stickyScroll={enabled:!1},Ze.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),Ze.glyphMargin=this._options.renderSideBySide.get(),ge.originalAriaLabel&&(Ze.ariaLabel=ge.originalAriaLabel),Ze.ariaLabel=this._updateAriaLabel(Ze.ariaLabel),Ze.readOnly=!this._options.originalEditable.get(),Ze.dropIntoEditor={enabled:!Ze.readOnly},Ze.extraEditorClassName="original-in-monaco-diff-editor",Ze}_adjustOptionsForRightHandSide(ot,ge){const Ze=this._adjustOptionsForSubEditor(ge);return ge.modifiedAriaLabel&&(Ze.ariaLabel=ge.modifiedAriaLabel),Ze.ariaLabel=this._updateAriaLabel(Ze.ariaLabel),Ze.wordWrapOverride1=this._options.diffWordWrap.get(),Ze.revealHorizontalRightPadding=ne.qB.revealHorizontalRightPadding.defaultValue+Yt.ENTIRE_DIFF_OVERVIEW_WIDTH,Ze.scrollbar.verticalHasArrows=!1,Ze.extraEditorClassName="modified-in-monaco-diff-editor",Ze}_adjustOptionsForSubEditor(ot){const ge={...ot,dimension:{height:0,width:0}};return ge.inDiffEditor=!0,ge.automaticLayout=!1,ge.allowVariableLineHeights=!1,ge.allowVariableFonts=!1,ge.allowVariableFontsInAccessibilityMode=!1,ge.scrollbar={...ge.scrollbar||{}},ge.folding=!1,ge.codeLens=this._options.diffCodeLens.get(),ge.fixedOverflowWidgets=!0,ge.minimap={...ge.minimap||{}}
42,ge.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?ge.stickyScroll={enabled:!1}:ge.stickyScroll=this._options.editorOptions.get().stickyScroll,ge}_updateAriaLabel(ot){ot||(ot="");const ge=(0,Y.kg)(127," use {0} to open the accessibility help.",this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel());return this._options.accessibilityVerbose.get()?ot+ge:ot?ot.replaceAll(ge,""):""}};$i=Bi([pi(5,b.fN),pi(6,C._Y),pi(7,Si.b)],$i);var fn=e(61694);class Sn{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(ot,ge){this._options=ot,this.dimensions=ge,this.sashLeft=(0,re.dQ)(this,Ze=>{const at=this._sashRatio.read(Ze)??this._options.splitViewDefaultRatio.read(Ze);return this._computeSashLeft(at,Ze)},(Ze,at)=>{const Et=this.dimensions.width.get();this._sashRatio.set(Ze/Et,at)}),this._sashRatio=(0,de.FY)(this,void 0)}_computeSashLeft(ot,ge){const Ze=this.dimensions.width.read(ge),at=Math.floor(this._options.splitViewDefaultRatio.read(ge)*Ze),Et=this._options.enableSplitViewResizing.read(ge)?Math.floor(ot*Ze):at,Ft=100;return Ze<=Ft*2?at:Et<Ft?Ft:Et>Ze-Ft?Ze-Ft:Et}}class On extends A.jG{constructor(ot,ge,Ze,at,Et,Ft){super(),this._domNode=ot,this._dimensions=ge,this._enabled=Ze,this._boundarySashes=at,this.sashLeft=Et,this._resetSash=Ft,this._sash=this._register(new fn.m(this._domNode,{getVerticalSashTop:qt=>0,getVerticalSashLeft:qt=>this.sashLeft.get(),getVerticalSashHeight:qt=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(qt=>{this.sashLeft.set(this._startSashPosition+(qt.currentX-qt.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,le.fm)(qt=>{const Li=this._boundarySashes.read(qt);Li&&(this._sash.orthogonalEndSash=Li.bottom)})),this._register((0,le.fm)(qt=>{const Li=this._enabled.read(qt);this._sash.state=Li?3:0,this.sashLeft.read(qt),this._dimensions.height.read(qt),this._sash.layout()}))}}const Ki=class Ki extends A.jG{constructor(){super(...arguments),this._id=++Ki.idCounter,this._onDidDispose=this._register(new T.vl),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(ot){return this._targetEditor.getVisibleColumnFromPosition(ot)}getPosition(){return this._targetEditor.getPosition()}setPosition(ot,ge="api"){this._targetEditor.setPosition(ot,ge)}revealLine(ot,ge=0){this._targetEditor.revealLine(ot,ge)}revealLineInCenter(ot,ge=0){this._targetEditor.revealLineInCenter(ot,ge)}revealLineInCenterIfOutsideViewport(ot,ge=0){this._targetEditor.revealLineInCenterIfOutsideViewport(ot,ge)}revealLineNearTop(ot,ge=0){this._targetEditor.revealLineNearTop(ot,ge)}revealPosition(ot,ge=0){this._targetEditor.revealPosition(ot,ge)}revealPositionInCenter(ot,ge=0){this._targetEditor.revealPositionInCenter(ot,ge)}revealPositionInCenterIfOutsideViewport(ot,ge=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(ot,ge)}revealPositionNearTop(ot,ge=0){this._targetEditor.revealPositionNearTop(ot,ge)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(ot,ge="api"){this._targetEditor.setSelection(ot,ge)}setSelections(ot,ge="api"){this._targetEditor.setSelections(ot,ge)}revealLines(ot,ge,Ze=0){this._targetEditor.revealLines(ot,ge,Ze)}revealLinesInCenter(ot,ge,Ze=0){this._targetEditor.revealLinesInCenter(ot,ge,Ze)}revealLinesInCenterIfOutsideViewport(ot,ge,Ze=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(ot,ge,Ze)}revealLinesNearTop(ot,ge,Ze=0){this._targetEditor.revealLinesNearTop(ot,ge,Ze)}revealRange(ot,ge=0,Ze=!1,at=!0){this._targetEditor.revealRange(ot,ge,Ze,at)}revealRangeInCenter(ot,ge=0){this._targetEditor.revealRangeInCenter(ot,ge)}revealRangeInCenterIfOutsideViewport(ot,ge=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(ot,ge)}revealRangeNearTop(ot,ge=0){this._targetEditor.revealRangeNearTop(ot,ge)}revealRangeNearTopIfOutsideViewport(ot,ge=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(ot,ge)}revealRangeAtTop(ot,ge=0){this._targetEditor.revealRangeAtTop(ot,ge)}
42getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(ot,ge,Ze){this._targetEditor.trigger(ot,ge,Ze)}createDecorationsCollection(ot){return this._targetEditor.createDecorationsCollection(ot)}changeDecorations(ot){return this._targetEditor.changeDecorations(ot)}};Ki.idCounter=0;let Dn=Ki;var Qn=e(53909),rs=e(36427);function us(bi,ot){return(0,He.ZX)(bi,(ge,Ze)=>Ze??ot(ge))}var Zn=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},zn=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}};let ms=class{get editorOptions(){return this._options}constructor(ot,ge){this._accessibilityService=ge,this._diffEditorWidth=(0,de.FY)(this,0),this._screenReaderMode=(0,Ke.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=(0,re.un)(this,at=>this._options.read(at).renderSideBySide&&this._diffEditorWidth.read(at)<=this._options.read(at).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=(0,re.un)(this,at=>this._options.read(at).renderOverviewRuler),this.renderSideBySide=(0,re.un)(this,at=>this.compactMode.read(at)&&this.shouldRenderInlineViewInSmartMode.read(at)?!1:this._options.read(at).renderSideBySide&&!(this._options.read(at).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(at)&&!this._screenReaderMode.read(at))),this.readOnly=(0,re.un)(this,at=>this._options.read(at).readOnly),this.shouldRenderOldRevertArrows=(0,re.un)(this,at=>!(!this._options.read(at).renderMarginRevertIcon||!this.renderSideBySide.read(at)||this.readOnly.read(at)||this.shouldRenderGutterMenu.read(at))),this.shouldRenderGutterMenu=(0,re.un)(this,at=>this._options.read(at).renderGutterMenu),this.renderIndicators=(0,re.un)(this,at=>this._options.read(at).renderIndicators),this.enableSplitViewResizing=(0,re.un)(this,at=>this._options.read(at).enableSplitViewResizing),this.splitViewDefaultRatio=(0,re.un)(this,at=>this._options.read(at).splitViewDefaultRatio),this.ignoreTrimWhitespace=(0,re.un)(this,at=>this._options.read(at).ignoreTrimWhitespace),this.maxComputationTimeMs=(0,re.un)(this,at=>this._options.read(at).maxComputationTime),this.showMoves=(0,re.un)(this,at=>this._options.read(at).experimental.showMoves&&this.renderSideBySide.read(at)),this.isInEmbeddedEditor=(0,re.un)(this,at=>this._options.read(at).isInEmbeddedEditor),this.diffWordWrap=(0,re.un)(this,at=>this._options.read(at).diffWordWrap),this.originalEditable=(0,re.un)(this,at=>this._options.read(at).originalEditable),this.diffCodeLens=(0,re.un)(this,at=>this._options.read(at).diffCodeLens),this.accessibilityVerbose=(0,re.un)(this,at=>this._options.read(at).accessibilityVerbose),this.diffAlgorithm=(0,re.un)(this,at=>this._options.read(at).diffAlgorithm),this.showEmptyDecorations=(0,re.un)(this,at=>this._options.read(at).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=(0,re.un)(this,at=>this._options.read(at).onlyShowAccessibleDiffViewer),this.compactMode=(0,re.un)(this,at=>this._options.read(at).compactMode),this.trueInlineDiffRenderingEnabled=(0,re.un)(this,at=>this._options.read(at).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=(0,re.un)(this,at=>!this.renderSideBySide.read(at)&&this.trueInlineDiffRenderingEnabled.read(at)),this.hideUnchangedRegions=(0,re.un)(this,at=>this._options.read(at).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=(0,re.un)(this,at=>this._options.read(at).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=(0,re.un)(this,at=>this._options.read(at).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=(0,re.un)(this,at=>this._options.read(at).hideUnchangedRegions.minimumLineCount),this._model=(0,de.FY)(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,at=>us(this,Et=>{const Ft=at?.diff.read(Et);return Ft?es(Ft,this.trueInlineDiffRenderingEnabled.read(Et)):void 0})).flatten().map(this,at=>!!at),this.inlineViewHideOriginalLineNumbers=this.compactMode;const Ze={...ot,...ps(ot,rs.q)};this._options=(0,de.FY)(this,Ze)}updateOptions(ot){const ge=ps(ot,this._options.get()),Ze={...this._options.get(),...ot,...ge};this._options.set(Ze,void 0,{changedOptions:ot})}setWidth(ot){this._diffEditorWidth.set(ot,void 0)}setModel(ot){this._model.set(ot,void 0)}};ms=Zn([zn(1,Qn.j)],ms);function es(bi,ot){return bi.mappings.every(ge=>Xn(ge.lineRangeMapping)||Ts(ge.lineRangeMapping)||ot&&(0,Ce.l9)(ge.lineRangeMapping))}function Xn(bi){return bi.original.length===0}function Ts(bi){return bi.modified.length===0}function ps(bi,ot){return{enableSplitViewResizing:(0,ne.zM)(bi.enableSplitViewResizing,ot.enableSplitViewResizing),splitViewDefaultRatio:(0,ne.ls)(bi.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:(0,ne.zM)(bi.renderSideBySide,ot.render
42SideBySide),renderMarginRevertIcon:(0,ne.zM)(bi.renderMarginRevertIcon,ot.renderMarginRevertIcon),maxComputationTime:(0,ne.wA)(bi.maxComputationTime,ot.maxComputationTime,0,1073741824),maxFileSize:(0,ne.wA)(bi.maxFileSize,ot.maxFileSize,0,1073741824),ignoreTrimWhitespace:(0,ne.zM)(bi.ignoreTrimWhitespace,ot.ignoreTrimWhitespace),renderIndicators:(0,ne.zM)(bi.renderIndicators,ot.renderIndicators),originalEditable:(0,ne.zM)(bi.originalEditable,ot.originalEditable),diffCodeLens:(0,ne.zM)(bi.diffCodeLens,ot.diffCodeLens),renderOverviewRuler:(0,ne.zM)(bi.renderOverviewRuler,ot.renderOverviewRuler),diffWordWrap:(0,ne.O4)(bi.diffWordWrap,ot.diffWordWrap,["off","on","inherit"]),diffAlgorithm:(0,ne.O4)(bi.diffAlgorithm,ot.diffAlgorithm,["legacy","advanced","advanced-external","advanced-wasm"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:(0,ne.zM)(bi.accessibilityVerbose,ot.accessibilityVerbose),experimental:{showMoves:(0,ne.zM)(bi.experimental?.showMoves,ot.experimental.showMoves),showEmptyDecorations:(0,ne.zM)(bi.experimental?.showEmptyDecorations,ot.experimental.showEmptyDecorations),useTrueInlineView:(0,ne.zM)(bi.experimental?.useTrueInlineView,ot.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:(0,ne.zM)(bi.hideUnchangedRegions?.enabled??bi.experimental?.collapseUnchangedRegions,ot.hideUnchangedRegions.enabled),contextLineCount:(0,ne.wA)(bi.hideUnchangedRegions?.contextLineCount,ot.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:(0,ne.wA)(bi.hideUnchangedRegions?.minimumLineCount,ot.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:(0,ne.wA)(bi.hideUnchangedRegions?.revealLineCount,ot.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:(0,ne.zM)(bi.isInEmbeddedEditor,ot.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:(0,ne.zM)(bi.onlyShowAccessibleDiffViewer,ot.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:(0,ne.wA)(bi.renderSideBySideInlineBreakpoint,ot.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:(0,ne.zM)(bi.useInlineViewWhenSpaceIsLimited,ot.useInlineViewWhenSpaceIsLimited),renderGutterMenu:(0,ne.zM)(bi.renderGutterMenu,ot.renderGutterMenu),compactMode:(0,ne.zM)(bi.compactMode,ot.compactMode)}}var Yn=e(62789),zs=e(32837),Kn=e(58067),jt=e(90428),$t=e(54159),Ei=e(32787),zi=e(16551),hn=e(99429);class wn extends A.jG{constructor(ot,ge,Ze){super(),this._editor=ot,this._domNode=ge,this.itemProvider=Ze,this.scrollTop=(0,Ke.y0)(this,this._editor.onDidScrollChange,Ft=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(Ft=>Ft===0),this.modelAttached=(0,Ke.y0)(this,this._editor.onDidChangeModel,Ft=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,qe.y)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,qe.y)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,hn.Y)("domNodeSizeChanged"),this.views=this._register(new A.$w),this._domNode.className="gutter monaco-editor";const at=this._domNode.appendChild((0,v.h)("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),Et=new ResizeObserver(()=>{(0,ie.Rn)(Ft=>{this.domNodeSizeChanged.trigger(Ft)})});Et.observe(this._domNode),this._register((0,A.s)(()=>Et.disconnect())),this._register((0,le.fm)(Ft=>{at.className=this.isScrollTopZero.read(Ft)?"":"scroll-decoration"})),this._register((0,le.fm)(Ft=>this.render(Ft)))}
42dispose(){super.dispose(),(0,v.Ln)(this._domNode)}render(ot){if(!this.modelAttached.read(ot))return;this.domNodeSizeChanged.read(ot),this.editorOnDidChangeViewZones.read(ot),this.editorOnDidContentSizeChange.read(ot);const ge=this.scrollTop.read(ot),Ze=this._editor.getVisibleRanges(),at=new Set(this.views.keys()),Et=V.L.ofStartAndLength(0,this._domNode.clientHeight);if(!Et.isEmpty)for(const Ft of Ze){const qt=new d.M(Ft.startLineNumber,Ft.endLineNumber+1),Li=this.itemProvider.getIntersectingGutterItems(qt,ot);(0,ie.Rn)(Ni=>{for(const xi of Li){if(!xi.range.intersect(qt))continue;at.delete(xi.id);let Ci=this.views.get(xi.id);if(Ci)Ci.item.set(xi,Ni);else{const Xi=document.createElement("div");this._domNode.appendChild(Xi);const tn=(0,de.FY)("item",xi),yn=this.itemProvider.createView(tn,Xi);Ci=new en(tn,yn,Xi),this.views.set(xi.id,Ci)}const Di=xi.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(xi.range.startLineNumber,!0)-ge:xi.range.startLineNumber>1?this._editor.getBottomForLineNumber(xi.range.startLineNumber-1,!1)-ge:0,Gi=(xi.range.endLineNumberExclusive===1?Math.max(Di,this._editor.getTopForLineNumber(xi.range.startLineNumber,!1)-ge):Math.max(Di,this._editor.getBottomForLineNumber(xi.range.endLineNumberExclusive-1,!0)-ge))-Di;Ci.domNode.style.top=`${Di}px`,Ci.domNode.style.height=`${Gi}px`,Ci.gutterItemView.layout(V.L.ofStartAndLength(Di,Gi),Et)}})}for(const Ft of at)this.views.deleteAndDispose(Ft)}}class en{constructor(ot,ge,Ze){this.item=ot,this.gutterItemView=ge,this.domNode=Ze}dispose(){this.gutterItemView.dispose(),this.domNode.remove()}}var In=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},Bn=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}};const Wi=[],At=35;let Xt=class extends A.jG{constructor(ot,ge,Ze,at,Et,Ft,qt,Li,Ni){super(),this._diffModel=ge,this._editors=Ze,this._options=at,this._sashLayout=Et,this._boundarySashes=Ft,this._instantiationService=qt,this._contextKeyService=Li,this._menuService=Ni,this._menu=this._register(this._menuService.createMenu(Kn.D8.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=(0,Ke.y0)(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(Ci=>Ci.length>0),this._showSash=(0,re.un)(this,Ci=>this._options.renderSideBySide.read(Ci)&&this._hasActions.read(Ci)),this.width=(0,re.un)(this,Ci=>this._hasActions.read(Ci)?At:0),this.elements=(0,v.h)("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:At+"px"}},[]),this._currentDiff=(0,re.un)(this,Ci=>{const Di=this._diffModel.read(Ci);if(!Di)return;const Fi=Di.diff.read(Ci)?.mappings,Gi=this._editors.modifiedCursor.read(Ci);if(Gi)return Fi?.find(Xi=>Xi.lineRangeMapping.modified.contains(Gi.lineNumber))}),this._selectedDiffs=(0,re.un)(this,Ci=>{const Fi=this._diffModel.read(Ci)?.diff.read(Ci);if(!Fi)return Wi;const Gi=this._editors.modifiedSelections.read(Ci);if(Gi.every(Gn=>Gn.isEmpty()))return Wi;const Xi=new d.S(Gi.map(Gn=>d.M.fromRangeInclusive(Gn))),yn=Fi.mappings.filter(Gn=>Gn.lineRangeMapping.innerChanges&&Xi.intersects(Gn.lineRangeMapping.modified)).map(Gn=>({mapping:Gn,rangeMappings:Gn.lineRangeMapping.innerChanges.filter(Ys=>Gi.some(nn=>o.Q.areIntersecting(Ys.modifiedRange,nn)))}));return yn.length===0||yn.every(Gn=>Gn.rangeMappings.length===0)?Wi:yn}),this._register((0,te.$y)(ot,this.elements.root)),this._register((0,v.ko)(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register((0,te.AV)(this.elements.root,{display:this._hasActions.map(Ci=>Ci?"block":"none")})),(0,re.a0)(this,Ci=>this._showSash.read(Ci)?new On(ot,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,(0,re.dQ)(this,Fi=>this._sashLayout.sashLeft.read(Fi)-At,(Fi,Gi)=>this._sashLayout.sashLeft.set(Fi+At,Gi)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store);const xi=(0,re.un)(this,Ci=>{const Di=this._diffModel.read(Ci);if(!Di)return[];const Fi=Di.diff.read(Ci);if(!Fi)return[];const Gi=this._selectedDiffs.read(Ci);if(Gi.length>0){const tn=I.wm.fromRangeMappings(Gi.flatMap(yn=>
42yn.rangeMappings));return[new li(tn,!0,Kn.D8.DiffEditorSelectionToolbar,void 0,Di.model.original.uri,Di.model.modified.uri)]}const Xi=this._currentDiff.read(Ci);return Fi.mappings.map(tn=>new li(tn.lineRangeMapping.withInnerChangesFromLineRanges(),tn.lineRangeMapping===Xi?.lineRangeMapping,Kn.D8.DiffEditorHunkToolbar,void 0,Di.model.original.uri,Di.model.modified.uri))});this._register(new wn(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(Ci,Di)=>xi.read(Di),createView:(Ci,Di)=>this._instantiationService.createInstance(Mi,Ci,Di,this)})),this._register((0,v.ko)(this.elements.gutter,v.Bx.MOUSE_WHEEL,Ci=>{this._editors.modified.getOption(117).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(Ci)},{passive:!1}))}computeStagedValue(ot){const ge=ot.innerChanges??[],Ze=new Ei.m(this._editors.modifiedModel.get()),at=new Ei.m(this._editors.original.getModel());return new $t.m(ge.map(qt=>qt.toTextEdit(Ze))).apply(at)}layout(ot){this.elements.gutter.style.left=ot+"px"}};Xt=In([Bn(6,C._Y),Bn(7,b.fN),Bn(8,Kn.ez)],Xt);class li{constructor(ot,ge,Ze,at,Et,Ft){this.mapping=ot,this.showAlways=ge,this.menuId=Ze,this.rangeOverride=at,this.originalUri=Et,this.modifiedUri=Ft}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let Mi=class extends A.jG{constructor(ot,ge,Ze,at){super(),this._item=ot,this._elements=(0,v.h)("div.gutterItem",{style:{height:"20px",width:"34px"}},[(0,v.h)("div.background@background",{},[]),(0,v.h)("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,Ft=>Ft.showAlways),this._menuId=this._item.map(this,Ft=>Ft.menuId),this._isSmall=(0,de.FY)(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const Et=this._register(at.createInstance(jt.fO,"element",{instantHover:!0},{position:{hoverPosition:1}}));this._register((0,te.rX)(ge,this._elements.root)),this._register((0,le.fm)(Ft=>{const qt=this._showAlways.read(Ft);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",qt),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register((0,le.yC)((Ft,qt)=>{this._elements.buttons.replaceChildren();const Li=qt.add(at.createInstance(zs.m,this._elements.buttons,this._menuId.read(Ft),{orientation:1,hoverDelegate:Et,toolbarOptions:{primaryGroup:Ni=>Ni.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(Ft)?1:3},hiddenItemStrategy:0,actionRunner:qt.add(new zi.I(()=>{const Ni=this._item.read(void 0),xi=Ni.mapping;return{mapping:xi,originalWithModifiedChanges:Ze.computeStagedValue(xi),originalUri:Ni.originalUri,modifiedUri:Ni.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));qt.add(Li.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(ot,ge){this._lastItemRange=ot,this._lastViewRange=ge;let Ze=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&ot.length<30,void 0),Ze=this._elements.buttons.clientHeight;const at=ot.length/2-Ze/2,Et=Ze;let Ft=ot.start+at;const qt=V.L.tryCreate(Et,ge.endExclusive-Et-Ze),Li=V.L.tryCreate(ot.start+Et,ot.endExclusive-Ze-Et);Li&&qt&&Li.start<Li.endExclusive&&(Ft=qt.clip(Ft),Ft=Li.clip(Ft)),this._elements.buttons.style.top=`${Ft-ot.start}px`}};Mi=In([Bn(3,C._Y)],Mi);var vi=e(97965),Vi=e(91818),ui=e(66055);const Wt=[];class Nn extends A.jG{constructor(ot,ge,Ze,at){super(),this._editors=ot,this._diffModel=ge,this._options=Ze,this._widget=at,this._selectedDiffs=(0,re.un)(this,Et=>{const qt=this._diffModel.read(Et)?.diff.read(Et);if(!qt)return Wt;const Li=this._editors.modifiedSelections.read(Et);if(Li.every(Di=>Di.isEmpty()))return Wt;const Ni=new d.S(Li.map(Di=>d.M.fromRangeInclusive(Di))),Ci=qt.mappings.filter(Di=>Di.lineRangeMapping.innerChanges&&Ni.intersects(Di.lineRangeMapping.modified)).map(Di=>({mapping:Di,rangeMappings:Di.lineRangeMapping.innerChanges.filter(Fi=>Li.some(Gi=>o.Q.areIntersecting(Fi.modifiedRange,Gi)))}));return Ci.length===0||Ci.every(Di=>Di.rangeMappings.length===0)?Wt:Ci}),this._register((0,le.yC)((Et,Ft)=>{if(!this._options.shouldRenderOldRevertArrows.read(Et))return;const qt=this._diffModel.read(Et),Li=qt?.diff.read(Et);if(!qt||!Li||qt.movedTextToCompare.read(Et))return;const Ni=[],xi=this._selectedDiffs.read(Et),Ci=new Set(xi.map(Di=>Di.mapping));if(xi.length>0){const Di=this._editors.modifiedSelections.read(Et),Fi=Ft.add(new ci(Di[Di.length-1].positionLineNumber,this._widget,xi.flatMap(Gi=>Gi.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(Fi),Ni.push(Fi)}for(const Di of Li.mappings)if(!Ci.has(Di)&&!Di.lineRangeMapping.modified.isEmpty&&Di.lineRangeMapping.innerChanges){const Fi=Ft.add(new ci(Di.lineRangeMapping.modified.startLineNumber,this._widget,Di.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(Fi),Ni.push(Fi)}Ft.add((0,A.s)(()=>{for(const Di of Ni)this._editors.modified.removeGlyphMarginWidget(Di)}))}))}}const Zi=class Zi extends A.jG{getId(){return this._id}constructor(ot,ge,Ze,at){super(),this._lineNumber=ot,this._widget=ge,this._diffs=Ze,this._revertSelection=at,this._id=`revertButton${Zi.counter++}
42`,this._domNode=(0,v.h)("div.revertButton",{title:this._revertSelection?(0,Y.kg)(151,"Revert Selected Changes"):(0,Y.kg)(152,"Revert Change")},[(0,Vi.s)(W.W.arrowRight)]).root,this._register((0,v.ko)(this._domNode,v.Bx.MOUSE_DOWN,Et=>{Et.button!==2&&(Et.stopPropagation(),Et.preventDefault())})),this._register((0,v.ko)(this._domNode,v.Bx.MOUSE_UP,Et=>{Et.stopPropagation(),Et.preventDefault()})),this._register((0,v.ko)(this._domNode,v.Bx.CLICK,Et=>{this._diffs instanceof I.WL?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),Et.stopPropagation(),Et.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:ui.ZS.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}};Zi.counter=0;let ci=Zi;var ut=function(bi,ot,ge,Ze){var at=arguments.length,Et=at<3?ot:Ze===null?Ze=Object.getOwnPropertyDescriptor(ot,ge):Ze,Ft;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Et=Reflect.decorate(bi,ot,ge,Ze);else for(var qt=bi.length-1;qt>=0;qt--)(Ft=bi[qt])&&(Et=(at<3?Ft(Et):at>3?Ft(ot,ge,Et):Ft(ot,ge))||Et);return at>3&&Et&&Object.defineProperty(ot,ge,Et),Et},Rt=function(bi,ot){return function(ge,Ze){ot(ge,Ze,bi)}};let xt=class extends Dn{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(ot,ge,Ze,at,Et,Ft,qt,Li){super(),this._domElement=ot,this._parentContextKeyService=at,this._parentInstantiationService=Et,this._codeEditorService=Ft,this._accessibilitySignalService=qt,this._editorProgressService=Li,this.elements=(0,v.h)("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[(0,v.h)("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),(0,v.h)("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),(0,v.h)("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register((0,de.X2)(this,void 0)),this._diffModel=(0,re.un)(this,nn=>this._diffModelSrc.read(nn)?.object),this.onDidChangeModel=T.Jh.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new u.a([b.fN,this._contextKeyService]))),this._boundarySashes=(0,de.FY)(this,void 0),this._accessibleDiffViewerShouldBeVisible=(0,de.FY)(this,!1),this._accessibleDiffViewerVisible=(0,re.un)(this,nn=>this._options.onlyShowAccessibleDiffViewer.read(nn)?!0:this._accessibleDiffViewerShouldBeVisible.read(nn)),this._movedBlocksLinesPart=(0,de.FY)(this,void 0),this._layoutInfo=(0,re.un)(this,nn=>{const Cn=this._rootSizeObserver.width.read(nn),kn=this._rootSizeObserver.height.read(nn);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=kn+"px";const Ds=this._sash.read(nn),Gs=this._gutter.read(nn),xs=Gs?.width.read(nn)??0,Ms=this._overviewRulerPart.read(nn)?.width??0;let $n,_s,ao,ks,Fs;if(!!Ds){const vs=Ds.sashLeft.read(nn),Ns=this._movedBlocksLinesPart.read(nn)?.width.read(nn)??0;$n=0,_s=vs-xs-Ns,Fs=vs-xs,ao=vs,ks=Cn-ao-Ms}else{Fs=0;const vs=this._options.inlineViewHideOriginalLineNumbers.read(nn);$n=xs,vs?_s=0:_s=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(nn)),ao=xs+_s,ks=Cn-ao-Ms}return this.elements.original.style.left=$n+"px",this.elements.original.style.width=_s+"px",this._editors.original.layout({width:_s,height:kn},!0),Gs?.layout(Fs),this.elements.modified.style.left=ao+"px",this.elements.modified.style.width=ks+"px",this._editors.modified.layout({width:ks,height:kn},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((nn,Cn)=>nn?.diff.read(Cn)),this.onDidUpdateDiff=T.Jh.fromObservableLight(this._diffValue),this._codeEditorService.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register((0,A.s)(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new te.pN(this.elements.root,ge.dimension)),this._rootSizeObserver.setAutomaticLayout(ge.automaticLayout??!1),this._options=this._instantiationService.createInstance(ms,ge),this._register((0,le.fm)(nn=>{this._options.setWidth(this._rootSizeObserver.width.read(nn))})),this._contextKeyService.createKey(a.R.isEmbeddedDiffEditor.key,!1),this._register((0,i.w)(a.R.isEmbeddedDiffEditor,this._contextKeyService,nn=>this._options.isInEmbeddedEditor.read(nn))),this._register((0,i.w)(a.R.comparingMovedCode,this._contextKeyService,nn=>!!this._diffModel.read(nn)?.movedTextToCompare.read(nn))),this._register((0,i.w)(a.R.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,nn=>this._options.couldShowInlineViewBecauseOfSize.read(nn))),this._register((0,i.w)(a.R.diffEditorInlineMode,this._contextKeyService,nn=>!this._options.renderSideBySide.read(nn))),this._register((0,i.w)(a.R.hasChanges,this._contextKeyService,nn=>(this._diffModel.read(nn)?.diff.read(nn)?.mappings.length??0)>0)),this._editors=this._register(this._instantiationService.createInstance($i,this.elements.original,this.elements.modified,this._options,Ze,(nn,Cn,kn,Ds)=>this._createInnerEditor(nn,Cn,kn,Ds))),this._register((0,i.w)(a.R.diffEditorOriginalWritable,this._contextKeyService,nn=>this._options.originalEditable.read(nn))),this._register((0,i.w)(a.R.diffEditorModifiedWritable,this._contextKeyService,nn=>!this._options.readOnly.read(nn))),this._register((0,i.w)(a.R.diffEditorOriginalUri,this._contextKeyService,nn=>this._diffModel.read(nn)?.model.original.uri.toString()??"")),this._register((0,i.w)(a.R.diffEditorModifiedUri,this._contextKeyService,nn=>this._diffModel.read(nn)?.model.modified.uri.toString()??"")),this._overviewRulerPart=(0,re.a0)(this,nn=>this._options.renderOverviewRuler.read(nn)?this._instantiationService.createInstance((0,y.b)(Yt),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(Cn=>Cn.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);
42const Ni={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((nn,Cn)=>nn-(this._overviewRulerPart.read(Cn)?.width??0))};this._sashLayout=new Sn(this._options,Ni),this._sash=(0,re.a0)(this,nn=>{const Cn=this._options.renderSideBySide.read(nn);return this.elements.root.classList.toggle("side-by-side",Cn),Cn?new On(this.elements.root,Ni,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const xi=(0,re.a0)(this,nn=>this._instantiationService.createInstance((0,y.b)(vi.N),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);(0,re.a0)(this,nn=>this._instantiationService.createInstance((0,y.b)(J),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const Ci=new Set,Di=new Set;let Fi=!1;const Gi=(0,re.a0)(this,nn=>this._instantiationService.createInstance((0,y.b)(Ce.RW),(0,v.zk)(this._domElement),this._editors,this._diffModel,this._options,this,()=>Fi||xi.read(void 0).isUpdatingHiddenAreas,Ci,Di)).recomputeInitiallyAndOnChange(this._store),Xi=(0,re.un)(this,nn=>{const Cn=Gi.read(nn).viewZones.read(nn).orig,kn=xi.read(nn).viewZones.read(nn).origViewZones;return Cn.concat(kn)}),tn=(0,re.un)(this,nn=>{const Cn=Gi.read(nn).viewZones.read(nn).mod,kn=xi.read(nn).viewZones.read(nn).modViewZones;return Cn.concat(kn)});this._register((0,te.Vs)(this._editors.original,Xi,nn=>{Fi=nn},Ci));let yn;this._register((0,te.Vs)(this._editors.modified,tn,nn=>{Fi=nn,Fi?yn=E.D.capture(this._editors.modified):(yn?.restore(this._editors.modified),yn=void 0)},Di)),this._accessibleDiffViewer=(0,re.a0)(this,nn=>this._instantiationService.createInstance((0,y.b)(Ve),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(Cn,kn)=>this._accessibleDiffViewerShouldBeVisible.set(Cn,kn),this._options.onlyShowAccessibleDiffViewer.map(Cn=>!Cn),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((Cn,kn)=>Cn?.diff.read(kn)?.mappings.map(Ds=>Ds.lineRangeMapping)),new Ye(this._editors))).recomputeInitiallyAndOnChange(this._store);const Gn=this._accessibleDiffViewerVisible.map(nn=>nn?"hidden":"visible");this._register((0,te.AV)(this.elements.modified,{visibility:Gn})),this._register((0,te.AV)(this.elements.original,{visibility:Gn})),this._createDiffEditorContributions(),this._codeEditorService.addDiffEditor(this),this._register((0,A.s)(()=>{this._codeEditorService.removeDiffEditor(this)})),this._gutter=(0,re.a0)(this,nn=>this._options.shouldRenderGutterMenu.read(nn)?this._instantiationService.createInstance((0,y.b)(Xt),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register((0,He.OI)(this._layoutInfo)),(0,re.a0)(this,nn=>new((0,y.b)(Te))(this.elements.root,this._diffModel,this._layoutInfo.map(Cn=>Cn.originalEditor),this._layoutInfo.map(Cn=>Cn.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,nn=>{this._movedBlocksLinesPart.set(nn,void 0)}),this._register(T.Jh.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,nn=>this._handleCursorPositionChange(nn,!0))),this._register(T.Jh.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,nn=>this._handleCursorPositionChange(nn,!1)));const Ys=this._diffModel.map(this,(nn,Cn)=>
42{if(nn)return nn.diff.read(Cn)===void 0&&!nn.isDiffUpToDate.read(Cn)});this._register((0,le.yC)((nn,Cn)=>{if(Ys.read(nn)===!0){const kn=this._editorProgressService.show(!0,1e3);Cn.add((0,A.s)(()=>kn.done()))}})),this._register((0,le.yC)((nn,Cn)=>{Cn.add(new((0,y.b)(Nn))(this._editors,this._diffModel,this._options,this))})),this._register((0,le.yC)((nn,Cn)=>{const kn=this._diffModel.read(nn);if(kn)for(const Ds of[kn.model.original,kn.model.modified])Cn.add(Ds.onWillDispose(Gs=>{(0,x.dz)(new x.D7("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register((0,le.fm)(nn=>{this._options.setModel(this._diffModel.read(nn))}))}_createInnerEditor(ot,ge,Ze,at){return ot.createInstance(S.x,ge,Ze,at)}_createDiffEditorContributions(){const ot=p.dS.getDiffEditorContributions();for(const ge of ot)try{this._register(this._instantiationService.createInstance(ge.ctor,this))}catch(Ze){(0,x.dz)(Ze)}}get _targetEditor(){return this._editors.modified}getEditorType(){return c._.IDiffEditor}layout(ot){this._rootSizeObserver.observe(ot)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){const ot=this._editors.original.saveViewState(),ge=this._editors.modified.saveViewState();return{original:ot,modified:ge,modelState:this._diffModel.get()?.serializeState()}}restoreViewState(ot){if(ot&&ot.original&&ot.modified){const ge=ot;this._editors.original.restoreViewState(ge.original),this._editors.modified.restoreViewState(ge.modified),ge.modelState&&this._diffModel.get()?.restoreSerializedState(ge.modelState)}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(ot){return this._instantiationService.createInstance(Yn.r4,ot,this._options)}getModel(){return this._diffModel.get()?.model??null}setModel(ot){const ge=ot?"model"in ot?te.O8.create(ot).createNewRef(this):te.O8.create(this.createViewModel(ot),this):null;this.setDiffModel(ge)}setDiffModel(ot,ge){const Ze=this._diffModel.get();!ot&&Ze&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==ot?.object&&(0,ie.PO)(ge,at=>{const Et=ot?.object;Ke.y0.batchEventsGlobally(at,()=>{this._editors.original.setModel(Et?Et.model.original:null),this._editors.modified.setModel(Et?Et.model.modified:null)});const Ft=this._diffModelSrc.get()?.createNewRef(this);this._diffModelSrc.set(ot?.createNewRef(this),at),setTimeout(()=>{Ft?.dispose()},0)})}updateOptions(ot){this._options.updateOptions(ot)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){const ot=this._diffModel.get()?.diff.get();return ot?Ot(ot):null}getDiffComputationResult(){const ot=this._diffModel.get()?.diff.get();return ot?{changes:this.getLineChanges(),changes2:ot.mappings.map(ge=>ge.lineRangeMapping),identical:ot.identical,quitEarly:ot.quitEarly}:null}revert(ot){const ge=this._diffModel.get();!ge||!ge.isDiffUpToDate.get()||(this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits("diffEditor",[{range:ot.modified.toExclusiveRange(),text:ge.model.original.getValueInRange(ot.original.toExclusiveRange())}]),this._editors.modified.pushUndoStop())}revertRangeMappings(ot){const ge=this._diffModel.get();if(!ge||!ge.isDiffUpToDate.get())return;const Ze=ot.map(at=>({range:at.modifiedRange,text:ge.model.original.getValueInRange(at.originalRange)}));this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits("diffEditor",Ze),this._editors.modified.pushUndoStop()}revertFocusedRangeMappings(){const ot=this._diffModel.get();if(!ot||!ot.isDiffUpToDate.get())return;const ge=this._diffModel.get()?.diff.get()?.mappings;if(!ge||ge.length===0)return;const Ze=this._editors.modified;if(!Ze.hasTextFocus())return;const at=Ze.getPosition().lineNumber,Et=Ze.getSelection(),Ft=d.M.fromRange(Et||new o.Q(at,0,at,0)),qt=ge.filter(Li=>Li.lineRangeMapping.modified.intersect(Ft));Ze.pushUndoStop(),Ze.executeEdits("diffEditor",qt.map(Li=>({range:Li.lineRangeMapping.modified.toExclusiveRange(),text:ot.model.original.getValueInRange(Li.lineRangeMapping.original.toExclusiveRange())}))),Ze.pushUndoStop()}_goTo(ot){this._editors.modified.setPosition(new l.y(ot.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(ot.lineRangeMapping.modified.toExclusiveRange())}goToDiff(ot){const ge=this._diffModel.get()?.diff.get()?.mappings;if(!ge||ge.length===0)return;const Ze=this._editors.modified.getPosition().lineNumber;let at;ot==="next"?this._editors.modified.getModel().getLineCount()===Ze?at=ge[0]:at=ge.find(Ft=>Ft.lineRangeMapping.modified.startLineNumber>Ze)??ge[0]:at=(0,R.Uk)(ge,Et=>Et.lineRangeMapping.modified.startLineNumber<Ze)??ge[ge.length-1],this._goTo(at),at.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(L.Rh.diffLineDeleted,{source:"diffEditor.goToDiff"}):at.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(L.Rh.diffLineInserted,{source:"diffEditor.goToDiff"}):at&&this._accessibilitySignalService.playSignal(L.Rh.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){const ot=this._diffModel.get();ot&&this.waitForDiff().then(()=>{const ge=ot.diff.get()?.mappings;!ge||ge.length===0||this._goTo(ge[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const ot=this._diffModel.get();ot&&await ot.waitForDiff()}mapToOtherSide(){const ot=this._editors.modified.hasWidgetFocus(),ge=ot?this._editors.modified:this._editors.original,Ze=ot?this._editors.original:this._editors.modified;let at;const Et=ge.getSelection();if(Et){const Ft=this._diffModel.get()?.diff.get()?.mappings.map(qt=>ot?qt.lineRangeMapping.flip():qt.lineRangeMapping);if(Ft){const qt=(0,te.Mu)(Et.getStartPosition(),Ft),Li=(0,te.Mu)(Et.getEndPosition(),Ft);at=o.Q.plusRange(qt,Li)}}return{destination:Ze,destinationSelection:at}}switchSide(){const{destination:ot,destinationSelection:ge}=this.mapToOtherSide();ot.focus(),ge&&ot.setSelection(ge)}exitCompareMove(){const ot=this._diffModel.get();ot&&ot.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){const ot=this._diffModel.get()?.unchangedRegions.get();ot&&(0,ie.Rn)(ge=>{for(const Ze of ot)Ze.collapseAll(ge)})}showAllUnchangedRegions(){const ot=this._diffModel.get()?.unchangedRegions.get();ot&&(0,ie.Rn)(ge=>{for(const Ze of ot)Ze.showAll(ge)})}_handleCursorPositionChange(ot,ge){if(ot?.reason===3){const Ze=this._diffModel.get()?.diff.get()?.mappings.find(at=>ge?at.lineRangeMapping.modified.contains(ot.position.lineNumber):at.lineRangeMapping.original.contains(ot.position.lineNumber));Ze?.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(L.Rh.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):Ze?.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(L.Rh.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):Ze&&this._accessibilitySignalService.playSignal(L.Rh.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};xt=ut([Rt(3,b.fN),Rt(4,C._Y),Rt(5,_.T),Rt(6,L.Nt),Rt(7,r.N8)],xt);function Ot(bi){return bi.mappings.map(ot=>{const ge=ot.lineRangeMapping;let Ze,at,Et,Ft,qt=ge.innerChanges;return ge.original.isEmpty?(Ze=ge.original.startLineNumber-1,at=0,qt=void 0):(Ze=ge.original.startLineNumber,at=ge.original.endLineNumberExclusive-1),ge.modified.isEmpty?(Et=ge.modified.startLineNumber-1,Ft=0,qt=void 0):(Et=ge.modified.startLineNumber,Ft=ge.modified.endLineNumberExclusive-1),{originalStartLineNumber:Ze,originalEndLineNumber:at,modifiedStartLineNumber:Et,modifiedEndLineNumber:Ft,charChanges:qt?.map(Li=>({originalStartLineNumber:Li.originalRange.startLineNumber,originalStartColumn:Li.originalRange.startColumn,originalEndLineNumber:Li.originalRange.endLineNumber,originalEndColumn:Li.originalRange.endColumn,modifiedStartLineNumber:Li.modifiedRange.startLineNumber,modifiedStartColumn:Li.modifiedRange.startColumn,modifiedEndLineNumber:Li.modifiedRange.endLineNumber,modifiedEndColumn:Li.modifiedRange.endColumn}))}})}},29849:(St,We,e)=>{e.d(We,{u:()=>R});var v=e(82399);const R=(0,v.u1)("ILanguageFeaturesService")},29879:(St,We,e)=>{e.d(We,{AI:()=>x,Kz:()=>y,Ot:()=>T});var v=e(66459),R=e(82399),x=v.A;const T=(0,R.u1)("notificationService");class y{}},29895:(St,We,e)=>{e.d(We,{MF:()=>i,d$:()=>u,mG:()=>l,vG:()=>c,vY:()=>o});var v=e(15365),R=e(28061),x=e(93702),T=e(19184),y=e(62549),A=e(58718),g=e(55857);const L=()=>!0,b=()=>!1,C=a=>a===" "||a==="	";class u{static shouldRecreate(p){return p.hasChanged(165)||p.hasChanged(148)||p.hasChanged(45)||p.hasChanged(85)||p.hasChanged(88)||p.hasChanged(89)||p.hasChanged(10)||p.hasChanged(11)||p.hasChanged(15)||p.hasChanged(13)||p.hasChanged(14)||p.hasChanged(20)||p.hasChanged(145)||p.hasChanged(141)||p.hasChanged(59)||p.hasChanged(104)||p.hasChanged(147)||p.hasChanged(93)}constructor(p,_,E,S){this.languageConfigurationService=S,this._cursorMoveConfigurationBrand=void 0,this._languageId=p;const h=E.options,D=h.get(165),k=h.get(59);this.readOnly=h.get(104),this.tabSize=_.tabSize,this.indentSize=_.indentSize,this.insertSpaces=_.insertSpaces,this.stickyTabStops=h.get(132),this.lineHeight=k.lineHeight,this.typicalHalfwidthCharacterWidth=k.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(D.height/this.lineHeight)-2),this.useTabStops=h.get(145),this.trimWhitespaceOnDelete=h.get(141),this.wordSeparators=h.get(148),this.emptySelectionClipboard=h.get(45),this.copyWithSyntaxHighlighting=h.get(31),this.multiCursorMergeOverlapping=h.get(85),this.multiCursorPaste=h.get(88),this.multiCursorLimit=h.get(89),this.autoClosingBrackets=h.get(10),this.autoClosingComments=h.get(11),this.autoClosingQuotes=h.get(15),this.autoClosingDelete=h.get(13),this.autoClosingOvertype=h.get(14),this.autoSurround=h.get(20),this.autoIndent=h.get(16),this.wordSegmenterLocales=h.get(147),this.overtypeOnPaste=h.get(93),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(p,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(p,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(p,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(p).getAutoClosingPairs();const N=this.languageConfigurationService.getLanguageConfiguration(p).getSurroundingPairs();if(N)for(const U of N)this.surroundingPairs[U.open]=U.close;const W=this.languageConfigurationService.getLanguageConfiguration(p).comments;this.blockCommentStartToken=W?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};const p=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(p)for(const _ of p)this._electricChars[_]=!0}return this._electricChars}get inputMode(){return g.U.getInputMode()}onElectricCharacter(p,_,E){const S=(0,T.BQ)(_,E-1),h=this.languageConfigurationService.getLanguageConfiguration(S.languageId).electricCharacter;return h?h.onElectricCharacter(p,S,E-S.firstCharOffset):null}normalizeIndentation(p){return(0,A.P)(p,this.indentSize,this.insertSpaces)}_getShouldAutoClose(p,_,E){switch(_){case"beforeWhitespace":return C;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(p,E);case"always":return L;case"never":return b}}_getLanguageDefinedShouldAutoClose(p,_){const E=this.languageConfigurationService.getLanguageConfiguration(p).getAutoCloseBeforeSet(_);return S=>E.indexOf(S)!==-1}visibleColumnFromColumn(p,_){return y.A.visibleColumnFromColumn(p.getLineContent(_.lineNumber),_.column,this.tabSize)}columnFromVisibleColumn(p,_,E){const S=y.A.columnFromVisibleColumn(p.getLineContent(_),E,this.tabSize),h=p.getLineMinColumn(_);if(S<h)return h;const D=p.getLineMaxColumn(_);return S>D?D:S}}class i{static fromModelState(p){return new r(p)}static fromViewState(p){return new d(p)}static fromModelSelection(p){const _=x.L.liftSelection(p),E=new l(R.Q.fromPositions(_.getSelectionStart()),0,0,_.getPosition(),0);return i.fromModelState(E)}static fromModelSelections(p){const _=[];for(let E=0,S=p.length;E<S;E++)_[E]=this.fromModelSelection(p[E]);return _}constructor(p,_){this._cursorStateBrand=void 0,this.modelState=p,this.viewState=_}equals(p){return this.viewState.equals(p.viewState)&&this.modelState.equals(p.modelState)}}
42class r{constructor(p){this.modelState=p,this.viewState=null}}class d{constructor(p){this.modelState=null,this.viewState=p}}class l{constructor(p,_,E,S,h){this.selectionStart=p,this.selectionStartKind=_,this.selectionStartLeftoverVisibleColumns=E,this.position=S,this.leftoverVisibleColumns=h,this._singleCursorStateBrand=void 0,this.selection=l._computeSelection(this.selectionStart,this.position)}equals(p){return this.selectionStartLeftoverVisibleColumns===p.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===p.leftoverVisibleColumns&&this.selectionStartKind===p.selectionStartKind&&this.position.equals(p.position)&&this.selectionStart.equalsRange(p.selectionStart)}hasSelection(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()}move(p,_,E,S){return p?new l(this.selectionStart,this.selectionStartKind,this.selectionStartLeftoverVisibleColumns,new v.y(_,E),S):new l(new R.Q(_,E,_,E),0,S,new v.y(_,E),S)}static _computeSelection(p,_){return p.isEmpty()||!_.isBeforeOrEqual(p.getStartPosition())?x.L.fromPositions(p.getStartPosition(),_):x.L.fromPositions(p.getEndPosition(),_)}}class o{constructor(p,_,E){this._editOperationResultBrand=void 0,this.type=p,this.commands=_,this.shouldPushStackElementBefore=E.shouldPushStackElementBefore,this.shouldPushStackElementAfter=E.shouldPushStackElementAfter}}function c(a){return a==="'"||a==='"'||a==="`"}},30242:(St,We,e)=>{e.d(We,{O:()=>Z});var v=e(13338),R=e(10998),x=e(16844),T=e(23877),y=e(28061),A=e(93702),g=e(52394),L=e(31531),b=e(8377),C=e(26851),u=e(47039),i=e(78518),r=e(63339);function d(Y,j=r.uF){return(0,i.No)(Y,j)?Y.charAt(0).toUpperCase()+Y.slice(1):Y}var l=e(18019),o=e(22467),c=e(9223),a=e(3765),p=function(Y,j,z,ie){var re=arguments.length,de=re<3?j:ie===null?ie=Object.getOwnPropertyDescriptor(j,z):ie,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")de=Reflect.decorate(Y,j,z,ie);else for(var he=Y.length-1;he>=0;he--)(le=Y[he])&&(de=(re<3?le(de):re>3?le(j,z,de):le(j,z))||de);return re>3&&de&&Object.defineProperty(j,z,de),de},_=function(Y,j){return function(z,ie){j(z,ie,Y)}};class E{constructor(j){this._delegates=j}resolve(j){for(const z of this._delegates){const ie=z.resolve(j);if(ie!==void 0)return ie}}}class S{constructor(j,z,ie,re){this._model=j,this._selection=z,this._selectionIdx=ie,this._overtypingCapturer=re}resolve(j){const{name:z}=j;if(z==="SELECTION"||z==="TM_SELECTED_TEXT"){let ie=this._model.getValueInRange(this._selection)||void 0,re=this._selection.startLineNumber!==this._selection.endLineNumber;if(!ie&&this._overtypingCapturer){const de=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);de&&(ie=de.value,re=de.multiline)}if(ie&&re&&j.snippet){const de=this._model.getLineContent(this._selection.startLineNumber),le=(0,x.UU)(de,0,this._selection.startColumn-1);let he=le;j.snippet.walk(xe=>xe===j?!1:(xe instanceof u.EY&&(he=(0,x.UU)((0,x.uz)(xe.value).pop())),!0));const we=(0,x.Qp)(he,le);ie=ie.replace(/(\r\n|\r|\n)(.*)/g,(xe,Be,M)=>`${Be}${he.substr(we)}${M}`)}return ie}else{if(z==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(z==="TM_CURRENT_WORD"){const ie=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return ie&&ie.word||void 0}else{if(z==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(z==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(z==="CURSOR_INDEX")return String(this._selectionIdx);if(z==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class h{constructor(j,z){this._labelService=j,this._model=z}resolve(j){const{name:z}=j;if(z==="TM_FILENAME")return(0,l.P8)(this._model.uri.fsPath);if(z==="TM_FILENAME_BASE"){const ie=(0,l.P8)(this._model.uri.fsPath),re=ie.lastIndexOf(".");return re<=0?ie:ie.slice(0,re)}else{if(z==="TM_DIRECTORY")return(0,l.pD)(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel((0,o.pD)(this._model.uri));if(z==="TM_DIRECTORY_BASE")return(0,l.pD)(this._model.uri.fsPath)==="."?"":(0,l.P8)((0,l.pD)(this._model.uri.fsPath));if(z==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(z==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class D{constructor(j,z,ie,re){this._readClipboardText=j,this._selectionIdx=z,this._selectionCount=ie,this._spread=re}resolve(j){if(j.name!=="CLIPBOARD")return;const z=this._readClipboardText();if(z){if(this._spread){const ie=z.split(/\r\n|\n|\r/).filter(re=>!(0,x.AV)(re));if(ie.length===this._selectionCount)return ie[this._selectionIdx]}return z}}}let k=class{constructor(j,z,ie){this._model=j,this._selection=z,this._languageConfigurationService=ie}resolve(j){const{name:z}=j,ie=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),re=this._languageConfigurationService.getLanguageConfiguration(ie).comments;if(re){if(z==="LINE_COMMENT")return re.lineCommentToken||void 0;if(z==="BLOCK_COMMENT_START")return re.blockCommentStartToken||void 0;if(z==="BLOCK_COMMENT_END")return re.blockCommentEndToken||void 0}}};k=p([_(2,g.JZ)],k);const X=class X{constructor(){this._date=new Date}resolve(j){const{name:z}=j;switch(z){case"CURRENT_YEAR":return String(this._date.getFullYear());case"CURRENT_YEAR_SHORT":return String(this._date.getFullYear()).slice(-2);case"CURRENT_MONTH":return String(this._date.getMonth().valueOf()+1).padStart(2,"0");case"CURRENT_DATE":return String(this._date.getDate().valueOf()).padStart(2,"0");case"CURRENT_HOUR":return String(this._date.getHours().valueOf()).padStart(2,"0");case"CURRENT_MINUTE":return String(this._date.getMinutes().valueOf()).padStart(2,"0");case"CURRENT_SECOND":return String(this._date.getSeconds().valueOf()).padStart(2,"0");case"CURRENT_MILLISECOND":return String(this._date.getMilliseconds().valueOf()).padStart(3,"0");case"CURRENT_DAY_NAME":return X.dayNames[this._date.getDay()];case"CURRENT_DAY_NAME_SHORT":return X.dayNamesShort[this._date.getDay()];case"CURRENT_MONTH_NAME":return X.monthNames[this._date.getMonth()];case"CURRENT_MONTH_NAME_SHORT":return X.monthNamesShort[this._date.getMonth()];case"CURRENT_SECONDS_UNIX":return String(Math.floor(this._date.getTime()/1e3));case"CURRENT_MILLISECONDS_UNIX":return String(this._date.getTime());case"CURRENT_TIMEZONE_OFFSET":{const ie=this._date.getTimezoneOffset(),re=ie>0?"-":"+",de=Math.trunc(Math.abs(ie/60)),le=de<10?"0"+de:de,he=Math.abs(ie)-de*60,we=he<10?"0"+he:he;return re+le+":"+we}case"CURRENT_TIMEZONE_NAME":return this._timezoneName??=Intl.DateTimeFormat().resolvedOptions().timeZone}}};X.dayNames=[(0,a.kg)(1456,"Sunday"),(0,a.kg)(1457,"Monday"),(0,a.kg)(1458,"Tuesday"),(0,a.kg)(1459,"Wednesday"),(0,a.kg)(1460,"Thursday"),(0,a.kg)(1461,"Friday"),(0,a.kg)(1462,"Saturday")],X.dayNamesShort=[(0,a.kg)(1463,"Sun"),(0,a.kg)(1464,"Mon"),(0,a.kg)(1465,"Tue"),(0,a.kg)(1466,"Wed"),(0,a.kg)(1467,"Thu"),(0,a.kg)(1468,"Fri"),(0,a.kg)(1469,"Sat")],X.monthNames=[(0,a.kg)(1470,"January"),(0,a.kg)(1471,"February"),(0,a.kg)(1472,"March"),(0,a.kg)(1473,"April"),(0,a.kg)(1474,"May"),(0,a.kg)(1475,"June"),(0,a.kg)(1476,"July"),(0,a.kg)(1477,"August"),(0,a.kg)(1478,"September"),(0,a.kg)(1479,"October"),(0,a.kg)(1480,"November"),(0,a.kg)(1481,"December")],X.monthNamesShort=[(0,a.kg)(1482,"Jan"),(0,a.kg)(1483,"Feb"),(0,a.kg)(1484,"Mar"),
42(0,a.kg)(1485,"Apr"),(0,a.kg)(1486,"May"),(0,a.kg)(1487,"Jun"),(0,a.kg)(1488,"Jul"),(0,a.kg)(1489,"Aug"),(0,a.kg)(1490,"Sep"),(0,a.kg)(1491,"Oct"),(0,a.kg)(1492,"Nov"),(0,a.kg)(1493,"Dec")];let N=X;class W{constructor(j){this._workspaceService=j}resolve(j){if(!this._workspaceService)return;const z=(0,C.Q_)(this._workspaceService.getWorkspace());if(!(0,C.A7)(z)){if(j.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(z);if(j.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(z)}}_resolveWorkspaceName(j){if((0,C.jB)(j))return(0,l.P8)(j.uri.path);let z=(0,l.P8)(j.configPath.path);return z.endsWith(C.kF)&&(z=z.substr(0,z.length-C.kF.length-1)),z}_resoveWorkspacePath(j){if((0,C.jB)(j))return d(j.uri.fsPath);const z=(0,l.P8)(j.configPath.path);let ie=j.configPath.fsPath;return ie.endsWith(z)&&(ie=ie.substr(0,ie.length-z.length-1)),ie?d(ie):"/"}}class U{resolve(j){const{name:z}=j;if(z==="RANDOM")return Math.random().toString().slice(-6);if(z==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(z==="UUID")return(0,c.b)()}}var $=e(32471),te=function(Y,j,z,ie){var re=arguments.length,de=re<3?j:ie===null?ie=Object.getOwnPropertyDescriptor(j,z):ie,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")de=Reflect.decorate(Y,j,z,ie);else for(var he=Y.length-1;he>=0;he--)(le=Y[he])&&(de=(re<3?le(de):re>3?le(j,z,de):le(j,z))||de);return re>3&&de&&Object.defineProperty(j,z,de),de},ne=function(Y,j){return function(z,ie){j(z,ie,Y)}},V;const G=class G{constructor(j,z,ie){this._editor=j,this._snippet=z,this._snippetLineLeadingWhitespace=ie,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=(0,v.$z)(z.placeholders,u.Or.compareByIndex),this._placeholderGroupsIdx=-1}initialize(j){this._offset=j.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const j=this._editor.getModel();this._editor.changeDecorations(z=>{for(const ie of this._snippet.placeholders){const re=this._snippet.offset(ie),de=this._snippet.fullLen(ie),le=y.Q.fromPositions(j.getPositionAt(this._offset+re),j.getPositionAt(this._offset+re+de)),he=ie.isFinalTabstop?G._decor.inactiveFinal:G._decor.inactive,we=z.addDecoration(le,he);this._placeholderDecorations.set(ie,we)}})}move(j){if(!this._editor.hasModel())return[];this._initDecorations();const z=this._editor.getModel();if(this._placeholderGroupsIdx>=0){const de=[];for(const le of this._placeholderGroups[this._placeholderGroupsIdx])if(le.transform){const he=this._placeholderDecorations.get(le),we=he?z.getDecorationRange(he):null;if(we){const xe=z.getValueInRange(we),Be=le.transform.resolve(xe).split(/\r\n|\r|\n/);for(let M=1;M<Be.length;M++)Be[M]=z.normalizeIndentation(this._snippetLineLeadingWhitespace+Be[M]);de.push(T.k.replace(we,Be.join(z.getEOL())))}}de.length>0&&this._editor.executeEdits("snippet.placeholderTransform",de)}let ie=!1;j===!0&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?(this._placeholderGroupsIdx+=1,ie=!0):j===!1&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1,ie=!0);const re=z.changeDecorations(de=>{const le=new Set,he=[];for(const we of this._placeholderGroups[this._placeholderGroupsIdx]){const xe=this._placeholderDecorations.get(we),Be=xe?z.getDecorationRange(xe):null;if(ie=ie&&this._hasPlaceholderBeenCollapsed(we),!(!xe||!Be)){he.push(new A.L(Be.startLineNumber,Be.startColumn,Be.endLineNumber,Be.endColumn)),de.changeDecorationOptions(xe,we.isFinalTabstop?G._decor.activeFinal:G._decor.active),le.add(we);for(const M of this._snippet.enclosingPlaceholders(we)){const Ve=this._placeholderDecorations.get(M);Ve&&(de.changeDecorationOptions(Ve,M.isFinalTabstop?G._decor.activeFinal:G._decor.active),le.add(M))}}}for(const[we,xe]of this._placeholderDecorations)le.has(we)||de.changeDecorationOptions(xe,we.isFinalTabstop?G._decor.inactiveFinal:G._decor.inactive);return he});return ie?this.move(j):re??[]}_hasPlaceholderBeenCollapsed(j){const z=this._editor.getModel();let ie=j;for(;ie;){if(ie instanceof u.Or){const re=this._placeholderDecorations.get(ie),de=re?z.getDecorationRange(re):null;if((!de||de.isEmpty())&&ie.toString().length>0)return!0}ie=ie.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;
42if(this._snippet.placeholders.length===1){const[j]=this._snippet.placeholders;if(j.isFinalTabstop&&this._snippet.rightMostDescendant===j)return!0}return!1}computePossibleSelections(){const j=new Map;for(const z of this._placeholderGroups){let ie;for(const re of z){if(re.isFinalTabstop)break;ie||(ie=[],j.set(re.index,ie));const de=this._placeholderDecorations.get(re),le=this._editor.getModel().getDecorationRange(de);if(!le){j.delete(re.index);break}ie.push(le)}}return j}get activeChoice(){if(!this._placeholderDecorations)return;const j=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!j?.choice)return;const z=this._placeholderDecorations.get(j);if(!z)return;const ie=this._editor.getModel().getDecorationRange(z);if(ie)return{range:ie,choice:j.choice}}get hasChoice(){let j=!1;return this._snippet.walk(z=>(j=z instanceof u.GR,!j)),j}get activePlaceholderCount(){return this._placeholderGroupsIdx<0?0:this._placeholderGroups[this._placeholderGroupsIdx].length}merge(j){const z=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(ie=>{for(const re of this._placeholderGroups[this._placeholderGroupsIdx]){const de=j.shift();console.assert(de._offset!==-1),console.assert(!de._placeholderDecorations);const le=de._snippet.placeholderInfo.last.index;for(const we of de._snippet.placeholderInfo.all)we.isFinalTabstop?we.index=re.index+(le+1)/this._nestingLevel:we.index=re.index+we.index/this._nestingLevel;this._snippet.replace(re,de._snippet.children);const he=this._placeholderDecorations.get(re);ie.removeDecoration(he),this._placeholderDecorations.delete(re);for(const we of de._snippet.placeholders){const xe=de._snippet.offset(we),Be=de._snippet.fullLen(we),M=y.Q.fromPositions(z.getPositionAt(de._offset+xe),z.getPositionAt(de._offset+xe+Be)),Ve=ie.addDecoration(M,G._decor.inactive);this._placeholderDecorations.set(we,Ve)}}this._renormalizePlaceholderIndices(),this._placeholderGroups=(0,v.$z)(this._snippet.placeholders,u.Or.compareByIndex)})}_renormalizePlaceholderIndices(){const j=this._snippet.placeholders,z=new Set;for(const de of j)de.isFinalTabstop||z.add(de.index);const ie=[...z].sort((de,le)=>de-le),re=new Map;for(let de=0;de<ie.length;de++)re.set(ie[de],de+1);for(const de of j)de.isFinalTabstop||(de.index=re.get(de.index));this._nestingLevel=1}};G._decor={active:L.kI.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:L.kI.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:L.kI.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:L.kI.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let I=G;const H={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Z=V=class{static adjustWhitespace(j,z,ie,re,de){const le=j.getLineContent(z.lineNumber),he=(0,x.UU)(le,0,z.column-1);let we;return re.walk(xe=>{if(!(xe instanceof u.EY)||xe.parent instanceof u.GR||de&&!de.has(xe))return!0;const Be=xe.value.split(/\r\n|\r|\n/);if(ie){const Ve=re.offset(xe);if(Ve===0)Be[0]=j.normalizeIndentation(Be[0]);else{we=we??re.toString();const Me=we.charCodeAt(Ve-1);(Me===10||Me===13)&&(Be[0]=j.normalizeIndentation(he+Be[0]))}for(let Me=1;Me<Be.length;Me++)Be[Me]=j.normalizeIndentation(he+Be[Me])}const M=Be.join(j.getEOL());return M!==xe.value&&(xe.parent.replace(xe,[new u.EY(M)]),we=void 0),!0}),he}static adjustSelection(j,z,ie,re){if(ie!==0||re!==0){const{positionLineNumber:de,positionColumn:le}=z,he=le-ie,we=le+re,xe=j.validateRange({startLineNumber:de,startColumn:he,endLineNumber:de,endColumn:we});z=A.L.createWithDirection(xe.startLineNumber,xe.startColumn,xe.endLineNumber,xe.endColumn,z.getDirection())}return z}static createEditsAndSnippetsFromSelections(j,z,ie,re,de,le,he,we,xe){const Be=[],M=[];if(!j.hasModel())return{edits:Be,snippets:M};const Ve=j.getModel(),Me=j.invokeWithinContext(Ie=>Ie.get(C.VR)),Le=j.invokeWithinContext(Ie=>new h(Ie.get(b.L),Ve)),_e=()=>he,Qe=Ve.getValueInRange(V.adjustSelection(Ve,j.getSelection(),ie,0)),je=Ve.getValueInRange(V.adjustSelection(Ve,j.getSelection(),0,re)),ae=Ve.getLineFirstNonWhitespaceColumn(j.get
42Selection().positionLineNumber),Ee=j.getSelections().map((Ie,Ue)=>({selection:Ie,idx:Ue})).sort((Ie,Ue)=>y.Q.compareRangesUsingStarts(Ie.selection,Ue.selection));for(const{selection:Ie,idx:Ue}of Ee){let $e=V.adjustSelection(Ve,Ie,ie,0),Ye=V.adjustSelection(Ve,Ie,0,re);Qe!==Ve.getValueInRange($e)&&($e=Ie),je!==Ve.getValueInRange(Ye)&&(Ye=Ie);const Ce=Ie.setStartPosition($e.startLineNumber,$e.startColumn).setEndPosition(Ye.endLineNumber,Ye.endColumn),He=new u.fr().parse(z,!0,de),Ke=Ce.getStartPosition(),qe=V.adjustWhitespace(Ve,Ke,le||Ue>0&&ae!==Ve.getLineFirstNonWhitespaceColumn(Ie.positionLineNumber),He);He.resolveVariables(new E([Le,new D(_e,Ue,Ee.length,j.getOption(88)==="spread"),new S(Ve,Ie,Ue,we),new k(Ve,Ie,xe),new N,new W(Me),new U])),Be[Ue]=T.k.replace(Ce,He.toString()),Be[Ue].identifier={major:Ue,minor:0},Be[Ue]._isTracked=!0,M[Ue]=new I(j,He,qe)}return{edits:Be,snippets:M}}static createEditsAndSnippetsFromEdits(j,z,ie,re,de,le,he){if(!j.hasModel()||z.length===0)return{edits:[],snippets:[]};const we=[],xe=j.getModel(),Be=new u.fr,M=new u.mQ,Ve=j.invokeWithinContext(Ie=>new h(Ie.get(b.L),xe)),Me=new N,Le=new W(j.invokeWithinContext(Ie=>Ie.get(C.VR))),_e=new U,Qe=()=>de,je=j.getOption(88)==="spread",ae=z.map((Ie,Ue)=>({edit:Ie,idx:Ue})).sort((Ie,Ue)=>y.Q.compareRangesUsingStarts(Ie.edit.range,Ue.edit.range));let Ee=0;for(let Ie=0;Ie<ae.length;Ie++){const{edit:{range:Ue,template:$e,keepWhitespace:Ye},idx:Ce}=ae[Ie];if(Ie>0){const ue=ae[Ie-1].edit.range,J=y.Q.fromPositions(ue.getEndPosition(),Ue.getStartPosition()),ve=new u.EY(xe.getValueInRange(J));M.appendChild(ve),Ee+=ve.value.length}const He=new Set;M.walk(ue=>(ue instanceof u.rT&&He.add(ue),!0));const Ke=Be.parseFragment($e,M);V.adjustWhitespace(xe,Ue.getStartPosition(),Ye!==void 0?!Ye:re,M,new Set(Ke));const qe=A.L.fromRange(Ue,0),ht=new E([Ve,new D(Qe,Ce,ae.length,je),new S(xe,qe,Ce,le),new k(xe,qe,he),Me,Le,_e]);M.walk(ue=>(ue instanceof u.rT&&!He.has(ue)&&ue.resolve(ht),!0));const Te=M.toString(),oe=Te.slice(Ee);Ee=Te.length;const q=T.k.replace(Ue,oe);q.identifier={major:Ie,minor:0},q._isTracked=!0,we.push(q)}return Be.ensureFinalTabstop(M,ie,!0),{edits:we,snippets:[new I(j,M,"")]}}constructor(j,z,ie=H,re){this._editor=j,this._template=z,this._options=ie,this._languageConfigurationService=re,this._templateMerges=[],this._snippets=[]}dispose(){(0,R.AS)(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(j){if(!this._editor.hasModel())return;const{edits:z,snippets:ie}=typeof this._template=="string"?V.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):V.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=ie,this._editor.executeEdits(j??$.dg.snippet(),z,re=>{const de=re.filter(le=>!!le.identifier);for(let le=0;le<ie.length;le++)ie[le].initialize(de[le].textChange);return this._snippets[0].hasPlaceholder?this._move(!0):de.map(le=>A.L.fromPositions(le.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(j,z=H){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,j]);const{edits:ie,snippets:re}=V.createEditsAndSnippetsFromSelections(this._editor,j,z.overwriteBefore,z.overwriteAfter,!0,z.adjustWhitespace,z.clipboardText,z.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",ie,de=>{const le=de.filter(xe=>!!xe.identifier);for(let xe=0;xe<re.length;xe++)re[xe].initialize(le[xe].textChange);const he=re[0].isTrivialSnippet,we=re.length===this._snippets.reduce((xe,Be)=>xe+Be.activePlaceholderCount,0);if(!he&&we){for(const xe of this._snippets)xe.merge(re);console.assert(re.length===0)}return this._snippets[0].hasPlaceholder&&!he&&we?this._move(void 0):le.map(xe=>A.L.fromPositions(xe.range.getEndPosition()))})}next(){const j=this._move(!0);j.length>0&&(this._editor.setSelections(j),this._editor.revealPositionInCenterIfOutsideViewport(j[0].getPosition()))}prev(){const j=this._move(!1);j.length>0&&(this._editor.setSelections(j),this._editor.revealPositionInCenterIfOutsideViewport(j[0].getPosition()))}_move(j){const z=[];for(const ie of this._snippets){const re=ie.move(j);z.push(...re)}return z}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const j=this._editor.getSelections();if(j.length<this._snippets.length)return!1;const z=new Map;for(const ie of this._snippets){const re=ie.computePossibleSelections();if(z.size===0)for(const[de,le]of re){le.sort(y.Q.compareRangesUsingStarts);for(const he of j)if(le[0].containsRange(he)){z.set(de,[]);break}}
42if(z.size===0)return!1;z.forEach((de,le)=>{de.push(...re.get(le))})}j.sort(y.Q.compareRangesUsingStarts);for(const[ie,re]of z){if(re.length!==j.length){z.delete(ie);continue}re.sort(y.Q.compareRangesUsingStarts);for(let de=0;de<re.length;de++)if(!re[de].containsRange(j[de])){z.delete(ie);continue}}return z.size>0}};Z=V=te([ne(3,g.JZ)],Z)},30474:(St,We,e)=>{e.d(We,{B:()=>L,q:()=>b});var v=e(14333),R=e(48877),x=e(88846),T=e(2106),y=e(10998),A=e(85525),g=function(u,i,r,d){var l=arguments.length,o=l<3?i:d===null?d=Object.getOwnPropertyDescriptor(i,r):d,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(u,i,r,d);else for(var a=u.length-1;a>=0;a--)(c=u[a])&&(o=(l<3?c(o):l>3?c(i,r,o):c(i,r))||o);return l>3&&o&&Object.defineProperty(i,r,o),o},L;(function(u){u.Tap="-monaco-gesturetap",u.Change="-monaco-gesturechange",u.Start="-monaco-gesturestart",u.End="-monaco-gesturesend",u.Contextmenu="-monaco-gesturecontextmenu"})(L||(L={}));const C=class C extends y.jG{constructor(){super(),this.dispatched=!1,this.targets=new A.w,this.ignoreTargets=new A.w,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(T.Jh.runAndSubscribe(v.Iv,({window:i,disposables:r})=>{r.add((0,v.ko)(i.document,"touchstart",d=>this.onTouchStart(d),{passive:!1})),r.add((0,v.ko)(i.document,"touchend",d=>this.onTouchEnd(i,d))),r.add((0,v.ko)(i.document,"touchmove",d=>this.onTouchMove(d),{passive:!1}))},{window:R.G,disposables:this._store}))}static addTarget(i){if(!C.isTouchDevice())return y.jG.None;C.INSTANCE||(C.INSTANCE=(0,y.lC)(new C));const r=C.INSTANCE.targets.push(i);return(0,y.s)(r)}static ignoreTarget(i){if(!C.isTouchDevice())return y.jG.None;C.INSTANCE||(C.INSTANCE=(0,y.lC)(new C));const r=C.INSTANCE.ignoreTargets.push(i);return(0,y.s)(r)}static isTouchDevice(){return"ontouchstart"in R.G||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(i){const r=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let d=0,l=i.targetTouches.length;d<l;d++){const o=i.targetTouches.item(d);this.activeTouches[o.identifier]={id:o.identifier,initialTarget:o.target,initialTimeStamp:r,initialPageX:o.pageX,initialPageY:o.pageY,rollingTimestamps:[r],rollingPageX:[o.pageX],rollingPageY:[o.pageY]};const c=this.newGestureEvent(L.Start,o.target);c.pageX=o.pageX,c.pageY=o.pageY,this.dispatchEvent(c)}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}onTouchEnd(i,r){const d=Date.now(),l=Object.keys(this.activeTouches).length;for(let o=0,c=r.changedTouches.length;o<c;o++){const a=r.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(a.identifier))){console.warn("move of an UNKNOWN touch",a);continue}const p=this.activeTouches[a.identifier],_=Date.now()-p.initialTimeStamp;if(_<C.HOLD_DELAY&&Math.abs(p.initialPageX-p.rollingPageX.at(-1))<30&&Math.abs(p.initialPageY-p.rollingPageY.at(-1))<30){const E=this.newGestureEvent(L.Tap,p.initialTarget);E.pageX=p.rollingPageX.at(-1),E.pageY=p.rollingPageY.at(-1),this.dispatchEvent(E)}else if(_>=C.HOLD_DELAY&&Math.abs(p.initialPageX-p.rollingPageX.at(-1))<30&&Math.abs(p.initialPageY-p.rollingPageY.at(-1))<30){const E=this.newGestureEvent(L.Contextmenu,p.initialTarget);E.pageX=p.rollingPageX.at(-1),E.pageY=p.rollingPageY.at(-1),this.dispatchEvent(E)}else if(l===1){const E=p.rollingPageX.at(-1),S=p.rollingPageY.at(-1),h=p.rollingTimestamps.at(-1)-p.rollingTimestamps[0],D=E-p.rollingPageX[0],k=S-p.rollingPageY[0],N=[...this.targets].filter(W=>p.initialTarget instanceof Node&&W.contains(p.initialTarget));this.inertia(i,N,d,Math.abs(D)/h,D>0?1:-1,E,Math.abs(k)/h,k>0?1:-1,S)}this.dispatchEvent(this.newGestureEvent(L.End,p.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(r.preventDefault(),r.stopPropagation(),this.dispatched=!1)}newGestureEvent(i,r){const d=document.createEvent("CustomEvent");return d.initEvent(i,!1,!0),d.initialTarget=r,d.tapCount=0,d}dispatchEvent(i){if(i.type===L.Tap){const r=new Date().getTime();let d=0;r-this._lastSetTapCountTime>C.CLEAR_TAP_COUNT_TIME?d=1:d=2,this._lastSetTapCountTime=r,i.tapCount=d}else(i.type===L.Change||i.type===L.Contextmenu)&&(this._lastSetTapCountTime=0);if(i.initialTarget instanceof Node){for(const d of this.ignoreTargets)if(d.contains(i.initialTarget))return;const r=[];for(const d of this.targets)if(d.contains(i.initialTarget)){let l=0,o=i.initialTarget;for(;o&&o!==d;)l++,o=o.parentElement;r.push([l,d])}r.sort((d,l)=>d[0]-l[0]);for(const[d,l]of r)l.dispatchEvent(i),this.dispatched=!0}}inertia(i,r,d,l,o,c,a,p,_){this.handle=(0,v.PG)(i,()=>{const E=Date.now(),S=E-d;let h=0,D=0,k=!0;l+=C.SCROLL_FRICTION*S,a+=C.SCROLL_FRICTION*S,l>0&&(k=!1,h=o*l*S),a>0&&(k=!1,D=p*a*S);const N=this.newGestureEvent(L.Change);N.translationX=h,N.translationY=D,r.forEach(W=>W.dispatchEvent(N)),k||this.inertia(i,r,E,l,o,c+h,a,p,_+D)})}onTouchMove(i){const r=Date.now();for(let d=0,l=i.changedTouches.length;d<l;d++){const o=i.changedTouches.item(d);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn("end of an UNKNOWN touch",o);continue}const c=this.activeTouches[o.identifier],a=this.newGestureEvent(L.Change,c.initialTarget);a.translationX=o.pageX-c.rollingPageX.at(-1),a.translationY=o.pageY-c.rollingPageY.at(-1),a.pageX=o.pageX,a.pageY=o.pageY,this.dispatchEvent(a),c.rollingPageX.length>3&&(c.rollingPageX.shift(),c.rollingPageY.shift(),c.rollingTimestamps.shift()),c.rollingPageX.push(o.pageX),c.rollingPageY.push(o.pageY),c.rollingTimestamps.push(r)}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}};C.SCROLL_FRICTION=-.005,C.HOLD_DELAY=700,C.CLEAR_TAP_COUNT_TIME=400;let b=C;g([x.B],b,"isTouchDevice",null)},30657:(St,We,e)=>{e.d(We,{a:()=>v});class v{constructor(...x){this._entries=new Map;for(const[T,y]of x)this.set(T,y)}set(x,T){const y=this._entries.get(x);
42return this._entries.set(x,T),y}get(x){return this._entries.get(x)}}},30696:(St,We,e)=>{var Te;e.d(We,{n:()=>ht});var v=e(10998),R=e(29849),x=e(14333),T=e(13021),y=e(13338),A=e(58881),g=e(60042),L=e(24665),b=e(15365),C=e(54324),u=e(45561),i=e(39723),r=e(18917),d=e(2106);class l{constructor(q,ue,J,ve=null){this.startLineNumbers=q,this.endLineNumbers=ue,this.lastLineRelativePosition=J,this.showEndForLine=ve}equals(q){return!!q&&this.lastLineRelativePosition===q.lastLineRelativePosition&&this.showEndForLine===q.showEndForLine&&(0,y.aI)(this.startLineNumbers,q.startLineNumbers)&&(0,y.aI)(this.endLineNumbers,q.endLineNumbers)}static get Empty(){return new l([],[],0)}}const o=(0,T.H)("stickyScrollViewLayer",{createHTML:oe=>oe}),c="data-sticky-line-index",a="data-sticky-is-line",p="data-sticky-is-line-number",_="data-sticky-is-folding-icon";class E extends v.jG{get height(){return this._height}constructor(q){super(),this._foldingIconStore=this._register(new v.Cm),this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._height=-1,this._onDidChangeStickyScrollHeight=this._register(new d.vl),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._editor=q,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",q instanceof L.t),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable),this._setHeight(0);const ue=()=>{this._linesDomNode.style.left=this._editor.getOption(131).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration(J=>{J.hasChanged(131)&&ue()})),this._register(this._editor.onDidScrollChange(J=>{J.scrollLeftChanged&&ue(),J.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{ue(),this._updateWidgetWidth()})),ue(),this._register(this._editor.onDidLayoutChange(J=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(q){return this._renderedStickyLines.find(ue=>ue.lineNumber===q)}getCurrentLines(){return this._lineNumbers}setState(q,ue,J){const ve=!this._state&&!q,De=this._state&&this._state.equals(q);if(J===void 0&&(ve||De))return;const fe=this._findRenderingData(q),Se=this._lineNumbers;this._lineNumbers=fe.lineNumbers,this._lastLineRelativePosition=fe.lastLineRelativePosition;const pe=this._findIndexToRebuildFrom(Se,this._lineNumbers,J);this._renderRootNode(this._lineNumbers,this._lastLineRelativePosition,ue,pe),this._state=q}_findRenderingData(q){if(!q)return{lineNumbers:[],lastLineRelativePosition:0};const ue=[...q.startLineNumbers];q.showEndForLine!==null&&(ue[q.showEndForLine]=q.endLineNumbers[q.showEndForLine]);let J=0;for(let ve=0;ve<ue.length;ve++)J+=this._editor.getLineHeightForPosition(new b.y(ue[ve],1));return J===0?{lineNumbers:[],lastLineRelativePosition:0}:{lineNumbers:ue,lastLineRelativePosition:q.lastLineRelativePosition}}_findIndexToRebuildFrom(q,ue,J){if(ue.length===0)return 0;if(J!==void 0)return J;const ve=ue.findIndex(De=>!q.includes(De));return ve===-1?0:ve}_updateWidgetWidth(){const q=this._editor.getLayoutInfo(),ue=q.contentLeft;this._lineNumbersDomNode.style.width=`${ue}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",`${this._editor.getScrollWidth()-q.verticalScrollbarWidth}px`),this._rootDomNode.style.width=`${q.width-q.verticalScrollbarWidth}px`}_useFoldingOpacityTransition(q){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${q?.5:0}s`)}_setFoldingIconsVisibility(q){for(const ue of this._renderedStickyLines){const J=ue.foldingIcon;J&&J.setVisible(q?!0:J.isCollapsed)}}async _renderRootNode(q,ue,J,ve){const De=this._editor._getViewModel();if(!De){this._clearWidget();return}if(q.length===0){this._clearWidget();return}const fe=[],Se=q[q.length-1];let pe=0;for(let Xe=0;Xe<this._renderedStickyLines.length;Xe++)if(Xe<ve){const dt=this._renderedStickyLines[Xe];fe.push(this._updatePosition(dt,pe,dt.lineNumber===Se)),pe+=dt.height}else{const dt=this._renderedStickyLines[Xe];dt.lineNumberDomNode.remove(),dt.lineDomNode.remove()}const Ae=this._editor.getLayoutInfo();for(let Xe=ve;Xe<q.length;Xe++){const dt=this._renderChildNode(De,Xe,q[Xe],pe,Se===q[Xe],J,Ae);
42pe+=dt.height,this._linesDomNode.appendChild(dt.lineDomNode),this._lineNumbersDomNode.appendChild(dt.lineNumberDomNode),fe.push(dt)}J&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin)),this._minContentWidthInPx=Math.max(...this._renderedStickyLines.map(Xe=>Xe.scrollWidth))+Ae.verticalScrollbarWidth,this._renderedStickyLines=fe,this._setHeight(pe+ue),this._editor.layoutOverlayWidget(this)}_clearWidget(){for(let q=0;q<this._renderedStickyLines.length;q++){const ue=this._renderedStickyLines[q];ue.lineNumberDomNode.remove(),ue.lineDomNode.remove()}this._setHeight(0)}_setHeight(q){this._height!==q&&(this._height=q,this._height===0?this._rootDomNode.style.display="none":(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${this._height}px`,this._linesDomNodeScrollable.style.height=`${this._height}px`,this._rootDomNode.style.height=`${this._height}px`),this._onDidChangeStickyScrollHeight.fire({height:this._height}))}_setFoldingHoverListeners(){this._foldingIconStore.clear(),this._editor.getOption(126)==="mouseover"&&(this._foldingIconStore.clear(),this._foldingIconStore.add((0,x.ko)(this._lineNumbersDomNode,x.Bx.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add((0,x.ko)(this._lineNumbersDomNode,x.Bx.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(q,ue,J,ve,De,fe,Se){const pe=new S(this._editor,q,Se,fe,this._isOnGlyphMargin,ue,J);return this._updatePosition(pe,ve,De)}_updatePosition(q,ue,J){const ve=q.lineDomNode,De=q.lineNumberDomNode;if(J){const fe="0";ve.style.zIndex=fe,De.style.zIndex=fe;const Se=`${ue+this._lastLineRelativePosition+(q.foldingIcon?.isCollapsed?1:0)}px`;ve.style.top=Se,De.style.top=Se}else{const fe="1";ve.style.zIndex=fe,De.style.zIndex=fe,ve.style.top=`${ue}px`,De.style.top=`${ue}px`}return q}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOrdinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(q){0<=q&&q<this._renderedStickyLines.length&&this._renderedStickyLines[q].lineDomNode.focus()}getEditorPositionFromNode(q){if(!q||q.children.length>0)return null;const ue=this._getRenderedStickyLineFromChildDomNode(q);if(!ue)return null;const J=(0,g.r)(ue.characterMapping,q,0);return new b.y(ue.lineNumber,J)}getLineNumberFromChildDomNode(q){return this._getRenderedStickyLineFromChildDomNode(q)?.lineNumber??null}_getRenderedStickyLineFromChildDomNode(q){const ue=this.getLineIndexFromChildDomNode(q);return ue===null||ue<0||ue>=this._renderedStickyLines.length?null:this._renderedStickyLines[ue]}getLineIndexFromChildDomNode(q){const ue=this._getAttributeValue(q,c);return ue?parseInt(ue,10):null}isInStickyLine(q){return this._getAttributeValue(q,a)!==void 0}isInFoldingIconDomNode(q){return this._getAttributeValue(q,_)!==void 0}_getAttributeValue(q,ue){for(;q&&q!==this._rootDomNode;){const J=q.getAttribute(ue);if(J!==null)return J;q=q.parentElement}}}class S{constructor(q,ue,J,ve,De,fe,Se){this.index=fe,this.lineNumber=Se;const pe=ue.coordinatesConverter.convertModelPositionToViewPosition(new b.y(Se,1)).lineNumber,Ae=ue.getViewLineRenderingData(pe),Xe=q.getOption(76),dt=q.getOption(117).verticalScrollbarSize;let gt;try{gt=u.d.filter(Ae.inlineDecorations,pe,Ae.minColumn,Ae.maxColumn)}catch{gt=[]}const Bt=q.getLineHeightForPosition(new b.y(Se,1)),_t=ue.getTextDirection(Se),ri=new i.zL(!0,!0,Ae.content,Ae.continuesWithWrappedLine,Ae.isBasicASCII,Ae.containsRTL,0,Ae.tokens,gt,Ae.tabSize,Ae.startVisibleColumn,1,1,1,500,"none",!0,!0,null,_t,dt),Gt=new C.fe(2e3),ei=(0,i.UW)(ri,Gt);this.characterMapping=ei.characterMapping;let Zt;o?Zt=o.createHTML(Gt.build()):Zt=Gt.build();const pt=document.createElement("span");pt.setAttribute(c,String(fe)),pt.setAttribute(a,""),pt.setAttribute("role","listitem"),pt.tabIndex=0,pt.className="sticky-line-content",pt.classList.add(`stickyLine${Se}`),pt.style.lineHeight=`${Bt}px`,pt.innerHTML=Zt;const Fe=document.createElement("span");Fe.setAttribute(c,String(fe)),Fe.setAttribute(p,""),Fe.className="sticky-line-number",Fe.style.lineHeight=`${Bt}px`;const st=J.contentLeft;Fe.style.width=`${st}px`;const vt=document.createElement("span");Xe.renderType===1||Xe.renderType===3&&Se%10===0?vt.innerText=Se.toString():Xe.renderType===2&&(vt.innerText=Math.abs(Se-q.getPosition().lineNumber).toString()),vt.className="sticky-line-number-inner",vt.style.width=`${J.lineNumbersWidth}px`,vt.style.paddingLeft=`${J.lineNumbersLeft}px`,Fe.appendChild(vt),this.foldingIcon=this._renderFoldingIconForLine(q,ve,Se,Bt,De),this.foldingIcon&&(Fe.appendChild(this.foldingIcon.domNode),this.foldingIcon.domNode.style.left=`${J.lineNumbersWidth+J.lineNumbersLeft}px`,this.foldingIcon.domNode.style.lineHeight=`${Bt}px`),q.applyFontInfo(pt),q.applyFontInfo(Fe),Fe.style.lineHeight=`${Bt}px`,pt.style.lineHeight=`${Bt}px`,Fe.style.height=`${Bt}px`,pt.style.height=`${Bt}px`,this.scrollWidth=pt.scrollWidth,this.lineDomNode=pt,this.lineNumberDomNode=Fe,this.height=Bt}_renderFoldingIconForLine(q,ue,J,ve,De){const fe=q.getOption(126);if(!ue||fe==="never")return;const Se=ue.regions,pe=Se.findRange(J),Ae=Se.getStartLineNumber(pe);if(!(J===Ae))return;const dt=Se.isCollapsed(pe),gt=new h(dt,Ae,Se.getEndLineNumber(pe),ve);return gt.setVisible(De?!0:dt||fe==="always"),gt.domNode.setAttribute(_,""),gt}}class h{constructor(q,ue,J,ve){this.isCollapsed=q,this.foldingStartLine=ue,this.foldingEndLine=J,this.dimension=ve,this.domNode=document.createElement("div"),this.domNode.style.width="26px",this.domNode.style.height=`${ve}px`,this.domNode.style.lineHeight=`${ve}px`,this.domNode.className=A.L.asClassName(q?r.k0:r.E0)}setVisible(q){this.domNode.style.cursor=q?"pointer":"default",this.domNode.style.opacity=q?"1":"0"}}var D=e(78903),k=e(65958),N=e(52394),W=e(14583),U=e(61618),$=e(49440),te=e(90695),ne=e(94327);class V{constructor(q,ue){this.startLineNumber=q,this.endLineNumber=ue}}class I{constructor(q,ue,J){this.range=q,this.children=ue,this.parent=J}}class H{constructor(q,ue,J,ve){this.uri=q,this.version=ue,this.element=J,this.outlineProviderId=ve}}var Z=e(17954),X=e(82399),G=function(oe,q,ue,J){var ve=arguments.length,De=ve<3?q:J===null?J=Object.getOwnPropertyDescriptor(q,ue):J,fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")De=Reflect.decorate(oe,q,ue,J);else for(var Se=oe.length-1;Se>=0;Se--)(fe=oe[Se])&&(De=(ve<3?fe(De):ve>3?fe(q,ue,De):fe(q,ue))||De);return ve>3&&De&&Object.defineProperty(q,ue,De),De},Y=function(oe,q){return function(ue,J){q(ue,J,oe)}},j;(function(oe){oe.OUTLINE_MODEL="outlineModel",oe.FOLDING_PROVIDER_MODEL="foldingProviderModel",oe.INDENTATION_MODEL="indentationModel"})(j||(j={}));var z;
42(function(oe){oe[oe.VALID=0]="VALID",oe[oe.INVALID=1]="INVALID",oe[oe.CANCELED=2]="CANCELED"})(z||(z={}));let ie=class extends v.jG{constructor(q,ue,J,ve){switch(super(),this._editor=q,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new k.ve(300)),this._updateOperation=this._register(new v.Cm),this._editor.getOption(131).defaultModel){case j.OUTLINE_MODEL:this._modelProviders.push(new de(this._editor,ve));case j.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new we(this._editor,ue,ve));case j.INDENTATION_MODEL:this._modelProviders.push(new he(this._editor,J));break}}dispose(){this._modelProviders.forEach(q=>q.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(q){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const ue of this._modelProviders){const{statusPromise:J,modelPromise:ve}=ue.computeStickyModel(q);this._modelPromise=ve;const De=await J;if(this._modelPromise!==ve)return null;switch(De){case z.CANCELED:return this._updateOperation.clear(),null;case z.VALID:return ue.stickyModel}}return null}).catch(ue=>((0,ne.dz)(ue),null))}};ie=G([Y(2,X._Y),Y(3,R.u)],ie);class re extends v.jG{constructor(q){super(),this._editor=q,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,z.INVALID}computeStickyModel(q){if(q.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const ue=(0,k.SS)(J=>this.createModelFromProvider(J));return{statusPromise:ue.then(J=>this.isModelValid(J)?q.isCancellationRequested?z.CANCELED:(this._stickyModel=this.createStickyModel(q,J),z.VALID):this._invalid()).then(void 0,J=>((0,ne.dz)(J),z.CANCELED)),modelPromise:ue}}isModelValid(q){return!0}isProviderValid(){return!0}}let de=class extends re{constructor(q,ue){super(q),this._languageFeaturesService=ue}createModelFromProvider(q){return W.i9.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),q)}createStickyModel(q,ue){const{stickyOutlineElement:J,providerID:ve}=this._stickyModelFromOutlineModel(ue,this._stickyModel?.outlineProviderId),De=this._editor.getModel();return new H(De.uri,De.getVersionId(),J,ve)}isModelValid(q){return q&&q.children.size>0}_stickyModelFromOutlineModel(q,ue){let J;if(Z.f.first(q.children.values())instanceof W.e0){const Se=Z.f.find(q.children.values(),pe=>pe.id===ue);if(Se)J=Se.children;else{let pe="",Ae=-1,Xe;for(const[dt,gt]of q.children.entries()){const Bt=this._findSumOfRangesOfGroup(gt);Bt>Ae&&(Xe=gt,Ae=Bt,pe=gt.id)}ue=pe,J=Xe.children}}else J=q.children;const ve=[],De=Array.from(J.values()).sort((Se,pe)=>{const Ae=new V(Se.symbol.range.startLineNumber,Se.symbol.range.endLineNumber),Xe=new V(pe.symbol.range.startLineNumber,pe.symbol.range.endLineNumber);return this._comparator(Ae,Xe)});for(const Se of De)ve.push(this._stickyModelFromOutlineElement(Se,Se.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new I(void 0,ve,void 0),providerID:ue}}_stickyModelFromOutlineElement(q,ue){const J=[];for(const De of q.children.values())if(De.symbol.selectionRange.startLineNumber!==De.symbol.range.endLineNumber)if(De.symbol.selectionRange.startLineNumber!==ue)J.push(this._stickyModelFromOutlineElement(De,De.symbol.selectionRange.startLineNumber));else for(const fe of De.children.values())J.push(this._stickyModelFromOutlineElement(fe,De.symbol.selectionRange.startLineNumber));J.sort((De,fe)=>this._comparator(De.range,fe.range));const ve=new V(q.symbol.selectionRange.startLineNumber,q.symbol.range.endLineNumber);return new I(ve,J,void 0)}_comparator(q,ue){return q.startLineNumber!==ue.startLineNumber?q.startLineNumber-ue.startLineNumber:ue.endLineNumber-q.endLineNumber}_findSumOfRangesOfGroup(q){let ue=0;for(const J of q.children.values())ue+=this._findSumOfRangesOfGroup(J);return q instanceof W.LC?ue+q.symbol.range.endLineNumber-q.symbol.selectionRange.startLineNumber:ue}};de=G([Y(1,R.u)],de);class le extends re{constructor(q){super(q),this._foldingLimitReporter=this._register(new U.BP(q))}createStickyModel(q,ue){const J=this._fromFoldingRegions(ue),ve=this._editor.getModel();return new H(ve.uri,ve.getVersionId(),J,void 0)}isModelValid(q){return q!==null}_fromFoldingRegions(q){const ue=q.length,J=[],ve=new I(void 0,[],void 0);for(let De=0;De<ue;De++){const fe=q.getParentIndex(De);let Se;fe!==-1?Se=J[fe]:Se=ve;const pe=new I(new V(q.getStartLineNumber(De),q.getEndLineNumber(De)+1),[],Se);Se.children.push(pe),J.push(pe)}return ve}}let he=class extends le{constructor(q,ue){super(q),this._languageConfigurationService=ue,this.provider=this._register(new te.hW(q.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(q){return this.provider.compute(q)}};he=G([Y(1,N.JZ)],he);let we=class extends le{constructor(q,ue,J){super(q),this._languageFeaturesService=J,this.provider=this._register(new v.HE),this._register(this._languageFeaturesService.foldingRangeProvider.onDidChange(()=>{this._updateProvider(q,ue)})),this._updateProvider(q,ue)}_updateProvider(q,ue){const J=U.WR.getFoldingRangeProviders(this._languageFeaturesService,q.getModel());J.length!==0&&(this.provider.value=new $.M(q.getModel(),J,ue,this._foldingLimitReporter,void 0))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(q){return this.provider.value?.compute(q)??null}};we=G([Y(2,R.u)],we);var xe=e(28061),Be=function(oe,q,ue,J){var ve=arguments.length,De=ve<3?q:J===null?J=Object.getOwnPropertyDescriptor(q,ue):J,fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")De=Reflect.decorate(oe,q,ue,J);else for(var Se=oe.length-1;Se>=0;Se--)(fe=oe[Se])&&(De=(ve<3?fe(De):ve>3?fe(q,ue,De):fe(q,ue))||De);return ve>3&&De&&Object.defineProperty(q,ue,De),De},M=function(oe,q){return function(ue,J){q(ue,J,oe)}};class Ve{constructor(q,ue,J,ve){this.startLineNumber=q,this.endLineNumber=ue,this.top=J,this.height=ve}}let Me=class extends v.jG{constructor(q,ue,J){super(),this._languageFeaturesService=ue,this._languageConfigurationService=J,this._onDidChangeStickyScroll=this._register(new d.vl),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=q,this._sessionStore=this._register(new v.Cm),this._updateSoon=this._register(new k.uC(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(ve=>{ve.hasChanged(131)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(131).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add((0,v.s)(()=>{this._stickyModelProvider?.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){return this._model?.version}updateStickyModelProvider(){this._stickyModelProvider?.dispose(),this._stickyModelProvider=null,this._editor.hasModel()&&(this._stickyModelProvider=new ie(this._editor,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}
42async update(){this._cts?.dispose(!0),this._cts=new D.Qi,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(q){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const ue=await this._stickyModelProvider.update(q);q.isCancellationRequested||(this._model=ue)}getCandidateStickyLinesIntersecting(q){if(!this._model?.element)return[];const ue=[];return this.getCandidateStickyLinesIntersectingFromStickyModel(q,this._model.element,ue,0,0,-1),this.filterHiddenRanges(ue)}getCandidateStickyLinesIntersectingFromStickyModel(q,ue,J,ve,De,fe){const Se=this._editor.getModel();if(!Se||ue.children.length===0)return;let pe=fe;const Ae=[];for(let gt=0;gt<ue.children.length;gt++){const Bt=ue.children[gt];Bt.range&&Ae.push(Bt.range.startLineNumber)}const Xe=this.updateIndex((0,y.El)(Ae,q.startLineNumber,(gt,Bt)=>gt-Bt)),dt=this.updateIndex((0,y.El)(Ae,q.endLineNumber,(gt,Bt)=>gt-Bt));for(let gt=Xe;gt<=dt;gt++){const Bt=ue.children[gt];if(!Bt||!Bt.range)continue;const{startLineNumber:_t,endLineNumber:ri}=Bt.range;if(ri>_t+1&&q.startLineNumber<=ri+1&&_t-1<=q.endLineNumber&&_t!==pe&&Se.isValidRange(new xe.Q(_t,1,ri,1))){pe=_t;const Gt=this._editor.getLineHeightForPosition(new b.y(_t,1));J.push(new Ve(_t,ri-1,De,Gt)),this.getCandidateStickyLinesIntersectingFromStickyModel(q,Bt,J,ve+1,De+Gt,_t)}}}filterHiddenRanges(q){const ue=this._editor._getViewModel()?.getHiddenAreas();return ue?q.filter(J=>!ue.some(ve=>J.startLineNumber>=ve.startLineNumber&&J.endLineNumber<=ve.endLineNumber+1)):q}updateIndex(q){return q===-1?0:q<0?-q-2:q}};Me=Be([M(1,R.u),M(2,N.JZ)],Me);var Le=e(52348),_e=e(58067),Qe=e(31540),je=e(38122),ae=e(87951),Ee=e(914),Ie=e(39504),Ue=e(12060),$e=e(9715),Ye=e(99039),Ce=e(48877),He=function(oe,q,ue,J){var ve=arguments.length,De=ve<3?q:J===null?J=Object.getOwnPropertyDescriptor(q,ue):J,fe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")De=Reflect.decorate(oe,q,ue,J);else for(var Se=oe.length-1;Se>=0;Se--)(fe=oe[Se])&&(De=(ve<3?fe(De):ve>3?fe(q,ue,De):fe(q,ue))||De);return ve>3&&De&&Object.defineProperty(q,ue,De),De},Ke=function(oe,q){return function(ue,J){q(ue,J,oe)}},qe;let ht=(Te=class extends v.jG{constructor(q,ue,J,ve,De,fe,Se){super(),this._editor=q,this._contextMenuService=ue,this._languageFeaturesService=J,this._instaService=ve,this._contextKeyService=Se,this._sessionStore=new v.Cm,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._mouseTarget=null,this._onDidChangeStickyScrollHeight=this._register(new d.vl),this.onDidChangeStickyScrollHeight=this._onDidChangeStickyScrollHeight.event,this._stickyScrollWidget=new E(this._editor),this._stickyLineCandidateProvider=new Me(this._editor,J,De),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=l.Empty;const pe=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeLineHeight(Xe=>
42{Xe.changes.forEach(dt=>{const gt=dt.lineNumber;this._widgetState.startLineNumbers.includes(gt)&&this._renderStickyScroll(gt)})})),this._register(this._editor.onDidChangeFont(Xe=>{Xe.changes.forEach(dt=>{const gt=dt.lineNumber;this._widgetState.startLineNumbers.includes(gt)&&this._renderStickyScroll(gt)})})),this._register(this._editor.onDidChangeConfiguration(Xe=>{this._readConfigurationChange(Xe)})),this._register((0,x.ko)(pe,x.Bx.CONTEXT_MENU,async Xe=>{this._onContextMenu((0,x.zk)(pe),Xe)})),this._stickyScrollFocusedContextKey=je.R.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=je.R.stickyScrollVisible.bindTo(this._contextKeyService);const Ae=this._register((0,x.w5)(pe));this._register(Ae.onDidBlur(Xe=>{this._positionRevealed===!1&&pe.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(Ae.onDidFocus(Xe=>{this.focus()})),this._registerMouseListeners(),this._register((0,x.ko)(pe,x.Bx.MOUSE_DOWN,Xe=>{this._onMouseDown=!0})),this._register(this._stickyScrollWidget.onDidChangeStickyScrollHeight(Xe=>{this._onDidChangeStickyScrollHeight.fire(Xe)})),this._onDidResize(),this._readConfiguration()}get stickyScrollWidgetHeight(){return this._stickyScrollWidget.height}static get(q){return q.getContribution(qe.ID)}_disposeFocusStickyScrollStore(){this._stickyScrollFocusedContextKey.set(!1),this._focusDisposableStore?.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}isFocused(){return this._focused}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new v.Cm,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(q){this._focusedStickyElementIndex=q?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const q=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:q[this._focusedStickyElementIndex],column:1})}_revealPosition(q){this._reveaInEditor(q,()=>this._editor.revealPosition(q))}_revealLineInCenterIfOutsideViewport(q){this._reveaInEditor(q,()=>this._editor.revealLineInCenterIfOutsideViewport(q.lineNumber,0))}_reveaInEditor(q,ue){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,ue(),this._editor.setSelection(xe.Q.fromPositions(q)),this._editor.focus()}_registerMouseListeners(){const q=this._register(new v.Cm),ue=this._register(new ae.gi(this._editor,{extractLineNumberFromMouseEvent:De=>{const fe=this._stickyScrollWidget.getEditorPositionFromNode(De.target.element);return fe?fe.lineNumber:0}})),J=De=>{if(!this._editor.hasModel()||De.target.type!==12||De.target.detail!==this._stickyScrollWidget.getId())return null;const fe=De.target.element;if(!fe||fe.innerText!==fe.innerHTML)return null;const Se=this._stickyScrollWidget.getEditorPositionFromNode(fe);return Se?{range:new xe.Q(Se.lineNumber,Se.column,Se.lineNumber,Se.column+fe.innerText.length),textElement:fe}:null},ve=this._stickyScrollWidget.getDomNode();this._register((0,x.un)(ve,x.Bx.CLICK,De=>{if(De.ctrlKey||De.altKey||De.metaKey||!De.leftButton)return;if(De.shiftKey){const Ae=this._stickyScrollWidget.getLineIndexFromChildDomNode(De.target);if(Ae===null)return;const Xe=new b.y(this._endLineNumbers[Ae],1);this._revealLineInCenterIfOutsideViewport(Xe);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(De.target)){const Ae=this._stickyScrollWidget.getLineNumberFromChildDomNode(De.target);this._toggleFoldingRegionForLine(Ae);return}if(!this._stickyScrollWidget.isInStickyLine(De.target))return;let pe=this._stickyScrollWidget.getEditorPositionFromNode(De.target);if(!pe){const Ae=this._stickyScrollWidget.getLineNumberFromChildDomNode(De.target);if(Ae===null)return;pe=new b.y(Ae,1)}this._revealPosition(pe)})),this._register((0,x.ko)(Ce.G,x.Bx.MOUSE_MOVE,De=>{this._mouseTarget=De.target,this._onMouseMoveOrKeyDown(De)})),this._register((0,x.ko)(Ce.G,x.Bx.KEY_DOWN,De=>{this._onMouseMoveOrKeyDown(De)})),this._register((0,x.ko)(Ce.G,x.Bx.KEY_UP,()=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())}
42)),this._register(ue.onMouseMoveOrRelevantKeyDown(([De,fe])=>{const Se=J(De);if(!Se||!De.hasTriggerModifier||!this._editor.hasModel()){q.clear();return}const{range:pe,textElement:Ae}=Se;if(!pe.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=pe,q.clear();else if(Ae.style.textDecoration==="underline")return;const Xe=new D.Qi;q.add((0,v.s)(()=>Xe.dispose(!0)));let dt;(0,Ee.hE)(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new b.y(pe.startLineNumber,pe.startColumn+1),!1,Xe.token).then(gt=>{if(!Xe.token.isCancellationRequested)if(gt.length!==0){this._candidateDefinitionsLength=gt.length;const Bt=Ae;dt!==Bt?(q.clear(),dt=Bt,dt.style.textDecoration="underline",q.add((0,v.s)(()=>{dt.style.textDecoration="none"}))):dt||(dt=Bt,dt.style.textDecoration="underline",q.add((0,v.s)(()=>{dt.style.textDecoration="none"})))}else q.clear()})})),this._register(ue.onCancel(()=>{q.clear()})),this._register(ue.onExecute(async De=>{if(De.target.type!==12||De.target.detail!==this._stickyScrollWidget.getId())return;const fe=this._stickyScrollWidget.getEditorPositionFromNode(De.target.element);fe&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:fe.lineNumber,column:1})),this._instaService.invokeFunction(Ie.U,De,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(q,ue){const J=new $e.P(q,ue);this._contextMenuService.showContextMenu({menuId:_e.D8.StickyScrollContext,getAnchor:()=>J,menuActionOptions:{renderShortTitle:!0}})}_onMouseMoveOrKeyDown(q){if(!q.shiftKey||!this._mouseTarget||!(0,x.sb)(this._mouseTarget))return;const ue=this._stickyScrollWidget.getLineIndexFromChildDomNode(this._mouseTarget);ue===null||this._showEndForLine===ue||(this._showEndForLine=ue,this._renderStickyScroll())}_toggleFoldingRegionForLine(q){if(!this._foldingModel||q===null)return;const ue=this._stickyScrollWidget.getRenderedStickyLine(q),J=ue?.foldingIcon;if(!J)return;(0,Ye.bC)(this._foldingModel,1,[q]),J.isCollapsed=!J.isCollapsed;const ve=(J.isCollapsed?this._editor.getTopForLineNumber(J.foldingEndLine):this._editor.getTopForLineNumber(J.foldingStartLine))-this._editor.getOption(75)*ue.index+1;this._editor.setScrollTop(ve),this._renderStickyScroll(q)}_readConfiguration(){const q=this._editor.getOption(131);if(q.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._resetState(),this._sessionStore.clear(),this._enabled=!1;return}else q.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(J=>{J.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(J=>this._onTokensChange(J))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(76).renderType===2?this._cursorPositionListener||(this._cursorPositionListener=this._editor.onDidChangeCursorPosition(J=>{this._positionLineNumber!==J.position.lineNumber&&(this._positionLineNumber=J.position.lineNumber,this._showEndForLine=void 0,this._renderStickyScroll(0))}),this._sessionStore.add(this._cursorPositionListener)):this._cursorPositionListener&&(this._sessionStore.delete(this._cursorPositionListener),this._cursorPositionListener.dispose(),this._cursorPositionListener=void 0)}_readConfigurationChange(q){(q.hasChanged(131)||q.hasChanged(81)||q.hasChanged(75)||q.hasChanged(126)||q.hasChanged(76))&&this._readConfiguration(),(q.hasChanged(76)||q.hasChanged(52)||q.hasChanged(126))&&this._renderStickyScroll(0)}_needsUpdate(q){const ue=this._stickyScrollWidget.getCurrentLines();for(const J of ue)for(const ve of q.ranges)if(J>=ve.fromLineNumber&&J<=ve.toLineNumber)return!0;return!1}_onTokensChange(q){this._needsUpdate(q)&&this._renderStickyScroll(0)}_onDidResize(){const ue=this._editor.getLayoutInfo().height/this._editor.getOption(75);this._maxStickyLines=Math.round(ue*.25),this._renderStickyScroll(0)}async _renderStickyScroll(q){const ue=this._editor.getModel();if(!ue||ue.isTooLargeForTokenization()){this._resetState();return}const J=this._updateAndGetMinRebuildFromLine(q),ve=this._stickyLineCandidateProvider.getVersionId();if(ve===void 0||ve===ue.getVersionId())if(!this._focused)await this._updateState(J);else if(this._focusedStickyElementIndex===-1)await this._updateState(J),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const fe=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(J),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(fe)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(q){if(q!==void 0){const ue=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(q,ue)}return this._minRebuildFromLine}async _updateState(q){this._minRebuildFromLine=void 0,this._foldingModel=await U.WR.get(this._editor)?.getFoldingModel()??void 0,this._widgetState=this.findScrollWidgetState();const ue=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(ue),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,q)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=l.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const q=Math.min(this._maxStickyLines,this._editor.getOption(131).maxLineCount),ue=this._editor.getScrollTop();let J=0;const ve=[],De=[],fe=this._editor.getVisibleRanges();if(fe.length!==0){const Se=new V(fe[0].startLineNumber,fe[fe.length-1].endLineNumber),pe=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(Se);for(const Ae of pe){const Xe=Ae.startLineNumber,dt=Ae.endLineNumber,gt=Ae.top,Bt=gt+Ae.height,_t=this._editor.getTopForLineNumber(Xe)-ue,ri=this._editor.getBottomForLineNumber(dt)-ue;if(gt>_t&&gt<=ri&&(ve.push(Xe),De.push(dt+1),Bt>ri&&(J=ri-Bt)),ve.length===q)break}}return this._endLineNumbers=De,new l(ve,De,J,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},qe=Te,Te.ID="store.contrib.stickyScrollController",Te);ht=qe=He([Ke(1,Le.Z),Ke(2,R.u),Ke(3,X._Y),Ke(4,N.JZ),Ke(5,Ue.U),Ke(6,Qe.fN)],ht)},31272:(St,We,e)=>{e.d(We,{G6:()=>u,Mn:()=>b,iZ:()=>L});
42var v=e(97757),R=e(13338),x=e(65958),T=e(51055),y=e(6341),A=e(2106),g=e(17954);function L(i){return!!i&&i.visibility!==void 0}function b(i){switch(i){case!0:return 1;case!1:return 0;default:return i}}function C(i){return"collapsible"in i}class u{constructor(r,d,l={}){this.user=r,this.rootRef=[],this.eventBufferer=new A.at,this._onDidSpliceModel=new A.vl,this.onDidSpliceModel=this._onDidSpliceModel.event,this._onDidSpliceRenderedNodes=new A.vl,this.onDidSpliceRenderedNodes=this._onDidSpliceRenderedNodes.event,this._onDidChangeCollapseState=new A.vl,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new A.vl,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this.refilterDelayer=new x.ve(T.h),this.collapseByDefault=typeof l.collapseByDefault>"u"?!1:l.collapseByDefault,this.allowNonCollapsibleParents=l.allowNonCollapsibleParents??!1,this.filter=l.filter,this.autoExpandSingleChildren=typeof l.autoExpandSingleChildren>"u"?!1:l.autoExpandSingleChildren,this.root={parent:void 0,element:d,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(r,d,l=g.f.empty(),o={}){if(r.length===0)throw new v.jh(this.user,"Invalid tree location");o.diffIdentityProvider?this.spliceSmart(o.diffIdentityProvider,r,d,l,o):this.spliceSimple(r,d,l,o)}spliceSmart(r,d,l,o=g.f.empty(),c,a=c.diffDepth??0){const{parentNode:p}=this.getParentNodeWithListIndex(d);if(!p.lastDiffIds)return this.spliceSimple(d,l,o,c);const _=[...o],E=d[d.length-1],S=new y.uP({getElements:()=>p.lastDiffIds},{getElements:()=>[...p.children.slice(0,E),..._,...p.children.slice(E+l)].map(W=>r.getId(W.element).toString())}).ComputeDiff(!1);if(S.quitEarly)return p.lastDiffIds=void 0,this.spliceSimple(d,l,_,c);const h=d.slice(0,-1),D=(W,U,$)=>{if(a>0)for(let te=0;te<$;te++)W--,U--,this.spliceSmart(r,[...h,W,0],Number.MAX_SAFE_INTEGER,_[U].children,c,a-1)};let k=Math.min(p.children.length,E+l),N=_.length;for(const W of S.changes.sort((U,$)=>$.originalStart-U.originalStart))D(k,N,k-(W.originalStart+W.originalLength)),k=W.originalStart,N=W.modifiedStart-E,this.spliceSimple([...h,k],W.originalLength,g.f.slice(_,N,N+W.modifiedLength),c);D(k,N,k)}spliceSimple(r,d,l=g.f.empty(),{onDidCreateNode:o,onDidDeleteNode:c,diffIdentityProvider:a}){const{parentNode:p,listIndex:_,revealed:E,visible:S}=this.getParentNodeWithListIndex(r),h=[],D=g.f.map(l,I=>this.createTreeNode(I,p,p.visible?1:0,E,h,o)),k=r[r.length-1];let N=0;for(let I=k;I>=0&&I<p.children.length;I--){const H=p.children[I];if(H.visible){N=H.visibleChildIndex;break}}const W=[];let U=0,$=0;for(const I of D)W.push(I),$+=I.renderNodeCount,I.visible&&(I.visibleChildIndex=N+U++);const te=(0,R.V4)(p.children,k,d,W);a?p.lastDiffIds?(0,R.V4)(p.lastDiffIds,k,d,W.map(I=>a.getId(I.element).toString())):p.lastDiffIds=p.children.map(I=>a.getId(I.element).toString()):p.lastDiffIds=void 0;let ne=0;for(const I of te)I.visible&&ne++;if(ne!==0)for(let I=k+W.length;I<p.children.length;I++){const H=p.children[I];H.visible&&(H.visibleChildIndex-=ne)}if(p.visibleChildrenCount+=U-ne,te.length>0&&c){const I=H=>{c(H),H.children.forEach(I)};te.forEach(I)}if(E&&S){const I=te.reduce((H,Z)=>H+(Z.visible?Z.renderNodeCount:0),0);
42this._updateAncestorsRenderNodeCount(p,$-I),this._onDidSpliceRenderedNodes.fire({start:_,deleteCount:I,elements:h})}this._onDidSpliceModel.fire({insertedNodes:W,deletedNodes:te});let V=p;for(;V;){if(V.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}V=V.parent}}rerender(r){if(r.length===0)throw new v.jh(this.user,"Invalid tree location");const{node:d,listIndex:l,revealed:o}=this.getTreeNodeWithListIndex(r);d.visible&&o&&this._onDidSpliceRenderedNodes.fire({start:l,deleteCount:1,elements:[d]})}has(r){return this.hasTreeNode(r)}getListIndex(r){const{listIndex:d,visible:l,revealed:o}=this.getTreeNodeWithListIndex(r);return l&&o?d:-1}getListRenderCount(r){return this.getTreeNode(r).renderNodeCount}isCollapsible(r){return this.getTreeNode(r).collapsible}setCollapsible(r,d){const l=this.getTreeNode(r);typeof d>"u"&&(d=!l.collapsible);const o={collapsible:d};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(r,o))}isCollapsed(r){return this.getTreeNode(r).collapsed}setCollapsed(r,d,l){const o=this.getTreeNode(r);typeof d>"u"&&(d=!o.collapsed);const c={collapsed:d,recursive:l||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(r,c))}_setCollapseState(r,d){const{node:l,listIndex:o,revealed:c}=this.getTreeNodeWithListIndex(r),a=this._setListNodeCollapseState(l,o,c,d);if(l!==this.root&&this.autoExpandSingleChildren&&a&&!C(d)&&l.collapsible&&!l.collapsed&&!d.recursive){let p=-1;for(let _=0;_<l.children.length;_++)if(l.children[_].visible)if(p>-1){p=-1;break}else p=_;p>-1&&this._setCollapseState([...r,p],d)}return a}_setListNodeCollapseState(r,d,l,o){const c=this._setNodeCollapseState(r,o,!1);if(!l||!r.visible||!c)return c;const a=r.renderNodeCount,p=this.updateNodeAfterCollapseChange(r),_=a-(d===-1?0:1);return this._onDidSpliceRenderedNodes.fire({start:d+1,deleteCount:_,elements:p.slice(1)}),c}_setNodeCollapseState(r,d,l){let o;if(r===this.root?o=!1:(C(d)?(o=r.collapsible!==d.collapsible,r.collapsible=d.collapsible):r.collapsible?(o=r.collapsed!==d.collapsed,r.collapsed=d.collapsed):o=!1,o&&this._onDidChangeCollapseState.fire({node:r,deep:l})),!C(d)&&d.recursive)for(const c of r.children)o=this._setNodeCollapseState(c,d,!0)||o;return o}expandTo(r){this.eventBufferer.bufferEvents(()=>{let d=this.getTreeNode(r);for(;d.parent;)d=d.parent,r=r.slice(0,r.length-1),d.collapsed&&this._setCollapseState(r,{collapsed:!1,recursive:!1})})}refilter(){const r=this.root.renderNodeCount,d=this.updateNodeAfterFilterChange(this.root);this._onDidSpliceRenderedNodes.fire({start:0,deleteCount:r,elements:d}),this.refilterDelayer.cancel()}createTreeNode(r,d,l,o,c,a){const p={parent:d,element:r.element,children:[],depth:d.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof r.collapsible=="boolean"?r.collapsible:typeof r.collapsed<"u",collapsed:typeof r.collapsed>"u"?this.collapseByDefault:r.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},_=this._filterNode(p,l);p.visibility=_,o&&c.push(p);const E=r.children||g.f.empty(),S=o&&_!==0&&!p.collapsed;let h=0,D=1;for(const k of E){const N=this.createTreeNode(k,p,_,S,c,a);p.children.push(N),D+=N.renderNodeCount,N.visible&&(N.visibleChildIndex=h++)}return this.allowNonCollapsibleParents||(p.collapsible=p.collapsible||p.children.length>0),p.visibleChildrenCount=h,p.visible=_===2?h>0:_===1,p.visible?p.collapsed||(p.renderNodeCount=D):(p.renderNodeCount=0,o&&c.pop()),a?.(p),p}updateNodeAfterCollapseChange(r){const d=r.renderNodeCount,l=[];return this._updateNodeAfterCollapseChange(r,l),this._updateAncestorsRenderNodeCount(r.parent,l.length-d),l}_updateNodeAfterCollapseChange(r,d){if(r.visible===!1)return 0;if(d.push(r),r.renderNodeCount=1,!r.collapsed)for(const l of r.children)r.renderNodeCount+=this._updateNodeAfterCollapseChange(l,d);return this._onDidChangeRenderNodeCount.fire(r),r.renderNodeCount}updateNodeAfterFilterChange(r){const d=r.renderNodeCount,l=[];return this._updateNodeAfterFilterChange(r,r.visible?1:0,l),this._updateAncestorsRenderNodeCount(r.parent,l.length-d),l}_updateNodeAfterFilterChange(r,d,l,o=!0){let c;if(r!==this.root){if(c=this._filterNode(r,d),c===0)return r.visible=!1,r.renderNodeCount=0,!1;o&&l.push(r)}const a=l.length;r.renderNodeCount=r===this.root?0:1;let p=!1;if(!r.collapsed||c!==0){let _=0;for(const E of r.children)p=this._updateNodeAfterFilterChange(E,c,l,o&&!r.collapsed)||p,E.visible&&(E.visibleChildIndex=_++);r.visibleChildrenCount=_}else r.visibleChildrenCount=0;return r!==this.root&&(r.visible=c===2?p:c===1,r.visibility=c),r.visible?r.collapsed||(r.renderNodeCount+=l.length-a):(r.renderNodeCount=0,o&&l.pop()),this._onDidChangeRenderNodeCount.fire(r),r.visible}_updateAncestorsRenderNodeCount(r,d){if(d!==0)for(;r;)r.renderNodeCount+=d,this._onDidChangeRenderNodeCount.fire(r),r=r.parent}_filterNode(r,d){const l=this.filter?this.filter.filter(r.element,d):1;return typeof l=="boolean"?(r.filterData=void 0,l?1:0):L(l)?(r.filterData=l.data,b(l.visibility)):(r.filterData=void 0,b(l))}hasTreeNode(r,d=this.root){if(!r||r.length===0)return!0;const[l,...o]=r;return l<0||l>d.children.length?!1:this.hasTreeNode(o,d.children[l])}getTreeNode(r,d=this.root){if(!r||r.length===0)return d;const[l,...o]=r;if(l<0||l>d.children.length)throw new v.jh(this.user,"Invalid tree location");return this.getTreeNode(o,d.children[l])}getTreeNodeWithListIndex(r){if(r.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:d,listIndex:l,revealed:o,visible:c}=this.getParentNodeWithListIndex(r),a=r[r.length-1];if(a<0||a>d.children.length)throw new v.jh(this.user,"Invalid tree location");const p=d.children[a];return{node:p,listIndex:l,revealed:o,visible:c&&p.visible}}getParentNodeWithListIndex(r,d=this.root,l=0,o=!0,c=!0){const[a,...p]=r;if(a<0||a>d.children.length)throw new v.jh(this.user,"Invalid tree location");for(let _=0;_<a;_++)l+=d.children[_].renderNodeCount;return o=o&&!d.collapsed,c=c&&d.visible,p.length===0?{parentNode:d,listIndex:l,revealed:o,visible:c}:this.getParentNodeWithListIndex(p,d.children[a],l+1,o,c)}getNode(r=[]){return this.getTreeNode(r)}getNodeLocation(r){const d=[];let l=r;
42for(;l.parent;)d.push(l.parent.children.indexOf(l)),l=l.parent;return d.reverse()}getParentNodeLocation(r){if(r.length!==0)return r.length===1?[]:(0,R.RT)(r)[0]}getFirstElementChild(r){const d=this.getTreeNode(r);if(d.children.length!==0)return d.children[0].element}}},31531:(St,We,e)=>{var bo;e.d(We,{Ho:()=>xr,kI:()=>Oo,Bz:()=>Io,J8:()=>Ro,oL:()=>or});var v=e(13338),R=e(88436),x=e(94901),T=e(94327),y=e(2106),A=e(10998),g=e(16844),L=e(37264),b=e(82399),C=e(89563),u=e(38803),i=e(44657),r=e(58718),d=e(78471),l=e(15365),o=e(28061),c=e(93702),a=e(77922),p=e(52394),_=e(66055),E=e(32471),S=e(83455),h=e(57445),D=e(19184),k=e(1804);class N{constructor(w,B,ee,ye){this.range=w,this.nestingLevel=B,this.nestingLevelOfEqualBracketType=ee,this.isInvalid=ye}}class W{constructor(w,B,ee,ye,Pe,Ge){this.range=w,this.openingBracketRange=B,this.closingBracketRange=ee,this.nestingLevel=ye,this.nestingLevelOfEqualBracketType=Pe,this.bracketPairNode=Ge}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class U extends W{constructor(w,B,ee,ye,Pe,Ge,yt){super(w,B,ee,ye,Pe,Ge),this.minVisibleColumnIndentation=yt}}var $=e(22994),te=e(85702),ne=e(34883),V=e(68302),I=e(60756),H=e(33206),Z=e(47132);class X extends A.jG{didLanguageChange(w){return this.brackets.didLanguageChange(w)}constructor(w,B){if(super(),this.textModel=w,this.getLanguageConfiguration=B,this.didChangeEmitter=this._register(new y.vl),this.denseKeyProvider=new I.Mg,this.brackets=new te.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],w.tokenization.hasTokens)w.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const ee=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),ye=new H._(this.textModel.getValue(),ee);this.initialAstWithoutTokens=(0,V.T)(ye,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const w=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,w||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:w}){const B=w.map(ee=>new $.c((0,ne.qe)(ee.fromLineNumber-1,0),(0,ne.qe)(ee.toLineNumber,0),(0,ne.qe)(ee.toLineNumber-ee.fromLineNumber+1,0)));this.handleEdits(B,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(w){const B=$.c.fromModelContentChanges(w.changes);this.handleEdits(B,!1)}handleEdits(w,B){const ee=(0,Z.M)(this.queuedTextEdits,w);this.queuedTextEdits=ee,this.initialAstWithoutTokens&&!B&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,Z.M)(this.queuedTextEditsForInitialAstWithoutTokens,w))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(w,B,ee){const ye=B,Pe=new H.tk(this.textModel,this.brackets);return(0,V.T)(Pe,w,ye,ee)}getBracketsInRange(w,B){this.flushQueue();const ee=(0,ne.qe)(w.startLineNumber-1,w.startColumn-1),ye=(0,ne.qe)(w.endLineNumber-1,w.endColumn-1);return new v.c1(Pe=>{const Ge=this.initialAstWithoutTokens||this.astWithTokens;j(Ge,ne.Vp,Ge.length,ee,ye,Pe,0,0,new Map,B)})}getBracketPairsInRange(w,B){this.flushQueue();const ee=(0,ne.VL)(w.getStartPosition()),ye=(0,ne.VL)(w.getEndPosition());return new v.c1(Pe=>{const Ge=this.initialAstWithoutTokens||this.astWithTokens,yt=new z(Pe,B,this.textModel);ie(Ge,ne.Vp,Ge.length,ee,ye,yt,0,new Map)})}getFirstBracketAfter(w){this.flushQueue();const B=this.initialAstWithoutTokens||this.astWithTokens;return Y(B,ne.Vp,B.length,(0,ne.VL)(w))}getFirstBracketBefore(w){this.flushQueue();const B=this.initialAstWithoutTokens||this.astWithTokens;return G(B,ne.Vp,B.length,(0,ne.VL)(w))}}function G(wt,w,B,ee){if(wt.kind===4||wt.kind===2){const ye=[];
42for(const Pe of wt.children)B=(0,ne.QB)(w,Pe.length),ye.push({nodeOffsetStart:w,nodeOffsetEnd:B}),w=B;for(let Pe=ye.length-1;Pe>=0;Pe--){const{nodeOffsetStart:Ge,nodeOffsetEnd:yt}=ye[Pe];if((0,ne.zG)(Ge,ee)){const mt=G(wt.children[Pe],Ge,yt,ee);if(mt)return mt}}return null}else{if(wt.kind===3)return null;if(wt.kind===1){const ye=(0,ne.Qx)(w,B);return{bracketInfo:wt.bracketInfo,range:ye}}}return null}function Y(wt,w,B,ee){if(wt.kind===4||wt.kind===2){for(const ye of wt.children){if(B=(0,ne.QB)(w,ye.length),(0,ne.zG)(ee,B)){const Pe=Y(ye,w,B,ee);if(Pe)return Pe}w=B}return null}else{if(wt.kind===3)return null;if(wt.kind===1){const ye=(0,ne.Qx)(w,B);return{bracketInfo:wt.bracketInfo,range:ye}}}return null}function j(wt,w,B,ee,ye,Pe,Ge,yt,mt,Ht,Kt=!1){if(Ge>200)return!0;e:for(;;)switch(wt.kind){case 4:{const zt=wt.childrenLength;for(let si=0;si<zt;si++){const mi=wt.getChild(si);if(mi){if(B=(0,ne.QB)(w,mi.length),(0,ne.vr)(w,ye)&&(0,ne.o0)(B,ee)){if((0,ne.o0)(B,ye)){wt=mi;continue e}if(!j(mi,w,B,ee,ye,Pe,Ge,0,mt,Ht))return!1}w=B}}return!0}case 2:{const zt=!Ht||!wt.closingBracket||wt.closingBracket.bracketInfo.closesColorized(wt.openingBracket.bracketInfo);let si=0;if(mt){let Ii=mt.get(wt.openingBracket.text);Ii===void 0&&(Ii=0),si=Ii,zt&&(Ii++,mt.set(wt.openingBracket.text,Ii))}const mi=wt.childrenLength;for(let Ii=0;Ii<mi;Ii++){const Oi=wt.getChild(Ii);if(Oi){if(B=(0,ne.QB)(w,Oi.length),(0,ne.vr)(w,ye)&&(0,ne.o0)(B,ee)){if((0,ne.o0)(B,ye)&&Oi.kind!==1){wt=Oi,zt?(Ge++,yt=si+1):yt=si;continue e}if((zt||Oi.kind!==1||!wt.closingBracket)&&!j(Oi,w,B,ee,ye,Pe,zt?Ge+1:Ge,zt?si+1:si,mt,Ht,!wt.closingBracket))return!1}w=B}}return mt?.set(wt.openingBracket.text,si),!0}
42case 3:{const zt=(0,ne.Qx)(w,B);return Pe(new N(zt,Ge-1,0,!0))}case 1:{const zt=(0,ne.Qx)(w,B);return Pe(new N(zt,Ge-1,yt-1,Kt))}case 0:return!0}}class z{constructor(w,B,ee){this.push=w,this.includeMinIndentation=B,this.textModel=ee}}function ie(wt,w,B,ee,ye,Pe,Ge,yt){if(Ge>200)return!0;let mt=!0;if(wt.kind===2){let Ht=0;if(yt){let si=yt.get(wt.openingBracket.text);si===void 0&&(si=0),Ht=si,si++,yt.set(wt.openingBracket.text,si)}const Kt=(0,ne.QB)(w,wt.openingBracket.length);let zt=-1;if(Pe.includeMinIndentation&&(zt=wt.computeMinIndentation(w,Pe.textModel)),mt=Pe.push(new U((0,ne.Qx)(w,B),(0,ne.Qx)(w,Kt),wt.closingBracket?(0,ne.Qx)((0,ne.QB)(Kt,wt.child?.length||ne.Vp),B):void 0,Ge,Ht,wt,zt)),w=Kt,mt&&wt.child){const si=wt.child;if(B=(0,ne.QB)(w,si.length),(0,ne.vr)(w,ye)&&(0,ne.o0)(B,ee)&&(mt=ie(si,w,B,ee,ye,Pe,Ge+1,yt),!mt))return!1}yt?.set(wt.openingBracket.text,Ht)}else{let Ht=w;for(const Kt of wt.children){const zt=Ht;if(Ht=(0,ne.QB)(Ht,Kt.length),(0,ne.vr)(zt,ye)&&(0,ne.vr)(ee,Ht)&&(mt=ie(Kt,zt,Ht,ee,ye,Pe,Ge,yt),!mt))return!1}}return mt}class re extends A.jG{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(w,B){super(),this.textModel=w,this.languageConfigurationService=B,this.bracketPairsTree=this._register(new A.HE),this.onDidChangeEmitter=this._register(new y.vl),this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(w){(!w.languageId||this.bracketPairsTree.value?.object.didLanguageChange(w.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(w){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(w){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(w){this.bracketPairsTree.value?.object.handleContentChanged(w)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(w){this.bracketPairsTree.value?.object.handleDidChangeTokens(w)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const w=new A.Cm;this.bracketPairsTree.value=de(w.add(new X(this.textModel,B=>this.languageConfigurationService.getLanguageConfiguration(B))),w),w.add(this.bracketPairsTree.value.object.onDidChange(B=>this.onDidChangeEmitter.fire(B))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(w){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(w,!1)||v.c1.empty}getBracketPairsInRangeWithMinIndentation(w){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(w,!0)||v.c1.empty}getBracketsInRange(w,B=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(w,B)||v.c1.empty}findMatchingBracketUp(w,B,ee){const ye=this.textModel.validatePosition(B),Pe=this.textModel.getLanguageIdAtPosition(ye.lineNumber,ye.column);if(this.canBuildAST){const Ge=this.languageConfigurationService.getLanguageConfiguration(Pe).bracketsNew.getClosingBracketInfo(w);if(!Ge)return null;const yt=this.getBracketPairsInRange(o.Q.fromPositions(B,B)).findLast(mt=>Ge.closes(mt.openingBracketInfo));return yt?yt.openingBracketRange:null}else{const Ge=w.toLowerCase(),yt=this.languageConfigurationService.getLanguageConfiguration(Pe).brackets;if(!yt)return null;const mt=yt.textIsBracket[Ge];return mt?we(this._findMatchingBracketUp(mt,ye,le(ee))):null}}matchBracket(w,B){if(this.canBuildAST){const ee=this.getBracketPairsInRange(o.Q.fromPositions(w,w)).filter(ye=>ye.closingBracketRange!==void 0&&(ye.openingBracketRange.containsPosition(w)||ye.closingBracketRange.containsPosition(w))).findLastMaxBy((0,v.VE)(ye=>ye.openingBracketRange.containsPosition(w)?ye.openingBracketRange:ye.closingBracketRange,o.Q.compareRangesUsingStarts));return ee?[ee.openingBracketRange,ee.closingBracketRange]:null}else{const ee=le(B);return this._matchBracket(this.textModel.validatePosition(w),ee)}}_establishBracketSearchOffsets(w,B,ee,ye){const Pe=B.getCount(),Ge=B.getLanguageId(ye);let yt=Math.max(0,w.column-1-ee.maxBracketLength);for(let Ht=ye-1;Ht>=0;Ht--){const Kt=B.getEndOffset(Ht);if(Kt<=yt)break;
42if((0,D.Yo)(B.getStandardTokenType(Ht))||B.getLanguageId(Ht)!==Ge){yt=Kt;break}}let mt=Math.min(B.getLineContent().length,w.column-1+ee.maxBracketLength);for(let Ht=ye+1;Ht<Pe;Ht++){const Kt=B.getStartOffset(Ht);if(Kt>=mt)break;if((0,D.Yo)(B.getStandardTokenType(Ht))||B.getLanguageId(Ht)!==Ge){mt=Kt;break}}return{searchStartOffset:yt,searchEndOffset:mt}}_matchBracket(w,B){const ee=w.lineNumber,ye=this.textModel.tokenization.getLineTokens(ee),Pe=this.textModel.getLineContent(ee),Ge=ye.findTokenIndexAtOffset(w.column-1);if(Ge<0)return null;const yt=this.languageConfigurationService.getLanguageConfiguration(ye.getLanguageId(Ge)).brackets;if(yt&&!(0,D.Yo)(ye.getStandardTokenType(Ge))){let{searchStartOffset:mt,searchEndOffset:Ht}=this._establishBracketSearchOffsets(w,ye,yt,Ge),Kt=null;for(;;){const zt=k.Fu.findNextBracketInRange(yt.forwardRegex,ee,Pe,mt,Ht);if(!zt)break;if(zt.startColumn<=w.column&&w.column<=zt.endColumn){const si=Pe.substring(zt.startColumn-1,zt.endColumn-1).toLowerCase(),mi=this._matchFoundBracket(zt,yt.textIsBracket[si],yt.textIsOpenBracket[si],B);if(mi){if(mi instanceof he)return null;Kt=mi}}mt=zt.endColumn-1}if(Kt)return Kt}if(Ge>0&&ye.getStartOffset(Ge)===w.column-1){const mt=Ge-1,Ht=this.languageConfigurationService.getLanguageConfiguration(ye.getLanguageId(mt)).brackets;if(Ht&&!(0,D.Yo)(ye.getStandardTokenType(mt))){const{searchStartOffset:Kt,searchEndOffset:zt}=this._establishBracketSearchOffsets(w,ye,Ht,mt),si=k.Fu.findPrevBracketInRange(Ht.reversedRegex,ee,Pe,Kt,zt);if(si&&si.startColumn<=w.column&&w.column<=si.endColumn){const mi=Pe.substring(si.startColumn-1,si.endColumn-1).toLowerCase(),Ii=this._matchFoundBracket(si,Ht.textIsBracket[mi],Ht.textIsOpenBracket[mi],B);if(Ii)return Ii instanceof he?null:Ii}}}return null}_matchFoundBracket(w,B,ee,ye){if(!B)return null;const Pe=ee?this._findMatchingBracketDown(B,w.getEndPosition(),ye):this._findMatchingBracketUp(B,w.getStartPosition(),ye);return Pe?Pe instanceof he?Pe:[w,Pe]:null}_findMatchingBracketUp(w,B,ee){const ye=w.languageId,Pe=w.reversedRegex;let Ge=-1,yt=0;const mt=(Ht,Kt,zt,si)=>{for(;;){if(ee&&++yt%100===0&&!ee())return he.INSTANCE;const mi=k.Fu.findPrevBracketInRange(Pe,Ht,Kt,zt,si);if(!mi)break;const Ii=Kt.substring(mi.startColumn-1,mi.endColumn-1).toLowerCase();if(w.isOpen(Ii)?Ge++:w.isClose(Ii)&&Ge--,Ge===0)return mi;si=mi.startColumn-1}return null};for(let Ht=B.lineNumber;Ht>=1;Ht--){const Kt=this.textModel.tokenization.getLineTokens(Ht),zt=Kt.getCount(),si=this.textModel.getLineContent(Ht);let mi=zt-1,Ii=si.length,Oi=si.length;Ht===B.lineNumber&&(mi=Kt.findTokenIndexAtOffset(B.column-1),Ii=B.column-1,Oi=B.column-1);let Hi=!0;for(;mi>=0;mi--){const dn=Kt.getLanguageId(mi)===ye&&!(0,D.Yo)(Kt.getStandardTokenType(mi));if(dn)Hi?Ii=Kt.getStartOffset(mi):(Ii=Kt.getStartOffset(mi),Oi=Kt.getEndOffset(mi));else if(Hi&&Ii!==Oi){const Tn=mt(Ht,si,Ii,Oi);if(Tn)return Tn}Hi=dn}if(Hi&&Ii!==Oi){const dn=mt(Ht,si,Ii,Oi);if(dn)return dn}}return null}_findMatchingBracketDown(w,B,ee){const ye=w.languageId,Pe=w.forwardRegex;let Ge=1,yt=0;const mt=(Kt,zt,si,mi)=>{for(;;){if(ee&&++yt%100===0&&!ee())return he.INSTANCE;const Ii=k.Fu.findNextBracketInRange(Pe,Kt,zt,si,mi);if(!Ii)break;const Oi=zt.substring(Ii.startColumn-1,Ii.endColumn-1).toLowerCase();if(w.isOpen(Oi)?Ge++:w.isClose(Oi)&&Ge--,Ge===0)return Ii;si=Ii.endColumn-1}return null},Ht=this.textModel.getLineCount();for(let Kt=B.lineNumber;Kt<=Ht;
42Kt++){const zt=this.textModel.tokenization.getLineTokens(Kt),si=zt.getCount(),mi=this.textModel.getLineContent(Kt);let Ii=0,Oi=0,Hi=0;Kt===B.lineNumber&&(Ii=zt.findTokenIndexAtOffset(B.column-1),Oi=B.column-1,Hi=B.column-1);let dn=!0;for(;Ii<si;Ii++){const Tn=zt.getLanguageId(Ii)===ye&&!(0,D.Yo)(zt.getStandardTokenType(Ii));if(Tn)dn||(Oi=zt.getStartOffset(Ii)),Hi=zt.getEndOffset(Ii);else if(dn&&Oi!==Hi){const Pn=mt(Kt,mi,Oi,Hi);if(Pn)return Pn}dn=Tn}if(dn&&Oi!==Hi){const Tn=mt(Kt,mi,Oi,Hi);if(Tn)return Tn}}return null}findPrevBracket(w){const B=this.textModel.validatePosition(w);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(B)||null;let ee=null,ye=null,Pe=null;for(let Ge=B.lineNumber;Ge>=1;Ge--){const yt=this.textModel.tokenization.getLineTokens(Ge),mt=yt.getCount(),Ht=this.textModel.getLineContent(Ge);let Kt=mt-1,zt=Ht.length,si=Ht.length;if(Ge===B.lineNumber){Kt=yt.findTokenIndexAtOffset(B.column-1),zt=B.column-1,si=B.column-1;const Ii=yt.getLanguageId(Kt);ee!==Ii&&(ee=Ii,ye=this.languageConfigurationService.getLanguageConfiguration(ee).brackets,Pe=this.languageConfigurationService.getLanguageConfiguration(ee).bracketsNew)}let mi=!0;for(;Kt>=0;Kt--){const Ii=yt.getLanguageId(Kt);if(ee!==Ii){if(ye&&Pe&&mi&&zt!==si){const Hi=k.Fu.findPrevBracketInRange(ye.reversedRegex,Ge,Ht,zt,si);if(Hi)return this._toFoundBracket(Pe,Hi);mi=!1}ee=Ii,ye=this.languageConfigurationService.getLanguageConfiguration(ee).brackets,Pe=this.languageConfigurationService.getLanguageConfiguration(ee).bracketsNew}const Oi=!!ye&&!(0,D.Yo)(yt.getStandardTokenType(Kt));if(Oi)mi?zt=yt.getStartOffset(Kt):(zt=yt.getStartOffset(Kt),si=yt.getEndOffset(Kt));else if(Pe&&ye&&mi&&zt!==si){const Hi=k.Fu.findPrevBracketInRange(ye.reversedRegex,Ge,Ht,zt,si);if(Hi)return this._toFoundBracket(Pe,Hi)}mi=Oi}if(Pe&&ye&&mi&&zt!==si){const Ii=k.Fu.findPrevBracketInRange(ye.reversedRegex,Ge,Ht,zt,si);if(Ii)return this._toFoundBracket(Pe,Ii)}}return null}findNextBracket(w){const B=this.textModel.validatePosition(w);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(B)||null;const ee=this.textModel.getLineCount();let ye=null,Pe=null,Ge=null;for(let yt=B.lineNumber;yt<=ee;yt++){const mt=this.textModel.tokenization.getLineTokens(yt),Ht=mt.getCount(),Kt=this.textModel.getLineContent(yt);let zt=0,si=0,mi=0;if(yt===B.lineNumber){zt=mt.findTokenIndexAtOffset(B.column-1),si=B.column-1,mi=B.column-1;const Oi=mt.getLanguageId(zt);ye!==Oi&&(ye=Oi,Pe=this.languageConfigurationService.getLanguageConfiguration(ye).brackets,Ge=this.languageConfigurationService.getLanguageConfiguration(ye).bracketsNew)}let Ii=!0;for(;zt<Ht;zt++){const Oi=mt.getLanguageId(zt);
42if(ye!==Oi){if(Ge&&Pe&&Ii&&si!==mi){const dn=k.Fu.findNextBracketInRange(Pe.forwardRegex,yt,Kt,si,mi);if(dn)return this._toFoundBracket(Ge,dn);Ii=!1}ye=Oi,Pe=this.languageConfigurationService.getLanguageConfiguration(ye).brackets,Ge=this.languageConfigurationService.getLanguageConfiguration(ye).bracketsNew}const Hi=!!Pe&&!(0,D.Yo)(mt.getStandardTokenType(zt));if(Hi)Ii||(si=mt.getStartOffset(zt)),mi=mt.getEndOffset(zt);else if(Ge&&Pe&&Ii&&si!==mi){const dn=k.Fu.findNextBracketInRange(Pe.forwardRegex,yt,Kt,si,mi);if(dn)return this._toFoundBracket(Ge,dn)}Ii=Hi}if(Ge&&Pe&&Ii&&si!==mi){const Oi=k.Fu.findNextBracketInRange(Pe.forwardRegex,yt,Kt,si,mi);if(Oi)return this._toFoundBracket(Ge,Oi)}}return null}findEnclosingBrackets(w,B){const ee=this.textModel.validatePosition(w);if(this.canBuildAST){const mi=o.Q.fromPositions(ee),Ii=this.getBracketPairsInRange(o.Q.fromPositions(ee,ee)).findLast(Oi=>Oi.closingBracketRange!==void 0&&Oi.range.strictContainsRange(mi));return Ii?[Ii.openingBracketRange,Ii.closingBracketRange]:null}const ye=le(B),Pe=this.textModel.getLineCount(),Ge=new Map;let yt=[];const mt=(mi,Ii)=>{if(!Ge.has(mi)){const Oi=[];for(let Hi=0,dn=Ii?Ii.brackets.length:0;Hi<dn;Hi++)Oi[Hi]=0;Ge.set(mi,Oi)}yt=Ge.get(mi)};let Ht=0;const Kt=(mi,Ii,Oi,Hi,dn)=>{for(;;){if(ye&&++Ht%100===0&&!ye())return he.INSTANCE;const Tn=k.Fu.findNextBracketInRange(mi.forwardRegex,Ii,Oi,Hi,dn);if(!Tn)break;const Pn=Oi.substring(Tn.startColumn-1,Tn.endColumn-1).toLowerCase(),Jn=mi.textIsBracket[Pn];if(Jn&&(Jn.isOpen(Pn)?yt[Jn.index]++:Jn.isClose(Pn)&&yt[Jn.index]--,yt[Jn.index]===-1))return this._matchFoundBracket(Tn,Jn,!1,ye);Hi=Tn.endColumn-1}return null};let zt=null,si=null;for(let mi=ee.lineNumber;mi<=Pe;mi++){const Ii=this.textModel.tokenization.getLineTokens(mi),Oi=Ii.getCount(),Hi=this.textModel.getLineContent(mi);let dn=0,Tn=0,Pn=0;if(mi===ee.lineNumber){dn=Ii.findTokenIndexAtOffset(ee.column-1),Tn=ee.column-1,Pn=ee.column-1;const Vs=Ii.getLanguageId(dn);zt!==Vs&&(zt=Vs,si=this.languageConfigurationService.getLanguageConfiguration(zt).brackets,mt(zt,si))}let Jn=!0;for(;dn<Oi;dn++){const Vs=Ii.getLanguageId(dn);if(zt!==Vs){if(si&&Jn&&Tn!==Pn){const ts=Kt(si,mi,Hi,Tn,Pn);if(ts)return we(ts);Jn=!1}zt=Vs,si=this.languageConfigurationService.getLanguageConfiguration(zt).brackets,mt(zt,si)}const os=!!si&&!(0,D.Yo)(Ii.getStandardTokenType(dn));if(os)Jn||(Tn=Ii.getStartOffset(dn)),Pn=Ii.getEndOffset(dn);else if(si&&Jn&&Tn!==Pn){const ts=Kt(si,mi,Hi,Tn,Pn);if(ts)return we(ts)}Jn=os}if(si&&Jn&&Tn!==Pn){const Vs=Kt(si,mi,Hi,Tn,Pn);if(Vs)return we(Vs)}}return null}_toFoundBracket(w,B){if(!B)return null;let ee=this.textModel.getValueInRange(B);ee=ee.toLowerCase();const ye=w.getBracketInfo(ee);return ye?{range:B,bracketInfo:ye}:null}}function de(wt,w){return{object:wt,dispose:()=>w?.dispose()}}function le(wt){if(typeof wt>"u")return()=>!0;{const w=Date.now();return()=>Date.now()-w<=wt}}const zr=class zr{constructor(){this._searchCanceledBrand=void 0}};zr.INSTANCE=new zr;let he=zr;function we(wt){return wt instanceof he?null:wt}var xe=e(48295),Be=e(89044);class M extends A.jG{constructor(w){super(),this.textModel=w,this.colorProvider=new Ve,this.onDidChangeEmitter=this._register(new y.vl),this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=w.getOptions().bracketPairColorizationOptions,this._register(w.bracketPairs.onDidChange(B=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(w){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(w,B,ee,ye,Pe){return Pe?[]:B===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(w,!0).map(yt=>({id:`bracket${yt.range.toString()}-${yt.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(yt,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:yt.range})).toArray():[]}getAllDecorations(w,B,ee){return w===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new o.Q(1,1,this.textModel.getLineCount(),1),w,B,ee):[]}}class Ve{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(w,B){return w.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(B?w.nestingLevelOfEqualBracketType:w.nestingLevel)}getInlineClassNameOfLevel(w){return`bracket-highlighting-${w%30}`}}(0,Be.zy)((wt,w)=>{const B=[xe.sN,xe.lQ,xe.ss,xe.l5,xe.sH,xe.zp],ee=new Ve;w.addRule(`.monaco-editor .${ee.unexpectedClosingBracketClassName} { color: ${wt.getColor(xe.s7)}; }`);const ye=B.map(Pe=>wt.getColor(Pe)).filter(Pe=>!!Pe).filter(Pe=>
42!Pe.isTransparent());for(let Pe=0;Pe<30;Pe++){const Ge=ye[Pe%ye.length];w.addRule(`.monaco-editor .${ee.getInlineClassNameOfLevel(Pe)} { color: ${Ge}; }`)}});var Me=e(54296),Le=e(52818);class _e{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Qe(wt,w,B,ee,ye){ye.spacesDiff=0,ye.looksLikeAlignment=!1;let Pe;for(Pe=0;Pe<w&&Pe<ee;Pe++){const si=wt.charCodeAt(Pe),mi=B.charCodeAt(Pe);if(si!==mi)break}let Ge=0,yt=0;for(let si=Pe;si<w;si++)wt.charCodeAt(si)===32?Ge++:yt++;let mt=0,Ht=0;for(let si=Pe;si<ee;si++)B.charCodeAt(si)===32?mt++:Ht++;if(Ge>0&&yt>0||mt>0&&Ht>0)return;const Kt=Math.abs(yt-Ht),zt=Math.abs(Ge-mt);if(Kt===0){ye.spacesDiff=zt,zt>0&&0<=mt-1&&mt-1<wt.length&&mt<B.length&&B.charCodeAt(mt)!==32&&wt.charCodeAt(mt-1)===32&&wt.charCodeAt(wt.length-1)===44&&(ye.looksLikeAlignment=!0);return}if(zt%Kt===0){ye.spacesDiff=zt/Kt;return}}function je(wt,w,B){const ee=Math.min(wt.getLineCount(),1e4);let ye=0,Pe=0,Ge="",yt=0;const mt=[2,4,6,8,3,5,7],Ht=8,Kt=[0,0,0,0,0,0,0,0,0],zt=new _e;for(let Ii=1;Ii<=ee;Ii++){const Oi=wt.getLineLength(Ii),Hi=wt.getLineContent(Ii),dn=Oi<=65536;let Tn=!1,Pn=0,Jn=0,Vs=0;for(let ts=0,mo=Oi;ts<mo;ts++){const Ko=dn?Hi.charCodeAt(ts):wt.getLineCharCode(Ii,ts);if(Ko===9)Vs++;else if(Ko===32)Jn++;else{Tn=!0,Pn=ts;break}}if(!Tn||(Vs>0?ye++:Jn>1&&Pe++,Qe(Ge,yt,Hi,Pn,zt),zt.looksLikeAlignment&&!(B&&w===zt.spacesDiff)))continue;const os=zt.spacesDiff;os<=Ht&&Kt[os]++,Ge=Hi,yt=Pn}let si=B;ye!==Pe&&(si=ye<Pe);let mi=w;if(si){let Ii=0;mt.forEach(Oi=>{const Hi=Kt[Oi];Hi>Ii&&(Ii=Hi,mi=Oi)}),mi===4&&Kt[4]>0&&Kt[2]>0&&Kt[2]>=Kt[4]*2/3&&(mi=2)}return{insertSpaces:si,tabSize:mi}}function ae(wt){return(wt.metadata&1)>>>0}function Ee(wt,w){wt.metadata=wt.metadata&254|w<<0}function Ie(wt){return(wt.metadata&2)>>>1===1}function Ue(wt,w){wt.metadata=wt.metadata&253|(w?1:0)<<1}function $e(wt){return(wt.metadata&4)>>>2===1}function Ye(wt,w){wt.metadata=wt.metadata&251|(w?1:0)<<2}function Ce(wt){return(wt.metadata&64)>>>6===1}function He(wt,w){wt.metadata=wt.metadata&191|(w?1:0)<<6}function Ke(wt){return(wt.metadata&128)>>>7===1}function qe(wt,w){wt.metadata=wt.metadata&127|(w?1:0)<<7}function ht(wt){return(wt.metadata&24)>>>3}function Te(wt,w){wt.metadata=wt.metadata&231|w<<3}function oe(wt){return(wt.metadata&32)>>>5===1}function q(wt,w){wt.metadata=wt.metadata&223|(w?1:0)<<5}class ue{constructor(w,B,ee){this.metadata=0,this.parent=this,this.left=this,this.right=this,Ee(this,1),this.start=B,this.end=ee,this.delta=0,this.maxEnd=ee,this.id=w,this.ownerId=0,this.options=null,Ye(this,!1),He(this,!1),Te(this,1),q(this,!1),qe(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=B,this.cachedAbsoluteEnd=ee,this.range=null,Ue(this,!1)}reset(w,B,ee,ye){this.start=B,this.end=ee,this.maxEnd=ee,this.cachedVersionId=w,this.cachedAbsoluteStart=B,this.cachedAbsoluteEnd=ee,this.range=ye}setOptions(w){this.options=w;const B=this.options.className;Ye(this,B==="squiggly-error"||B==="squiggly-warning"||B==="squiggly-info"),He(this,this.options.glyphMarginClassName!==null),Te(this,this.options.stickiness),q(this,this.options.collapseOnReplaceEdit),qe(this,this.options.affectsFont??!1)}setCachedOffsets(w,B,ee){this.cachedVersionId!==ee&&(this.range=null),this.cachedVersionId=ee,this.cachedAbsoluteStart=w,this.cachedAbsoluteEnd=B}detach(){this.parent=null,this.left=null,this.right=null}}const J=new ue(null,0,0);J.parent=J,J.left=J,J.right=J,Ee(J,0);class ve{constructor(){this.root=J,this.requestNormalizeDelta=!1}intervalSearch(w,B,ee,ye,Pe,Ge,yt){return this.root===J?[]:Bt(this,w,B,ee,ye,Pe,Ge,yt)}search(w,B,ee,ye,Pe){return this.root===J?[]:gt(this,w,B,ee,ye,Pe)}collectNodesFromOwner(w){return Xe(this,w)}collectNodesPostOrder(){return dt(this)}insert(w){_t(this,w),this._normalizeDeltaIfNecessary()}delete(w){Gt(this,w),this._normalizeDeltaIfNecessary()}resolveNode(w,B){const ee=w;let ye=0;for(;w!==this.root;)w===w.parent.right&&(ye+=w.parent.delta),w=w.parent;const Pe=ee.start+ye,Ge=ee.end+ye;ee.setCachedOffsets(Pe,Ge,B)}acceptReplace(w,B,ee,ye){const Pe=pe(this,w,w+B);for(let Ge=0,yt=Pe.length;Ge<yt;Ge++){const mt=Pe[Ge];Gt(this,mt)}this._normalizeDeltaIfNecessary(),Ae(this,w,w+B,ee),this._normalizeDeltaIfNecessary();for(let Ge=0,yt=Pe.length;Ge<yt;Ge++){const mt=Pe[Ge];mt.start=mt.cachedAbsoluteStart,mt.end=mt.cachedAbsoluteEnd,Se(mt,w,w+B,ee,ye),mt.maxEnd=mt.end,_t(this,mt)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,De(this))}}function De(wt){let w=wt.root,B=0;for(;w!==J;){if(w.left!==J&&!Ie(w.left)){w=w.left;continue}if(w.right!==J&&!Ie(w.right)){B+=w.delta,w=w.right;continue}w.start=B+w.start,w.end=B+w.end,w.delta=0,vt(w),Ue(w,!0),Ue(w.left,!1),Ue(w.right,!1),w===w.parent.right&&(B-=w.parent.delta),w=w.parent}Ue(wt.root,!1)}function fe(wt,w,B,ee){return wt<B?!0:wt>B||ee===1?!1:ee===2?!0:w}function Se(wt,w,B,ee,ye){const Pe=ht(wt),Ge=Pe===0||Pe===2,yt=Pe===1||Pe===2,mt=B-w,Ht=ee,Kt=Math.min(mt,Ht),zt=wt.start;let si=!1;const mi=wt.end;let Ii=!1;w<=zt&&mi<=B&&oe(wt)&&(wt.start=w,si=!0,wt.end=w,Ii=!0);{const Hi=ye?1:mt>0?2:0;!si&&fe(zt,Ge,w,Hi)&&(si=!0),!Ii&&fe(mi,yt,w,Hi)&&(Ii=!0)}if(Kt>0&&!ye){const Hi=mt>Ht?2:0;!si&&fe(zt,Ge,w+Kt,Hi)&&(si=!0),!Ii&&fe(mi,yt,w+Kt,Hi)&&(Ii=!0)}{const Hi=ye?1:0;!si&&fe(zt,Ge,B,Hi)&&(wt.start=w+Ht,si=!0),!Ii&&fe(mi,yt,B,Hi)&&(wt.end=w+Ht,Ii=!0)}const Oi=Ht-mt;si||(wt.start=Math.max(0,zt+Oi)),Ii||(wt.end=Math.max(0,mi+Oi)),wt.start>wt.end&&(wt.end=wt.start)}function pe(wt,w,B){let ee=wt.root,ye=0,Pe=0,Ge=0,yt=0;const mt=[];let Ht=0;for(;ee!==J;){if(Ie(ee)){Ue(ee.left,!1),Ue(ee.right,!1),ee===ee.parent.right&&(ye-=ee.parent.delta),ee=ee.parent;continue}
42if(!Ie(ee.left)){if(Pe=ye+ee.maxEnd,Pe<w){Ue(ee,!0);continue}if(ee.left!==J){ee=ee.left;continue}}if(Ge=ye+ee.start,Ge>B){Ue(ee,!0);continue}if(yt=ye+ee.end,yt>=w&&(ee.setCachedOffsets(Ge,yt,0),mt[Ht++]=ee),Ue(ee,!0),ee.right!==J&&!Ie(ee.right)){ye+=ee.delta,ee=ee.right;continue}}return Ue(wt.root,!1),mt}function Ae(wt,w,B,ee){let ye=wt.root,Pe=0,Ge=0,yt=0;const mt=ee-(B-w);for(;ye!==J;){if(Ie(ye)){Ue(ye.left,!1),Ue(ye.right,!1),ye===ye.parent.right&&(Pe-=ye.parent.delta),vt(ye),ye=ye.parent;continue}if(!Ie(ye.left)){if(Ge=Pe+ye.maxEnd,Ge<w){Ue(ye,!0);continue}if(ye.left!==J){ye=ye.left;continue}}if(yt=Pe+ye.start,yt>B){ye.start+=mt,ye.end+=mt,ye.delta+=mt,(ye.delta<-1073741824||ye.delta>1073741824)&&(wt.requestNormalizeDelta=!0),Ue(ye,!0);continue}if(Ue(ye,!0),ye.right!==J&&!Ie(ye.right)){Pe+=ye.delta,ye=ye.right;continue}}Ue(wt.root,!1)}function Xe(wt,w){let B=wt.root;const ee=[];let ye=0;for(;B!==J;){if(Ie(B)){Ue(B.left,!1),Ue(B.right,!1),B=B.parent;continue}if(B.left!==J&&!Ie(B.left)){B=B.left;continue}if(B.ownerId===w&&(ee[ye++]=B),Ue(B,!0),B.right!==J&&!Ie(B.right)){B=B.right;continue}}return Ue(wt.root,!1),ee}function dt(wt){let w=wt.root;const B=[];let ee=0;for(;w!==J;){if(Ie(w)){Ue(w.left,!1),Ue(w.right,!1),w=w.parent;continue}if(w.left!==J&&!Ie(w.left)){w=w.left;continue}if(w.right!==J&&!Ie(w.right)){w=w.right;continue}B[ee++]=w,Ue(w,!0)}return Ue(wt.root,!1),B}function gt(wt,w,B,ee,ye,Pe){let Ge=wt.root,yt=0,mt=0,Ht=0;const Kt=[];let zt=0;for(;Ge!==J;){if(Ie(Ge)){Ue(Ge.left,!1),Ue(Ge.right,!1),Ge===Ge.parent.right&&(yt-=Ge.parent.delta),Ge=Ge.parent;continue}if(Ge.left!==J&&!Ie(Ge.left)){Ge=Ge.left;continue}
42mt=yt+Ge.start,Ht=yt+Ge.end,Ge.setCachedOffsets(mt,Ht,ye);let si=!0;if(w&&Ge.ownerId&&Ge.ownerId!==w&&(si=!1),B&&$e(Ge)&&(si=!1),ee&&Ke(Ge)&&(si=!1),Pe&&!Ce(Ge)&&(si=!1),si&&(Kt[zt++]=Ge),Ue(Ge,!0),Ge.right!==J&&!Ie(Ge.right)){yt+=Ge.delta,Ge=Ge.right;continue}}return Ue(wt.root,!1),Kt}function Bt(wt,w,B,ee,ye,Pe,Ge,yt){let mt=wt.root,Ht=0,Kt=0,zt=0,si=0;const mi=[];let Ii=0;for(;mt!==J;){if(Ie(mt)){Ue(mt.left,!1),Ue(mt.right,!1),mt===mt.parent.right&&(Ht-=mt.parent.delta),mt=mt.parent;continue}if(!Ie(mt.left)){if(Kt=Ht+mt.maxEnd,Kt<w){Ue(mt,!0);continue}if(mt.left!==J){mt=mt.left;continue}}if(zt=Ht+mt.start,zt>B){Ue(mt,!0);continue}if(si=Ht+mt.end,si>=w){mt.setCachedOffsets(zt,si,Ge);let Oi=!0;ee&&mt.ownerId&&mt.ownerId!==ee&&(Oi=!1),ye&&$e(mt)&&(Oi=!1),Pe&&Ke(mt)&&(Oi=!1),yt&&!Ce(mt)&&(Oi=!1),Oi&&(mi[Ii++]=mt)}if(Ue(mt,!0),mt.right!==J&&!Ie(mt.right)){Ht+=mt.delta,mt=mt.right;continue}}return Ue(wt.root,!1),mi}function _t(wt,w){if(wt.root===J)return w.parent=J,w.left=J,w.right=J,Ee(w,0),wt.root=w,wt.root;ri(wt,w),Yt(w.parent);let B=w;for(;B!==wt.root&&ae(B.parent)===1;)if(B.parent===B.parent.parent.left){const ee=B.parent.parent.right;ae(ee)===1?(Ee(B.parent,0),Ee(ee,0),Ee(B.parent.parent,1),B=B.parent.parent):(B===B.parent.right&&(B=B.parent,pt(wt,B)),Ee(B.parent,0),Ee(B.parent.parent,1),Fe(wt,B.parent.parent))}else{const ee=B.parent.parent.left;ae(ee)===1?(Ee(B.parent,0),Ee(ee,0),Ee(B.parent.parent,1),B=B.parent.parent):(B===B.parent.left&&(B=B.parent,Fe(wt,B)),Ee(B.parent,0),Ee(B.parent.parent,1),pt(wt,B.parent.parent))}return Ee(wt.root,0),w}function ri(wt,w){let B=0,ee=wt.root;const ye=w.start,Pe=w.end;for(;;)if(Si(ye,Pe,ee.start+B,ee.end+B)<0)if(ee.left===J){w.start-=B,w.end-=B,w.maxEnd-=B,ee.left=w;break}else ee=ee.left;else if(ee.right===J){w.start-=B+ee.delta,w.end-=B+ee.delta,w.maxEnd-=B+ee.delta,ee.right=w;break}else B+=ee.delta,ee=ee.right;w.parent=ee,w.left=J,w.right=J,Ee(w,1)}function Gt(wt,w){let B,ee;if(w.left===J?(B=w.right,ee=w,B.delta+=w.delta,(B.delta<-1073741824||B.delta>1073741824)&&(wt.requestNormalizeDelta=!0),B.start+=w.delta,B.end+=w.delta):w.right===J?(B=w.left,ee=w):(ee=ei(w.right),B=ee.right,B.start+=ee.delta,B.end+=ee.delta,B.delta+=ee.delta,(B.delta<-1073741824||B.delta>1073741824)&&(wt.requestNormalizeDelta=!0),ee.start+=w.delta,ee.end+=w.delta,ee.delta=w.delta,(ee.delta<-1073741824||ee.delta>1073741824)&&(wt.requestNormalizeDelta=!0)),ee===wt.root){wt.root=B,Ee(B,0),w.detach(),Zt(),vt(B),wt.root.parent=J;return}const ye=ae(ee)===1;if(ee===ee.parent.left?ee.parent.left=B:ee.parent.right=B,ee===w?B.parent=ee.parent:(ee.parent===w?B.parent=ee:B.parent=ee.parent,ee.left=w.left,ee.right=w.right,ee.parent=w.parent,Ee(ee,ae(w)),w===wt.root?wt.root=ee:w===w.parent.left?w.parent.left=ee:w.parent.right=ee,ee.left!==J&&(ee.left.parent=ee),ee.right!==J&&(ee.right.parent=ee)),w.detach(),ye){Yt(B.parent),ee!==w&&(Yt(ee),Yt(ee.parent)),Zt();return}Yt(B),Yt(B.parent),ee!==w&&(Yt(ee),Yt(ee.parent));let Pe;for(;B!==wt.root&&ae(B)===0;)B===B.parent.left?(Pe=B.parent.right,ae(Pe)===1&&(Ee(Pe,0),Ee(B.parent,1),pt(wt,B.parent),Pe=B.parent.right),ae(Pe.left)===0&&ae(Pe.right)===0?(Ee(Pe,1),B=B.parent):(ae(Pe.right)===0&&(Ee(Pe.left,0),Ee(Pe,1),Fe(wt,Pe),Pe=B.parent.right),Ee(Pe,ae(B.parent)),Ee(B.parent,0),Ee(Pe.right,0),pt(wt,B.parent),B=wt.root)):(Pe=B.parent.left,ae(Pe)===1&&(Ee(Pe,0),Ee(B.parent,1),Fe(wt,B.parent),Pe=B.parent.left),ae(Pe.left)===0&&ae(Pe.right)===0?(Ee(Pe,1),B=B.parent):(ae(Pe.left)===0&&(Ee(Pe.right,0),Ee(Pe,1),pt(wt,Pe),Pe=B.parent.left),Ee(Pe,ae(B.parent)),Ee(B.parent,0),Ee(Pe.left,0),Fe(wt,B.parent),B=wt.root));Ee(B,0),Zt()}function ei(wt){for(;wt.left!==J;)wt=wt.left;return wt}function Zt(){J.parent=J,J.delta=0,J.start=0,J.end=0}function pt(wt,w){const B=w.right;B.delta+=w.delta,(B.delta<-1073741824||B.delta>1073741824)&&(wt.requestNormalizeDelta=!0),B.start+=w.delta,B.end+=w.delta,w.right=B.left,B.left!==J&&(B.left.parent=w),B.parent=w.parent,w.parent===J?wt.root=B:w===w.parent.left?w.parent.left=B:w.parent.right=B,B.left=w,w.parent=B,vt(w),vt(B)}function Fe(wt,w){const B=w.left;w.delta-=B.delta,(w.delta<-1073741824||w.delta>1073741824)&&(wt.requestNormalizeDelta=!0),w.start-=B.delta,w.end-=B.delta,w.left=B.right,B.right!==J&&(B.right.parent=w),B.parent=w.parent,w.parent===J?wt.root=B:w===w.parent.right?w.parent.right=B:w.parent.left=B,B.right=w,w.parent=B,vt(w),vt(B)}function st(wt){let w=wt.end;if(wt.left!==J){const B=wt.left.maxEnd;B>w&&(w=B)}if(wt.right!==J){const B=wt.right.maxEnd+wt.delta;B>w&&(w=B)}return w}function vt(wt){wt.maxEnd=st(wt)}function Yt(wt){for(;wt!==J;){const w=st(wt);
42if(wt.maxEnd===w)return;wt.maxEnd=w,wt=wt.parent}}function Si(wt,w,B,ee){return wt===B?w-ee:wt-B}class Bi{constructor(w,B){this.piece=w,this.color=B,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==pi)return $i(this.right);let w=this;for(;w.parent!==pi&&w.parent.left!==w;)w=w.parent;return w.parent===pi?pi:w.parent}prev(){if(this.left!==pi)return fn(this.left);let w=this;for(;w.parent!==pi&&w.parent.right!==w;)w=w.parent;return w.parent===pi?pi:w.parent}detach(){this.parent=null,this.left=null,this.right=null}}const pi=new Bi(null,0);pi.parent=pi,pi.left=pi,pi.right=pi,pi.color=0;function $i(wt){for(;wt.left!==pi;)wt=wt.left;return wt}function fn(wt){for(;wt.right!==pi;)wt=wt.right;return wt}function Sn(wt){return wt===pi?0:wt.size_left+wt.piece.length+Sn(wt.right)}function On(wt){return wt===pi?0:wt.lf_left+wt.piece.lineFeedCnt+On(wt.right)}function Dn(){pi.parent=pi}function Qn(wt,w){const B=w.right;B.size_left+=w.size_left+(w.piece?w.piece.length:0),B.lf_left+=w.lf_left+(w.piece?w.piece.lineFeedCnt:0),w.right=B.left,B.left!==pi&&(B.left.parent=w),B.parent=w.parent,w.parent===pi?wt.root=B:w.parent.left===w?w.parent.left=B:w.parent.right=B,B.left=w,w.parent=B}function rs(wt,w){const B=w.left;w.left=B.right,B.right!==pi&&(B.right.parent=w),B.parent=w.parent,w.size_left-=B.size_left+(B.piece?B.piece.length:0),w.lf_left-=B.lf_left+(B.piece?B.piece.lineFeedCnt:0),w.parent===pi?wt.root=B:w===w.parent.right?w.parent.right=B:w.parent.left=B,B.right=w,w.parent=B}function us(wt,w){let B,ee;if(w.left===pi?(ee=w,B=ee.right):w.right===pi?(ee=w,B=ee.left):(ee=$i(w.right),B=ee.right),ee===wt.root){wt.root=B,B.color=0,w.detach(),Dn(),wt.root.parent=pi;return}const ye=ee.color===1;if(ee===ee.parent.left?ee.parent.left=B:ee.parent.right=B,ee===w?(B.parent=ee.parent,ms(wt,B)):(ee.parent===w?B.parent=ee:B.parent=ee.parent,ms(wt,B),ee.left=w.left,ee.right=w.right,ee.parent=w.parent,ee.color=w.color,w===wt.root?wt.root=ee:w===w.parent.left?w.parent.left=ee:w.parent.right=ee,ee.left!==pi&&(ee.left.parent=ee),ee.right!==pi&&(ee.right.parent=ee),ee.size_left=w.size_left,ee.lf_left=w.lf_left,ms(wt,ee)),w.detach(),B.parent.left===B){const Ge=Sn(B),yt=On(B);if(Ge!==B.parent.size_left||yt!==B.parent.lf_left){const mt=Ge-B.parent.size_left,Ht=yt-B.parent.lf_left;B.parent.size_left=Ge,B.parent.lf_left=yt,zn(wt,B.parent,mt,Ht)}}if(ms(wt,B.parent),ye){Dn();return}let Pe;for(;B!==wt.root&&B.color===0;)B===B.parent.left?(Pe=B.parent.right,Pe.color===1&&(Pe.color=0,B.parent.color=1,Qn(wt,B.parent),Pe=B.parent.right),Pe.left.color===0&&Pe.right.color===0?(Pe.color=1,B=B.parent):(Pe.right.color===0&&(Pe.left.color=0,Pe.color=1,rs(wt,Pe),Pe=B.parent.right),Pe.color=B.parent.color,B.parent.color=0,Pe.right.color=0,Qn(wt,B.parent),B=wt.root)):(Pe=B.parent.left,Pe.color===1&&(Pe.color=0,B.parent.color=1,rs(wt,B.parent),Pe=B.parent.left),Pe.left.color===0&&Pe.right.color===0?(Pe.color=1,B=B.parent):(Pe.left.color===0&&(Pe.right.color=0,Pe.color=1,Qn(wt,Pe),Pe=B.parent.left),Pe.color=B.parent.color,B.parent.color=0,Pe.left.color=0,rs(wt,B.parent),B=wt.root));B.color=0,Dn()}function Zn(wt,w){for(ms(wt,w);w!==wt.root&&w.parent.color===1;)if(w.parent===w.parent.parent.left){const B=w.parent.parent.right;B.color===1?(w.parent.color=0,B.color=0,w.parent.parent.color=1,w=w.parent.parent):(w===w.parent.right&&(w=w.parent,Qn(wt,w)),w.parent.color=0,w.parent.parent.color=1,rs(wt,w.parent.parent))}else{const B=w.parent.parent.left;B.color===1?(w.parent.color=0,B.color=0,w.parent.parent.color=1,w=w.parent.parent):(w===w.parent.left&&(w=w.parent,rs(wt,w)),w.parent.color=0,w.parent.parent.color=1,Qn(wt,w.parent.parent))}wt.root.color=0}function zn(wt,w,B,ee){for(;w!==wt.root&&w!==pi;)w.parent.left===w&&(w.parent.size_left+=B,w.parent.lf_left+=ee),w=w.parent}function ms(wt,w){let B=0,ee=0;if(w!==wt.root){for(;w!==wt.root&&w===w.parent.right;)w=w.parent;if(w!==wt.root)for(w=w.parent,B=Sn(w.left)-w.size_left,ee=On(w.left)-w.lf_left,w.size_left+=B,w.lf_left+=ee;w!==wt.root&&(B!==0||ee!==0);)w.parent.left===w&&(w.parent.size_left+=B,w.parent.lf_left+=ee),w=w.parent}}var es=e(77723);const Xn=65535;function Ts(wt){let w;return wt[wt.length-1]<65536?w=new Uint16Array(wt.length):w=new Uint32Array(wt.length),w.set(wt,0),w}class ps{constructor(w,B,ee,ye,Pe){this.lineStarts=w,this.cr=B,this.lf=ee,this.crlf=ye,this.isBasicASCII=Pe}}function Yn(wt,w=!0){const B=[0];let ee=1;for(let ye=0,Pe=wt.length;ye<Pe;ye++){const Ge=wt.charCodeAt(ye);Ge===13?ye+1<Pe&&wt.charCodeAt(ye+1)===10?(B[ee++]=ye+2,ye++):B[ee++]=ye+1:Ge===10&&(B[ee++]=ye+1)}return w?Ts(B):B}function zs(wt,w){wt.length=0,wt[0]=0;let B=1,ee=0,ye=0,Pe=0,Ge=!0;for(let mt=0,Ht=w.length;mt<Ht;mt++){const Kt=w.charCodeAt(mt);
42Kt===13?mt+1<Ht&&w.charCodeAt(mt+1)===10?(Pe++,wt[B++]=mt+2,mt++):(ee++,wt[B++]=mt+1):Kt===10?(ye++,wt[B++]=mt+1):Ge&&Kt!==9&&(Kt<32||Kt>126)&&(Ge=!1)}const yt=new ps(Ts(wt),ee,ye,Pe,Ge);return wt.length=0,yt}class Kn{constructor(w,B,ee,ye,Pe){this.bufferIndex=w,this.start=B,this.end=ee,this.lineFeedCnt=ye,this.length=Pe}}class jt{constructor(w,B){this.buffer=w,this.lineStarts=B}}class $t{constructor(w,B){this._pieces=[],this._tree=w,this._BOM=B,this._index=0,w.root!==pi&&w.iterate(w.root,ee=>(ee!==pi&&this._pieces.push(ee.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class Ei{constructor(w){this._limit=w,this._cache=[]}get(w){for(let B=this._cache.length-1;B>=0;B--){const ee=this._cache[B];if(ee.nodeStartOffset<=w&&ee.nodeStartOffset+ee.node.piece.length>=w)return ee}return null}get2(w){for(let B=this._cache.length-1;B>=0;B--){const ee=this._cache[B];
42if(ee.nodeStartLineNumber&&ee.nodeStartLineNumber<w&&ee.nodeStartLineNumber+ee.node.piece.lineFeedCnt>=w)return ee}return null}set(w){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(w)}validate(w){let B=!1;const ee=this._cache;for(let ye=0;ye<ee.length;ye++){const Pe=ee[ye];if(Pe.node.parent===null||Pe.nodeStartOffset>=w){ee[ye]=null,B=!0;continue}}if(B){const ye=[];for(const Pe of ee)Pe!==null&&ye.push(Pe);this._cache=ye}}}class zi{constructor(w,B,ee){this.create(w,B,ee)}create(w,B,ee){this._buffers=[new jt("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=pi,this._lineCnt=1,this._length=0,this._EOL=B,this._EOLLength=B.length,this._EOLNormalized=ee;let ye=null;for(let Pe=0,Ge=w.length;Pe<Ge;Pe++)if(w[Pe].buffer.length>0){w[Pe].lineStarts||(w[Pe].lineStarts=Yn(w[Pe].buffer));const yt=new Kn(Pe+1,{line:0,column:0},{line:w[Pe].lineStarts.length-1,column:w[Pe].buffer.length-w[Pe].lineStarts[w[Pe].lineStarts.length-1]},w[Pe].lineStarts.length-1,w[Pe].buffer.length);this._buffers.push(w[Pe]),ye=this.rbInsertRight(ye,yt)}this._searchCache=new Ei(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(w){const B=Xn,ee=B-Math.floor(B/3),ye=ee*2;let Pe="",Ge=0;const yt=[];if(this.iterate(this.root,mt=>{const Ht=this.getNodeContent(mt),Kt=Ht.length;if(Ge<=ee||Ge+Kt<ye)return Pe+=Ht,Ge+=Kt,!0;const zt=Pe.replace(/\r\n|\r|\n/g,w);return yt.push(new jt(zt,Yn(zt))),Pe=Ht,Ge=Kt,!0}),Ge>0){const mt=Pe.replace(/\r\n|\r|\n/g,w);yt.push(new jt(mt,Yn(mt)))}this.create(yt,w,!0)}getEOL(){return this._EOL}setEOL(w){this._EOL=w,this._EOLLength=this._EOL.length,this.normalizeEOL(w)}createSnapshot(w){return new $t(this,w)}getOffsetAt(w,B){let ee=0,ye=this.root;for(;ye!==pi;)if(ye.left!==pi&&ye.lf_left+1>=w)ye=ye.left;else if(ye.lf_left+ye.piece.lineFeedCnt+1>=w){ee+=ye.size_left;const Pe=this.getAccumulatedValue(ye,w-ye.lf_left-2);return ee+=Pe+B-1}else w-=ye.lf_left+ye.piece.lineFeedCnt,ee+=ye.size_left+ye.piece.length,ye=ye.right;return ee}getPositionAt(w){w=Math.floor(w),w=Math.max(0,w);let B=this.root,ee=0;const ye=w;for(;B!==pi;)if(B.size_left!==0&&B.size_left>=w)B=B.left;else if(B.size_left+B.piece.length>=w){const Pe=this.getIndexOf(B,w-B.size_left);if(ee+=B.lf_left+Pe.index,Pe.index===0){const Ge=this.getOffsetAt(ee+1,1),yt=ye-Ge;return new l.y(ee+1,yt+1)}return new l.y(ee+1,Pe.remainder+1)}else if(w-=B.size_left+B.piece.length,ee+=B.lf_left+B.piece.lineFeedCnt,B.right===pi){const Pe=this.getOffsetAt(ee+1,1),Ge=ye-w-Pe;return new l.y(ee+1,Ge+1)}else B=B.right;return new l.y(1,1)}getValueInRange(w,B){if(w.startLineNumber===w.endLineNumber&&w.startColumn===w.endColumn)return"";const ee=this.nodeAt2(w.startLineNumber,w.startColumn),ye=this.nodeAt2(w.endLineNumber,w.endColumn),Pe=this.getValueInRange2(ee,ye);return B?B!==this._EOL||!this._EOLNormalized?Pe.replace(/\r\n|\r|\n/g,B):B===this.getEOL()&&this._EOLNormalized?Pe:Pe.replace(/\r\n|\r|\n/g,B):Pe}getValueInRange2(w,B){if(w.node===B.node){const yt=w.node,mt=this._buffers[yt.piece.bufferIndex].buffer,Ht=this.offsetInBuffer(yt.piece.bufferIndex,yt.piece.start);return mt.substring(Ht+w.remainder,Ht+B.remainder)}let ee=w.node;const ye=this._buffers[ee.piece.bufferIndex].buffer,Pe=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);let Ge=ye.substring(Pe+w.remainder,Pe+ee.piece.length);for(ee=ee.next();ee!==pi;){const yt=this._buffers[ee.piece.bufferIndex].buffer,mt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);if(ee===B.node){Ge+=yt.substring(mt,mt+B.remainder);break}else Ge+=yt.substr(mt,ee.piece.length);ee=ee.next()}return Ge}getLinesContent(){const w=[];let B=0,ee="",ye=!1;return this.iterate(this.root,Pe=>{if(Pe===pi)return!0;const Ge=Pe.piece;let yt=Ge.length;if(yt===0)return!0;const mt=this._buffers[Ge.bufferIndex].buffer,Ht=this._buffers[Ge.bufferIndex].lineStarts,Kt=Ge.start.line,zt=Ge.end.line;let si=Ht[Kt]+Ge.start.column;if(ye&&(mt.charCodeAt(si)===10&&(si++,yt--),w[B++]=ee,ee="",ye=!1,yt===0))return!0;if(Kt===zt)return!this._EOLNormalized&&mt.charCodeAt(si+yt-1)===13?(ye=!0,ee+=mt.substr(si,yt-1)):ee+=mt.substr(si,yt),!0;ee+=this._EOLNormalized?mt.substring(si,Math.max(si,Ht[Kt+1]-this._EOLLength)):mt.substring(si,Ht[Kt+1]).replace(/(\r\n|\r|\n)$/,""),w[B++]=ee;for(let mi=Kt+1;mi<zt;mi++)ee=this._EOLNormalized?mt.substring(Ht[mi],Ht[mi+1]-this._EOLLength):mt.substring(Ht[mi],Ht[mi+1]).replace(/(\r\n|\r|\n)$/,""),w[B++]=ee;return!this._EOLNormalized&&mt.charCodeAt(Ht[zt]+Ge.end.column-1)===13?(ye=!0,Ge.end.column===0?B--:ee=mt.substr(Ht[zt],Ge.end.column-1)):ee=mt.substr(Ht[zt],Ge.end.column),!0}
42),ye&&(w[B++]=ee,ee=""),w[B++]=ee,w}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(w){return this._lastVisitedLine.lineNumber===w?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=w,w===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(w):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(w,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(w).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(w){if(w.remainder===w.node.piece.length){const B=w.node.next();if(!B)return 0;const ee=this._buffers[B.piece.bufferIndex],ye=this.offsetInBuffer(B.piece.bufferIndex,B.piece.start);return ee.buffer.charCodeAt(ye)}else{const B=this._buffers[w.node.piece.bufferIndex],ye=this.offsetInBuffer(w.node.piece.bufferIndex,w.node.piece.start)+w.remainder;return B.buffer.charCodeAt(ye)}}getLineCharCode(w,B){const ee=this.nodeAt2(w,B+1);return this._getCharCode(ee)}getLineLength(w){if(w===this.getLineCount()){const B=this.getOffsetAt(w,1);return this.getLength()-B}return this.getOffsetAt(w+1,1)-this.getOffsetAt(w,1)-this._EOLLength}getNearestChunk(w){const B=this.nodeAt(w);if(B.remainder===B.node.piece.length){const ee=B.node.next();if(!ee||ee===pi)return"";const ye=this._buffers[ee.piece.bufferIndex],Pe=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);return ye.buffer.substring(Pe,Pe+ee.piece.length)}else{const ee=this._buffers[B.node.piece.bufferIndex],ye=this.offsetInBuffer(B.node.piece.bufferIndex,B.node.piece.start),Pe=ye+B.remainder,Ge=ye+B.node.piece.length;return ee.buffer.substring(Pe,Ge)}}findMatchesInNode(w,B,ee,ye,Pe,Ge,yt,mt,Ht,Kt,zt){const si=this._buffers[w.piece.bufferIndex],mi=this.offsetInBuffer(w.piece.bufferIndex,w.piece.start),Ii=this.offsetInBuffer(w.piece.bufferIndex,Pe),Oi=this.offsetInBuffer(w.piece.bufferIndex,Ge);let Hi;const dn={line:0,column:0};let Tn,Pn;B._wordSeparators?(Tn=si.buffer.substring(Ii,Oi),Pn=Jn=>Jn+Ii,B.reset(0)):(Tn=si.buffer,Pn=Jn=>Jn,B.reset(Ii));do if(Hi=B.next(Tn),Hi){if(Pn(Hi.index)>=Oi)return Kt;this.positionInBuffer(w,Pn(Hi.index)-mi,dn);const Jn=this.getLineFeedCnt(w.piece.bufferIndex,Pe,dn),Vs=dn.line===Pe.line?dn.column-Pe.column+ye:dn.column+1,os=Vs+Hi[0].length;if(zt[Kt++]=(0,es.dr)(new o.Q(ee+Jn,Vs,ee+Jn,os),Hi,mt),Pn(Hi.index)+Hi[0].length>=Oi||Kt>=Ht)return Kt}while(Hi);return Kt}findMatchesLineByLine(w,B,ee,ye){const Pe=[];let Ge=0;const yt=new es.W5(B.wordSeparators,B.regex);let mt=this.nodeAt2(w.startLineNumber,w.startColumn);if(mt===null)return[];const Ht=this.nodeAt2(w.endLineNumber,w.endColumn);if(Ht===null)return[];let Kt=this.positionInBuffer(mt.node,mt.remainder);const zt=this.positionInBuffer(Ht.node,Ht.remainder);if(mt.node===Ht.node)return this.findMatchesInNode(mt.node,yt,w.startLineNumber,w.startColumn,Kt,zt,B,ee,ye,Ge,Pe),Pe;let si=w.startLineNumber,mi=mt.node;for(;mi!==Ht.node;){const Oi=this.getLineFeedCnt(mi.piece.bufferIndex,Kt,mi.piece.end);if(Oi>=1){const dn=this._buffers[mi.piece.bufferIndex].lineStarts,Tn=this.offsetInBuffer(mi.piece.bufferIndex,mi.piece.start),Pn=dn[Kt.line+Oi],Jn=si===w.startLineNumber?w.startColumn:1;if(Ge=this.findMatchesInNode(mi,yt,si,Jn,Kt,this.positionInBuffer(mi,Pn-Tn),B,ee,ye,Ge,Pe),Ge>=ye)return Pe;si+=Oi}const Hi=si===w.startLineNumber?w.startColumn-1:0;if(si===w.endLineNumber){const dn=this.getLineContent(si).substring(Hi,w.endColumn-1);return Ge=this._findMatchesInLine(B,yt,dn,w.endLineNumber,Hi,Ge,Pe,ee,ye),Pe}if(Ge=this._findMatchesInLine(B,yt,this.getLineContent(si).substr(Hi),si,Hi,Ge,Pe,ee,ye),Ge>=ye)return Pe;si++,mt=this.nodeAt2(si,1),mi=mt.node,Kt=this.positionInBuffer(mt.node,mt.remainder)}if(si===w.endLineNumber){const Oi=si===w.startLineNumber?w.startColumn-1:0,Hi=this.getLineContent(si).substring(Oi,w.endColumn-1);return Ge=this._findMatchesInLine(B,yt,Hi,w.endLineNumber,Oi,Ge,Pe,ee,ye),Pe}const Ii=si===w.startLineNumber?w.startColumn:1;return Ge=this.findMatchesInNode(Ht.node,yt,si,Ii,Kt,zt,B,ee,ye,Ge,Pe),Pe}_findMatchesInLine(w,B,ee,ye,Pe,Ge,yt,mt,Ht){const Kt=w.wordSeparators;if(!mt&&w.simpleSearch){const si=w.simpleSearch,mi=si.length,Ii=ee.length;let Oi=-mi;for(;(Oi=ee.indexOf(si,Oi+mi))!==-1;)if((!Kt||(0,es.wC)(Kt,ee,Ii,Oi,mi))&&(yt[Ge++]=new _.Dg(new o.Q(ye,Oi+1+Pe,ye,Oi+1+mi+Pe),null),Ge>=Ht))return Ge;return Ge}let zt;B.reset(0);do if(zt=B.next(ee),zt&&(yt[Ge++]=(0,es.dr)(new o.Q(ye,zt.index+1+Pe,ye,zt.index+1+zt[0].length+Pe),zt,mt),Ge>=Ht))return Ge;while(zt);return Ge}insert(w,B,ee=!1){if(this._EOLNormalized=this._EOLNormalized&&ee,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==pi){const{node:ye,remainder:Pe,nodeStartOffset:Ge}=this.nodeAt(w),yt=ye.piece,mt=yt.bufferIndex,Ht=this.positionInBuffer(ye,Pe);if(ye.piece.bufferIndex===0&&yt.end.line===this._lastChangeBufferPos.line&&yt.end.column===this._lastChangeBufferPos.column&&Ge+yt.length===w&&B.length<Xn){this.appendToNode(ye,B),this.computeBufferMetadata();return}if(Ge===w)this.insertContentToNodeLeft(B,ye),this._searchCache.validate(w);else if(Ge+ye.piece.length>w){const Kt=[];let zt=new Kn(yt.bufferIndex,Ht,yt.end,this.getLineFeedCnt(yt.bufferIndex,Ht,yt.end),this.offsetInBuffer(mt,yt.end)-this.offsetInBuffer(mt,Ht));if(this.shouldCheckCRLF()&&this.endWithCR(B)&&this.nodeCharCodeAt(ye,Pe)===10){const Oi={line:zt.start.line+1,column:0};zt=new Kn(zt.bufferIndex,Oi,zt.end,this.getLineFeedCnt(zt.bufferIndex,Oi,zt.end),zt.length-1),B+=`
43`}if(this.shouldCheckCRLF()&&this.startWithLF(B))if(this.nodeCharCodeAt(ye,Pe-1)===13){const Oi=this.positionInBuffer(ye,Pe-1);this.deleteNodeTail(ye,Oi),B="\r"+B,ye.piece.length===0&&Kt.push(ye)}else this.deleteNodeTail(ye,Ht);else this.deleteNodeTail(ye,Ht);const si=this.createNewPieces(B);zt.length>0&&this.rbInsertRight(ye,zt);let mi=ye;for(let Ii=0;Ii<si.length;Ii++)mi=this.rbInsertRight(mi,si[Ii]);this.deleteNodes(Kt)}else this.insertContentToNodeRight(B,ye)}else{const ye=this.createNewPieces(B);let Pe=this.rbInsertLeft(null,ye[0]);for(let Ge=1;Ge<ye.length;Ge++)Pe=this.rbInsertRight(Pe,ye[Ge])}this.computeBufferMetadata()}delete(w,B){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",B<=0||this.root===pi)return;const ee=this.nodeAt(w),ye=this.nodeAt(w+B),Pe=ee.node,Ge=ye.node;if(Pe===Ge){const si=this.positionInBuffer(Pe,ee.remainder),mi=this.positionInBuffer(Pe,ye.remainder);
43if(ee.nodeStartOffset===w){if(B===Pe.piece.length){const Ii=Pe.next();us(this,Pe),this.validateCRLFWithPrevNode(Ii),this.computeBufferMetadata();return}this.deleteNodeHead(Pe,mi),this._searchCache.validate(w),this.validateCRLFWithPrevNode(Pe),this.computeBufferMetadata();return}if(ee.nodeStartOffset+Pe.piece.length===w+B){this.deleteNodeTail(Pe,si),this.validateCRLFWithNextNode(Pe),this.computeBufferMetadata();return}this.shrinkNode(Pe,si,mi),this.computeBufferMetadata();return}const yt=[],mt=this.positionInBuffer(Pe,ee.remainder);this.deleteNodeTail(Pe,mt),this._searchCache.validate(w),Pe.piece.length===0&&yt.push(Pe);const Ht=this.positionInBuffer(Ge,ye.remainder);this.deleteNodeHead(Ge,Ht),Ge.piece.length===0&&yt.push(Ge);const Kt=Pe.next();for(let si=Kt;si!==pi&&si!==Ge;si=si.next())yt.push(si);const zt=Pe.piece.length===0?Pe.prev():Pe;this.deleteNodes(yt),this.validateCRLFWithNextNode(zt),this.computeBufferMetadata()}insertContentToNodeLeft(w,B){const ee=[];if(this.shouldCheckCRLF()&&this.endWithCR(w)&&this.startWithLF(B)){const Ge=B.piece,yt={line:Ge.start.line+1,column:0},mt=new Kn(Ge.bufferIndex,yt,Ge.end,this.getLineFeedCnt(Ge.bufferIndex,yt,Ge.end),Ge.length-1);B.piece=mt,w+=`
44`,zn(this,B,-1,-1),B.piece.length===0&&ee.push(B)}const ye=this.createNewPieces(w);let Pe=this.rbInsertLeft(B,ye[ye.length-1]);for(let Ge=ye.length-2;Ge>=0;Ge--)Pe=this.rbInsertLeft(Pe,ye[Ge]);this.validateCRLFWithPrevNode(Pe),this.deleteNodes(ee)}insertContentToNodeRight(w,B){this.adjustCarriageReturnFromNext(w,B)&&(w+=`
45`);const ee=this.createNewPieces(w),ye=this.rbInsertRight(B,ee[0]);let Pe=ye;for(let Ge=1;Ge<ee.length;Ge++)Pe=this.rbInsertRight(Pe,ee[Ge]);this.validateCRLFWithPrevNode(ye)}positionInBuffer(w,B,ee){const ye=w.piece,Pe=w.piece.bufferIndex,Ge=this._buffers[Pe].lineStarts,mt=Ge[ye.start.line]+ye.start.column+B;let Ht=ye.start.line,Kt=ye.end.line,zt=0,si=0,mi=0;for(;Ht<=Kt&&(zt=Ht+(Kt-Ht)/2|0,mi=Ge[zt],zt!==Kt);)if(si=Ge[zt+1],mt<mi)Kt=zt-1;else if(mt>=si)Ht=zt+1;else break;return ee?(ee.line=zt,ee.column=mt-mi,null):{line:zt,column:mt-mi}}getLineFeedCnt(w,B,ee){if(ee.column===0)return ee.line-B.line;const ye=this._buffers[w].lineStarts;if(ee.line===ye.length-1)return ee.line-B.line;const Pe=ye[ee.line+1],Ge=ye[ee.line]+ee.column;if(Pe>Ge+1)return ee.line-B.line;const yt=Ge-1;return this._buffers[w].buffer.charCodeAt(yt)===13?ee.line-B.line+1:ee.line-B.line}offsetInBuffer(w,B){return this._buffers[w].lineStarts[B.line]+B.column}deleteNodes(w){for(let B=0;B<w.length;B++)us(this,w[B])}createNewPieces(w){if(w.length>Xn){const Kt=[];for(;w.length>Xn;){const si=w.charCodeAt(Xn-1);let mi;si===13||si>=55296&&si<=56319?(mi=w.substring(0,Xn-1),w=w.substring(Xn-1)):(mi=w.substring(0,Xn),w=w.substring(Xn));const Ii=Yn(mi);Kt.push(new Kn(this._buffers.length,{line:0,column:0},{line:Ii.length-1,column:mi.length-Ii[Ii.length-1]},Ii.length-1,mi.length)),this._buffers.push(new jt(mi,Ii))}const zt=Yn(w);return Kt.push(new Kn(this._buffers.length,{line:0,column:0},{line:zt.length-1,column:w.length-zt[zt.length-1]},zt.length-1,w.length)),this._buffers.push(new jt(w,zt)),Kt}let B=this._buffers[0].buffer.length;const ee=Yn(w,!1);let ye=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===B&&B!==0&&this.startWithLF(w)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},ye=this._lastChangeBufferPos;for(let Kt=0;Kt<ee.length;Kt++)ee[Kt]+=B+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(ee.slice(1)),this._buffers[0].buffer+="_"+w,B+=1}else{if(B!==0)for(let Kt=0;Kt<ee.length;Kt++)ee[Kt]+=B;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(ee.slice(1)),this._buffers[0].buffer+=w}const Pe=this._buffers[0].buffer.length,Ge=this._buffers[0].lineStarts.length-1,yt=Pe-this._buffers[0].lineStarts[Ge],mt={line:Ge,column:yt},Ht=new Kn(0,ye,mt,this.getLineFeedCnt(0,ye,mt),Pe-B);return this._lastChangeBufferPos=mt,[Ht]}getLineRawContent(w,B=0){let ee=this.root,ye="";const Pe=this._searchCache.get2(w);if(Pe){ee=Pe.node;const Ge=this.getAccumulatedValue(ee,w-Pe.nodeStartLineNumber-1),yt=this._buffers[ee.piece.bufferIndex].buffer,mt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);if(Pe.nodeStartLineNumber+ee.piece.lineFeedCnt===w)ye=yt.substring(mt+Ge,mt+ee.piece.length);else{const Ht=this.getAccumulatedValue(ee,w-Pe.nodeStartLineNumber);return yt.substring(mt+Ge,mt+Ht-B)}}else{let Ge=0;const yt=w;for(;ee!==pi;)if(ee.left!==pi&&ee.lf_left>=w-1)ee=ee.left;else if(ee.lf_left+ee.piece.lineFeedCnt>w-1){const mt=this.getAccumulatedValue(ee,w-ee.lf_left-2),Ht=this.getAccumulatedValue(ee,w-ee.lf_left-1),Kt=this._buffers[ee.piece.bufferIndex].buffer,zt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);return Ge+=ee.size_left,this._searchCache.set({node:ee,nodeStartOffset:Ge,nodeStartLineNumber:yt-(w-1-ee.lf_left)}),Kt.substring(zt+mt,zt+Ht-B)}else if(ee.lf_left+ee.piece.lineFeedCnt===w-1){const mt=this.getAccumulatedValue(ee,w-ee.lf_left-2),Ht=this._buffers[ee.piece.bufferIndex].buffer,Kt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);
45ye=Ht.substring(Kt+mt,Kt+ee.piece.length);break}else w-=ee.lf_left+ee.piece.lineFeedCnt,Ge+=ee.size_left+ee.piece.length,ee=ee.right}for(ee=ee.next();ee!==pi;){const Ge=this._buffers[ee.piece.bufferIndex].buffer;if(ee.piece.lineFeedCnt>0){const yt=this.getAccumulatedValue(ee,0),mt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);return ye+=Ge.substring(mt,mt+yt-B),ye}else{const yt=this.offsetInBuffer(ee.piece.bufferIndex,ee.piece.start);ye+=Ge.substr(yt,ee.piece.length)}ee=ee.next()}return ye}computeBufferMetadata(){let w=this.root,B=1,ee=0;for(;w!==pi;)B+=w.lf_left+w.piece.lineFeedCnt,ee+=w.size_left+w.piece.length,w=w.right;this._lineCnt=B,this._length=ee,this._searchCache.validate(this._length)}getIndexOf(w,B){const ee=w.piece,ye=this.positionInBuffer(w,B),Pe=ye.line-ee.start.line;if(this.offsetInBuffer(ee.bufferIndex,ee.end)-this.offsetInBuffer(ee.bufferIndex,ee.start)===B){const Ge=this.getLineFeedCnt(w.piece.bufferIndex,ee.start,ye);if(Ge!==Pe)return{index:Ge,remainder:0}}return{index:Pe,remainder:ye.column}}getAccumulatedValue(w,B){if(B<0)return 0;const ee=w.piece,ye=this._buffers[ee.bufferIndex].lineStarts,Pe=ee.start.line+B+1;return Pe>ee.end.line?ye[ee.end.line]+ee.end.column-ye[ee.start.line]-ee.start.column:ye[Pe]-ye[ee.start.line]-ee.start.column}deleteNodeTail(w,B){const ee=w.piece,ye=ee.lineFeedCnt,Pe=this.offsetInBuffer(ee.bufferIndex,ee.end),Ge=B,yt=this.offsetInBuffer(ee.bufferIndex,Ge),mt=this.getLineFeedCnt(ee.bufferIndex,ee.start,Ge),Ht=mt-ye,Kt=yt-Pe,zt=ee.length+Kt;w.piece=new Kn(ee.bufferIndex,ee.start,Ge,mt,zt),zn(this,w,Kt,Ht)}deleteNodeHead(w,B){const ee=w.piece,ye=ee.lineFeedCnt,Pe=this.offsetInBuffer(ee.bufferIndex,ee.start),Ge=B,yt=this.getLineFeedCnt(ee.bufferIndex,Ge,ee.end),mt=this.offsetInBuffer(ee.bufferIndex,Ge),Ht=yt-ye,Kt=Pe-mt,zt=ee.length+Kt;w.piece=new Kn(ee.bufferIndex,Ge,ee.end,yt,zt),zn(this,w,Kt,Ht)}shrinkNode(w,B,ee){const ye=w.piece,Pe=ye.start,Ge=ye.end,yt=ye.length,mt=ye.lineFeedCnt,Ht=B,Kt=this.getLineFeedCnt(ye.bufferIndex,ye.start,Ht),zt=this.offsetInBuffer(ye.bufferIndex,B)-this.offsetInBuffer(ye.bufferIndex,Pe);w.piece=new Kn(ye.bufferIndex,ye.start,Ht,Kt,zt),zn(this,w,zt-yt,Kt-mt);const si=new Kn(ye.bufferIndex,ee,Ge,this.getLineFeedCnt(ye.bufferIndex,ee,Ge),this.offsetInBuffer(ye.bufferIndex,Ge)-this.offsetInBuffer(ye.bufferIndex,ee)),mi=this.rbInsertRight(w,si);this.validateCRLFWithPrevNode(mi)}appendToNode(w,B){this.adjustCarriageReturnFromNext(B,w)&&(B+=`
46`);const ee=this.shouldCheckCRLF()&&this.startWithLF(B)&&this.endWithCR(w),ye=this._buffers[0].buffer.length;this._buffers[0].buffer+=B;const Pe=Yn(B,!1);for(let mi=0;mi<Pe.length;mi++)Pe[mi]+=ye;if(ee){const mi=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:ye-mi}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(Pe.slice(1));const Ge=this._buffers[0].lineStarts.length-1,yt=this._buffers[0].buffer.length-this._buffers[0].lineStarts[Ge],mt={line:Ge,column:yt},Ht=w.piece.length+B.length,Kt=w.piece.lineFeedCnt,zt=this.getLineFeedCnt(0,w.piece.start,mt),si=zt-Kt;w.piece=new Kn(w.piece.bufferIndex,w.piece.start,mt,zt,Ht),this._lastChangeBufferPos=mt,zn(this,w,B.length,si)}nodeAt(w){let B=this.root;const ee=this._searchCache.get(w);
46if(ee)return{node:ee.node,nodeStartOffset:ee.nodeStartOffset,remainder:w-ee.nodeStartOffset};let ye=0;for(;B!==pi;)if(B.size_left>w)B=B.left;else if(B.size_left+B.piece.length>=w){ye+=B.size_left;const Pe={node:B,remainder:w-B.size_left,nodeStartOffset:ye};return this._searchCache.set(Pe),Pe}else w-=B.size_left+B.piece.length,ye+=B.size_left+B.piece.length,B=B.right;return null}nodeAt2(w,B){let ee=this.root,ye=0;for(;ee!==pi;)if(ee.left!==pi&&ee.lf_left>=w-1)ee=ee.left;else if(ee.lf_left+ee.piece.lineFeedCnt>w-1){const Pe=this.getAccumulatedValue(ee,w-ee.lf_left-2),Ge=this.getAccumulatedValue(ee,w-ee.lf_left-1);return ye+=ee.size_left,{node:ee,remainder:Math.min(Pe+B-1,Ge),nodeStartOffset:ye}}else if(ee.lf_left+ee.piece.lineFeedCnt===w-1){const Pe=this.getAccumulatedValue(ee,w-ee.lf_left-2);if(Pe+B-1<=ee.piece.length)return{node:ee,remainder:Pe+B-1,nodeStartOffset:ye};B-=ee.piece.length-Pe;break}else w-=ee.lf_left+ee.piece.lineFeedCnt,ye+=ee.size_left+ee.piece.length,ee=ee.right;for(ee=ee.next();ee!==pi;){if(ee.piece.lineFeedCnt>0){const Pe=this.getAccumulatedValue(ee,0),Ge=this.offsetOfNode(ee);return{node:ee,remainder:Math.min(B-1,Pe),nodeStartOffset:Ge}}else if(ee.piece.length>=B-1){const Pe=this.offsetOfNode(ee);return{node:ee,remainder:B-1,nodeStartOffset:Pe}}else B-=ee.piece.length;ee=ee.next()}return null}nodeCharCodeAt(w,B){if(w.piece.lineFeedCnt<1)return-1;const ee=this._buffers[w.piece.bufferIndex],ye=this.offsetInBuffer(w.piece.bufferIndex,w.piece.start)+B;return ee.buffer.charCodeAt(ye)}offsetOfNode(w){if(!w)return 0;let B=w.size_left;for(;w!==this.root;)w.parent.right===w&&(B+=w.parent.size_left+w.parent.piece.length),w=w.parent;return B}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL===`
47`)}startWithLF(w){if(typeof w=="string")return w.charCodeAt(0)===10;if(w===pi||w.piece.lineFeedCnt===0)return!1;const B=w.piece,ee=this._buffers[B.bufferIndex].lineStarts,ye=B.start.line,Pe=ee[ye]+B.start.column;return ye===ee.length-1||ee[ye+1]>Pe+1?!1:this._buffers[B.bufferIndex].buffer.charCodeAt(Pe)===10}endWithCR(w){return typeof w=="string"?w.charCodeAt(w.length-1)===13:w===pi||w.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(w,w.piece.length-1)===13}validateCRLFWithPrevNode(w){if(this.shouldCheckCRLF()&&this.startWithLF(w)){const B=w.prev();this.endWithCR(B)&&this.fixCRLF(B,w)}}validateCRLFWithNextNode(w){if(this.shouldCheckCRLF()&&this.endWithCR(w)){const B=w.next();this.startWithLF(B)&&this.fixCRLF(w,B)}}fixCRLF(w,B){const ee=[],ye=this._buffers[w.piece.bufferIndex].lineStarts;let Pe;w.piece.end.column===0?Pe={line:w.piece.end.line-1,column:ye[w.piece.end.line]-ye[w.piece.end.line-1]-1}:Pe={line:w.piece.end.line,column:w.piece.end.column-1};const Ge=w.piece.length-1,yt=w.piece.lineFeedCnt-1;w.piece=new Kn(w.piece.bufferIndex,w.piece.start,Pe,yt,Ge),zn(this,w,-1,-1),w.piece.length===0&&ee.push(w);const mt={line:B.piece.start.line+1,column:0},Ht=B.piece.length-1,Kt=this.getLineFeedCnt(B.piece.bufferIndex,mt,B.piece.end);B.piece=new Kn(B.piece.bufferIndex,mt,B.piece.end,Kt,Ht),zn(this,B,-1,-1),B.piece.length===0&&ee.push(B);const zt=this.createNewPieces(`\r
48`);this.rbInsertRight(w,zt[0]);for(let si=0;si<ee.length;si++)us(this,ee[si])}adjustCarriageReturnFromNext(w,B){if(this.shouldCheckCRLF()&&this.endWithCR(w)){const ee=B.next();if(this.startWithLF(ee)){if(w+=`
49`,ee.piece.length===1)us(this,ee);else{const ye=ee.piece,Pe={line:ye.start.line+1,column:0},Ge=ye.length-1,yt=this.getLineFeedCnt(ye.bufferIndex,Pe,ye.end);ee.piece=new Kn(ye.bufferIndex,Pe,ye.end,yt,Ge),zn(this,ee,-1,-1)}return!0}}return!1}iterate(w,B){if(w===pi)return B(pi);const ee=this.iterate(w.left,B);return ee&&B(w)&&this.iterate(w.right,B)}getNodeContent(w){if(w===pi)return"";const B=this._buffers[w.piece.bufferIndex],ee=w.piece,ye=this.offsetInBuffer(ee.bufferIndex,ee.start),Pe=this.offsetInBuffer(ee.bufferIndex,ee.end);return B.buffer.substring(ye,Pe)}getPieceContent(w){const B=this._buffers[w.bufferIndex],ee=this.offsetInBuffer(w.bufferIndex,w.start),ye=this.offsetInBuffer(w.bufferIndex,w.end);return B.buffer.substring(ee,ye)}rbInsertRight(w,B){const ee=new Bi(B,1);if(ee.left=pi,ee.right=pi,ee.parent=pi,ee.size_left=0,ee.lf_left=0,this.root===pi)this.root=ee,ee.color=0;
49else if(w.right===pi)w.right=ee,ee.parent=w;else{const Pe=$i(w.right);Pe.left=ee,ee.parent=Pe}return Zn(this,ee),ee}rbInsertLeft(w,B){const ee=new Bi(B,1);if(ee.left=pi,ee.right=pi,ee.parent=pi,ee.size_left=0,ee.lf_left=0,this.root===pi)this.root=ee,ee.color=0;else if(w.left===pi)w.left=ee,ee.parent=w;else{const ye=fn(w.left);ye.right=ee,ee.parent=ye}return Zn(this,ee),ee}}var hn=e(6949);class wn extends A.jG{constructor(w,B,ee,ye,Pe,Ge,yt){super(),this._onDidChangeContent=this._register(new y.vl),this._BOM=B,this._mightContainNonBasicASCII=!Ge,this._mightContainRTL=ye,this._mightContainUnusualLineTerminators=Pe,this._pieceTree=new zi(w,ee,yt)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(w){return this._pieceTree.createSnapshot(w?this._BOM:"")}getOffsetAt(w,B){return this._pieceTree.getOffsetAt(w,B)}getPositionAt(w){return this._pieceTree.getPositionAt(w)}getRangeAt(w,B){const ee=w+B,ye=this.getPositionAt(w),Pe=this.getPositionAt(ee);return new o.Q(ye.lineNumber,ye.column,Pe.lineNumber,Pe.column)}getValueInRange(w,B=0){if(w.isEmpty())return"";const ee=this._getEndOfLine(B);return this._pieceTree.getValueInRange(w,ee)}getValueLengthInRange(w,B=0){if(w.isEmpty())return 0;if(w.startLineNumber===w.endLineNumber)return w.endColumn-w.startColumn;const ee=this.getOffsetAt(w.startLineNumber,w.startColumn),ye=this.getOffsetAt(w.endLineNumber,w.endColumn);let Pe=0;const Ge=this._getEndOfLine(B),yt=this.getEOL();if(Ge.length!==yt.length){const mt=Ge.length-yt.length,Ht=w.endLineNumber-w.startLineNumber;Pe=mt*Ht}return ye-ee+Pe}getCharacterCountInRange(w,B=0){if(this._mightContainNonBasicASCII){let ee=0;const ye=w.startLineNumber,Pe=w.endLineNumber;for(let Ge=ye;Ge<=Pe;Ge++){const yt=this.getLineContent(Ge),mt=Ge===ye?w.startColumn-1:0,Ht=Ge===Pe?w.endColumn-1:yt.length;for(let Kt=mt;Kt<Ht;Kt++)(0,g.pc)(yt.charCodeAt(Kt))?(ee=ee+1,Kt=Kt+1):ee=ee+1}return ee+=this._getEndOfLine(B).length*(Pe-ye),ee}return this.getValueLengthInRange(w,B)}getNearestChunk(w){return this._pieceTree.getNearestChunk(w)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(w){return this._pieceTree.getLineContent(w)}getLineCharCode(w,B){return this._pieceTree.getLineCharCode(w,B)}getLineLength(w){return this._pieceTree.getLineLength(w)}getLineFirstNonWhitespaceColumn(w){const B=(0,g.HG)(this.getLineContent(w));return B===-1?0:B+1}getLineLastNonWhitespaceColumn(w){const B=(0,g.lT)(this.getLineContent(w));return B===-1?0:B+2}_getEndOfLine(w){switch(w){case 1:return`
50`;case 2:return`\r
51`;case 0:return this.getEOL();default:throw new Error("Unknown EOL preference")}}setEOL(w){this._pieceTree.setEOL(w)}applyEdits(w,B,ee){let ye=this._mightContainRTL,Pe=this._mightContainUnusualLineTerminators,Ge=this._mightContainNonBasicASCII,yt=!0,mt=[];for(let Oi=0;Oi<w.length;Oi++){const Hi=w[Oi];yt&&Hi._isTracked&&(yt=!1);const dn=Hi.range;if(Hi.text){let os=!0;Ge||(os=!(0,g.aC)(Hi.text),Ge=os),!ye&&os&&(ye=(0,g.E_)(Hi.text)),!Pe&&os&&(Pe=(0,g.$X)(Hi.text))}let Tn="",Pn=0,Jn=0,Vs=0;if(Hi.text){let os;[Pn,Jn,Vs,os]=(0,i.W)(Hi.text);const ts=this.getEOL();os===0||os===(ts===`\r
52`?2:1)?Tn=Hi.text:Tn=Hi.text.replace(/\r\n|\r|\n/g,ts)}mt[Oi]={sortIndex:Oi,identifier:Hi.identifier||null,range:dn,rangeOffset:this.getOffsetAt(dn.startLineNumber,dn.startColumn),rangeLength:this.getValueLengthInRange(dn),text:Tn,eolCount:Pn,firstLineLength:Jn,lastLineLength:Vs,forceMoveMarkers:!!Hi.forceMoveMarkers,isAutoWhitespaceEdit:Hi.isAutoWhitespaceEdit||!1}}mt.sort(wn._sortOpsAscending);let Ht=!1;for(let Oi=0,Hi=mt.length-1;Oi<Hi;Oi++){const dn=mt[Oi].range.getEndPosition(),Tn=mt[Oi+1].range.getStartPosition();if(Tn.isBeforeOrEqual(dn)){if(Tn.isBefore(dn))throw new Error("Overlapping ranges are not allowed!");Ht=!0}}yt&&(mt=this._reduceOperations(mt));const Kt=ee||B?wn._getInverseEditRanges(mt):[],zt=[];if(B)for(let Oi=0;Oi<mt.length;Oi++){const Hi=mt[Oi],dn=Kt[Oi];if(Hi.isAutoWhitespaceEdit&&Hi.range.isEmpty())for(let Tn=dn.startLineNumber;Tn<=dn.endLineNumber;Tn++){let Pn="";Tn===dn.startLineNumber&&(Pn=this.getLineContent(Hi.range.startLineNumber),(0,g.HG)(Pn)!==-1)||zt.push({lineNumber:Tn,oldContent:Pn})}}let si=null;if(ee){let Oi=0;si=[];for(let Hi=0;Hi<mt.length;Hi++){const dn=mt[Hi],Tn=Kt[Hi],Pn=this.getValueInRange(dn.range),Jn=dn.rangeOffset+Oi;Oi+=dn.text.length-Pn.length,si[Hi]={sortIndex:dn.sortIndex,identifier:dn.identifier,range:Tn,text:Pn,textChange:new hn.k(dn.rangeOffset,Pn,Jn,dn.text)}}Ht||si.sort((Hi,dn)=>Hi.sortIndex-dn.sortIndex)}this._mightContainRTL=ye,this._mightContainUnusualLineTerminators=Pe,this._mightContainNonBasicASCII=Ge;const mi=this._doApplyEdits(mt);let Ii=null;if(B&&zt.length>0){zt.sort((Oi,Hi)=>Hi.lineNumber-Oi.lineNumber),Ii=[];for(let Oi=0,Hi=zt.length;Oi<Hi;Oi++){const dn=zt[Oi].lineNumber;if(Oi>0&&zt[Oi-1].lineNumber===dn)continue;const Tn=zt[Oi].oldContent,Pn=this.getLineContent(dn);Pn.length===0||Pn===Tn||(0,g.HG)(Pn)!==-1||Ii.push(dn)}}return this._onDidChangeContent.fire(),new _.F4(si,mi,Ii)}_reduceOperations(w){return w.length<1e3?w:[this._toSingleEditOperation(w)]}_toSingleEditOperation(w){let B=!1;
52const ee=w[0].range,ye=w[w.length-1].range,Pe=new o.Q(ee.startLineNumber,ee.startColumn,ye.endLineNumber,ye.endColumn);let Ge=ee.startLineNumber,yt=ee.startColumn;const mt=[];for(let mi=0,Ii=w.length;mi<Ii;mi++){const Oi=w[mi],Hi=Oi.range;B=B||Oi.forceMoveMarkers,mt.push(this.getValueInRange(new o.Q(Ge,yt,Hi.startLineNumber,Hi.startColumn))),Oi.text.length>0&&mt.push(Oi.text),Ge=Hi.endLineNumber,yt=Hi.endColumn}const Ht=mt.join(""),[Kt,zt,si]=(0,i.W)(Ht);return{sortIndex:0,identifier:w[0].identifier,range:Pe,rangeOffset:this.getOffsetAt(Pe.startLineNumber,Pe.startColumn),rangeLength:this.getValueLengthInRange(Pe,0),text:Ht,eolCount:Kt,firstLineLength:zt,lastLineLength:si,forceMoveMarkers:B,isAutoWhitespaceEdit:!1}}_doApplyEdits(w){w.sort(wn._sortOpsDescending);const B=[];for(let ee=0;ee<w.length;ee++){const ye=w[ee],Pe=ye.range.startLineNumber,Ge=ye.range.startColumn,yt=ye.range.endLineNumber,mt=ye.range.endColumn;if(Pe===yt&&Ge===mt&&ye.text.length===0)continue;ye.text?(this._pieceTree.delete(ye.rangeOffset,ye.rangeLength),this._pieceTree.insert(ye.rangeOffset,ye.text,!0)):this._pieceTree.delete(ye.rangeOffset,ye.rangeLength);const Ht=new o.Q(Pe,Ge,yt,mt);B.push({range:Ht,rangeLength:ye.rangeLength,text:ye.text,rangeOffset:ye.rangeOffset,forceMoveMarkers:ye.forceMoveMarkers})}return B}findMatchesLineByLine(w,B,ee,ye){return this._pieceTree.findMatchesLineByLine(w,B,ee,ye)}static _getInverseEditRanges(w){const B=[];let ee=0,ye=0,Pe=null;for(let Ge=0,yt=w.length;Ge<yt;Ge++){const mt=w[Ge];let Ht,Kt;Pe?Pe.range.endLineNumber===mt.range.startLineNumber?(Ht=ee,Kt=ye+(mt.range.startColumn-Pe.range.endColumn)):(Ht=ee+(mt.range.startLineNumber-Pe.range.endLineNumber),Kt=mt.range.startColumn):(Ht=mt.range.startLineNumber,Kt=mt.range.startColumn);let zt;if(mt.text.length>0){const si=mt.eolCount+1;si===1?zt=new o.Q(Ht,Kt,Ht,Kt+mt.firstLineLength):zt=new o.Q(Ht,Kt,Ht+si-1,mt.lastLineLength+1)}else zt=new o.Q(Ht,Kt,Ht,Kt);ee=zt.endLineNumber,ye=zt.endColumn,B.push(zt),Pe=mt}return B}static _sortOpsAscending(w,B){const ee=o.Q.compareRangesUsingEnds(w.range,B.range);return ee===0?w.sortIndex-B.sortIndex:ee}static _sortOpsDescending(w,B){const ee=o.Q.compareRangesUsingEnds(w.range,B.range);return ee===0?B.sortIndex-w.sortIndex:-ee}}class en{constructor(w,B,ee,ye,Pe,Ge,yt,mt,Ht){this._chunks=w,this._bom=B,this._cr=ee,this._lf=ye,this._crlf=Pe,this._containsRTL=Ge,this._containsUnusualLineTerminators=yt,this._isBasicASCII=mt,this._normalizeEOL=Ht}_getEOL(w){const B=this._cr+this._lf+this._crlf,ee=this._cr+this._crlf;return B===0?w===1?`
53`:`\r
54`:ee>B/2?`\r
55`:`
56`}create(w){const B=this._getEOL(w),ee=this._chunks;if(this._normalizeEOL&&(B===`\r
57`&&(this._cr>0||this._lf>0)||B===`
58`&&(this._cr>0||this._crlf>0)))for(let Pe=0,Ge=ee.length;Pe<Ge;Pe++){const yt=ee[Pe].buffer.replace(/\r\n|\r|\n/g,B),mt=Yn(yt);ee[Pe]=new jt(yt,mt)}const ye=new wn(ee,this._bom,B,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:ye,disposable:ye}}}class In{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(w){if(w.length===0)return;this.chunks.length===0&&(0,g.LU)(w)&&(this.BOM=g.r_,w=w.substr(1));const B=w.charCodeAt(w.length-1);B===13||B>=55296&&B<=56319?(this._acceptChunk1(w.substr(0,w.length-1),!1),this._hasPreviousChar=!0,this._previousChar=B):(this._acceptChunk1(w,!1),this._hasPreviousChar=!1,this._previousChar=B)}_acceptChunk1(w,B){!B&&w.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+w):this._acceptChunk2(w))}_acceptChunk2(w){const B=zs(this._tmpLineStarts,w);this.chunks.push(new jt(w,B.lineStarts)),this.cr+=B.cr,this.lf+=B.lf,this.crlf+=B.crlf,B.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=(0,g.E_)(w)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=(0,g.$X)(w)))}finish(w=!0){return this._finish(),new en(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,w)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const w=this.chunks[this.chunks.length-1];w.buffer+=String.fromCharCode(this._previousChar);const B=Yn(w.buffer);w.lineStarts=B,this._previousChar===13&&this.cr++}}}var Bn=e(65958),Wi=e(80816),At=e(73678),Xt=e(8897),li=e(99429),Mi=e(48655),vi=e(99859);class Vi{constructor(){this._onDidChangeVisibleRanges=new y.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set,this._viewsChanged=(0,li.Y)(this),this.visibleLineRanges=(0,vi.C)({owner:this,equalsFn:(0,Xt.We)((0,Xt.d)())},w=>(this._viewsChanged.read(w),Wi.M.joinMany([...this._views].map(ee=>ee.state.read(w)?.visibleLineRanges??[]))))}attachView(){const w=new Wt(B=>{this._onDidChangeVisibleRanges.fire({view:w,state:B})});return this._views.add(w),this._viewsChanged.trigger(void 0),w}detachView(w){this._views.delete(w),this._onDidChangeVisibleRanges.fire({view:w,state:void 0}),this._viewsChanged.trigger(void 0)}dispose(){this._onDidChangeVisibleRanges.dispose()}}class ui{constructor(w,B){this.visibleLineRanges=w,this.stabilized=B}equals(w){return this===w?!0:!(!(0,v.aI)(this.visibleLineRanges,w.visibleLineRanges,(B,ee)=>B.equals(ee))||this.stabilized!==w.stabilized)}}class Wt{get state(){return this._state}constructor(w){this.handleStateChange=w,this._state=(0,Mi.Z)({owner:this,equalsFn:(0,Xt.jb)((B,ee)=>B.equals(ee))},void 0)}setVisibleLines(w,B){const ee=w.map(Pe=>new Wi.M(Pe.startLineNumber,Pe.endLineNumber+1)),ye=new ui(ee,B);this._state.set(ye,void 0,void 0),this.handleStateChange(ye)}}class Nn extends A.jG{get lineRanges(){return this._lineRanges}constructor(w){super(),this._refreshTokens=w,this.runner=this._register(new Bn.uC(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,v.aI)(this._computedLineRanges,this._lineRanges,(w,B)=>w.equals(B))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(w){this._lineRanges=w.visibleLineRanges,w.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class ci extends A.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(w,B){super(),this._languageIdCodec=w,this._textModel=B,this._onDidChangeTokens=this._register(new y.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeFontTokens=this._register(new y.vl),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event}tokenizeIfCheap(w){this.isCheapToTokenize(w)&&this.forceTokenization(w)}}class ut{static toKey(w){return`${w.ownerId};${w.decorationId};${w.lineNumber}`}constructor(w,B,ee,ye){this.ownerId=w,this.decorationId=B,this.lineNumber=ee,this.lineHeight=ye}}class Rt{static toKey(w){return`${w.ownerId};${w.decorationId};${w.lineNumber}`}constructor(w,B,ee){this.ownerId=w,this.decorationId=B,this.lineNumber=ee}}var xt=e(18676);class Ot{constructor(w=[]){this._annotations=[],this._annotations=w}setAnnotations(w){for(const B of w.annotations){const ee=this._getStartIndexOfIntersectingAnnotation(B.range.start),ye=this._getEndIndexOfIntersectingAnnotation(B.range.endExclusive);B.annotation!==void 0?this._annotations.splice(ee,ye-ee,{range:B.range,annotation:B.annotation}):this._annotations.splice(ee,ye-ee)}}getAnnotationsIntersecting(w){const B=this._getStartIndexOfIntersectingAnnotation(w.start),ee=this._getEndIndexOfIntersectingAnnotation(w.endExclusive);return this._annotations.slice(B,ee)}_getStartIndexOfIntersectingAnnotation(w){const B=(0,v.Uw)(this._annotations.length,ye=>this._annotations[ye].range.start-w);let ee;if(B>=0){ee=B;const ye=this._annotations[ee]?.range;ye&&ye.endExclusive===w&&ee--}else{const ye=this._annotations[-(B+2)]?.range;ye&&w>=ye.start&&w<ye.endExclusive?ee=-(B+2):ee=-(B+1)}return ee}_getEndIndexOfIntersectingAnnotation(w){const B=(0,v.Uw)(this._annotations.length,ye=>this._annotations[ye].range.endExclusive-w);let ee;if(B>=0){ee=B+1;const ye=this._annotations[ee]?.range;ye&&ye.start===w&&ee++}else{const ye=this._annotations[-(B+1)]?.range;ye&&w>=ye.start&&w<=ye.endExclusive?ee=-B:ee=-(B+1)}return ee}applyEdit(w){const B=this._annotations.slice(),ee=[],ye=[];let Pe=0;for(const Ge of w.replacements){for(;;){const mt=B[0];if(!mt)break;const Ht=mt.range;if(Ht.endExclusive>=Ge.replaceRange.start)break;B.shift();const Kt={range:Ht.delta(Pe),annotation:mt.annotation};Kt.range.isEmpty?ye.push(Kt):ee.push(Kt)}const yt=[];for(;;){const mt=B[0];if(!mt||!mt.range.intersectsOrTouches(Ge.replaceRange))break;B.shift(),yt.push(mt)}for(let mt=yt.length-1;mt>=0;mt--){const Ht=yt[mt];let Kt=Ht.range;
58const zt=mt===0&&Ge.replaceRange.endExclusive>Kt.start&&Ge.replaceRange.start<Kt.endExclusive,si=Kt.intersect(Ge.replaceRange).length;Kt=Kt.deltaEnd(-si+(zt?Ge.newText.length:0));const mi=Kt.start-Ge.replaceRange.start;mi>0&&(Kt=Kt.delta(-mi)),!zt&&mi>=0&&(Kt=Kt.delta(Ge.newText.length)),Kt=Kt.delta(-(Ge.newText.length-Ge.replaceRange.length)),B.unshift({annotation:Ht.annotation,range:Kt})}Pe+=Ge.newText.length-Ge.replaceRange.length}for(;;){const Ge=B[0];if(!Ge)break;B.shift();const yt={annotation:Ge.annotation,range:Ge.range.delta(Pe)};yt.range.isEmpty?ye.push(yt):ee.push(yt)}return this._annotations=ee,ye}}class Qt{static create(w){return new Qt(w)}constructor(w){this._annotations=w}get annotations(){return this._annotations}}var ai=e(77011),gi=e(9037);const Wo=class Wo extends A.jG{constructor(w,B){super(),this.textModel=w,this.tokenizationTextModelPart=B,this._onDidChangeLineHeight=this._register(new y.vl),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new y.vl),this.onDidChangeFont=this._onDidChangeFont.event,this._fontAnnotatedString=new Ot,this._register(this.tokenizationTextModelPart.onDidChangeFontTokens(ee=>{const ye=new Set,Pe=[],Ge=new Set,yt=new Set;for(const mt of ee.changes.annotations){const Kt=this.textModel.getPositionAt(mt.range.start).lineNumber;let zt;if(mt.annotation===void 0)zt={range:mt.range,annotation:void 0};else{const si=`tokenization-font-decoration-${Wo.DECORATION_COUNT}`,mi={fontToken:mt.annotation,decorationId:si};zt={range:mt.range,annotation:mi},Wo.DECORATION_COUNT++,mt.annotation.lineHeightMultiplier&&Ge.add(new ut(0,si,Kt,mt.annotation.lineHeightMultiplier)),yt.add(new Rt(0,si,Kt))}if(Pe.push(zt),!ye.has(Kt)){const si=this.textModel.getOffsetAt(new l.y(Kt,1)),mi=this.textModel.getOffsetAt(new l.y(Kt,this.textModel.getLineMaxColumn(Kt))),Ii=new ai.L(si,mi),Oi=this._fontAnnotatedString.getAnnotationsIntersecting(Ii);for(const Hi of Oi){const dn=Hi.annotation.decorationId;Ge.add(new ut(0,dn,Kt,null)),yt.add(new Rt(0,dn,Kt))}ye.add(Kt)}}this._fontAnnotatedString.setAnnotations(Qt.create(Pe)),this._onDidChangeLineHeight.fire(Ge),this._onDidChangeFont.fire(yt)}))}handleDidChangeContent(w){const B=(0,gi.Y)(w.changes),ee=this._fontAnnotatedString.applyEdit(B);if(ee.length===0)return;const ye=new Set,Pe=new Set;for(const Ge of ee){const mt=this.textModel.getPositionAt(Ge.range.start).lineNumber,Ht=Ge.annotation.decorationId;ye.add(new ut(0,Ht,mt,null)),Pe.add(new Rt(0,Ht,mt))}this._onDidChangeLineHeight.fire(ye),this._onDidChangeFont.fire(Pe)}getDecorationsInRange(w,B,ee,ye,Pe){const Ge=this.textModel.getOffsetAt(w.getStartPosition()),yt=this.textModel.getOffsetAt(w.getEndPosition()),mt=this._fontAnnotatedString.getAnnotationsIntersecting(new ai.L(Ge,yt)),Ht=[];for(const Kt of mt){const zt=Kt.annotation,si=!!(zt.fontToken.fontFamily||zt.fontToken.fontSizeMultiplier);if(!(si&&ye)){const mi=this.textModel.getPositionAt(Kt.range.start),Ii=this.textModel.getPositionAt(Kt.range.endExclusive),Oi=o.Q.fromPositions(mi,Ii),Hi=Kt.annotation,dn=(0,xt.eb)(Hi.fontToken.fontFamily??"",Hi.fontToken.fontSizeMultiplier??0),Tn=Hi.decorationId;Ht.push({id:Tn,options:{description:"FontOptionDecoration",inlineClassName:dn,lineHeight:Hi.fontToken.lineHeightMultiplier,affectsFont:si},ownerId:0,range:Oi})}}return Ht}getAllDecorations(w,B){return this.getDecorationsInRange(new o.Q(1,1,this.textModel.getLineCount(),this.textModel.getLineMaxColumn(this.textModel.getLineCount())),w,B)}};Wo.DECORATION_COUNT=0;let Ki=Wo;var Zi=e(18782),bi=e(32177),ot=e(63339),ge=e(46441),Ze=e(76243),at=e(92215);function Et(wt,w){const B=wt.gotoNextSibling(),ee=w.gotoNextSibling();if(B!==ee)throw new Error("Trees are out of sync");return B&&ee}function Ft(wt,w){const B=wt.gotoParent(),ee=w.gotoParent();if(B!==ee)throw new Error("Trees are out of sync");return B&&ee}function qt(wt,w,B){const ee=wt.gotoFirstChild(),ye=w.gotoFirstChild();if(ee!==ye)throw new Error("Trees are out of sync");if(B===0)return ee&&ye;for(let Pe=1;Pe<=B;Pe++){const Ge=wt.gotoNextSibling(),yt=w.gotoNextSibling();if(Ge!==yt)throw new Error("Trees are out of sync");if(!Ge||!yt)return!1}return ee&&ye}function Li(wt,w){do{if(wt.currentNode.nextSibling)return Et(wt,w);wt.currentNode.parent&&Ft(wt,w)}while(wt.currentNode.nextSibling||wt.currentNode.parent);return!1}function Ni(wt,w){const B=w.walk();B.resetTo(wt);const ee=wt.currentNode;do if(B.currentNode.previousSibling&&B.currentNode.endIndex-B.currentNode.startIndex!==0)B.gotoPreviousSibling();else{for(;!B.currentNode.previousSibling&&B.currentNode.parent;)B.gotoParent();B.gotoPreviousSibling()}while(B.currentNode.endIndex>ee.startIndex&&(B.currentNode.parent||B.currentNode.previousSibling)&&B.currentNode.id!==ee.id);if(B.currentNode.id!==ee.id&&B.currentNode.endIndex<=ee.startIndex)return B.currentNode}var xi=e(39084),Ci=e(96016),Di=function(wt,w,B,ee){var ye=arguments.length,Pe=ye<3?w:ee===null?ee=Object.getOwnPropertyDescriptor(w,B):ee,Ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Pe=Reflect.decorate(wt,w,B,ee);else for(var yt=wt.length-1;yt>=0;yt--)(Ge=wt[yt])&&(Pe=(ye<3?Ge(Pe):ye>3?Ge(w,B,Pe):Ge(w,B))||Pe);return ye>3&&Pe&&Object.defineProperty(w,B,Pe),Pe},Fi=function(wt,w){return function(B,ee){w(B,ee,wt)}};let Gi=class extends A.jG{constructor(w,B,ee,ye,Pe,Ge,yt){super(),this.languageId=w,this._ranges=B,this._parser=ee,this._parserClass=ye,this.textModel=Pe,this._logService=Ge,this._telemetryService=yt,this._tree=(0,Ci.FY)(this,void 0),this.tree=this._tree,this._treeLastParsedVersion=(0,Ci.FY)(this,-1),this.treeLastParsedVersion=this._treeLastParsedVersion,this._onDidChangeContentQueue=new Bn.Pq,this._tree=(0,Ci.FY)(this,void 0),this.tree=this._tree,this._register((0,A.s)(()=>{this._tree.get()?.delete(),this._lastFullyParsed?.delete(),this._lastFullyParsedWithEdits?.delete(),this._parser.delete()})),this.handleContentChange(void 0,this._ranges)}handleContentChange(w,B){const ee=this.textModel.getVersionId();let ye=[];B&&(ye=this._setRanges(B)),w&&this._applyEdits(w.changes),this._onDidChangeContentQueue.clearPending(),this._onDidChangeContentQueue.schedule(async()=>
58{if(this._store.isDisposed)return;const Pe=this._lastFullyParsed;let Ge;this._lastFullyParsedWithEdits&&this._lastFullyParsed&&(Ge=this._findChangedNodes(this._lastFullyParsedWithEdits,this._lastFullyParsed));const yt=await this._parseAndUpdateTree(ee);if(yt){let mt;Ge?Pe&&Ge&&(mt=this._findTreeChanges(yt,Ge,ye)):this._ranges&&(mt=this._ranges.map(Kt=>({newRange:new o.Q(Kt.startPosition.row+1,Kt.startPosition.column+1,Kt.endPosition.row+1,Kt.endPosition.column+1),oldRangeLength:Kt.endIndex-Kt.startIndex,newRangeStartOffset:Kt.startIndex,newRangeEndOffset:Kt.endIndex}))),mt||(mt=[{newRange:this.textModel.getFullModelRange(),newRangeStartOffset:0,newRangeEndOffset:this.textModel.getValueLength()}]);const Ht=this._tree.get();(0,xi.Rn)(Kt=>{this._tree.set(yt,Kt,{ranges:mt,versionId:ee}),this._treeLastParsedVersion.set(ee,Kt)}),Ht?.delete()}})}_applyEdits(w){for(const B of w){const ee=at.W.ofRange(o.Q.lift(B.range)),ye=at.W.ofText(B.text),Pe=B.text.length===0?ye:ee.add(ye),Ge={startIndex:B.rangeOffset,oldEndIndex:B.rangeOffset+B.rangeLength,newEndIndex:B.rangeOffset+B.text.length,startPosition:{row:B.range.startLineNumber-1,column:B.range.startColumn-1},oldEndPosition:{row:B.range.endLineNumber-1,column:B.range.endColumn-1},newEndPosition:{row:B.range.startLineNumber+Pe.lineCount-1,column:Pe.lineCount?Pe.columnCount:B.range.endColumn+Pe.columnCount}};this._tree.get()?.edit(Ge),this._lastFullyParsedWithEdits?.edit(Ge)}}_findChangedNodes(w,B){if(this._ranges&&this._ranges.every(yt=>yt.startPosition.row!==w.rootNode.startPosition.row)||w.rootNode.startPosition.row!==0)return[];const ee=w.walk(),ye=B.walk(),Pe=[];let Ge=!0;do if(ee.currentNode.hasChanges){const yt=ee.currentNode.children,mt=[],Ht=yt.filter((Kt,zt)=>Kt?.hasChanges||ye.currentNode.children.length<=zt?(mt.push(zt),!0):!1);if(Ht.length===0||ee.currentNode.hasError!==ye.currentNode.hasError){for(;ee.currentNode.parent&&Ge&&!ee.currentNode.isNamed;)Ge=Ft(ee,ye);const Kt=ee.currentNode,zt=Ni(ee,w)??Kt;Pe.push({startIndex:zt.startIndex,endIndex:Kt.endIndex,startPosition:zt.startPosition,endPosition:Kt.endPosition}),Ge=Li(ee,ye)}else Ht.length>=1&&(Ge=qt(ee,ye,mt[0]))}else Ge=Li(ee,ye);while(Ge);return ee.delete(),ye.delete(),Pe}_findTreeChanges(w,B,ee){let ye=0;const Pe=[];for(let Ge=0;Ge<B.length;Ge++){const yt=B[Ge];if(Pe.length>0&&yt.startIndex>=Pe[Pe.length-1].newRangeStartOffset&&yt.endIndex<=Pe[Pe.length-1].newRangeEndOffset)continue;const mt=w.walk(),Ht=()=>mt.startIndex<yt.startIndex&&mt.endIndex>yt.endIndex;for(;Ht();){let Oi=mt.gotoFirstChild(),Hi=!1;for(;Oi;)if(Ht()&&mt.currentNode.isNamed){Hi=!0;break}
58else Oi=mt.gotoNextSibling();if(!Hi){mt.gotoParent();break}if(mt.currentNode.childCount===0)break}const Kt=mt.currentNode.startPosition,zt=mt.currentNode.endPosition,si=mt.currentNode.startIndex,mi=mt.currentNode.endIndex,Ii={newRange:new o.Q(Kt.row+1,Kt.column+1,zt.row+1,zt.column+1),newRangeStartOffset:si,newRangeEndOffset:mi};ye<ee.length&&yn(ee[ye],{startIndex:si,endIndex:mi})?(ee[ye].startIndex<Ii.newRangeStartOffset&&(Ii.newRange=Ii.newRange.setStartPosition(ee[ye].startPosition.row+1,ee[ye].startPosition.column+1),Ii.newRangeStartOffset=ee[ye].startIndex),ee[ye].endIndex>Ii.newRangeEndOffset&&(Ii.newRange=Ii.newRange.setEndPosition(ee[ye].endPosition.row+1,ee[ye].endPosition.column+1),Ii.newRangeEndOffset=ee[ye].endIndex),ye++):ye<ee.length&&ee[ye].endIndex<Ii.newRangeStartOffset&&Pe.push({newRange:new o.Q(ee[ye].startPosition.row+1,ee[ye].startPosition.column+1,ee[ye].endPosition.row+1,ee[ye].endPosition.column+1),newRangeStartOffset:ee[ye].startIndex,newRangeEndOffset:ee[ye].endIndex}),Pe.length>0&&Pe[Pe.length-1].newRangeEndOffset>=Ii.newRangeStartOffset?(Pe[Pe.length-1].newRange=o.Q.fromPositions(Pe[Pe.length-1].newRange.getStartPosition(),Ii.newRange.getEndPosition()),Pe[Pe.length-1].newRangeEndOffset=Ii.newRangeEndOffset):Pe.push(Ii)}return this._constrainRanges(Pe)}_constrainRanges(w){if(!this._ranges)return w;const B=[];let ee=0,ye=0;for(;ee<w.length&&ye<this._ranges.length;){const Pe=w[ee],Ge=this._ranges[ye];if(Pe.newRangeEndOffset<Ge.startIndex)ee++;else if(Pe.newRangeStartOffset>Ge.endIndex)ye++;else{const yt=Math.max(Pe.newRangeStartOffset,Ge.startIndex),mt=Math.min(Pe.newRangeEndOffset,Ge.endIndex),Ht=Pe.newRange.intersectRanges(new o.Q(Ge.startPosition.row+1,Ge.startPosition.column+1,Ge.endPosition.row+1,Ge.endPosition.column+1));B.push({newRange:Ht,newRangeEndOffset:mt,newRangeStartOffset:yt}),mt<Pe.newRangeEndOffset?(Pe.newRange=o.Q.fromPositions(Ht.getEndPosition(),Pe.newRange.getEndPosition()),Pe.newRangeStartOffset=mt+1):ee++}}return B}async _parseAndUpdateTree(w){const B=await this._parse();if(B)return this._lastFullyParsed?.delete(),this._lastFullyParsed=B.copy(),this._lastFullyParsedWithEdits?.delete(),this._lastFullyParsedWithEdits=B.copy(),B;this._tree.get()||this._parser.reset()}_parse(){let w="fullParse";return this._tree.get()&&(w="incrementalParse"),this._parseAndYield(w)}async _parseAndYield(w){let B=0,ee=0;const ye=this.textModel.getVersionId();let Pe;const Ge=Xi();do{const yt=performance.now();Pe=this._parser.parse((mt,Ht)=>this._parseCallback(mt),this._tree.get(),{progressCallback:Ge,includedRanges:this._ranges}),B+=performance.now()-yt,ee++,await new Promise(mt=>(0,ot._p)(mt))}while(!this._store.isDisposed&&!Pe&&ye===this.textModel.getVersionId());return this._sendParseTimeTelemetry(w,B,ee),Pe&&ye===this.textModel.getVersionId()?Pe:void 0}_parseCallback(w){try{return this.textModel.getTextBuffer().getNearestChunk(w)}catch(B){this._logService.debug("Error getting chunk for tree-sitter parsing",B)}}_setRanges(w){const B=[];if(this._ranges)for(const ee of w){let ye=!1;for(let Pe=0;Pe<this._ranges.length;Pe++){const Ge=this._ranges[Pe];if(tn(Ge,ee)||yn(Ge,ee)){ye=!0;break}}ye||B.push(ee)}else B.push(...w);return this._ranges=w,B}_sendParseTimeTelemetry(w,B,ee){this._logService.debug(`Tree parsing (${w}) took ${B} ms and ${ee} passes.`),w==="fullParse"?this._telemetryService.publicLog2("treeSitter.fullParse",{languageId:this.languageId,time:B,passes:ee}):this._telemetryService.publicLog2("treeSitter.incrementalParse",{languageId:this.languageId,time:B,passes:ee})}createParsedTreeSync(w){const B=new this._parserClass;B.setLanguage(this._parser.language);const ee=B.parse(w);return B.delete(),ee??void 0}};Gi=Di([Fi(5,ge.rr),Fi(6,Ze.k)],Gi);function Xi(){let wt=performance.now();return function(B){const ee=performance.now();return ee-wt>50?(wt=ee,!0):!1}}function tn(wt,w){return wt.startPosition.row===w.startPosition.row&&wt.startPosition.column===w.startPosition.column&&wt.endPosition.row===w.endPosition.row&&wt.endPosition.column===w.endPosition.column&&wt.startIndex===w.startIndex&&wt.endIndex===w.endIndex}function yn(wt,w){return wt.startIndex<=w.startIndex&&wt.endIndex>=w.startIndex||w.startIndex<=wt.startIndex&&w.endIndex>=wt.startIndex}var Gn=e(23013),Ys=e(97036);
58class nn{constructor(w){this._default=w,this._store=[]}get(w){return w<this._store.length?this._store[w]:this._default}set(w,B){for(;w>=this._store.length;)this._store[this._store.length]=this._default;this._store[w]=B}replace(w,B,ee){if(w>=this._store.length)return;if(B===0){this.insert(w,ee);return}else if(ee===0){this.delete(w,B);return}const ye=this._store.slice(0,w),Pe=this._store.slice(w+B),Ge=Cn(ee,this._default);this._store=ye.concat(Ge,Pe)}delete(w,B){B===0||w>=this._store.length||this._store.splice(w,B)}insert(w,B){if(B===0||w>=this._store.length)return;const ee=[];for(let ye=0;ye<B;ye++)ee[ye]=this._default;this._store=(0,v.nK)(this._store,w,ee)}}function Cn(wt,w){const B=[];for(let ee=0;ee<wt;ee++)B[ee]=w;return B}class kn{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(w,B){this._startLineNumber=w,this._tokens=B}getLineTokens(w){return this._tokens[w-this._startLineNumber]}appendLineTokens(w){this._tokens.push(w)}}class Ds{constructor(){this._tokens=[]}add(w,B){if(this._tokens.length>0){const ee=this._tokens[this._tokens.length-1];if(ee.endLineNumber+1===w){ee.appendLineTokens(B);return}}this._tokens.push(new kn(w,[B]))}finalize(){return this._tokens}}class Gs{constructor(w,B){this.tokenizationSupport=B,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new $n(w)}getStartState(w){return this.store.getStartState(w,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class xs extends Gs{constructor(w,B,ee,ye){super(w,B),this._textModel=ee,this._languageIdCodec=ye}updateTokensUntilLine(w,B){const ee=this._textModel.getLanguageId();for(;;){const ye=this.getFirstInvalidLine();if(!ye||ye.lineNumber>B)break;const Pe=this._textModel.getLineContent(ye.lineNumber),Ge=ks(this._languageIdCodec,ee,this.tokenizationSupport,Pe,!0,ye.startState);w.add(ye.lineNumber,Ge.tokens),this.store.setEndState(ye.lineNumber,Ge.endState)}}getTokenTypeIfInsertingCharacter(w,B){const ee=this.getStartState(w.lineNumber);if(!ee)return 0;const ye=this._textModel.getLanguageId(),Pe=this._textModel.getLineContent(w.lineNumber),Ge=Pe.substring(0,w.column-1)+B+Pe.substring(w.column-1),yt=ks(this._languageIdCodec,ye,this.tokenizationSupport,Ge,!0,ee),mt=new h.f7(yt.tokens,Ge,this._languageIdCodec);if(mt.getCount()===0)return 0;const Ht=mt.findTokenIndexAtOffset(w.column-1);return mt.getStandardTokenType(Ht)}tokenizeLinesAt(w,B){const ee=this.getStartState(w);if(!ee)return null;const ye=this._textModel.getLanguageId(),Pe=[];let Ge=ee;for(const yt of B){const mt=ks(this._languageIdCodec,ye,this.tokenizationSupport,yt,!0,Ge);Pe.push(new h.f7(mt.tokens,yt,this._languageIdCodec)),Ge=mt.endState}return Pe}hasAccurateTokensForLine(w){const B=this.store.getFirstInvalidEndStateLineNumberOrMax();return w<B}isCheapToTokenize(w){const B=this.store.getFirstInvalidEndStateLineNumberOrMax();return w<B||w===B&&this._textModel.getLineLength(w)<2048}tokenizeHeuristically(w,B,ee){if(ee<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(B<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(w,ee),{heuristicTokens:!1};let ye=this.guessStartState(B);const Pe=this._textModel.getLanguageId();for(let Ge=B;Ge<=ee;Ge++){const yt=this._textModel.getLineContent(Ge),mt=ks(this._languageIdCodec,Pe,this.tokenizationSupport,yt,!0,ye);w.add(Ge,mt.tokens),ye=mt.endState}return{heuristicTokens:!0}}guessStartState(w){let{likelyRelevantLines:B,initialState:ee}=Ms(this._textModel,w,this);ee||(ee=this.tokenizationSupport.getInitialState());const ye=this._textModel.getLanguageId();let Pe=ee;for(const Ge of B)Pe=ks(this._languageIdCodec,ye,this.tokenizationSupport,Ge,!1,Pe).endState;return Pe}}function Ms(wt,w,B){let ee=wt.getLineFirstNonWhitespaceColumn(w);const ye=[];let Pe=null;for(let Ge=w-1;ee>1&&Ge>=1;Ge--){const yt=wt.getLineFirstNonWhitespaceColumn(Ge);if(yt!==0&&yt<ee&&(ye.push(wt.getLineContent(Ge)),ee=yt,Pe=B?.getStartState(Ge),Pe))break}return ye.reverse(),{likelyRelevantLines:ye,initialState:Pe??void 0}}class $n{constructor(w){this.lineCount=w,this._tokenizationStateStore=new _s,this._invalidEndStatesLineNumbers=new ao,this._invalidEndStatesLineNumbers.addRange(new ai.L(1,w+1))}getEndState(w){return this._tokenizationStateStore.getEndState(w)}setEndState(w,B){if(!B)throw new T.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(w);const ee=this._tokenizationStateStore.setEndState(w,B);return ee&&w<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new ai.L(w+1,w+2)),ee}acceptChange(w,B){this.lineCount+=B-w.length,this._tokenizationStateStore.acceptChange(w,B),this._invalidEndStatesLineNumbers.addRangeAndResize(new ai.L(w.startLineNumber,w.endLineNumberExclusive),B)}acceptChanges(w){for(const B of w){const[ee]=(0,i.W)(B.text);this.acceptChange(new Wi.M(B.range.startLineNumber,B.range.endLineNumber+1),ee+1)}}invalidateEndStateRange(w){this._invalidEndStatesLineNumbers.addRange(new ai.L(w.startLineNumber,w.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return this._invalidEndStatesLineNumbers.min===null}getStartState(w,B){return w===1?B:this.getEndState(w-1)}getFirstInvalidLine(w){const B=this.getFirstInvalidEndStateLineNumber();if(B===null)return null;const ee=this.getStartState(B,w);if(!ee)throw new T.D7("Start state must be defined");return{lineNumber:B,startState:ee}}}class _s{constructor(){this._lineEndStates=new nn(null)}getEndState(w){return this._lineEndStates.get(w)}setEndState(w,B){const ee=this._lineEndStates.get(w);return ee&&ee.equals(B)?!1:(this._lineEndStates.set(w,B),!0)}acceptChange(w,B){let ee=w.length;B>0&&ee>0&&(ee--,B--),this._lineEndStates.replace(w.startLineNumber,ee,B)}}class ao{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(w){const B=this._ranges.findIndex(ee=>ee.contains(w));if(B!==-1){const ee=this._ranges[B];ee.start===w?ee.endExclusive===w+1?this._ranges.splice(B,1):this._ranges[B]=new ai.L(w+1,ee.endExclusive):ee.endExclusive===w+1?this._ranges[B]=new ai.L(ee.start,w):this._ranges.splice(B,1,new ai.L(ee.start,w),new ai.L(w+1,ee.endExclusive))}}addRange(w){ai.L.addRange(w,this._ranges)}addRangeAndResize(w,B){let ee=0;for(;!(ee>=this._ranges.length||w.start<=this._ranges[ee].endExclusive);)ee++;let ye=ee;for(;!(ye>=this._ranges.length||w.endExclusive<this._ranges[ye].start);)ye++;const Pe=B-w.length;for(let Ge=ye;Ge<this._ranges.length;Ge++)this._ranges[Ge]=this._ranges[Ge].delta(Pe);if(ee===ye){const Ge=new ai.L(w.start,w.start+B);Ge.isEmpty||this._ranges.splice(ee,0,Ge)}else{const Ge=Math.min(w.start,this._ranges[ee].start),yt=Math.max(w.endExclusive,this._ranges[ye-1].endExclusive),mt=new ai.L(Ge,yt+Pe);mt.isEmpty?this._ranges.splice(ee,ye-ee):this._ranges.splice(ee,ye-ee,mt)}}toString(){return this._ranges.map(w=>w.toString()).join(" + ")}}function ks(wt,w,B,ee,ye,Pe){let Ge=null;if(B)try{Ge=B.tokenizeEncoded(ee,ye,Pe.clone())}catch(yt){(0,T.dz)(yt)}return Ge||(Ge=(0,Ys.Lh)(wt.encodeLanguageId(w),Pe)),h.f7.convertToEndOffset(Ge.tokens,ee.length),Ge}class Fs{constructor(w,B){this._tokenizerWithStateStore=w,this._backgroundTokenStore=B,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}
58handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,(0,Bn.$6)(w=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(w)}))}_backgroundTokenizeWithDeadline(w){const B=Date.now()+w.timeRemaining(),ee=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()<B?(0,ot._p)(ee):this._beginBackgroundTokenization())};ee()}_backgroundTokenizeForAtLeast1ms(){const w=this._tokenizerWithStateStore._textModel.getLineCount(),B=new Ds,ee=Gn.W.create(!1);do if(ee.elapsed()>1||this._tokenizeOneInvalidLine(B)>=w)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(B.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(w){const B=this._tokenizerWithStateStore?.getFirstInvalidLine();return B?(this._tokenizerWithStateStore.updateTokensUntilLine(w,B.lineNumber),B.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(w,B){this._tokenizerWithStateStore.store.invalidateEndStateRange(new Wi.M(w,B))}}class as{get children(){return this._children}get length(){return this._length}constructor(w){this.height=w,this._children=[],this._length=0}static create(w,B){const ee=new as(w.height+1);return ee.appendChild(w),ee.appendChild(B),ee}canAppendChild(){return this._children.length<3}appendChild(w){if(!this.canAppendChild())throw new Error("Cannot insert more than 3 children in a ListNode");this._children.push(w),this._length+=w.length,this._updateParentLength(w.length),Ns(w)||(w.parent=this)}_updateParentLength(w){let B=this.parent;for(;B;)B._length+=w,B=B.parent}unappendChild(){const w=this._children.pop();return this._length-=w.length,this._updateParentLength(-w.length),w}prependChild(w){if(this._children.length>=3)throw new Error("Cannot prepend more than 3 children in a ListNode");this._children.unshift(w),this._length+=w.length,this._updateParentLength(w.length),Ns(w)||(w.parent=this)}unprependChild(){const w=this._children.shift();return this._length-=w.length,this._updateParentLength(-w.length),w}lastChild(){return this._children[this._children.length-1]}dispose(){this._children.splice(0,this._children.length)}}var vs;(function(wt){wt[wt.None=0]="None",wt[wt.ViewportGuess=1]="ViewportGuess",wt[wt.EditGuess=2]="EditGuess",wt[wt.Accurate=3]="Accurate"})(vs||(vs={}));function Ns(wt){return wt.token!==void 0}function Er(wt,w){let B=wt;const ee=[];let ye;for(;;){if(w.height===B.height){ye=w;break}if(Ns(B))throw new Error("unexpected");ee.push(B),B=B.lastChild()}for(let Pe=ee.length-1;Pe>=0;Pe--){const Ge=ee[Pe];ye&&(Ge.children.length>=3?ye=as.create(Ge.unappendChild(),ye):(Ge.appendChild(ye),ye=void 0))}if(ye){const Pe=new as(ye.height+1);return Pe.appendChild(wt),Pe.appendChild(ye),Pe}else return wt}function Lr(wt,w){let B=wt;const ee=[];for(;w.height!==B.height;){if(Ns(B))throw new Error("unexpected");ee.push(B),B=B.children[0]}let ye=w;for(let Pe=ee.length-1;Pe>=0;Pe--){const Ge=ee[Pe];ye&&(Ge.children.length>=3?ye=as.create(ye,Ge.unprependChild()):(Ge.prependChild(ye),ye=void 0))}return ye?as.create(ye,wt):wt}function ur(wt,w){return wt.height===w.height?as.create(wt,w):wt.height>w.height?Er(wt,w):Lr(w,wt)}class Da{constructor(w){this._textModel=w,this._root=this.createEmptyRoot()}createEmptyRoot(){return{length:this._textModel.getValueLength(),token:0,height:0,tokenQuality:vs.None}}buildStore(w,B){this._root=this.createFromUpdates(w,B)}createFromUpdates(w,B){if(w.length===0)return this.createEmptyRoot();let ee={length:w[0].length,token:w[0].token,height:0,tokenQuality:B};for(let ye=1;ye<w.length;ye++)ee=Er(ee,{length:w[ye].length,token:w[ye].token,height:0,tokenQuality:B});return ee}update(w,B,ee){B.length!==0&&this.replace(w,B[0].startOffsetInclusive,B,ee)}delete(w,B){this.replace(w,B,[],vs.EditGuess)}replace(w,B,ee,ye){const Pe=B+w,Ge=[],yt=[],mt=[{node:this._root,offset:0}];for(;mt.length>0;
58){const zt=mt.pop(),si=zt.offset;if(si<B&&si+zt.node.length<=B){Ns(zt.node)||(zt.node.parent=void 0),Ge.push(zt.node);continue}else Ns(zt.node)&&si<B&&Ge.push({length:B-si,token:zt.node.token,height:0,tokenQuality:zt.node.tokenQuality});if(!(B<=si&&si+zt.node.length<=Pe)){if(si>=Pe){Ns(zt.node)||(zt.node.parent=void 0),yt.push(zt.node);continue}else if(Ns(zt.node)&&si+zt.node.length>Pe){yt.push({length:si+zt.node.length-Pe,token:zt.node.token,height:0,tokenQuality:zt.node.tokenQuality});continue}if(!Ns(zt.node)){let mi=si+zt.node.length;for(let Ii=zt.node.children.length-1;Ii>=0;Ii--)mi-=zt.node.children[Ii].length,mt.push({node:zt.node.children[Ii],offset:mi})}}}let Ht;ee.length>0?Ht=Ge.concat(this.createFromUpdates(ee,ye),yt):Ht=Ge.concat(yt);let Kt=Ht[0];for(let zt=1;zt<Ht.length;zt++)Kt=ur(Kt,Ht[zt]);this._root=Kt??this.createEmptyRoot()}traverseInOrderInRange(w,B,ee){const ye=[{node:this._root,offset:0}];for(;ye.length>0;){const{node:Pe,offset:Ge}=ye.pop();if(!(Ge+Pe.length<=w||Ge>=B)){if(ee(Pe,Ge))return;if(!Ns(Pe)){let mt=Ge+Pe.length;for(let Ht=Pe.children.length-1;Ht>=0;Ht--)mt-=Pe.children[Ht].length,ye.push({node:Pe.children[Ht],offset:mt})}}}}getTokenAt(w){let B;return this.traverseInOrderInRange(w,this._root.length,(ee,ye)=>Ns(ee)?(B={token:ee.token,startOffsetInclusive:ye,length:ee.length},!0):!1),B}getTokensInRange(w,B){const ee=[];return this.traverseInOrderInRange(w,B,(ye,Pe)=>{if(Ns(ye)){let Ge=ye.length,yt=Pe;Pe<w&&Pe+ye.length>B?(yt=w,Ge=B-w):Pe<w?(Ge-=w-Pe,yt=w):Pe+ye.length>B&&(Ge-=Pe+ye.length-B),ee.push({token:ye.token,startOffsetInclusive:yt,length:Ge})}return!1}),ee}markForRefresh(w,B){this.traverseInOrderInRange(w,B,ee=>(Ns(ee)&&(ee.tokenQuality=vs.None),!1))}rangeHasTokens(w,B,ee){let ye=!0;return this.traverseInOrderInRange(w,B,Pe=>(Ns(Pe)&&Pe.tokenQuality<ee&&(ye=!1),!1)),ye}rangeNeedsRefresh(w,B){let ee=!1;return this.traverseInOrderInRange(w,B,ye=>(Ns(ye)&&ye.tokenQuality!==vs.Accurate&&(ee=!0),!1)),ee}getNeedsRefresh(){const w=[];return this.traverseInOrderInRange(0,this._textModel.getValueLength(),(B,ee)=>(Ns(B)&&B.tokenQuality!==vs.Accurate&&(w.length>0&&w[w.length-1].endOffset===ee?w[w.length-1].endOffset+=B.length:w.push({startOffset:ee,endOffset:ee+B.length})),!1)),w}dispose(){const w=[[this._root,!1]];for(;w.length>0;){const[B,ee]=w.pop();if(!Ns(B))if(ee)B.dispose(),B.parent=void 0;else{w.push([B,!0]);for(let ye=B.children.length-1;ye>=0;ye--)w.push([B.children[ye],!1])}}this._root=void 0}}var za=e(79359);const fo=(0,b.u1)("treeSitterThemeService");var nr=e(32605),Ur=e(47936),sr=e(76703),Qo=function(wt,w,B,ee){var ye=arguments.length,Pe=ye<3?w:ee===null?ee=Object.getOwnPropertyDescriptor(w,B):ee,Ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Pe=Reflect.decorate(wt,w,B,ee);else for(var yt=wt.length-1;yt>=0;yt--)(Ge=wt[yt])&&(Pe=(ye<3?Ge(Pe):ye>3?Ge(w,B,Pe):Ge(w,B))||Pe);return ye>3&&Pe&&Object.defineProperty(w,B,Pe),Pe},kr=function(wt,w){return function(B,ee){w(B,ee,wt)}};let zo=class extends A.jG{get _textModel(){return this._tree.textModel}constructor(w,B,ee,ye,Pe){super(),this._tree=w,this._highlightingQueries=B,this._languageIdCodec=ee,this._visibleLineRanges=ye,this._treeSitterThemeService=Pe,this._onDidChangeTokens=this._register(new y.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidCompleteBackgroundTokenization=this._register(new y.vl),this.onDidChangeBackgroundTokenization=this._onDidCompleteBackgroundTokenization.event,this._encodedLanguageId=this._languageIdCodec.encodeLanguageId(this._tree.languageId),this._register((0,nr.lp)(this._treeSitterThemeService.onChange,()=>{this._updateTheme()})),this._tokenStore=this._register(new Da(this._textModel)),this._accurateVersion=this._textModel.getVersionId(),this._guessVersion=this._textModel.getVersionId(),this._tokenStore.buildStore(this._createEmptyTokens(),vs.None),this._register((0,Ur.fm)(Ge=>{const yt=this._visibleLineRanges.read(Ge);this._parseAndTokenizeViewPort(yt)})),this._register((0,Ur.Y)({owner:this,changeTracker:(0,sr.j)({tree:this._tree.tree})},(Ge,yt)=>{const mt=yt.changes.at(0)?.change;if(yt.changes.length>1)throw new T.D7("The tree changed twice in one transaction. This is currently not supported and should not happen.");if(!mt)yt.tree&&this._firstTreeUpdate(this._tree.treeLastParsedVersion.read(Ge));else{if(this.hasTokens())for(const Ht of mt.ranges)this._markForRefresh(Ht.newRange);this.hasTokens()?this._handleTreeUpdate(mt.ranges,mt.versionId):this._firstTreeUpdate(mt.versionId)}}))}handleContentChanged(w){this._guessVersion=w.versionId;for(const B of w.changes)if(B.text.length>B.rangeLength){const ee=B.rangeOffset>0?B.rangeOffset-1:B.rangeOffset,ye=this._tokenStore.getTokenAt(ee);let Pe;ye?(Pe={startOffsetInclusive:ye.startOffsetInclusive,length:ye.length+B.text.length-B.rangeLength,token:ye.token},this._tokenStore.markForRefresh(ee,B.rangeOffset+(B.text.length>B.rangeLength?B.text.length:B.rangeLength))):Pe={startOffsetInclusive:ee,length:B.text.length,token:0},this._tokenStore.update(ye?.length??0,[Pe],vs.EditGuess)}else if(B.text.length<B.rangeLength){const ee=B.rangeLength-B.text.length;this._tokenStore.delete(ee,B.rangeOffset)}}getLineTokens(w){const B=this._textModel.getLineContent(w),ee=this.getTokens(w);return new h.f7(ee,B,this._languageIdCodec)}_createEmptyTokens(){const w=this._emptyToken(),B=this._textModel.getValueLength();return[this._emptyTokensForOffsetAndLength(0,B,w)]}_emptyToken(){return this._treeSitterThemeService.findMetadata([],this._encodedLanguageId,!1,void 0)}_emptyTokensForOffsetAndLength(w,B,ee){return{token:ee,length:w+B,startOffsetInclusive:0}}hasAccurateTokensForLine(w){return this.hasTokens(new o.Q(w,1,w,this._textModel.getLineMaxColumn(w)))}tokenizeLinesAt(w,B){const ee=this._guessTokensForLinesContent(w,B),ye=[];if(!ee)return null;for(let Pe=0;Pe<ee.length;Pe++)ye.push(new h.f7(ee[Pe],B[Pe],this._languageIdCodec));return ye}_rangeHasTokens(w,B){return this._tokenStore.rangeHasTokens(this._textModel.getOffsetAt(w.getStartPosition()),this._textModel.getOffsetAt(w.getEndPosition()),B)}hasTokens(w){return!w||this._guessVersion===this._accurateVersion?!0:!this._tokenStore.rangeNeedsRefresh(this._textModel.getOffsetAt(w.getStartPosition()),this._textModel.getOffsetAt(w.getEndPosition()))}getTokens(w){const B=this._textModel.getOffsetAt({lineNumber:w,column:1}),ee=this._textModel.getOffsetAt({lineNumber:w,column:this._textModel.getLineLength(w)+1}),ye=this._tokenStore.getTokensInRange(B,ee),Pe=new Uint32Array(ye.length*2);for(let Ge=0;Ge<ye.length;Ge++)Pe[Ge*2]=ye[Ge].startOffsetInclusive-B+ye[Ge].length,Pe[Ge*2+1]=ye[Ge].token;return Pe}getTokensInRange(w,B,ee,ye){const Pe=ye?this._tokenizeCapturesWithMetadata(ye,B,ee):this._tokenize(w,B,ee);if(Pe?.endOffsetsAndMetadata)return this._rangeTokensAsUpdates(B,Pe.endOffsetsAndMetadata)}_updateTokensInStore(w,B,ee){this._accurateVersion=w;for(const ye of B){const Pe=ye.newTokens.length>0?ye.newTokens[ye.newTokens.length-1]:void 0;let Ge;Pe&&this._guessVersion>=w?Ge=Pe.startOffsetInclusive+Pe.length-ye.newTokens[0].startOffsetInclusive:ye.oldRangeLength?Ge=ye.oldRangeLength:Ge=0,this._tokenStore.update(Ge,ye.newTokens,ee)}}_markForRefresh(w){this._tokenStore.markForRefresh(this._textModel.getOffsetAt(w.getStartPosition()),this._textModel.getOffsetAt(w.getEndPosition()))}_getNeedsRefresh(){const w=this._tokenStore.getNeedsRefresh();return w?w.map(B=>({range:o.Q.fromPositions(this._textModel.getPositionAt(B.startOffset),this._textModel.getPositionAt(B.endOffset)),startOffset:B.startOffset,endOffset:B.endOffset})):[]}_parseAndTokenizeViewPort(w){const B=w.map(ee=>ee.toInclusiveRange()).filter(za.O9);for(const ee of B){const ye=this._textModel.getOffsetAt(ee.getStartPosition()),Pe=this._textModel.getOffsetAt(ee.getEndPosition()),Ge=this._textModel.getVersionId();if(this._rangeHasTokens(ee,vs.ViewportGuess))continue;const yt=this._textModel.getValueInRange(ee),mt=this._forceParseAndTokenizeContent(ee,ye,Pe,yt,!0);if(!mt||this._rangeHasTokens(ee,vs.ViewportGuess)||mt.length===0)continue;const Ht=mt[mt.length-1],Kt=Ht.startOffsetInclusive+Ht.length-mt[0].startOffsetInclusive;this._updateTokensInStore(Ge,[{newTokens:mt,oldRangeLength:Kt}],vs.ViewportGuess),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:ee.startLineNumber,toLineNumber:ee.endLineNumber}]}})}}_guessTokensForLinesContent(w,B){if(B.length===0)return;const ee=B.join(this._textModel.getEOL()),ye=new o.Q(1,1,w+B.length,B[B.length-1].length+1),Pe=this._textModel.getOffsetAt({lineNumber:w,column:1}),Ge=this._forceParseAndTokenizeContent(ye,Pe,Pe+ee.length,ee,!1);if(!Ge)return;const yt=new Array(B.length);let mt=0,Ht=0,Kt=0;for(let zt=0;zt<B.length;zt++){const si=[];let mi=!1;for(let Ii=mt;!mi&&Ii<Ge.length;Ii++){const Oi=Ge[Ii],Hi=Oi.endOffset-Kt,dn=Ht-Kt;if(Hi<=B[zt].length)si.push({endOffset:Hi,metadata:Oi.metadata}),mt++;else if(dn<B[zt].length){const Tn={endOffset:B[zt].length,metadata:Oi.metadata};si.push(Tn),mi=!0}else mi=!0;Ht=Oi.endOffset}yt[zt]=this._endOffsetTokensToUint32Array(si),Kt+=B[zt].length+this._textModel.getEOL().length}return yt}_forceParseAndTokenizeContent(w,B,ee,ye,Pe){const Ge=Ms(this._textModel,w.startLineNumber).likelyRelevantLines,yt=Ge.join(this._textModel.getEOL()),mt=this._tree.createParsedTreeSync(`${yt}${ye}`);if(!mt)return;const Ht=new o.Q(1,1,w.endLineNumber-w.startLineNumber+1+Ge.length,w.endColumn),Kt=this.captureAtRange(Ht),zt=this._tokenizeCapturesWithMetadata(Kt,yt.length,ee-B+yt.length);if(mt.delete(),!!zt)return Pe?this._rangeTokensAsUpdates(B,zt.endOffsetsAndMetadata,yt.length):zt.endOffsetsAndMetadata}
58_firstTreeUpdate(w){return this._setViewPortTokens(w)}_setViewPortTokens(w){const B=this._visibleLineRanges.get().map(ee=>{const ye=ee.toInclusiveRange();if(!ye)return;const Pe=this._textModel.getOffsetAt(ye.getStartPosition()),Ge=this._textModel.getOffsetAt(ye.getEndPosition());return{newRange:ye,newRangeEndOffset:Ge,newRangeStartOffset:Pe}}).filter(za.O9);return this._handleTreeUpdate(B,w)}_handleTreeUpdate(w,B){const ee=[];for(let Ge=0;Ge<w.length;Ge++)if(w[Ge].newRange.endLineNumber-w[Ge].newRange.startLineNumber>1e3){const mt=w[Ge].newRange.endLineNumber;let Ht=w[Ge].newRange.startLineNumber,Kt=w[Ge].newRange.startColumn,zt=Ht+1e3;do{const si=new l.y(Ht,Kt),mi=zt===w[Ge].newRange.endLineNumber?w[Ge].newRange.endColumn:this._textModel.getLineMaxColumn(zt),Ii=new l.y(zt,mi),Oi=o.Q.fromPositions(si,Ii);ee.push({range:Oi,startOffset:this._textModel.getOffsetAt(Oi.getStartPosition()),endOffset:this._textModel.getOffsetAt(Oi.getEndPosition())}),Ht=zt+1,Kt=1,zt<mt&&zt+1e3>mt?zt=mt:zt=zt+1e3}while(zt<=mt)}else if(Ge===0||ee[Ge-1].endOffset<w[Ge].newRangeStartOffset)ee.push({range:w[Ge].newRange,startOffset:w[Ge].newRangeStartOffset,endOffset:w[Ge].newRangeEndOffset});else if(ee[Ge-1].endOffset<w[Ge].newRangeEndOffset){const mt=this._textModel.getPositionAt(ee[Ge-1].endOffset+1),Ht=new o.Q(mt.lineNumber,mt.column,w[Ge].newRange.endLineNumber,w[Ge].newRange.endColumn);ee.push({range:Ht,startOffset:ee[Ge-1].endOffset+1,endOffset:w[Ge].newRangeEndOffset})}const Pe=ee.map(Ge=>this._getCaptures(Ge.range));return this._updateTreeForRanges(ee,B,Pe).then(()=>{!this._textModel.isDisposed()&&this._tree.treeLastParsedVersion.get()===this._textModel.getVersionId()&&this._refreshNeedsRefresh(B)})}async _updateTreeForRanges(w,B,ee){let ye;for(let Pe=0;Pe<w.length&&!(!this._textModel.isDisposed()&&B!==this._textModel.getVersionId());Pe++){const Ge=ee[Pe],yt=w[Pe],mt=this.getTokensInRange(yt.range,yt.startOffset,yt.endOffset,Ge);mt?ye={newTokens:mt}:ye={newTokens:[]},this._updateTokensInStore(B,[ye],vs.Accurate),this._onDidChangeTokens.fire({changes:{semanticTokensApplied:!1,ranges:[{fromLineNumber:yt.range.getStartPosition().lineNumber,toLineNumber:yt.range.getEndPosition().lineNumber}]}}),await new Promise(Ht=>(0,ot._p)(Ht))}this._onDidCompleteBackgroundTokenization.fire()}_refreshNeedsRefresh(w){const B=this._getNeedsRefresh();if(B.length===0)return;const ee=new Array(B.length);for(let ye=0;ye<B.length;ye++){const Pe=B[ye];ee[ye]={newRange:Pe.range,newRangeStartOffset:Pe.startOffset,newRangeEndOffset:Pe.endOffset}}this._handleTreeUpdate(ee,w)}_rangeTokensAsUpdates(w,B,ee){const ye=[];let Pe=0;for(const Ge of B){if(Ge.endOffset<=Pe||ee&&Ge.endOffset<ee)continue;let yt;ee&&Pe<ee?yt={startOffsetInclusive:w+ee,length:Ge.endOffset-ee,token:Ge.metadata}:yt={startOffsetInclusive:w+Pe,length:Ge.endOffset-Pe,token:Ge.metadata},ye.push(yt),Pe=Ge.endOffset}return ye}_updateTheme(){const w=this._textModel.getFullModelRange();this._markForRefresh(w),this._parseAndTokenizeViewPort(this._visibleLineRanges.get())}captureAtRange(w){const B=this._tree.tree.get();return B?this._highlightingQueries.captures(B.rootNode,{startPosition:{row:w.startLineNumber-1,column:w.startColumn-1},endPosition:{row:w.endLineNumber-1,column:w.endColumn-1}}).map(ee=>({name:ee.name,text:ee.node.text,node:{startIndex:ee.node.startIndex,endIndex:ee.node.endIndex,startPosition:{lineNumber:ee.node.startPosition.row+1,column:ee.node.startPosition.column+1},endPosition:{lineNumber:ee.node.endPosition.row+1,column:ee.node.endPosition.column+1}},encodedLanguageId:this._encodedLanguageId})):[]}captureAtRangeWithInjections(w){const B=this.captureAtRange(w);for(let ee=0;ee<B.length;ee++){const ye=B[ee],Pe=ye.node.startPosition.lineNumber,Ge=ye.node.endPosition.lineNumber,yt=ye.node.startPosition.column,mt=ye.node.endPosition.column,Ht=Pe>w.startLineNumber&&Pe<w.endLineNumber?Pe:w.startLineNumber,Kt=Ge>w.startLineNumber&&Ge<w.endLineNumber?Ge:w.endLineNumber,zt=Pe===w.startLineNumber?yt<w.startColumn?w.startColumn:yt:Pe<w.startLineNumber?w.startColumn:yt,si=Ge===w.endLineNumber?mt>w.endColumn?w.endColumn:mt:Ge>w.endLineNumber?w.endColumn:mt,mi=new o.Q(Ht,zt,Kt,si),Ii=this._getInjectionCaptures(ye,mi);Ii&&Ii.length>0&&(B.splice(ee+1,0,...Ii),ee+=Ii.length)}return B}tokenizeEncoded(w){const B=this._tokenizeEncoded(w);if(!B)return;const ee=this._rangeTokensAsUpdates(this._textModel.getOffsetAt({lineNumber:w,column:1}),B.result);B.versionId===this._textModel.getVersionId()&&this._updateTokensInStore(B.versionId,[{newTokens:ee,oldRangeLength:this._textModel.getLineLength(w)}],vs.Accurate)}_getCaptures(w){return this.captureAtRangeWithInjections(w)}_tokenize(w,B,ee){const ye=this._getCaptures(w),Pe=this._tokenizeCapturesWithMetadata(ye,B,ee);
58if(Pe)return{...Pe,versionId:this._tree.treeLastParsedVersion.get()}}_createTokensFromCaptures(w,B,ee){const ye=this._tree.tree.get(),Pe=Gn.W.create(),Ge=ee-B,yt=this._languageIdCodec.encodeLanguageId(this._tree.languageId),mt=gr[this._tree.languageId]||"source";if(w.length===0)return ye?(Pe.stop(),{endOffsets:[{endOffset:Ge,scopes:[],encodedLanguageId:yt}],captureTime:Pe.elapsed()}):void 0;const Ht=Array(w.length);Ht.fill({endOffset:0,scopes:[mt],encodedLanguageId:yt});let Kt=0;const zt=()=>{Ht.push({endOffset:0,scopes:[mt],encodedLanguageId:yt})},si=(Oi,Hi)=>Oi.name.includes("punctuation")&&Oi.text?Array.from(Oi.text.matchAll(sn)).map(dn=>Hi+dn.index):void 0,mi=(Oi,Hi,dn,Tn)=>{if(Tn!==void 0){const Pn=Ht[Tn].scopes;let Jn=Ht[Tn].bracket;if((Tn>0?Ht[Tn-1].endOffset:0)!==Hi){let os;if(Jn&&Jn.length>0){os=[];const ts=[];for(let mo=0;mo<Jn.length;mo++){const Ko=Jn[mo];Ko<Hi?os.push(Ko):Ko>dn&&ts.push(Ko)}os.length===0&&(os=void 0),ts.length===0?Jn=void 0:Jn=ts}Ht.splice(Tn,0,{endOffset:Hi,scopes:[...Pn],bracket:os,encodedLanguageId:Oi.encodedLanguageId}),Tn++,zt(),Kt++}Ht.splice(Tn,0,{endOffset:dn,scopes:[...Pn,Oi.name],bracket:si(Oi,Hi),encodedLanguageId:Oi.encodedLanguageId}),Ht[Kt].bracket=Jn}else Ht[Kt]={endOffset:dn,scopes:[mt,Oi.name],bracket:si(Oi,Hi),encodedLanguageId:Oi.encodedLanguageId};Kt++};for(let Oi=0;Oi<w.length;Oi++){const Hi=w[Oi],dn=Hi.node.endIndex<ee?Hi.node.endIndex<B?B:Hi.node.endIndex:ee,Tn=Hi.node.startIndex<B?B:Hi.node.startIndex,Pn=dn-B;let Jn;const Vs=dn-Tn;Oi>0?Jn=Ht[Kt-1].endOffset:Jn=Tn-B-1;const os=Pn-Vs;if(Jn>=0&&Jn<os&&(Ht[Kt]={endOffset:os,scopes:[mt],encodedLanguageId:this._encodedLanguageId},Kt++,zt()),!(Vs<0))if(Jn>=Pn){let ts=Kt-1,mo=Ht[ts].endOffset,Ko=ts>=2?Ht[ts-1].endOffset:0;do{if(Ko+Vs===mo){if(Ko===os){Ht[ts].scopes.push(Hi.name);const Ka=Ht[ts].bracket;Ht[ts].bracket=Ka&&Ka.length>0?Ka:si(Hi,os)}}else if(Ko<=os){mi(Hi,os,Pn,ts);break}ts--,Ko=ts>=1?Ht[ts-1].endOffset:0,mo=ts>=0?Ht[ts].endOffset:0}while(mo>os)}else mi(Hi,os,Pn)}Ht[Kt-1].endOffset<Ge&&Ge-Ht[Kt-1].endOffset>0&&(zt(),Ht[Kt]={endOffset:Ge,scopes:Ht[Kt].scopes,encodedLanguageId:this._encodedLanguageId},Kt++);for(let Oi=0;Oi<Ht.length;Oi++)if(Ht[Oi].endOffset===0&&Oi!==0){Ht.splice(Oi,Ht.length-Oi);break}const Ii=Pe.elapsed();return{endOffsets:Ht,captureTime:Ii}}_getInjectionCaptures(w,B){return[]}_tokenizeCapturesWithMetadata(w,B,ee){const ye=Gn.W.create(),Pe=this._createTokensFromCaptures(w,B,ee);if(!Pe)return;const Ge=Pe.endOffsets;for(let mt=0;mt<Ge.length;mt++){const Ht=Ge[mt];Ht.metadata=this._treeSitterThemeService.findMetadata(Ht.scopes,Ht.encodedLanguageId,!!Ht.bracket&&Ht.bracket.length>0,void 0)}const yt=ye.elapsed();return{endOffsetsAndMetadata:Ge,captureTime:Pe.captureTime,metadataTime:yt}}_tokenizeEncoded(w){const B=this._textModel.getOffsetAt({lineNumber:w,column:1}),ee=this._textModel.getLineCount(),ye=w+1<=ee?this._textModel.getOffsetAt({lineNumber:w+1,column:1}):this._textModel.getValueLength(),Pe=ye-B,Ge=this._tokenize(new o.Q(w,1,w,Pe+1),B,ye);if(Ge)return{result:Ge.endOffsetsAndMetadata,captureTime:Ge.captureTime,metadataTime:Ge.metadataTime,versionId:Ge.versionId}}_endOffsetTokensToUint32Array(w){const B=new Uint32Array(w.length*2);for(let ee=0;ee<w.length;ee++)B[ee*2]=w[ee].endOffset,B[ee*2+1]=w[ee].metadata;return B}};zo=Qo([kr(4,fo)],zo);const gr={css:"source.css",typescript:"source.ts",ini:"source.ini",regex:"source.regex"},sn=/[\{\}\[\]\<\>\(\)]/g;var jr=e(82466),jn=e(57955);class Do{static resolved(w){return new Do(Promise.resolve(w))}constructor(w){this._value=(0,Ci.FY)(this,void 0),this.promiseResult=this._value,this.promise=w.then(B=>((0,xi.Rn)(ee=>{this._value.set(new Ln(B,void 0),ee)}),B),B=>{throw(0,xi.Rn)(ee=>{this._value.set(new Ln(void 0,B),ee)}),B})}}class Ln{constructor(w,B){this.data=w,this.error=B}getDataOrThrow(){if(this.error)throw this.error;return this.data}}var xo=function(wt,w,B,ee){var ye=arguments.length,Pe=ye<3?w:ee===null?ee=Object.getOwnPropertyDescriptor(w,B):ee,Ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Pe=Reflect.decorate(wt,w,B,ee);else for(var yt=wt.length-1;yt>=0;yt--)(Ge=wt[yt])&&(Pe=(ye<3?Ge(Pe):ye>3?Ge(w,B,Pe):Ge(w,B))||Pe);return ye>3&&Pe&&Object.defineProperty(w,B,Pe),Pe},io=function(wt,w){return function(B,ee){w(B,ee,wt)}};let fr=class extends ci{constructor(w,B,ee,ye,Pe,Ge){super(B,ee),this._languageIdObs=w,this._treeSitterLibraryService=Pe,this._instantiationService=Ge,this._backgroundTokenizationState=1,this._onDidChangeBackgroun
58dTokenizationState=this._register(new y.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event;const yt=new Do(this._treeSitterLibraryService.getParserClass()),mt=(0,vi.un)(this,Ht=>yt.promiseResult?.read(Ht)?.getDataOrThrow());this._tree=(0,vi.un)(this,Ht=>{const Kt=mt.read(Ht);if(!Kt)return;const zt=this._languageIdObs.read(Ht),si=this._treeSitterLibraryService.getLanguage(zt,!1,Ht);if(!si)return;const mi=new Kt;if(Ht.store.add((0,A.s)(()=>{mi.delete()})),mi.setLanguage(si),this._treeSitterLibraryService.getInjectionQueries(zt,Ht)!==void 0)return Ht.store.add(this._instantiationService.createInstance(Gi,zt,void 0,mi,Kt,this._textModel))}),this._tokenizationImpl=(0,vi.un)(this,Ht=>{const Kt=this._tree.read(Ht);if(!Kt)return;const zt=this._treeSitterLibraryService.getHighlightingQueries(Kt.languageId,Ht);if(zt)return Ht.store.add(this._instantiationService.createInstance(zo,Kt,zt,this._languageIdCodec,ye))}),this._register((0,Ur.fm)(Ht=>{const Kt=this._tokenizationImpl.read(Ht);Kt&&(Ht.store.add(Kt.onDidChangeTokens(zt=>{this._onDidChangeTokens.fire(zt.changes)})),Ht.store.add(Kt.onDidChangeBackgroundTokenization(zt=>{this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire()})))}))}getLineTokens(w){const B=this._tokenizationImpl.get();if(!B){const ee=this._textModel.getLineContent(w);return h.f7.createEmpty(ee,this._languageIdCodec)}return B.getLineTokens(w)}todo_resetTokenization(w=!0){w&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}handleDidChangeAttached(){}handleDidChangeContent(w){w.isFlush?this.todo_resetTokenization(!1):this._tokenizationImpl.get()?.handleContentChanged(w),this._tree.get()?.handleContentChange(w)}forceTokenization(w){const B=this._tokenizationImpl.get();B&&(B.hasAccurateTokensForLine(w)||B.tokenizeEncoded(w))}hasAccurateTokensForLine(w){const B=this._tokenizationImpl.get();return B?B.hasAccurateTokensForLine(w):!1}isCheapToTokenize(w){return!0}getTokenTypeIfInsertingCharacter(w,B,ee){return 0}tokenizeLinesAt(w,B){const ee=this._tokenizationImpl.get();return ee?ee.tokenizeLinesAt(w,B):null}get hasTokens(){const w=this._tokenizationImpl.get();return w?w.hasTokens():!1}};fr=xo([io(4,jr.t),io(5,b._Y)],fr);class Fn{constructor(w){this._pieces=[],this._isComplete=!1,this._languageIdCodec=w}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(w,B,ee=void 0){if(this._pieces=w||[],this._isComplete=B,ee)for(const ye of this._pieces)ye.reportIfInvalid(ee)}setPartial(w,B){let ee=w;if(B.length>0){const Pe=B[0].getRange(),Ge=B[B.length-1].getRange();if(!Pe||!Ge)return w;ee=w.plusRange(Pe).plusRange(Ge)}let ye=null;for(let Pe=0,Ge=this._pieces.length;Pe<Ge;Pe++){const yt=this._pieces[Pe];if(yt.endLineNumber<ee.startLineNumber)continue;if(yt.startLineNumber>ee.endLineNumber){ye=ye||{index:Pe};break}if(yt.removeTokens(ee),yt.isEmpty()){this._pieces.splice(Pe,1),Pe--,Ge--;continue}if(yt.endLineNumber<ee.startLineNumber)continue;if(yt.startLineNumber>ee.endLineNumber){ye=ye||{index:Pe};continue}const[mt,Ht]=yt.split(ee);if(mt.isEmpty()){ye=ye||{index:Pe};continue}Ht.isEmpty()||(this._pieces.splice(Pe,1,mt,Ht),Pe++,Ge++,ye=ye||{index:Pe})}return ye=ye||{index:this._pieces.length},B.length>0&&(this._pieces=(0,v.nK)(this._pieces,ye.index,B)),ee}isComplete(){return this._isComplete}addSparseTokens(w,B){if(B.getTextLength()===0)return B;const ee=this._pieces;if(ee.length===0)return B;const ye=Fn._findFirstPieceWithLine(ee,w),Pe=ee[ye].getLineTokens(w);if(!Pe)return B;const Ge=B.getCount(),yt=Pe.getCount();let mt=0;const Ht=[];let Kt=0,zt=0;const si=(mi,Ii)=>{mi<=zt||(zt=mi,Ht[Kt++]=mi,Ht[Kt++]=Ii)};for(let mi=0;mi<yt;mi++){const Ii=Math.min(Pe.getStartCharacter(mi),B.getTextLength()),Oi=Math.min(Pe.getEndCharacter(mi),B.getTextLength()),Hi=Pe.getMetadata(mi),dn=((Hi&1?2048:0)|(Hi&2?4096:0)|(Hi&4?8192:0)|(Hi&8?16384:0)|(Hi&16?16744448:0)|(Hi&32?4278190080:0))>>>0,Tn=~dn>>>0;for(;mt<Ge&&B.getEndOffset(mt)<=Ii;)si(B.getEndOffset(mt),B.getMetadata(mt)),mt++;for(mt<Ge&&B.getStartOffset(mt)<Ii&&si(Ii,B.getMetadata(mt));mt<Ge&&B.getEndOffset(mt)<Oi;)si(B.getEndOffset(mt),B.getMetadata(mt)&Tn|Hi&dn),mt++;if(mt<Ge)si(Oi,B.getMetadata(mt)&Tn|Hi&dn),B.getEndOffset(mt)===Oi&&mt++;else{const Pn=Math.min(Math.max(0,mt-1),Ge-1);si(Oi,B.getMetadata(Pn)&Tn|Hi&dn)}}for(;mt<Ge;)si(B.getEndOffset(mt),B.getMetadata(mt)),mt++;return new h.f7(new Uint32Array(Ht),B.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(w,B){let ee=0,ye=w.length-1;for(;ee<ye;){let Pe=ee+Math.floor((ye-ee)/2);if(w[Pe].endLineNumber<B)ee=Pe+1;else if(w[Pe].startLineNumber>B)ye=Pe-1;else{for(;Pe>ee&&w[Pe-1].startLineNumber<=B&&B<=w[Pe-1].endLineNumber;)Pe--;return Pe}}return ee}acceptEdit(w,B,ee,ye,Pe){for(let Ge=0;Ge<this._pieces.length;Ge++){const yt=this._pieces[Ge];yt.acceptEdit(w,B,ee,ye,Pe),yt.isEmpty()&&(this._pieces.splice(Ge,1),Ge--)}}}var hi=e(47317);const Yi=new Uint32Array(0).buffer;class En{static deleteBeginning(w,B){return w===null||w===Yi?w:En.delete(w,0,B)}static deleteEnding(w,B){if(w===null||w===Yi)return w;const ee=An(w),ye=ee[ee.length-2];return En.delete(w,B,ye)}static delete(w,B,ee){if(w===null||w===Yi||B===ee)return w;const ye=An(w),Pe=ye.length>>>1;if(B===0&&ye[ye.length-2]===ee)return Yi;const Ge=h.f7.findIndexInTokensArray(ye,B),yt=Ge>0?ye[Ge-1<<1]:0,mt=ye[Ge<<1];if(ee<mt){const mi=ee-B;for(let Ii=Ge;Ii<Pe;Ii++)ye[Ii<<1]-=mi;return w}let Ht,Kt;yt!==B?(ye[Ge<<1]=B,Ht=Ge+1<<1,Kt=B):(Ht=Ge<<1,Kt=yt);
58const zt=ee-B;for(let mi=Ge+1;mi<Pe;mi++){const Ii=ye[mi<<1]-zt;Ii>Kt&&(ye[Ht++]=Ii,ye[Ht++]=ye[(mi<<1)+1],Kt=Ii)}if(Ht===ye.length)return w;const si=new Uint32Array(Ht);return si.set(ye.subarray(0,Ht),0),si.buffer}static append(w,B){if(B===Yi)return w;if(w===Yi)return B;if(w===null)return w;if(B===null)return null;const ee=An(w),ye=An(B),Pe=ye.length>>>1,Ge=new Uint32Array(ee.length+ye.length);Ge.set(ee,0);let yt=ee.length;const mt=ee[ee.length-2];for(let Ht=0;Ht<Pe;Ht++)Ge[yt++]=ye[Ht<<1]+mt,Ge[yt++]=ye[(Ht<<1)+1];return Ge.buffer}static insert(w,B,ee){if(w===null||w===Yi)return w;const ye=An(w),Pe=ye.length>>>1;let Ge=h.f7.findIndexInTokensArray(ye,B);Ge>0&&ye[Ge-1<<1]===B&&Ge--;for(let yt=Ge;yt<Pe;yt++)ye[yt<<1]+=ee;return w}}function An(wt){return wt instanceof Uint32Array?wt:new Uint32Array(wt)}var Cs=e(15910);class As{constructor(w){this._lineTokens=[],this._len=0,this._languageIdCodec=w}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(w,B,ee){let ye=null;if(B<this._len&&(ye=this._lineTokens[B]),ye!==null&&ye!==Yi)return new h.f7(An(ye),ee,this._languageIdCodec);const Pe=new Uint32Array(2);return Pe[0]=ee.length,Pe[1]=so(this._languageIdCodec.encodeLanguageId(w)),new h.f7(Pe,ee,this._languageIdCodec)}static _massageTokens(w,B,ee){const ye=ee?An(ee):null;if(B===0){let Pe=!1;if(ye&&ye.length>1&&(Pe=Cs.x.getLanguageId(ye[1])!==w),!Pe)return Yi}if(!ye||ye.length===0){const Pe=new Uint32Array(2);return Pe[0]=B,Pe[1]=so(w),Pe.buffer}return ye[ye.length-2]=B,ye.byteOffset===0&&ye.byteLength===ye.buffer.byteLength?ye.buffer:ye}_ensureLine(w){for(;w>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(w,B){B!==0&&(w+B>this._len&&(B=this._len-w),this._lineTokens.splice(w,B),this._len-=B)}_insertLines(w,B){if(B===0)return;const ee=[];for(let ye=0;ye<B;ye++)ee[ye]=null;this._lineTokens=(0,v.nK)(this._lineTokens,w,ee),this._len+=B}setTokens(w,B,ee,ye,Pe){const Ge=As._massageTokens(this._languageIdCodec.encodeLanguageId(w),ee,ye);this._ensureLine(B);const yt=this._lineTokens[B];return this._lineTokens[B]=Ge,Pe?!As._equals(yt,Ge):!1}static _equals(w,B){if(!w||!B)return!w&&!B;const ee=An(w),ye=An(B);if(ee.length!==ye.length)return!1;for(let Pe=0,Ge=ee.length;Pe<Ge;Pe++)if(ee[Pe]!==ye[Pe])return!1;return!0}acceptEdit(w,B,ee){this._acceptDeleteRange(w),this._acceptInsertText(new l.y(w.startLineNumber,w.startColumn),B,ee)}_acceptDeleteRange(w){const B=w.startLineNumber-1;if(B>=this._len)return;if(w.startLineNumber===w.endLineNumber){if(w.startColumn===w.endColumn)return;this._lineTokens[B]=En.delete(this._lineTokens[B],w.startColumn-1,w.endColumn-1);return}this._lineTokens[B]=En.deleteEnding(this._lineTokens[B],w.startColumn-1);const ee=w.endLineNumber-1;let ye=null;ee<this._len&&(ye=En.deleteBeginning(this._lineTokens[ee],w.endColumn-1)),this._lineTokens[B]=En.append(this._lineTokens[B],ye),this._deleteLines(w.startLineNumber,w.endLineNumber-w.startLineNumber)}_acceptInsertText(w,B,ee){if(B===0&&ee===0)return;const ye=w.lineNumber-1;if(!(ye>=this._len)){if(B===0){this._lineTokens[ye]=En.insert(this._lineTokens[ye],w.column-1,ee);return}this._lineTokens[ye]=En.deleteEnding(this._lineTokens[ye],w.column-1),this._lineTokens[ye]=En.insert(this._lineTokens[ye],w.column-1,ee),this._insertLines(w.lineNumber,B)}}setMultilineTokens(w,B){if(w.length===0)return{changes:[]};const ee=[];for(let ye=0,Pe=w.length;ye<Pe;ye++){const Ge=w[ye];let yt=0,mt=0,Ht=!1;for(let Kt=Ge.startLineNumber;Kt<=Ge.endLineNumber;Kt++)Ht?(this.setTokens(B.getLanguageId(),Kt-1,B.getLineLength(Kt),Ge.getLineTokens(Kt),!1),mt=Kt):this.setTokens(B.getLanguageId(),Kt-1,B.getLineLength(Kt),Ge.getLineTokens(Kt),!0)&&(Ht=!0,yt=Kt,mt=Kt);Ht&&ee.push({fromLineNumber:yt,toLineNumber:mt})}return{changes:ee}}}function so(wt){return(wt<<0|0|0|32768|2<<24|1024)>>>0}class Wn extends ci{constructor(w,B,ee,ye){super(w,B),this.getLanguageId=ee,this._tokenizer=null,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new y.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroun
58dTokenizationState.event,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new A.HE),this._tokens=new As(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new A.HE),this._attachedViewStates=this._register(new A.$w),this._register(hi.dG.onDidChange(Pe=>{const Ge=this.getLanguageId();Pe.changedLanguages.indexOf(Ge)!==-1&&this.todo_resetTokenization()})),this.todo_resetTokenization(),this._register(ye.onDidChangeVisibleRanges(({view:Pe,state:Ge})=>{if(Ge){let yt=this._attachedViewStates.get(Pe);yt||(yt=new Nn(()=>this.refreshRanges(yt.lineRanges)),this._attachedViewStates.set(Pe,yt)),yt.handleStateChange(Ge)}else this._attachedViewStates.deleteAndDispose(Pe)}))}todo_resetTokenization(w=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new $n(this._textModel.getLineCount())),w&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const B=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const Pe=hi.dG.get(this.getLanguageId());if(!Pe)return[null,null];let Ge;try{Ge=Pe.getInitialState()}catch(yt){return(0,T.dz)(yt),[null,null]}return[Pe,Ge]},[ee,ye]=B();if(ee&&ye?this._tokenizer=new xs(this._textModel.getLineCount(),ee,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const Pe={setTokens:Ge=>{this.setTokens(Ge)},setFontInfo:Ge=>{this.setFontInfo(Ge)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const Ge=2;this._backgroundTokenizationState=Ge,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(Ge,yt)=>{if(!this._tokenizer)return;const mt=this._tokenizer.store.getFirstInvalidEndStateLineNumber();mt!==null&&Ge>=mt&&this._tokenizer?.store.setEndState(Ge,yt)}};ee&&ee.createBackgroundTokenizer&&!ee.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=ee.createBackgroundTokenizer(this._textModel,Pe)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new Fs(this._tokenizer,Pe),this._defaultBackgroundTokenizer.handleChanges()),ee?.backgroundTokenizerShouldOnlyVerifyTokens&&ee.createBackgroundTokenizer?(this._debugBackgroundTokens=new As(this._languageIdCodec),this._debugBackgroundStates=new $n(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=ee.createBackgroundTokenizer(this._textModel,{setTokens:Ge=>{this._debugBackgroundTokens?.setMultilineTokens(Ge,this._textModel)},setFontInfo:Ge=>{this.setFontInfo(Ge)},backgroundTokenizationFinished(){},setEndState:(Ge,yt)=>{this._debugBackgroundStates?.setEndState(Ge,yt)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(w){if(w.isFlush)this.todo_resetTokenization(!1);else if(!w.isEolChange){for(const B of w.changes){const[ee,ye]=(0,i.W)(B.text);this._tokens.acceptEdit(B.range,ee,ye),this._debugBackgroundTokens?.acceptEdit(B.range,ee,ye)}this._debugBackgroundStates?.acceptChanges(w.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(w.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(w){const{changes:B}=this._tokens.setMultilineTokens(w,this._textModel);return B.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:B}),{changes:B}}setFontInfo(w){this._onDidChangeFontTokens.fire({changes:w})}refreshAllVisibleLineTokens(){const w=Wi.M.joinMany([...this._attachedViewStates].map(([B,ee])=>ee.lineRanges));this.refreshRanges(w)}refreshRanges(w){for(const B of w)this.refreshRange(B.startLineNumber,B.endLineNumberExclusive-1)}refreshRange(w,B){if(!this._tokenizer)return;w=Math.max(1,Math.min(this._textModel.getLineCount(),w)),B=Math.min(this._textModel.getLineCount(),B);const ee=new Ds,{heuristicTokens:ye}=this._tokenizer.tokenizeHeuristically(ee,w,B),Pe=this.setTokens(ee.finalize());if(ye)for(const Ge of Pe.changes)this._backgroundTokenizer.value?.requestTokens(Ge.fromLineNumber,Ge.toLineNumber+1);
58this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(w){const B=new Ds;this._tokenizer?.updateTokensUntilLine(B,w),this.setTokens(B.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(w){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(w):!0}isCheapToTokenize(w){return this._tokenizer?this._tokenizer.isCheapToTokenize(w):!0}getLineTokens(w){const B=this._textModel.getLineContent(w),ee=this._tokens.getTokens(this._textModel.getLanguageId(),w-1,B);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>w&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>w){const ye=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),w-1,B);!ee.equals(ye)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(w)}return ee}getTokenTypeIfInsertingCharacter(w,B,ee){if(!this._tokenizer)return 0;const ye=this._textModel.validatePosition(new l.y(w,B));return this.forceTokenization(ye.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(ye,ee)}tokenizeLinesAt(w,B){return this._tokenizer?(this.forceTokenization(w),this._tokenizer.tokenizeLinesAt(w,B)):null}get hasTokens(){return this._tokens.hasTokens}}var Mo=function(wt,w,B,ee){var ye=arguments.length,Pe=ye<3?w:ee===null?ee=Object.getOwnPropertyDescriptor(w,B):ee,Ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Pe=Reflect.decorate(wt,w,B,ee);else for(var yt=wt.length-1;yt>=0;yt--)(Ge=wt[yt])&&(Pe=(ye<3?Ge(Pe):ye>3?Ge(w,B,Pe):Ge(w,B))||Pe);return ye>3&&Pe&&Object.defineProperty(w,B,Pe),Pe},Hs=function(wt,w){return function(B,ee){w(B,ee,wt)}},Zs;let $s=Zs=class extends bi._{constructor(w,B,ee,ye,Pe,Ge,yt,mt){super(),this._textModel=w,this._bracketPairsTextModelPart=B,this._languageId=ee,this._attachedViews=ye,this._languageService=Pe,this._languageConfigurationService=Ge,this._instantiationService=yt,this._treeSitterLibraryService=mt,this._onDidChangeFontTokens=this._register(new y.vl),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event,this._languageIdObs=(0,Ci.FY)(this,this._languageId),this._useTreeSitter=(0,vi.un)(this,Kt=>
58{const zt=this._languageIdObs.read(Kt);return this._treeSitterLibraryService.supportsLanguage(zt,Kt)}),this.tokens=(0,vi.un)(this,Kt=>{let zt;return this._useTreeSitter.read(Kt)?zt=Kt.store.add(this._instantiationService.createInstance(fr,this._languageIdObs,this._languageService.languageIdCodec,this._textModel,this._attachedViews.visibleLineRanges)):zt=Kt.store.add(new Wn(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),Kt.store.add(zt.onDidChangeTokens(si=>{this._emitModelTokensChangedEvent(si)})),Kt.store.add(zt.onDidChangeFontTokens(si=>{this._textModel._isDisposing()||this._onDidChangeFontTokens.fire(si)})),Kt.store.add(zt.onDidChangeBackgroundTokenizationState(si=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),zt});let Ht=!1;this.tokens.recomputeInitiallyAndOnChange(this._store,Kt=>{Ht&&Kt.todo_resetTokenization(),Ht=!0}),this._semanticTokens=new Fn(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new y.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new y.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new y.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._onDidChangeFontTokens=this._register(new y.vl),this.onDidChangeFontTokens=this._onDidChangeFontTokens.event}handleLanguageConfigurationServiceChange(w){w.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(w){if(w.isFlush)this._semanticTokens.flush();else if(!w.isEolChange)for(const B of w.changes){const[ee,ye,Pe]=(0,i.W)(B.text);this._semanticTokens.acceptEdit(B.range,ee,ye,Pe,B.text.length>0?B.text.charCodeAt(0):0)}this.tokens.get().handleDidChangeContent(w)}handleDidChangeAttached(){this.tokens.get().handleDidChangeAttached()}getLineTokens(w){this.validateLineNumber(w);const B=this.tokens.get().getLineTokens(w);return this._semanticTokens.addSparseTokens(w,B)}_emitModelTokensChangedEvent(w){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(w),this._onDidChangeTokens.fire(w))}validateLineNumber(w){if(w<1||w>this._textModel.getLineCount())throw new T.D7("Illegal value for lineNumber")}get hasTokens(){return this.tokens.get().hasTokens}resetTokenization(){this.tokens.get().todo_resetTokenization()}get backgroundTokenizationState(){return this.tokens.get().backgroundTokenizationState}forceTokenization(w){this.validateLineNumber(w),this.tokens.get().forceTokenization(w)}hasAccurateTokensForLine(w){return this.validateLineNumber(w),this.tokens.get().hasAccurateTokensForLine(w)}isCheapToTokenize(w){return this.validateLineNumber(w),this.tokens.get().isCheapToTokenize(w)}tokenizeIfCheap(w){this.validateLineNumber(w),this.tokens.get().tokenizeIfCheap(w)}getTokenTypeIfInsertingCharacter(w,B,ee){return this.tokens.get().getTokenTypeIfInsertingCharacter(w,B,ee)}tokenizeLinesAt(w,B){return this.tokens.get().tokenizeLinesAt(w,B)}setSemanticTokens(w,B){this._semanticTokens.set(w,B,this._textModel),this._emitModelTokensChangedEvent({semanticTokensApplied:w!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(w,B){if(this.hasCompleteSemanticTokens())return;const ee=this._textModel.validateRange(this._semanticTokens.setPartial(w,B));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:ee.startLineNumber,toLineNumber:ee.endLineNumber}]})}getWordAtPosition(w){this.assertNotDisposed();const B=this._textModel.validatePosition(w),ee=this._textModel.getLineContent(B.lineNumber),ye=this.getLineTokens(B.lineNumber),Pe=ye.findTokenIndexAtOffset(B.column-1),[Ge,yt]=Zs._findLanguageBoundaries(ye,Pe),mt=(0,Zi.Th)(B.column,this.getLanguageConfiguration(ye.getLanguageId(Pe)).getWordDefinition(),ee.substring(Ge,yt),Ge);if(mt&&mt.startColumn<=w.column&&w.column<=mt.endColumn)return mt;if(Pe>
580&&Ge===B.column-1){const[Ht,Kt]=Zs._findLanguageBoundaries(ye,Pe-1),zt=(0,Zi.Th)(B.column,this.getLanguageConfiguration(ye.getLanguageId(Pe-1)).getWordDefinition(),ee.substring(Ht,Kt),Ht);if(zt&&zt.startColumn<=w.column&&w.column<=zt.endColumn)return zt}return null}getLanguageConfiguration(w){return this._languageConfigurationService.getLanguageConfiguration(w)}static _findLanguageBoundaries(w,B){const ee=w.getLanguageId(B);let ye=0;for(let Ge=B;Ge>=0&&w.getLanguageId(Ge)===ee;Ge--)ye=w.getStartOffset(Ge);let Pe=w.getLineContent().length;for(let Ge=B,yt=w.getCount();Ge<yt&&w.getLanguageId(Ge)===ee;Ge++)Pe=w.getEndOffset(Ge);return[ye,Pe]}getWordUntilPosition(w){const B=this.getWordAtPosition(w);return B?{word:B.word.substr(0,w.column-B.startColumn),startColumn:B.startColumn,endColumn:w.column}:{word:"",startColumn:w.column,endColumn:w.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(w,B){const ee=this._textModel.validatePosition(new l.y(w,B)),ye=this.getLineTokens(ee.lineNumber);return ye.getLanguageId(ye.findTokenIndexAtOffset(ee.column-1))}setLanguageId(w,B="api"){if(this._languageId===w)return;const ee={oldLanguage:this._languageId,newLanguage:w,source:B};this._languageId=w,this._languageIdObs.set(w,void 0),this._bracketPairsTextModelPart.handleDidChangeLanguage(ee),this._onDidChangeLanguage.fire(ee),this._onDidChangeLanguageConfiguration.fire({})}};$s=Zs=Mo([Hs(4,a.L),Hs(5,p.JZ),Hs(6,b._Y),Hs(7,jr.t)],$s);var la=function(wt,w,B,ee){var ye=arguments.length,Pe=ye<3?w:ee===null?ee=Object.getOwnPropertyDescriptor(w,B):ee,Ge;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Pe=Reflect.decorate(wt,w,B,ee);else for(var yt=wt.length-1;yt>=0;yt--)(Ge=wt[yt])&&(Pe=(ye<3?Ge(Pe):ye>3?Ge(w,B,Pe):Ge(w,B))||Pe);return ye>3&&Pe&&Object.defineProperty(w,B,Pe),Pe},Yo=function(wt,w){return function(B,ee){w(B,ee,wt)}},po;function dl(wt){const w=new In;return w.acceptChunk(wt),w.finish()}function mr(wt){const w=new In;let B;for(;typeof(B=wt.read())=="string";)w.acceptChunk(B);return w.finish()}function _o(wt,w){let B;return typeof wt=="string"?B=dl(wt):(0,_.nk)(wt)?B=mr(wt):B=wt,B.create(w)}let Dr=0;const Tl=999,Ai=1e4,pr=300;class Ml{constructor(w){this._source=w,this._eos=!1}read(){if(this._eos)return null;const w=[];let B=0,ee=0;do{const ye=this._source.read();if(ye===null)return this._eos=!0,B===0?null:w.join("");if(ye.length>0&&(w[B++]=ye,ee+=ye.length),ee>=64*1024)return w.join("")}while(!0)}}const go=()=>{throw new Error("Invalid change accessor")};let Io=(bo=class extends A.jG{static resolveOptions(w,B){if(B.detectIndentation){const ee=je(w,B.tabSize,B.insertSpaces);return new _.X2({tabSize:ee.tabSize,indentSize:"tabSize",insertSpaces:ee.insertSpaces,trimAutoWhitespace:B.trimAutoWhitespace,defaultEOL:B.defaultEOL,bracketPairColorizationOptions:B.bracketPairColorizationOptions})}return new _.X2(B)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}get onDidChangeOptions(){return this._onDidChangeOptions.event}get onDidChangeAttached(){return this._onDidChangeAttached.event}get onDidChangeLineHeight(){return this._onDidChangeLineHeight.event}get onDidChangeFont(){return this._onDidChangeFont.event}onDidChangeContent(w){return this._eventEmitter.event(B=>w(B.contentChangedEvent))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(w,B,ee,ye=null,Pe,Ge,yt,mt){super(),this._undoRedoService=Pe,this._languageService=Ge,this._languageConfigurationService=yt,this.instantiationService=mt,this._onWillDispose=this._register(new y.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new od((Ii,Oi,Hi)=>this.handleBeforeFireDecorationsChangedEvent(Ii,Oi,Hi))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new y.vl),this._onDidChangeAttached=this._register(new y.vl),this._onDidChangeLineHeight=this._register(new y.vl),this._onDidChangeFont=this._register(new y.vl),this._eventEmitter=this._register(new Jo),this._languageSelectionListener=this._register(new A.HE),this._deltaDecorationCallCnt=0,this._attachedViews=this._register(new Vi),this._viewModels=new Set,Dr++,this.id="$model"+Dr,this.isForSimpleWidget=ee.isForSimpleWidget,typeof ye>"u"||ye===null?this._associatedResource=L.r.parse("inmemory://model/"+Dr):this._associatedResource=ye,this._attachedEditorCount=0;const{textBuffer:Ht,disposable:Kt}=_o(w,ee.defaultEOL);this._buffer=Ht,this._bufferDisposable=Kt;
58const zt=this._buffer.getLineCount(),si=this._buffer.getValueLengthInRange(new o.Q(1,1,zt,this._buffer.getLineLength(zt)+1),0);ee.largeFileOptimizations?(this._isTooLargeForTokenization=si>po.LARGE_FILE_SIZE_THRESHOLD||zt>po.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=si>po.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._options=po.resolveOptions(this._buffer,ee);const mi=typeof B=="string"?B:B.languageId;typeof B!="string"&&(this._languageSelectionListener.value=B.onDidChange(()=>this._setLanguage(B.languageId))),this._bracketPairs=this._register(new re(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new Le.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new M(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance($s,this,this._bracketPairs,mi,this._attachedViews),this._fontTokenDecorationsProvider=this._register(new Ki(this,this._tokenizationTextModelPart)),this._isTooLargeForSyncing=si>po._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=(0,g.tk)(Dr),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new vo,this._commandManager=new Me.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._register(this._fontTokenDecorationsProvider.onDidChangeLineHeight(Ii=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._fireOnDidChangeLineHeight(Ii),this._onDidChangeDecorations.endDeferredEmit()})),this._register(this._fontTokenDecorationsProvider.onDidChangeFont(Ii=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._fireOnDidChangeFont(Ii),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(mi),this._register(this._languageConfigurationService.onDidChange(Ii=>{this._bracketPairs.handleLanguageConfigurationServiceChange(Ii),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(Ii)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const w=new wn([],"",`
59`,!1,!1,!0,!0);w.dispose(),this._buffer=w,this._bufferDisposable=A.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new T.D7("Model is disposed!")}registerViewModel(w){this._viewModels.add(w)}unregisterViewModel(w){this._viewModels.delete(w)}getTextBuffer(){return this._assertNotDisposed(),this._buffer}_emitContentChangedEvent(w,B,ee=null){if(this.__isDisposing)return;this._tokenizationTextModelPart.handleDidChangeContent(B),this._bracketPairs.handleDidChangeContent(B),this._fontTokenDecorationsProvider.handleDidChangeContent(B);const ye=new S.Ic(w,B);ee&&(ye.rawContentChangedEvent.resultingSelection=ee),this._onDidChangeContentOrInjectedText(ye),this._eventEmitter.f
59ire(ye)}setValue(w,B=E.dg.setValue()){if(this._assertNotDisposed(),w==null)throw(0,T.Qg)();const{textBuffer:ee,disposable:ye}=_o(w,this._options.defaultEOL);this._setValueFromTextBuffer(ee,ye,B)}_createContentChanged2(w,B,ee,ye,Pe,Ge,yt,mt,Ht,Kt){return{changes:[{range:w,rangeOffset:B,rangeLength:ee,text:Pe}],eol:this._buffer.getEOL(),isEolChange:Ht,versionId:this.getVersionId(),isUndoing:Ge,isRedoing:yt,isFlush:mt,detailedReasons:[Kt],detailedReasonsChangeLengths:[1]}}_setValueFromTextBuffer(w,B,ee){this._assertNotDisposed();const ye=this.getFullModelRange(),Pe=this.getValueLengthInRange(ye),Ge=this.getLineCount(),yt=this.getLineMaxColumn(Ge);this._buffer=w,this._bufferDisposable.dispose(),this._bufferDisposable=B,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new vo,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new S.HP([new S.Wn],this._versionId,!1,!1),this._createContentChanged2(new o.Q(1,1,Ge,yt),0,Pe,new l.y(Ge,yt),this.getValue(),!1,!1,!0,!1,ee))}setEOL(w){this._assertNotDisposed();const B=w===1?`\r
60`:`
61`;if(this._buffer.getEOL()===B)return;const ee=this.getFullModelRange(),ye=this.getValueLengthInRange(ee),Pe=this.getLineCount(),Ge=this.getLineMaxColumn(Pe);this._onBeforeEOLChange(),this._buffer.setEOL(B),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new S.HP([new S.mS],this._versionId,!1,!1),this._createContentChanged2(new o.Q(1,1,Pe,Ge),0,ye,new l.y(Pe,Ge),this.getValue(),!1,!1,!1,!0,E.dg.eolChange()))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const w=this.getVersionId(),B=this._decorationsTree.collectNodesPostOrder();for(let ee=0,ye=B.length;ee<ye;ee++){const Pe=B[ee],Ge=Pe.range,yt=Pe.cachedAbsoluteStart-Pe.start,mt=this._buffer.getOffsetAt(Ge.startLineNumber,Ge.startColumn),Ht=this._buffer.getOffsetAt(Ge.endLineNumber,Ge.endColumn);Pe.cachedAbsoluteStart=mt,Pe.cachedAbsoluteEnd=Ht,Pe.cachedVersionId=w,Pe.start=mt-yt,Pe.end=Ht-yt,vt(Pe)}}onBeforeAttached(){return this._attachedEditorCount++,this._attachedEditorCount===1&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(w){this._attachedEditorCount--,this._attachedEditorCount===0&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(w)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let w=0,B=0;const ee=this._buffer.getLineCount();for(let ye=1;ye<=ee;ye++){const Pe=this._buffer.getLineLength(ye);Pe>=Ai?B+=Pe:w+=Pe}return B>w}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(w){this._assertNotDisposed();const B=typeof w.tabSize<"u"?w.tabSize:this._options.tabSize,ee=typeof w.indentSize<"u"?w.indentSize:this._options.originalIndentSize,ye=typeof w.insertSpaces<"u"?w.insertSpaces:this._options.insertSpaces,Pe=typeof w.trimAutoWhitespace<"u"?w.trimAutoWhitespace:this._options.trimAutoWhitespace,Ge=typeof w.bracketColorizationOptions<"u"?w.bracketColorizationOptions:this._options.bracketPairColorizationOptions,yt=new _.X2({tabSize:B,indentSize:ee,insertSpaces:ye,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:Pe,bracketPairColorizationOptions:Ge});if(this._options.equals(yt))return;const mt=this._options.createChangeEvent(yt);this._options=yt,this._bracketPairs.handleDidChangeOptions(mt),this._decorationProvider.handleDidChangeOptions(mt),this._onDidChangeOptions.fire(mt)}detectIndentation(w,B){this._assertNotDisposed();const ee=je(this._buffer,B,w);this.updateOptions({insertSpaces:ee.insertSpaces,tabSize:ee.tabSize,indentSize:ee.tabSize})}normalizeIndentation(w){return this._assertNotDisposed(),(0,r.P)(w,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(w=null){const B=this.findMatches(g._J.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(w,B.map(ee=>({range:ee.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(w){this._assertNotDisposed();
61const B=this._validatePosition(w.lineNumber,w.column,0);return this._buffer.getOffsetAt(B.lineNumber,B.column)}getPositionAt(w){this._assertNotDisposed();const B=Math.min(this._buffer.getLength(),Math.max(0,w));return this._buffer.getPositionAt(B)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(w){this._versionId=w}_overwriteAlternativeVersionId(w){this._alternativeVersionId=w}_overwriteInitialUndoRedoSnapshot(w){this._initialUndoRedoSnapshot=w}getValue(w,B=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new T.D7("Operation would exceed heap memory limits");const ee=this.getFullModelRange(),ye=this.getValueInRange(ee,w);return B?this._buffer.getBOM()+ye:ye}createSnapshot(w=!1){return new Ml(this._buffer.createSnapshot(w))}getValueLength(w,B=!1){this._assertNotDisposed();const ee=this.getFullModelRange(),ye=this.getValueLengthInRange(ee,w);return B?this._buffer.getBOM().length+ye:ye}getValueInRange(w,B=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(w),B)}getValueLengthInRange(w,B=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(w),B)}getCharacterCountInRange(w,B=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(w),B)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new T.D7("Illegal value for lineNumber");return this._buffer.getLineContent(w)}getLineLength(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new T.D7("Illegal value for lineNumber");return this._buffer.getLineLength(w)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new T.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()===`
62`?0:1}getLineMinColumn(w){return this._assertNotDisposed(),1}getLineMaxColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new T.D7("Illegal value for lineNumber");return this._buffer.getLineLength(w)+1}getLineFirstNonWhitespaceColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new T.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(w)}getLineLastNonWhitespaceColumn(w){if(this._assertNotDisposed(),w<1||w>this.getLineCount())throw new T.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(w)}_validateRangeRelaxedNoAllocations(w){const B=this._buffer.getLineCount(),ee=w.startLineNumber,ye=w.startColumn;let Pe=Math.floor(typeof ee=="number"&&!isNaN(ee)?ee:1),Ge=Math.floor(typeof ye=="number"&&!isNaN(ye)?ye:1);if(Pe<1)Pe=1,Ge=1;else if(Pe>B)Pe=B,Ge=this.getLineMaxColumn(Pe);else if(Ge<=1)Ge=1;else{const zt=this.getLineMaxColumn(Pe);Ge>=zt&&(Ge=zt)}const yt=w.endLineNumber,mt=w.endColumn;let Ht=Math.floor(typeof yt=="number"&&!isNaN(yt)?yt:1),Kt=Math.floor(typeof mt=="number"&&!isNaN(mt)?mt:1);if(Ht<1)Ht=1,Kt=1;else if(Ht>B)Ht=B,Kt=this.getLineMaxColumn(Ht);else if(Kt<=1)Kt=1;else{const zt=this.getLineMaxColumn(Ht);Kt>=zt&&(Kt=zt)}return ee===Pe&&ye===Ge&&yt===Ht&&mt===Kt&&w instanceof o.Q&&!(w instanceof c.L)?w:new o.Q(Pe,Ge,Ht,Kt)}_isValidPosition(w,B,ee){if(typeof w!="number"||typeof B!="number"||isNaN(w)||isNaN(B)||w<1||B<1||(w|0)!==w||(B|0)!==B)return!1;const ye=this._buffer.getLineCount();if(w>ye)return!1;if(B===1)return!0;const Pe=this.getLineMaxColumn(w);if(B>Pe)return!1;if(ee===1){const Ge=this._buffer.getLineCharCode(w,B-2);if((0,g.pc)(Ge))return!1}return!0}_validatePosition(w,B,ee){const ye=Math.floor(typeof w=="number"&&!isNaN(w)?w:1),Pe=Math.floor(typeof B=="number"&&!isNaN(B)?B:1),Ge=this._buffer.getLineCount();if(ye<1)return new l.y(1,1);if(ye>Ge)return new l.y(Ge,this.getLineMaxColumn(Ge));if(Pe<=1)return new l.y(ye,1);const yt=this.getLineMaxColumn(ye);if(Pe>=yt)return new l.y(ye,yt);if(ee===1){const mt=this._buffer.getLineCharCode(ye,Pe-2);if((0,g.pc)(mt))return new l.y(ye,Pe-1)}return new l.y(ye,Pe)}validatePosition(w){return this._assertNotDisposed(),w instanceof l.y&&this._isValidPosition(w.lineNumber,w.column,1)?w:this._val
62idatePosition(w.lineNumber,w.column,1)}isValidRange(w){return this._isValidRange(w,1)}_isValidRange(w,B){const ee=w.startLineNumber,ye=w.startColumn,Pe=w.endLineNumber,Ge=w.endColumn;if(!this._isValidPosition(ee,ye,0)||!this._isValidPosition(Pe,Ge,0))return!1;if(B===1){const yt=ye>1?this._buffer.getLineCharCode(ee,ye-2):0,mt=Ge>1&&Ge<=this._buffer.getLineLength(Pe)?this._buffer.getLineCharCode(Pe,Ge-2):0,Ht=(0,g.pc)(yt),Kt=(0,g.pc)(mt);return!Ht&&!Kt}return!0}validateRange(w){if(this._assertNotDisposed(),w instanceof o.Q&&!(w instanceof c.L)&&this._isValidRange(w,1))return w;const ee=this._validatePosition(w.startLineNumber,w.startColumn,0),ye=this._validatePosition(w.endLineNumber,w.endColumn,0),Pe=ee.lineNumber,Ge=ee.column,yt=ye.lineNumber,mt=ye.column;{const Ht=Ge>1?this._buffer.getLineCharCode(Pe,Ge-2):0,Kt=mt>1&&mt<=this._buffer.getLineLength(yt)?this._buffer.getLineCharCode(yt,mt-2):0,zt=(0,g.pc)(Ht),si=(0,g.pc)(Kt);return!zt&&!si?new o.Q(Pe,Ge,yt,mt):Pe===yt&&Ge===mt?new o.Q(Pe,Ge-1,yt,mt-1):zt&&si?new o.Q(Pe,Ge-1,yt,mt+1):zt?new o.Q(Pe,Ge-1,yt,mt):new o.Q(Pe,Ge,yt,mt+1)}}modifyPosition(w,B){this._assertNotDisposed();const ee=this.getOffsetAt(w)+B;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,ee)))}getFullModelRange(){this._assertNotDisposed();const w=this.getLineCount();return new o.Q(1,1,w,this.getLineMaxColumn(w))}
62findMatchesLineByLine(w,B,ee,ye){return this._buffer.findMatchesLineByLine(w,B,ee,ye)}findMatches(w,B,ee,ye,Pe,Ge,yt=Tl){this._assertNotDisposed();let mt=null;B!==null&&typeof B!="boolean"&&(Array.isArray(B)||(B=[B]),B.every(zt=>o.Q.isIRange(zt))&&(mt=B.map(zt=>this.validateRange(zt)))),mt===null&&(mt=[this.getFullModelRange()]),mt=mt.sort((zt,si)=>zt.startLineNumber-si.startLineNumber||zt.startColumn-si.startColumn);const Ht=[];Ht.push(mt.reduce((zt,si)=>o.Q.areIntersecting(zt,si)?zt.plusRange(si):(Ht.push(zt),si)));let Kt;if(!ee&&w.indexOf(`
63`)<0){const si=new es.lt(w,ee,ye,Pe).parseSearchRequest();if(!si)return[];Kt=mi=>this.findMatchesLineByLine(mi,si,Ge,yt)}else Kt=zt=>es.hB.findMatches(this,new es.lt(w,ee,ye,Pe),zt,Ge,yt);return Ht.map(Kt).reduce((zt,si)=>zt.concat(si),[])}findNextMatch(w,B,ee,ye,Pe,Ge){this._assertNotDisposed();const yt=this.validatePosition(B);if(!ee&&w.indexOf(`
64`)<0){const Ht=new es.lt(w,ee,ye,Pe).parseSearchRequest();if(!Ht)return null;const Kt=this.getLineCount();let zt=new o.Q(yt.lineNumber,yt.column,Kt,this.getLineMaxColumn(Kt)),si=this.findMatchesLineByLine(zt,Ht,Ge,1);return es.hB.findNextMatch(this,new es.lt(w,ee,ye,Pe),yt,Ge),si.length>0||(zt=new o.Q(1,1,yt.lineNumber,this.getLineMaxColumn(yt.lineNumber)),si=this.findMatchesLineByLine(zt,Ht,Ge,1),si.length>0)?si[0]:null}return es.hB.findNextMatch(this,new es.lt(w,ee,ye,Pe),yt,Ge)}findPreviousMatch(w,B,ee,ye,Pe,Ge){this._assertNotDisposed();const yt=this.validatePosition(B);return es.hB.findPreviousMatch(this,new es.lt(w,ee,ye,Pe),yt,Ge)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(w){if((this.getEOL()===`
65`?0:1)!==w)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(w)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(w){if(w instanceof _.Wo)return w;const B=this.validateRange(w.range);let ee=w.text;if(ee){const ye=ee.length>0&&ee.charCodeAt(ee.length-1)===13;this.getEOL()===`\r
66`&&ye&&B.endColumn===this.getLineMaxColumn(B.endLineNumber)&&(ee=ee.substring(0,ee.length-1))}return new _.Wo(w.identifier||null,B,ee,w.forceMoveMarkers||!1,w.isAutoWhitespaceEdit||!1,w._isTracked||!1)}_validateEditOperations(w){const B=[];for(let ee=0,ye=w.length;ee<ye;ee++)B[ee]=this._validateEditOperation(w[ee]);return B}edit(w,B){this.pushEditOperations(null,w.replacements.map(ee=>({range:ee.range,text:ee.text})),null)}pushEditOperations(w,B,ee,ye,Pe){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(w,this._validateEditOperations(B),ee,ye,Pe)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(w,B,ee,ye,Pe){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){const Ge=B.map(mt=>({range:this.validateRange(mt.range),text:mt.text}));let yt=!0;if(w)for(let mt=0,Ht=w.length;mt<Ht;mt++){const Kt=w[mt];let zt=!1;for(let si=0,mi=Ge.length;si<mi;si++){const Ii=Ge[si].range,Oi=Ii.startLineNumber>Kt.endLineNumber,Hi=Kt.startLineNumber>Ii.endLineNumber;if(!Oi&&!Hi){zt=!0;break}}if(!zt){yt=!1;break}}if(yt)for(let mt=0,Ht=this._trimAutoWhitespaceLines.length;mt<Ht;mt++){const Kt=this._trimAutoWhitespaceLines[mt],zt=this.getLineMaxColumn(Kt);let si=!0;for(let mi=0,Ii=Ge.length;mi<Ii;mi++){const Oi=Ge[mi].range,Hi=Ge[mi].text;if(!(Kt<Oi.startLineNumber||Kt>Oi.endLineNumber)&&!(Kt===Oi.startLineNumber&&Oi.startColumn===zt&&Oi.isEmpty()&&Hi&&Hi.length>0&&Hi.charAt(0)===`
67`)&&!(Kt===Oi.startLineNumber&&Oi.startColumn===1&&Oi.isEmpty()&&Hi&&Hi.length>0&&Hi.charAt(Hi.length-1)===`
68`)){si=!1;break}}if(si){const mi=new o.Q(Kt,1,Kt,zt);B.push(new _.Wo(null,mi,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(w,B,ee,ye,Pe)}_applyUndo(w,B,ee,ye){const Pe=w.map(Ge=>{const yt=this.getPositionAt(Ge.newPosition),mt=this.getPositionAt(Ge.newEnd);return{range:new o.Q(yt.lineNumber,yt.column,mt.lineNumber,mt.column),text:Ge.oldText}});this._applyUndoRedoEdits(Pe,B,!0,!1,ee,ye)}_applyRedo(w,B,ee,ye){const Pe=w.map(Ge=>{const yt=this.getPositionAt(Ge.oldPosition),mt=this.getPositionAt(Ge.oldEnd);return{range:new o.Q(yt.lineNumber,yt.column,mt.lineNumber,mt.column),text:Ge.newText}});this._applyUndoRedoEdits(Pe,B,!1,!0,ee,ye)}_applyUndoRedoEdits(w,B,ee,ye,Pe,Ge){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=ee,this._isRedoing=ye;
68const yt=this._validateEditOperations(w);this._doApplyEdits(yt,!1,E.dg.applyEdits(),Ge),this.setEOL(B),this._overwriteAlternativeVersionId(Pe)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(Ge),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(w,B,ee){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const ye=this._validateEditOperations(w);return this._doApplyEdits(ye,B??!1,ee??E.dg.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(w,B,ee,ye=null){const Pe=this._buffer.getLineCount(),Ge=this._buffer.applyEdits(w,this._options.trimAutoWhitespace,B),yt=this._buffer.getLineCount(),mt=Ge.changes;if(this._trimAutoWhitespaceLines=Ge.trimAutoWhitespaceLineNumbers,mt.length!==0){for(let zt=0,si=mt.length;zt<si;zt++){const mi=mt[zt];this._decorationsTree.acceptReplace(mi.rangeOffset,mi.rangeLength,mi.text.length,mi.forceMoveMarkers)}const Ht=[];this._increaseVersionId();let Kt=Pe;for(let zt=0,si=mt.length;zt<si;zt++){const mi=mt[zt],[Ii]=(0,i.W)(mi.text);this._onDidChangeDecorations.fire();const Oi=mi.range.startLineNumber,Hi=mi.range.endLineNumber,dn=Hi-Oi,Tn=Ii,Pn=Math.min(dn,Tn),Jn=Tn-dn,Vs=yt-Kt-Jn+Oi;for(let os=Pn;os>=0;os--){const ts=Oi+os,mo=Vs+os;Ht.push(new S.U0(ts,mo))}if(Pn<dn){const os=Oi+Pn,ts=Tn-dn,mo=yt-Kt-ts+os;Ht.push(new S.E$(os+1,Hi,mo))}if(Pn<Tn){const os=Oi+Pn,ts=Tn-Pn,mo=yt-Kt-ts+os+1;Ht.push(new S.bg(os+1,mo,ts))}Kt+=Jn}this._emitContentChangedEvent(new S.HP(Ht,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:mt,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[ee],detailedReasonsChangeLengths:[mt.length]},ye)}return Ge.reverseEdits===null?void 0:Ge.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(w,B,ee){if(w&&w.size>0){const Pe=Array.from(w).map(Ge=>new S.U0(Ge,Ge));this._onDidChangeContentOrInjectedText(new S.vn(Pe))}this._fireOnDidChangeLineHeight(B),this._fireOnDidChangeFont(ee)}_fireOnDidChangeLineHeight(w){if(w&&w.size>0){const ee=Array.from(w).map(ye=>new S.Nw(ye.ownerId,ye.decorationId,ye.lineNumber,ye.lineHeight));this._onDidChangeLineHeight.fire(new S.zq(ee))}}_fireOnDidChangeFont(w){if(w&&w.size>0){const ee=Array.from(w).map(ye=>new S.vD(ye.ownerId,ye.lineNumber));this._onDidChangeFont.fire(new S.dT(ee))}}_onDidChangeContentOrInjectedText(w){for(const B of this._viewModels)try{B.onDidChangeContentOrInjectedText(w)}catch(ee){(0,T.dz)(ee)}for(const B of this._viewModels)try{B.emitContentChangeEvent(w)}catch(ee){(0,T.dz)(ee)}}changeDecorations(w,B=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(B,w)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(w,B){const ee={addDecoration:(Pe,Ge)=>this._deltaDecorationsImpl(w,[],[{range:Pe,options:Ge}])[0],changeDecoration:(Pe,Ge)=>{this._changeDecorationImpl(w,Pe,Ge)},changeDecorationOptions:(Pe,Ge)=>{this._changeDecorationOptionsImpl(w,Pe,Ss(Ge))},removeDecoration:Pe=>{this._deltaDecorationsImpl(w,[Pe],[])},deltaDecorations:(Pe,Ge)=>Pe.length===0&&Ge.length===0?[]:this._deltaDecorationsImpl(w,Pe,Ge)};let ye=null;try{ye=B(ee)}catch(Pe){(0,T.dz)(Pe)}return ee.addDecoration=go,ee.changeDecoration=go,ee.changeDecorationOptions=go,ee.removeDecoration=go,ee.deltaDecorations=go,ye}deltaDecorations(w,B,ee=0){if(this._assertNotDisposed(),w||(w=[]),w.length===0&&B.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,T.dz)(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(ee,w,B)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(w){return this.getDecorationRange(w)}_setTrackedRange(w,B,ee){const ye=w?this._decorations[w]:null;if(!ye)return B?this._deltaDecorationsImpl(0,[],[{range:B,options:cs[ee]}],!0)[0]:null;if(!B)return this._decorationsTree.delete(ye),delete this._decorations[ye.id],null;
68const Pe=this._validateRangeRelaxedNoAllocations(B),Ge=this._buffer.getOffsetAt(Pe.startLineNumber,Pe.startColumn),yt=this._buffer.getOffsetAt(Pe.endLineNumber,Pe.endColumn);return this._decorationsTree.delete(ye),ye.reset(this.getVersionId(),Ge,yt,Pe),ye.setOptions(cs[ee]),this._decorationsTree.insert(ye),ye.id}removeAllDecorationsWithOwnerId(w){if(this._isDisposed)return;const B=this._decorationsTree.collectNodesFromOwner(w);for(let ee=0,ye=B.length;ee<ye;ee++){const Pe=B[ee];this._decorationsTree.delete(Pe),delete this._decorations[Pe.id]}}getDecorationOptions(w){const B=this._decorations[w];return B?B.options:null}getDecorationRange(w){const B=this._decorations[w];return B?this._decorationsTree.getNodeRange(this,B):null}getLineDecorations(w,B=0,ee=!1,ye=!1){return w<1||w>this.getLineCount()?[]:this.getLinesDecorations(w,w,B,ee,ye)}getLinesDecorations(w,B,ee=0,ye=!1,Pe=!1,Ge=!1){const yt=this.getLineCount(),mt=Math.min(yt,Math.max(1,w)),Ht=Math.min(yt,Math.max(1,B)),Kt=this.getLineMaxColumn(Ht),zt=new o.Q(mt,1,Ht,Kt),si=this._getDecorationsInRange(zt,ee,ye,Pe,Ge);return(0,v.E4)(si,this._decorationProvider.getDecorationsInRange(zt,ee,ye,Pe)),(0,v.E4)(si,this._fontTokenDecorationsProvider.getDecorationsInRange(zt,ee,ye,Pe)),si}getDecorationsInRange(w,B=0,ee=!1,ye=!1,Pe=!1,Ge=!1){const yt=this.validateRange(w),mt=this._getDecorationsInRange(yt,B,ee,ye,Ge);return(0,v.E4)(mt,this._decorationProvider.getDecorationsInRange(yt,B,ee,ye,Pe)),(0,v.E4)(mt,this._fontTokenDecorationsProvider.getDecorationsInRange(yt,B,ee,ye,Pe)),mt}getOverviewRulerDecorations(w=0,B=!1,ee=!1){return this._decorationsTree.getAll(this,w,B,ee,!0,!1)}getInjectedTextDecorations(w=0){return this._decorationsTree.getAllInjectedText(this,w)}getCustomLineHeightsDecorations(w=0){const B=this._decorationsTree.getAllCustomLineHeights(this,w);return(0,v.E4)(B,this._fontTokenDecorationsProvider.getAllDecorations(w)),B}getCustomLineHeightsDecorationsInRange(w,B=0){const ee=this._decorationsTree.getCustomLineHeightsInInterval(this,this.getOffsetAt(w.getStartPosition()),this.getOffsetAt(w.getEndPosition()),B);return(0,v.E4)(ee,this._fontTokenDecorationsProvider.getDecorationsInRange(w,B)),ee}getLineInjectedText(w,B=0){const ee=this._buffer.getOffsetAt(w,1),ye=ee+this._buffer.getLineLength(w),Pe=this._decorationsTree.getInjectedTextInInterval(this,ee,ye,B);return S.uK.fromDecorations(Pe).filter(Ge=>Ge.lineNumber===w)}getFontDecorationsInRange(w,B=0){const ee=this._buffer.getOffsetAt(w.startLineNumber,w.startColumn),ye=this._buffer.getOffsetAt(w.endLineNumber,w.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,ee,ye,B)}getAllDecorations(w=0,B=!1,ee=!1){let ye=this._decorationsTree.getAll(this,w,B,ee,!1,!1);return ye=ye.concat(this._decorationProvider.getAllDecorations(w,B)),ye=ye.concat(this._fontTokenDecorationsProvider.getAllDecorations(w,B)),ye}getAllMarginDecorations(w=0){return this._decorationsTree.getAll(this,w,!1,!1,!1,!0)}_getDecorationsInRange(w,B,ee,ye,Pe){const Ge=this._buffer.getOffsetAt(w.startLineNumber,w.startColumn),yt=this._buffer.getOffsetAt(w.endLineNumber,w.endColumn);return this._decorationsTree.getAllInInterval(this,Ge,yt,B,ee,ye,Pe)}getRangeAt(w,B){return this._buffer.getRangeAt(w,B-w)}_changeDecorationImpl(w,B,ee){const ye=this._decorations[B];if(!ye)return;if(ye.options.after){const mt=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(mt.endLineNumber)}if(ye.options.before){const mt=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByInjectedText(mt.startLineNumber)}if(ye.options.lineHeight!==null){const mt=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(w,B,mt.startLineNumber,null)}if(ye.options.affectsFont){const mt=this.getDecorationRange(B);this._onDidChangeDecorations.recordLineAffectedByFontChange(w,ye.id,mt.startLineNumber)}const Pe=this._validateRangeRelaxedNoAllocations(ee),Ge=this._buffer.getOffsetAt(Pe.startLineNumber,Pe.startColumn),yt=this._buffer.getOffsetAt(Pe.endLineNumber,Pe.endColumn);this._decorationsTree.delete(ye),ye.reset(this.getVersionId(),Ge,yt,Pe),this._decorationsTree.insert(ye),this._onDidChangeDecorations.checkAffectedAndFire(ye.options),ye.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Pe.endLineNumber),ye.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(Pe.startLineNumber),ye.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(w,B,Pe.startLineNumber,ye.options.lineHeight),ye.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(w,ye.id,Pe.startLineNumber)}_changeDecorationOptionsImpl(w,B,ee){const ye=this._decorations[B];if(!ye)return;const Pe=!!(ye.options.overviewRuler&&ye.options.overviewRuler.color),Ge=!!(ee.overviewRuler&&ee.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(ye.options),this._onDidChangeDecorations.checkAffectedAndFire(ee),ye.options.after||ee.after){const Ht=this._decorationsTree.getNodeRange(this,ye);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ht.endLineNumber)}if(ye.options.before||ee.before){const Ht=this._decorationsTree.getNodeRange(this,ye);this._onDidChangeDecorations.recordLineAffectedByInjectedText(Ht.startLineNumber)}if(ye.options.lineHeight!==null||ee.lineHeight!==null){const Ht=this._decorationsTree.getNodeRange(this,ye);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(w,B,Ht.startLineNumber,ee.lineHeight)}if(ye.options.affectsFont||ee.affectsFont){const Ht=this._decorationsTree.getNodeRange(this,ye);this._onDidChangeDecorations.recordLineAffectedByFontChange(w,B,Ht.startLineNumber)}const yt=Pe!==Ge,mt=ca(ee)!==ha(ye);yt||mt?(this._decorationsTree.delete(ye),ye.setOptions(ee),this._decorationsTree.insert(ye)):ye.setOptions(ee)}_deltaDecorationsImpl(w,B,ee,ye=!1){const Pe=this.getVersionId(),Ge=B.length;let yt=0;const mt=ee.length;let Ht=0;this._onDidChangeDecorations.beginDeferredEmit();
68try{const Kt=new Array(mt);for(;yt<Ge||Ht<mt;){let zt=null;if(yt<Ge){let si;do si=B[yt++],zt=this._decorations[si];while(!zt&&yt<Ge);if(zt){if(zt.options.after){const mi=this._decorationsTree.getNodeRange(this,zt);this._onDidChangeDecorations.recordLineAffectedByInjectedText(mi.endLineNumber)}if(zt.options.before){const mi=this._decorationsTree.getNodeRange(this,zt);this._onDidChangeDecorations.recordLineAffectedByInjectedText(mi.startLineNumber)}if(zt.options.lineHeight!==null){const mi=this._decorationsTree.getNodeRange(this,zt);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(w,si,mi.startLineNumber,null)}if(zt.options.affectsFont){const mi=this._decorationsTree.getNodeRange(this,zt);this._onDidChangeDecorations.recordLineAffectedByFontChange(w,si,mi.startLineNumber)}this._decorationsTree.delete(zt),ye||this._onDidChangeDecorations.checkAffectedAndFire(zt.options)}}if(Ht<mt){if(!zt){const dn=++this._lastDecorationId,Tn=`${this._instanceId};${dn}`;zt=new ue(Tn,0,0),this._decorations[Tn]=zt}const si=ee[Ht],mi=this._validateRangeRelaxedNoAllocations(si.range),Ii=Ss(si.options),Oi=this._buffer.getOffsetAt(mi.startLineNumber,mi.startColumn),Hi=this._buffer.getOffsetAt(mi.endLineNumber,mi.endColumn);zt.ownerId=w,zt.reset(Pe,Oi,Hi,mi),zt.setOptions(Ii),zt.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(mi.endLineNumber),zt.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(mi.startLineNumber),zt.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(w,zt.id,mi.startLineNumber,zt.options.lineHeight),zt.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(w,zt.id,mi.startLineNumber),ye||this._onDidChangeDecorations.checkAffectedAndFire(Ii),this._decorationsTree.insert(zt),Kt[Ht]=zt.id,Ht++}else zt&&delete this._decorations[zt.id]}return Kt}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(w,B){typeof w=="string"?(this._languageSelectionListener.clear(),this._setLanguage(w,B)):(this._languageSelectionListener.value=w.onDidChange(()=>this._setLanguage(w.languageId,B)),this._setLanguage(w.languageId,B))}_setLanguage(w,B){this.tokenization.setLanguageId(w,B),this._languageService.requestRichLanguageFeatures(w)}getLanguageIdAtPosition(w,B){return this.tokenization.getLanguageIdAtPosition(w,B)}getWordAtPosition(w){return this._tokenizationTextModelPart.getWordAtPosition(w)}getWordUntilPosition(w){return this._tokenizationTextModelPart.getWordUntilPosition(w)}normalizePosition(w,B){return w}getLineIndentColumn(w){return or(this.getLineContent(w))+1}toString(){return`TextModel(${this.uri.toString()})`}},po=bo,bo._MODEL_SYNC_LIMIT=50*1024*1024,bo.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,bo.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,bo.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,bo.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:d.R.tabSize,indentSize:d.R.indentSize,insertSpaces:d.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:d.R.trimAutoWhitespace,largeFileOptimizations:d.R.largeFileOptimizations,bracketPairColorizationOptions:d.R.bracketPairColorizationOptions},bo);Io=po=la([Yo(4,u.$D),Yo(5,a.L),Yo(6,p.JZ),Yo(7,b._Y)],Io);function Ro(wt,w,B){let ee;if(B){const ye=[];for(let Pe=0;Pe<B.length;Pe++){const Ge=B[Pe],yt=w[Pe].tokens;yt?yt.forEach((mt,Ht)=>{ye.push({offset:Ge,text:mt.substring(w[Pe].content),tokenMetadata:Ht.metadata})}):ye.push({offset:Ge,text:w[Pe].content,tokenMetadata:h.f7.defaultTokenMetadata})}ee=wt.withInserted(ye)}else ee=wt;return ee}function or(wt){let w=0;for(const B of wt)if(B===" "||B==="	")w++;else break;return w}function da(wt){return!!(wt.options.overviewRuler&&wt.options.overviewRuler.color)}function ca(wt){return!!wt.after||!!wt.before}function ha(wt){return!!wt.options.after||!!wt.options.before}class vo{constructor(){this._decorationsTree0=new ve,this._decorationsTree1=new ve,this._injectedTextDecorationsTree=new ve}
68ensureAllNodesHaveRanges(w){this.getAll(w,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(w,B){for(const ee of B)ee.range===null&&(ee.range=w.getRangeAt(ee.cachedAbsoluteStart,ee.cachedAbsoluteEnd));return B}getAllInInterval(w,B,ee,ye,Pe,Ge,yt){const mt=w.getVersionId(),Ht=this._intervalSearch(B,ee,ye,Pe,Ge,mt,yt);return this._ensureNodesHaveRanges(w,Ht)}_intervalSearch(w,B,ee,ye,Pe,Ge,yt){const mt=this._decorationsTree0.intervalSearch(w,B,ee,ye,Pe,Ge,yt),Ht=this._decorationsTree1.intervalSearch(w,B,ee,ye,Pe,Ge,yt),Kt=this._injectedTextDecorationsTree.intervalSearch(w,B,ee,ye,Pe,Ge,yt);return mt.concat(Ht).concat(Kt)}getInjectedTextInInterval(w,B,ee,ye){const Pe=w.getVersionId(),Ge=this._injectedTextDecorationsTree.intervalSearch(B,ee,ye,!1,!1,Pe,!1);return this._ensureNodesHaveRanges(w,Ge).filter(yt=>yt.options.showIfCollapsed||!yt.range.isEmpty())}getFontDecorationsInInterval(w,B,ee,ye){const Pe=w.getVersionId(),Ge=this._decorationsTree0.intervalSearch(B,ee,ye,!1,!1,Pe,!1);return this._ensureNodesHaveRanges(w,Ge).filter(yt=>yt.options.affectsFont)}getAllInjectedText(w,B){const ee=w.getVersionId(),ye=this._injectedTextDecorationsTree.search(B,!1,!1,ee,!1);return this._ensureNodesHaveRanges(w,ye).filter(Pe=>Pe.options.showIfCollapsed||!Pe.range.isEmpty())}getAllCustomLineHeights(w,B){const ee=w.getVersionId(),ye=this._search(B,!1,!1,!1,ee,!1);return this._ensureNodesHaveRanges(w,ye).filter(Pe=>typeof Pe.options.lineHeight=="number")}getCustomLineHeightsInInterval(w,B,ee,ye){const Pe=w.getVersionId(),Ge=this._intervalSearch(B,ee,ye,!1,!1,Pe,!1);return this._ensureNodesHaveRanges(w,Ge).filter(yt=>typeof yt.options.lineHeight=="number")}getAll(w,B,ee,ye,Pe,Ge){const yt=w.getVersionId(),mt=this._search(B,ee,ye,Pe,yt,Ge);return this._ensureNodesHaveRanges(w,mt)}_search(w,B,ee,ye,Pe,Ge){if(ye)return this._decorationsTree1.search(w,B,ee,Pe,Ge);{const yt=this._decorationsTree0.search(w,B,ee,Pe,Ge),mt=this._decorationsTree1.search(w,B,ee,Pe,Ge),Ht=this._injectedTextDecorationsTree.search(w,B,ee,Pe,Ge);return yt.concat(mt).concat(Ht)}}collectNodesFromOwner(w){const B=this._decorationsTree0.collectNodesFromOwner(w),ee=this._decorationsTree1.collectNodesFromOwner(w),ye=this._injectedTextDecorationsTree.collectNodesFromOwner(w);return B.concat(ee).concat(ye)}collectNodesPostOrder(){const w=this._decorationsTree0.collectNodesPostOrder(),B=this._decorationsTree1.collectNodesPostOrder(),ee=this._injectedTextDecorationsTree.collectNodesPostOrder();return w.concat(B).concat(ee)}insert(w){ha(w)?this._injectedTextDecorationsTree.insert(w):da(w)?this._decorationsTree1.insert(w):this._decorationsTree0.insert(w)}delete(w){ha(w)?this._injectedTextDecorationsTree.delete(w):da(w)?this._decorationsTree1.delete(w):this._decorationsTree0.delete(w)}getNodeRange(w,B){const ee=w.getVersionId();return B.cachedVersionId!==ee&&this._resolveNode(B,ee),B.range===null&&(B.range=w.getRangeAt(B.cachedAbsoluteStart,B.cachedAbsoluteEnd)),B.range}_resolveNode(w,B){ha(w)?this._injectedTextDecorationsTree.resolveNode(w,B):da(w)?this._decorationsTree1.resolveNode(w,B):this._decorationsTree0.resolveNode(w,B)}acceptReplace(w,B,ee,ye){this._decorationsTree0.acceptReplace(w,B,ee,ye),this._decorationsTree1.acceptReplace(w,B,ee,ye),this._injectedTextDecorationsTree.acceptReplace(w,B,ee,ye)}}function Zo(wt){return wt.replace(/[^a-z0-9\-_]/gi," ")}class cl{constructor(w){this.color=w.color||"",this.darkColor=w.darkColor||""}}class Eo extends cl{constructor(w){super(w),this._resolvedColor=null,this.position=typeof w.position=="number"?w.position:_.A5.Center}getColor(w){return this._resolvedColor||((0,C.HD)(w.type)&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,w):this._resolvedColor=this._resolveColor(this.color,w)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(w,B){if(typeof w=="string")return w;const ee=w?B.getColor(w.id):null;return ee?ee.toString():""}}class Ao{constructor(w){this.position=w?.position??_.ZS.Center,this.persistLane=w?.persistLane}}class Xo extends cl{constructor(w){super(w),this.position=w.position,this.sectionHeaderStyle=w.sectionHeaderStyle??null,this.sectionHeaderText=w.sectionHeaderText??null}getColor(w){return this._resolvedColor||((0,C.HD)(w.type)&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,w):this._resolvedColor=this._resolveColor(this.color,w)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}
68_resolveColor(w,B){return typeof w=="string"?x.Q1.fromHex(w):B.getColor(w.id)}}class xr{static from(w){return w instanceof xr?w:new xr(w)}constructor(w){this.content=w.content||"",this.tokens=w.tokens??null,this.inlineClassName=w.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=w.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=w.attachedData||null,this.cursorStops=w.cursorStops||null}}class Oo{static register(w){return new Oo(w)}static createDynamic(w){return new Oo(w)}constructor(w){this.description=w.description,this.blockClassName=w.blockClassName?Zo(w.blockClassName):null,this.blockDoesNotCollapse=w.blockDoesNotCollapse??null,this.blockIsAfterEnd=w.blockIsAfterEnd??null,this.blockPadding=w.blockPadding??null,this.stickiness=w.stickiness||0,this.zIndex=w.zIndex||0,this.className=w.className?Zo(w.className):null,this.shouldFillLineOnLineBreak=w.shouldFillLineOnLineBreak??null,this.hoverMessage=w.hoverMessage||null,this.glyphMarginHoverMessage=w.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=w.lineNumberHoverMessage||null,this.isWholeLine=w.isWholeLine||!1,this.lineHeight=w.lineHeight?Math.min(w.lineHeight,pr):null,this.fontSize=w.fontSize||null,this.affectsFont=!!w.fontSize||!!w.fontFamily||!!w.fontWeight||!!w.fontStyle,this.showIfCollapsed=w.showIfCollapsed||!1,this.collapseOnReplaceEdit=w.collapseOnReplaceEdit||!1,this.overviewRuler=w.overviewRuler?new Eo(w.overviewRuler):null,this.minimap=w.minimap?new Xo(w.minimap):null,this.glyphMargin=w.glyphMarginClassName?new Ao(w.glyphMargin):null,this.glyphMarginClassName=w.glyphMarginClassName?Zo(w.glyphMarginClassName):null,this.linesDecorationsClassName=w.linesDecorationsClassName?Zo(w.linesDecorationsClassName):null,this.lineNumberClassName=w.lineNumberClassName?Zo(w.lineNumberClassName):null,this.linesDecorationsTooltip=w.linesDecorationsTooltip?(0,g.jy)(w.linesDecorationsTooltip):null,this.firstLineDecorationClassName=w.firstLineDecorationClassName?Zo(w.firstLineDecorationClassName):null,this.marginClassName=w.marginClassName?Zo(w.marginClassName):null,this.inlineClassName=w.inlineClassName?Zo(w.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=w.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=w.beforeContentClassName?Zo(w.beforeContentClassName):null,this.afterContentClassName=w.afterContentClassName?Zo(w.afterContentClassName):null,this.after=w.after?xr.from(w.after):null,this.before=w.before?xr.from(w.before):null,this.hideInCommentTokens=w.hideInCommentTokens??!1,this.hideInStringTokens=w.hideInStringTokens??!1,this.textDirection=w.textDirection??null}}Oo.EMPTY=Oo.register({description:"empty"});const cs=[Oo.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),Oo.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),Oo.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),Oo.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function Ss(wt){return wt instanceof Oo?wt:Oo.createDynamic(wt)}class od extends A.jG{constructor(w){super(),this.handleBeforeFire=w,this._actual=this._register(new y.vl),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(w){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(w)}recordLineAffectedByLineHeightChange(w,B,ee,ye){this._affectedLineHeights||(this._affectedLineHeights=new R.iD([],ut.toKey)),this._affectedLineHeights.add(new ut(w,B,ee,ye))}recordLineAffectedByFontChange(w,B,ee){this._affectedFontLines||(this._affectedFontLines=new R.iD([],Rt.toKey
68)),this._affectedFontLines.add(new Rt(w,B,ee))}checkAffectedAndFire(w){this._affectsMinimap||=!!w.minimap?.position,this._affectsOverviewRuler||=!!w.overviewRuler?.color,this._affectsGlyphMargin||=!!w.glyphMarginClassName,this._affectsLineNumber||=!!w.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);const w={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(w)}}class Jo extends A.jG{constructor(){super(),this._emitter=this._register(new y.vl),this.event=this._emitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(w=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=w;const B=this._deferredEvent;this._deferredEvent=null,this._emitter.fire(B)}}fire(w){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(w):this._deferredEvent=w;return}this._emitter.fire(w)}}},31540:(St,We,e)=>{e.d(We,{f1:()=>W,M$:()=>S,fN:()=>de,N1:()=>re,M0:()=>we});var v=e(63339),R=e(16844),x=e(94327),T=e(3765);function y(...je){switch(je.length){case 1:return(0,T.kg)(1755,"Did you mean {0}?",je[0]);case 2:return(0,T.kg)(1756,"Did you mean {0} or {1}?",je[0],je[1]);case 3:return(0,T.kg)(1757,"Did you mean {0}, {1} or {2}?",je[0],je[1],je[2]);default:return}}const A=(0,T.kg)(1758,"Did you forget to open or close the quote?"),g=(0,T.kg)(1759,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'."),M=class M{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(ae){switch(ae.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return ae.isTripleEq?"===":"==";case 4:return ae.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">";case 8:return">=";case 9:return"=~";case 10:return ae.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return ae.lexeme;case 18:return ae.lexeme;case 19:return ae.lexeme;case 20:return"EOF";default:throw(0,x.iH)(`unhandled token type: ${JSON.stringify(ae)}; have you forgotten to add a case?`)}}reset(ae){return this._input=ae,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const Ee=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:Ee})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const Ee=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:Ee})}else this._match(126)?this._addToken(9):this._error(y("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(y("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(y("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(ae){return this._isAtEnd()||this._input.charCodeAt(this._current)!==ae?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(ae){this._tokens.push({type:ae,offset:this._start})}_error(ae){const Ee=this._start,Ie=this._input.substring(this._start,this._current),Ue={type:19,offset:this._start,lexeme:Ie};this._errors.push({offset:Ee,lexeme:Ie,additionalInfo:ae}),this._tokens.push(Ue)}_string(){this.stringRe.lastIndex=this._start;const ae=this.stringRe.exec(this._input);if(ae){this._current=this._start+ae[0].length;const Ee=this._input.substring(this._start,this._current),Ie=M._keywords.get(Ee);Ie?this._addToken(Ie):this._tokens.push({type:17,lexeme:Ee,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(A);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let ae=this._current,Ee=!1,Ie=!1;for(;;){if(ae>=this._input.length){this._current=ae,this._error(g);return}const $e=this._input.charCodeAt(ae);if(Ee)Ee=!1;else if($e===47&&!Ie){ae++;break}else $e===91?Ie=!0:$e===92?Ee=!0:$e===93&&(Ie=!1);ae++}for(;ae<this._input.length&&M._regexFlags.has(this._input.charCodeAt(ae));)ae++;this._current=ae;const Ue=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:Ue,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}};M._regexFlags=new Set(["i","g","s","m","y","u"].map(ae=>ae.charCodeAt(0))),M._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);let L=M;var b=e(82399);const C=new Map;C.set("false",!1),C.set("true",!0),C.set("isMac",v.zx),C.set("isLinux",v.j9),C.set("isWindows",v.uF),C.set("isWeb",v.HZ),C.set("isMacNative",v.zx&&!v.HZ),C.set("isEdge",v.UP),C.set("isFirefox",v.gm),C.set("isChrome",v.H8),C.set("isSafari",v.nr);const u=Object.prototype.hasOwnProperty,i={regexParsingWithErrorRecovery:!0},r=(0,T.kg)(1737,"Empty context key expression"),d=(0,T.kg)(1738,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),l=(0,T.kg)(1739,"'in' after 'not'."),o=(0,T.kg)(1740,"closing parenthesis ')'"),c=(0,T.kg)(1741,"Unexpected token"),a=(0,T.kg)(1742,"Did you forget to put && or || before the token?"),p=(0,T.kg)(1743,"Unexpected end of expression"),_=(0,T.kg)(1744,"Did you forget to put a context key?"),Ve=class Ve{constructor(ae=i){this._config=ae,this._scanner=new L,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(ae){if(ae===""){this._parsingErrors.push({message:r,offset:0,lexeme:"",additionalInfo:d});return}this._tokens=this._scanner.reset(ae).scan(),this._current=0,this._parsingErrors=[];try{const Ee=this._expr();if(!this._isAtEnd()){const Ie=this._peek(),Ue=Ie.type===17?a:void 0;throw this._parsingErrors.push({message:c,offset:Ie.offset,lexeme:L.getLexeme(Ie),additionalInfo:Ue}),Ve._parseError}return Ee}catch(Ee){if(Ee!==Ve._parseError)throw Ee;return}}_expr(){return this._or()}_or(){const ae=[this._and()];for(;this._matchOne(16);){const Ee=this._and();ae.push(Ee)}return ae.length===1?ae[0]:S.or(...ae)}_and(){const ae=[this._term()];for(;this._matchOne(15);){const Ee=this._term();ae.push(Ee)}return ae.length===1?ae[0]:S.and(...ae)}_term(){if(this._matchOne(2)){const ae=this._peek();switch(ae.type){case 11:return this._advance(),D.INSTANCE;case 12:return this._advance(),k.INSTANCE;case 0:{this._advance();const Ee=this._expr();return this._consume(1,o),Ee?.negate()}case 17:return this._advance(),ne.create(ae.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",ae)}}return this._primary()}_primary(){const ae=this._peek();switch(ae.type){case 11:return this._advance(),S.true();case 12:return this._advance(),S.false();case 0:{this._advance();const Ee=this._expr();return this._consume(1,o),Ee}case 17:{const Ee=ae.lexeme;if(this._advance(),this._matchOne(9)){const Ue=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),Ue.type!==10)throw this._errExpectedButGot("REGEX",Ue);const $e=Ue.lexeme,Ye=$e.lastIndexOf("/"),Ce=Ye===$e.length-1?void 0:this._removeFlagsGY($e.substring(Ye+1));let He;try{He=new RegExp($e.substring(1,Ye),Ce)}catch{throw this._errExpectedButGot("REGEX",Ue)}return G.create(Ee,He)}switch(Ue.type){case 10:case 19:{const $e=[Ue.lexeme];this._advance();let Ye=this._peek(),Ce=0;for(let Te=0;Te<Ue.lexeme.length;Te++)Ue.lexeme.charCodeAt(Te)===40?Ce++:Ue.lexeme.charCodeAt(Te)===41&&Ce--;for(;!this._isAtEnd()&&Ye.type!==15&&Ye.type!==16;){switch(Ye.type){case 0:Ce++;break;case 1:Ce--;break;case 10:case 18:for(let Te=0;Te<Ye.lexeme.length;Te++)Ye.lexeme.charCodeAt(Te)===40?Ce++:Ue.lexeme.charCodeAt(Te)===41&&Ce--}if(Ce<0)break;$e.push(L.getLexeme(Ye)),this._advance(),Ye=this._peek()}const He=$e.join(""),Ke=He.lastIndexOf("/"),qe=Ke===He.length-1?void 0:this._removeFlagsGY(He.substring(Ke+1));let ht;try{ht=new RegExp(He.substring(1,Ke),qe)}catch{throw this._errExpectedButGot("REGEX",Ue)}return S.regex(Ee,ht)}case 18:{const $e=Ue.lexeme;this._advance();let Ye=null;if(!(0,R.AV)($e)){const Ce=$e.indexOf("/"),He=$e.lastIndexOf("/");if(Ce!==He&&Ce>=0){const Ke=$e.slice(Ce+1,He),qe=$e[He+1]==="i"?"i":"";try{Ye=new RegExp(Ke,qe)}catch{throw this._errExpectedButGot("REGEX",Ue)}}}if(Ye===null)throw this._errExpectedButGot("REGEX",Ue);return G.create(Ee,Ye)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,l);
68const Ue=this._value();return S.notIn(Ee,Ue)}switch(this._peek().type){case 3:{this._advance();const Ue=this._value();if(this._previous().type===18)return S.equals(Ee,Ue);switch(Ue){case"true":return S.has(Ee);case"false":return S.not(Ee);default:return S.equals(Ee,Ue)}}case 4:{this._advance();const Ue=this._value();if(this._previous().type===18)return S.notEquals(Ee,Ue);switch(Ue){case"true":return S.not(Ee);case"false":return S.has(Ee);default:return S.notEquals(Ee,Ue)}}case 5:return this._advance(),Z.create(Ee,this._value());case 6:return this._advance(),X.create(Ee,this._value());case 7:return this._advance(),I.create(Ee,this._value());case 8:return this._advance(),H.create(Ee,this._value());case 13:return this._advance(),S.in(Ee,this._value());default:return S.has(Ee)}}case 20:throw this._parsingErrors.push({message:p,offset:ae.offset,lexeme:"",additionalInfo:_}),Ve._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
69	| KEY '=~' REGEX 
70	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){const ae=this._peek();switch(ae.type){case 17:case 18:return this._advance(),ae.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(ae){return ae.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(ae){return this._check(ae)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(ae,Ee){if(this._check(ae))return this._advance();throw this._errExpectedButGot(Ee,this._peek())}_errExpectedButGot(ae,Ee,Ie){const Ue=(0,T.kg)(1745,`Expected: {0}
71Received: '{1}'.`,ae,L.getLexeme(Ee)),$e=Ee.offset,Ye=L.getLexeme(Ee);return this._parsingErrors.push({message:Ue,offset:$e,lexeme:Ye,additionalInfo:Ie}),Ve._parseError}_check(ae){return this._peek().type===ae}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};Ve._parseError=new Error;let E=Ve;const Me=class Me{static false(){return D.INSTANCE}static true(){return k.INSTANCE}static has(ae){return N.create(ae)}static equals(ae,Ee){return W.create(ae,Ee)}static notEquals(ae,Ee){return te.create(ae,Ee)}static regex(ae,Ee){return G.create(ae,Ee)}static in(ae,Ee){return U.create(ae,Ee)}static notIn(ae,Ee){return $.create(ae,Ee)}static not(ae){return ne.create(ae)}static and(...ae){return z.create(ae,null,!0)}static or(...ae){return ie.create(ae,null,!0)}static deserialize(ae){return ae==null?void 0:this._parser.parse(ae)}};Me._parser=new E({regexParsingWithErrorRecovery:!1});let S=Me;function h(je,ae){return je.cmp(ae)}const Le=class Le{constructor(){this.type=0}cmp(ae){return this.type-ae.type}equals(ae){return ae.type===this.type}substituteConstants(){return this}evaluate(ae){return!1}serialize(){return"false"}keys(){return[]}negate(){return k.INSTANCE}};Le.INSTANCE=new Le;let D=Le;const _e=class _e{constructor(){this.type=1}cmp(ae){return this.type-ae.type}equals(ae){return ae.type===this.type}substituteConstants(){return this}evaluate(ae){return!0}serialize(){return"true"}keys(){return[]}negate(){return D.INSTANCE}};_e.INSTANCE=new _e;let k=_e;class N{static create(ae,Ee=null){const Ie=C.get(ae);return typeof Ie=="boolean"?Ie?k.INSTANCE:D.INSTANCE:new N(ae,Ee)}constructor(ae,Ee){this.key=ae,this.negated=Ee,this.type=2}cmp(ae){return ae.type!==this.type?this.type-ae.type:le(this.key,ae.key)}equals(ae){return ae.type===this.type?this.key===ae.key:!1}substituteConstants(){const ae=C.get(this.key);return typeof ae=="boolean"?ae?k.INSTANCE:D.INSTANCE:this}evaluate(ae){return!!ae.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=ne.create(this.key,this)),this.negated}}class W{static create(ae,Ee,Ie=null){if(typeof Ee=="boolean")return Ee?N.create(ae,Ie):ne.create(ae,Ie);const Ue=C.get(ae);return typeof Ue=="boolean"?Ee===(Ue?"true":"false")?k.INSTANCE:D.INSTANCE:new W(ae,Ee,Ie)}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=4}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}
71substituteConstants(){const ae=C.get(this.key);if(typeof ae=="boolean"){const Ee=ae?"true":"false";return this.value===Ee?k.INSTANCE:D.INSTANCE}return this}evaluate(ae){return ae.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=te.create(this.key,this.value,this)),this.negated}}class U{static create(ae,Ee){return new U(ae,Ee)}constructor(ae,Ee){this.key=ae,this.valueKey=Ee,this.type=10,this.negated=null}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.valueKey,ae.key,ae.valueKey)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.valueKey===ae.valueKey:!1}substituteConstants(){return this}evaluate(ae){const Ee=ae.getValue(this.valueKey),Ie=ae.getValue(this.key);if(Array.isArray(Ee)){if(Ee.includes(Ie))return!0;if(v.uF&&typeof Ie=="string"&&Ie.startsWith("file:///")){const Ue=Ie.toLowerCase();return Ee.some($e=>typeof $e=="string"&&$e.toLowerCase()===Ue)}return!1}if(typeof Ie=="string"&&typeof Ee=="object"&&Ee!==null){if(u.call(Ee,Ie))return!0;if(v.uF&&Ie.startsWith("file:///")){const Ue=Ie.toLowerCase();return Object.keys(Ee).some($e=>$e.toLowerCase()===Ue)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=$.create(this.key,this.valueKey)),this.negated}}class ${static create(ae,Ee){return new $(ae,Ee)}constructor(ae,Ee){this.key=ae,this.valueKey=Ee,this.type=11,this._negated=U.create(ae,Ee)}cmp(ae){return ae.type!==this.type?this.type-ae.type:this._negated.cmp(ae._negated)}equals(ae){return ae.type===this.type?this._negated.equals(ae._negated):!1}substituteConstants(){return this}evaluate(ae){return!this._negated.evaluate(ae)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class te{static create(ae,Ee,Ie=null){if(typeof Ee=="boolean")return Ee?ne.create(ae,Ie):N.create(ae,Ie);const Ue=C.get(ae);return typeof Ue=="boolean"?Ee===(Ue?"true":"false")?D.INSTANCE:k.INSTANCE:new te(ae,Ee,Ie)}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=5}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}substituteConstants(){const ae=C.get(this.key);if(typeof ae=="boolean"){const Ee=ae?"true":"false";return this.value===Ee?D.INSTANCE:k.INSTANCE}return this}evaluate(ae){return ae.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=W.create(this.key,this.value,this)),this.negated}}class ne{static create(ae,Ee=null){const Ie=C.get(ae);return typeof Ie=="boolean"?Ie?D.INSTANCE:k.INSTANCE:new ne(ae,Ee)}constructor(ae,Ee){this.key=ae,this.negated=Ee,this.type=3}cmp(ae){return ae.type!==this.type?this.type-ae.type:le(this.key,ae.key)}equals(ae){return ae.type===this.type?this.key===ae.key:!1}substituteConstants(){const ae=C.get(this.key);return typeof ae=="boolean"?ae?D.INSTANCE:k.INSTANCE:this}evaluate(ae){return!ae.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=N.create(this.key,this)),this.negated}}function V(je,ae){if(typeof je=="string"){const Ee=parseFloat(je);isNaN(Ee)||(je=Ee)}return typeof je=="string"||typeof je=="number"?ae(je):D.INSTANCE}class I{static create(ae,Ee,Ie=null){return V(Ee,Ue=>new I(ae,Ue,Ie))}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=12}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}substituteConstants(){return this}evaluate(ae){return typeof this.value=="string"?!1:parseFloat(ae.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=X.create(this.key,this.value,this)),this.negated}}class H{static create(ae,Ee,Ie=null){return V(Ee,Ue=>new H(ae,Ue,Ie))}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=13}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}
71substituteConstants(){return this}evaluate(ae){return typeof this.value=="string"?!1:parseFloat(ae.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Z.create(this.key,this.value,this)),this.negated}}class Z{static create(ae,Ee,Ie=null){return V(Ee,Ue=>new Z(ae,Ue,Ie))}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=14}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}substituteConstants(){return this}evaluate(ae){return typeof this.value=="string"?!1:parseFloat(ae.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=H.create(this.key,this.value,this)),this.negated}}class X{static create(ae,Ee,Ie=null){return V(Ee,Ue=>new X(ae,Ue,Ie))}constructor(ae,Ee,Ie){this.key=ae,this.value=Ee,this.negated=Ie,this.type=15}cmp(ae){return ae.type!==this.type?this.type-ae.type:he(this.key,this.value,ae.key,ae.value)}equals(ae){return ae.type===this.type?this.key===ae.key&&this.value===ae.value:!1}substituteConstants(){return this}evaluate(ae){return typeof this.value=="string"?!1:parseFloat(ae.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=I.create(this.key,this.value,this)),this.negated}}class G{static create(ae,Ee){return new G(ae,Ee)}constructor(ae,Ee){this.key=ae,this.regexp=Ee,this.type=7,this.negated=null}cmp(ae){if(ae.type!==this.type)return this.type-ae.type;if(this.key<ae.key)return-1;if(this.key>ae.key)return 1;const Ee=this.regexp?this.regexp.source:"",Ie=ae.regexp?ae.regexp.source:"";return Ee<Ie?-1:Ee>Ie?1:0}equals(ae){if(ae.type===this.type){const Ee=this.regexp?this.regexp.source:"",Ie=ae.regexp?ae.regexp.source:"";return this.key===ae.key&&Ee===Ie}return!1}substituteConstants(){return this}evaluate(ae){const Ee=ae.getValue(this.key);return this.regexp?this.regexp.test(Ee):!1}serialize(){const ae=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${ae}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Y.create(this)),this.negated}}class Y{static create(ae){return new Y(ae)}constructor(ae){this._actual=ae,this.type=8}cmp(ae){return ae.type!==this.type?this.type-ae.type:this._actual.cmp(ae._actual)}equals(ae){return ae.type===this.type?this._actual.equals(ae._actual):!1}substituteConstants(){return this}evaluate(ae){return!this._actual.evaluate(ae)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function j(je){let ae=null;for(let Ee=0,Ie=je.length;Ee<Ie;Ee++){const Ue=je[Ee].substituteConstants();if(je[Ee]!==Ue&&ae===null){ae=[];for(let $e=0;$e<Ee;$e++)ae[$e]=je[$e]}ae!==null&&(ae[Ee]=Ue)}return ae===null?je:ae}class z{static create(ae,Ee,Ie){return z._normalizeArr(ae,Ee,Ie)}constructor(ae,Ee){this.expr=ae,this.negated=Ee,this.type=6}cmp(ae){if(ae.type!==this.type)return this.type-ae.type;if(this.expr.length<ae.expr.length)return-1;if(this.expr.length>ae.expr.length)return 1;for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++){const Ue=h(this.expr[Ee],ae.expr[Ee]);if(Ue!==0)return Ue}return 0}equals(ae){if(ae.type===this.type){if(this.expr.length!==ae.expr.length)return!1;for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++)if(!this.expr[Ee].equals(ae.expr[Ee]))return!1;return!0}return!1}substituteConstants(){const ae=j(this.expr);return ae===this.expr?this:z.create(ae,this.negated,!1)}evaluate(ae){for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++)if(!this.expr[Ee].evaluate(ae))return!1;return!0}static _normalizeArr(ae,Ee,Ie){const Ue=[];let $e=!1;for(const Ye of ae)if(Ye){if(Ye.type===1){$e=!0;continue}if(Ye.type===0)return D.INSTANCE;if(Ye.type===6){Ue.push(...Ye.expr);continue}Ue.push(Ye)}if(Ue.length===0&&$e)return k.INSTANCE;if(Ue.length!==0){if(Ue.length===1)return Ue[0];Ue.sort(h);for(let Ye=1;Ye<Ue.length;Ye++)Ue[Ye-1].equals(Ue[Ye])&&(Ue.splice(Ye,1),Ye--);if(Ue.length===1)return Ue[0];for(;Ue.length>1;){const Ye=Ue[Ue.length-1];if(Ye.type!==9)break;Ue.pop();const Ce=Ue.pop(),He=Ue.length===0,Ke=ie.create(Ye.expr.map(qe=>z.create([qe,Ce],null,Ie)),null,He);Ke&&(Ue.push(Ke),Ue.sort(h))}if(Ue.length===1)return Ue[0];if(Ie){for(let Ye=0;Ye<Ue.length;Ye++)for(let Ce=Ye+1;Ce<Ue.length;Ce++)if(Ue[Ye].negate().equals(Ue[Ce]))return D.INSTANCE;if(Ue.length===1)return Ue[0]}return new z(Ue,Ee)}}serialize(){return this.expr.map(ae=>ae.serialize()).join(" && ")}keys(){const ae=[];
71for(const Ee of this.expr)ae.push(...Ee.keys());return ae}negate(){if(!this.negated){const ae=[];for(const Ee of this.expr)ae.push(Ee.negate());this.negated=ie.create(ae,this,!0)}return this.negated}}class ie{static create(ae,Ee,Ie){return ie._normalizeArr(ae,Ee,Ie)}constructor(ae,Ee){this.expr=ae,this.negated=Ee,this.type=9}cmp(ae){if(ae.type!==this.type)return this.type-ae.type;if(this.expr.length<ae.expr.length)return-1;if(this.expr.length>ae.expr.length)return 1;for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++){const Ue=h(this.expr[Ee],ae.expr[Ee]);if(Ue!==0)return Ue}return 0}equals(ae){if(ae.type===this.type){if(this.expr.length!==ae.expr.length)return!1;for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++)if(!this.expr[Ee].equals(ae.expr[Ee]))return!1;return!0}return!1}substituteConstants(){const ae=j(this.expr);return ae===this.expr?this:ie.create(ae,this.negated,!1)}evaluate(ae){for(let Ee=0,Ie=this.expr.length;Ee<Ie;Ee++)if(this.expr[Ee].evaluate(ae))return!0;return!1}static _normalizeArr(ae,Ee,Ie){let Ue=[],$e=!1;if(ae){for(let Ye=0,Ce=ae.length;Ye<Ce;Ye++){const He=ae[Ye];if(He){if(He.type===0){$e=!0;continue}if(He.type===1)return k.INSTANCE;if(He.type===9){Ue=Ue.concat(He.expr);continue}Ue.push(He)}}if(Ue.length===0&&$e)return D.INSTANCE;Ue.sort(h)}if(Ue.length!==0){if(Ue.length===1)return Ue[0];for(let Ye=1;Ye<Ue.length;Ye++)Ue[Ye-1].equals(Ue[Ye])&&(Ue.splice(Ye,1),Ye--);if(Ue.length===1)return Ue[0];if(Ie){for(let Ye=0;Ye<Ue.length;Ye++)for(let Ce=Ye+1;Ce<Ue.length;Ce++)if(Ue[Ye].negate().equals(Ue[Ce]))return k.INSTANCE;if(Ue.length===1)return Ue[0]}return new ie(Ue,Ee)}}serialize(){return this.expr.map(ae=>ae.serialize()).join(" || ")}keys(){const ae=[];for(const Ee of this.expr)ae.push(...Ee.keys());return ae}negate(){if(!this.negated){const ae=[];for(const Ee of this.expr)ae.push(Ee.negate());for(;ae.length>1;){const Ee=ae.shift(),Ie=ae.shift(),Ue=[];for(const $e of Be(Ee))for(const Ye of Be(Ie))Ue.push(z.create([$e,Ye],null,!1));ae.unshift(ie.create(Ue,null,!1))}this.negated=ie.create(ae,this,!0)}return this.negated}}const Qe=class Qe extends N{static all(){return Qe._info.values()}constructor(ae,Ee,Ie){super(ae,null),this._defaultValue=Ee,typeof Ie=="object"?Qe._info.push({...Ie,key:ae}):Ie!==!0&&Qe._info.push({key:ae,description:Ie,type:Ee!=null?typeof Ee:void 0})}bindTo(ae){return ae.createKey(this.key,this._defaultValue)}getValue(ae){return ae.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(ae){return W.create(this.key,ae)}};Qe._info=[];let re=Qe;const de=(0,b.u1)("contextKeyService");function le(je,ae){return je<ae?-1:je>ae?1:0}function he(je,ae,Ee,Ie){return je<Ee?-1:je>Ee?1:ae<Ie?-1:ae>Ie?1:0}function we(je,ae){if(je.type===0||ae.type===1)return!0;if(je.type===9)return ae.type===9?xe(je.expr,ae.expr):!1;if(ae.type===9){for(const Ee of ae.expr)if(we(je,Ee))return!0;return!1}if(je.type===6){if(ae.type===6)return xe(ae.expr,je.expr);for(const Ee of je.expr)if(we(Ee,ae))return!0;return!1}return je.equals(ae)}function xe(je,ae){let Ee=0,Ie=0;for(;Ee<je.length&&Ie<ae.length;){const Ue=je[Ee].cmp(ae[Ie]);if(Ue<0)return!1;Ue===0&&Ee++,Ie++}return Ee===je.length}function Be(je){return je.type===9?je.expr:[je]}},31732:(St,We,e)=>{var Br,id,oa,Fr;var v=e(15250),R=e(58067),x=e(73678),T=e(82399),y=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},A=function(tt,K){return function(me,Re){K(me,Re,tt)}};function g(tt){return tt instanceof L?tt._instance:tt}class L{constructor(K){this.instantiationService=K}init(...K){}}function b(tt){return tt.get()}let C=class extends L{constructor(K,me){super(me),this.init(K)}};C=y([A(1,T._Y)],C);var u=e(50946),i=e(46311),r=e(16844),d=e(13338);class l{validateOrThrow(K){const me=this.validate(K);if(me.error)throw new Error(me.error.message);return me.content}}class o extends l{constructor(K){super(),this.type=K}validate(K){return typeof K!==this.type?{content:void 0,error:{message:`Expected ${this.type}, but got ${typeof K}`}}:{content:K,error:void 0}}
71getJSONSchema(){return{type:this.type}}}const c=new o("string");function a(){return c}new o("number");const p=new o("boolean");function _(){return p}new o("object");class E extends l{validate(K){return{content:K,error:void 0}}getJSONSchema(){return{}}}function S(){return new E}class h extends l{validate(K){return K!==void 0?{content:void 0,error:{message:`Expected undefined, but got ${typeof K}`}}:{content:void 0,error:void 0}}getJSONSchema(){return{}}}function D(){return new h}class k{constructor(K){this.validator=K}}function N(tt){return new k(tt)}class W extends l{constructor(K){super(),this.properties=K}validate(K){if(typeof K!="object"||K===null)return{content:void 0,error:{message:"Expected object"}};const me={};for(const Re in this.properties){const et=this.properties[Re],ze=K[Re],nt=et instanceof k,rt=nt?et.validator:et;if(nt&&ze===void 0)continue;const{content:Tt,error:Pt}=rt.validate(ze);if(Pt)return{content:void 0,error:{message:`Error in property '${Re}': ${Pt.message}`}};me[Re]=Tt}return{content:me,error:void 0}}getJSONSchema(){const K=[],me={};for(const[et,ze]of Object.entries(this.properties)){const nt=ze instanceof k,rt=nt?ze.validator:ze;me[et]=rt.getJSONSchema(),nt||K.push(et)}return{type:"object",properties:me,...K.length>0?{required:K}:{}}}}function U(tt){return new W(tt)}class $ extends l{constructor(K){super(),this.validators=K}validate(K){let me;for(const Re of this.validators){const{content:et,error:ze}=Re.validate(K);if(!ze)return{content:et,error:void 0};me=ze}return{content:void 0,error:me}}getJSONSchema(){return{oneOf:(0,d.Zb)(this.validators,K=>{if(!(K instanceof h))return K.getJSONSchema()})}}}function te(...tt){return new $(tt)}class ne extends l{constructor(K,me){super(),this._ref=K,this._validator=me}validate(K){return this._validator.validate(K)}getJSONSchema(){return{$ref:this._ref}}}function V(tt,K){return new ne(tt,K)}var I=e(3765),H=e(53909),Z=e(3338),X=e(85753),G=e(31540),Y=e(48421),j=e(29879),z=e(38122),ie=e(29849),re=e(93516),de=e(65916),le=e(97083),he=e(44385),we=e(65958),xe=e(78903),Be=e(41807),M=e(10998),Ve=e(22467),Me=e(79359),Le=e(71285),_e=e(82096),Qe=e(56071),je=e(72521),ae=e(61988),Ee=e(48121),Ie=e(24665),Ue=e(15365),$e=e(12060),Ye=e(49152),Ce=e(89401),He=e(43634),Ke=e(9145),qe=e(46441),ht=e(65014),Te=e(26579),oe=e(46933),q=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ue=function(tt,K){return function(me,Re){K(me,Re,tt)}};function J(tt){return tt.sourceId+" @@ "+JSON.stringify({...tt,modelUri:tt.modelUri?.toString(),sourceId:void 0})}let ve=class extends M.jG{static cast(){return this}constructor(K,me,Re){super(),this._key=K,this._contextKeyService=me,this._dataChannelService=Re,this._isEnabledContextKeyValue=De("structuredLogger.enabled:"+this._key,this._contextKeyService).recomputeInitiallyAndOnChange(this._store),this.isEnabled=this._isEnabledContextKeyValue.map(et=>et!==void 0)}log(K){return this._isEnabledContextKeyValue.get()?(this._dataChannelService.getDataChannel("structuredLogger:"+this._key).sendData(K),!0):!1}};ve=q([ue(1,G.fN),ue(2,Te.a)],ve);function De(tt,K){return(0,oe.y0)(K.onDidChangeContext,()=>K.getContextKeyValue(tt))}var fe=e(47936),Se=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},pe=function(tt,K){return function(me,Re){K(me,Re,tt)}};let Ae=class extends M.jG{constructor(K,me,Re){super(),this._editor=K,this._instantiationService=me,this._loggerService=Re,this._structuredLogger=this._register(this._instantiationService.createInstance(ve.cast(),"editor.inlineSuggest.logChangeReason.commandId"));const et=this._loggerService?.createLogger("textModelChanges",{hidden:!1,name:"Text Model Changes Reason"}),ze=(0,oe.y0)(this,et.onDidChangeLogLevel,()=>et.getLevel());this._register((0,fe.fm)(nt=>{(0,qe.l8)(ze.read(nt),qe.$b.Trace)&&nt.store.add(this._editor.onDidChangeModelContent(rt=>{this._editor.getModel()?.uri.scheme!=="output"&&et.trace("onDidChangeModelContent: "+rt.detailedReasons.map(Tt=>Tt.toKey(Number.MAX_VALUE)).join(", "))}))})),this._register((0,fe.fm)(nt=>{this._editor instanceof ht.x&&this._structuredLogger.isEnabled.read(nt)&&nt.store.add(this._editor.onDidChangeModelContent(rt=>{const Tt=this._editor.getModel();if(!Tt)return;const Pt=rt.detailedReasons[0],Lt={...Pt.metadata,sourceId:"TextModel.setChangeReason",source:Pt.metadata.source,time:Date.now(),modelUri:Tt.ur
71i,modelVersion:Tt.getVersionId()};setTimeout(()=>{this._structuredLogger.log(Lt)},0)}))}))}};Ae=Se([pe(1,T._Y),pe(2,qe.xd)],Ae);var Xe=e(97393),dt=e(8897),gt=e(94327),Bt=e(2106),_t=e(62549),ri=e(80816),Gt=e(28061),ei=e(93702),Zt=e(54159),pt=e(92215),Fe=e(47317),st=e(52394),vt=e(32787),Yt=e(50960),Si=e(24975),Bi=e(21081),pi=e(85811);function $i(tt){return new fn(tt)}class fn extends pi.LN{constructor(K){super(),this._textModel=K}getOffset(K){return this._textModel.getOffsetAt(K)}getPosition(K){return this._textModel.getPositionAt(K)}}var Sn=e(96016),On=e(39084);const Dn=[];function Qn(){return Dn}function rs(tt){return us(tt).map(me=>me.getEndPosition())}function us(tt){const K=d.t9.createSortPermutation(tt,(0,d.VE)(et=>et.range,Gt.Q.compareRangesUsingStarts)),Re=new Zt.m(K.apply(tt)).getNewRanges();return K.inverse().apply(Re)}function Zn(tt,K){const me=$i(K),Re=K.getValue();return tt.map(nt=>me.getStringReplacement(nt)).map(nt=>nt.removeCommonSuffixPrefix(Re)).map(nt=>me.getTextReplacement(nt))}function zn(tt,K){const me=(0,Sn.FY)("result",[]),Re=[];return K.add((0,fe.fm)(et=>{const ze=tt.read(et);(0,On.Rn)(nt=>{if(ze.length!==Re.length){Re.length=ze.length;for(let rt=0;rt<Re.length;rt++)Re[rt]||(Re[rt]=(0,Sn.FY)("item",ze[rt]));me.set([...Re],nt)}Re.forEach((rt,Tt)=>rt.set(ze[Tt],nt))})})),me}class ms{constructor(K){this._contextKeyService=K}bind(K,me){return(0,Si.w)(K,this._contextKeyService,me instanceof Function?me:Re=>me.read(Re))}}function es(tt,K){return new Promise(me=>{let Re;const et=setTimeout(()=>{Re&&Re.dispose(),me()},tt);K&&(Re=K.onCancellationRequested(()=>{clearTimeout(et),Re&&Re.dispose(),me()}))})}class Xn{static message(K){return new Xn(void 0,K)}constructor(K,me=void 0){this.error=K,this.message=me}static is(K){return K instanceof Xn}logError(){this.message?console.error(`ErrorResult: ${this.message}`,this.error):console.error("ErrorResult: An unexpected error-case occurred, usually caused by invalid input.",this.error)}}var Ts=e(61343),ps=e(6341),Yn=e(45561),zs=e(87110);class Kn{constructor(K,me){this.lineNumber=K,this.parts=me,(0,zs.Ft)(()=>(0,zs.Xo)(me,(Re,et)=>Re.column<=et.column))}equals(K){return this.lineNumber===K.lineNumber&&this.parts.length===K.parts.length&&this.parts.every((me,Re)=>me.equals(K.parts[Re]))}renderForScreenReader(K){if(this.parts.length===0)return"";const me=this.parts[this.parts.length-1],Re=K.substr(0,me.column-1);return new Zt.m([...this.parts.map(ze=>new Zt.W(Gt.Q.fromPositions(new Ue.y(1,ze.column)),ze.lines.map(nt=>nt.line).join(`
72`)))]).applyToString(Re).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(K=>K.lines.length===0)}get lineCount(){return 1+this.parts.reduce((K,me)=>K+me.lines.length-1,0)}}class jt{constructor(K,me,Re,et=[]){this.column=K,this.text=me,this.preview=Re,this._inlineDecorations=et,this.lines=(0,r.uz)(this.text).map((ze,nt)=>({line:ze,lineDecorations:Yn.d.filter(this._inlineDecorations,nt+1,1,ze.length+1)}))}equals(K){return this.column===K.column&&this.lines.length===K.lines.length&&this.lines.every((me,Re)=>me.line===K.lines[Re].line&&Yn.d.equalsArr(me.lineDecorations,K.lines[Re].lineDecorations))}}class $t{constructor(K,me,Re,et=0){this.lineNumber=K,this.columnRange=me,this.text=Re,this.additionalReservedLineCount=et,this.parts=[new jt(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=(0,r.uz)(this.text)}renderForScreenReader(K){return this.newLines.join(`
73`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(K=>K.lines.length===0)}equals(K){return this.lineNumber===K.lineNumber&&this.columnRange.equals(K.columnRange)&&this.newLines.length===K.newLines.length&&this.newLines.every((me,Re)=>me===K.newLines[Re])&&this.additionalReservedLineCount===K.additionalReservedLineCount}}function Ei(tt,K){return(0,d.aI)(tt,K,zi)}function zi(tt,K){return tt===K?!0:!tt||!K?!1:tt instanceof Kn&&K instanceof Kn||tt instanceof $t&&K instanceof $t?tt.equals(K):!1}function hn(tt,K,me){const Re=me?tt.range.intersectRanges(me):tt.range;if(!Re)return tt;const et=tt.text.replaceAll(`\r
74`,`
75`),ze=K.getValueInRange(Re,1),nt=(0,r.Qp)(ze,et),rt=pt.W.ofText(ze.substring(0,nt)).addToPosition(tt.range.getStartPosition()),Tt=et.substring(nt),Pt=Gt.Q.fromPositions(rt,tt.range.getEndPosition());return new Zt.W(Pt,Tt)}function wn(tt,K){return tt.text.startsWith(K.text)&&en(tt.range,K.range)}function en(tt,K){return K.getStartPosition().equals(tt.getStartPosition())&&K.getEndPosition().isBeforeOrEqual(tt.getEndPosition())}function In(tt,K,me,Re,et=0){let ze=hn(tt,K);if(ze.range.endLineNumber!==ze.range.startLineNumber)return;const nt=K.getLineContent(ze.range.startLineNumber),rt=(0,r.UU)(nt).length;if(ze.range.startColumn-1<=rt){const di=(0,r.UU)(ze.text).length,Jt=nt.substring(ze.range.startColumn-1,rt),[_i,Ri]=[ze.range.getStartPosition(),ze.range.getEndPosition()],Ui=_i.column+Jt.length<=Ri.column?_i.delta(0,Jt.length):Ri,un=Gt.Q.fromPositions(Ui,Ri),cn=ze.text.startsWith(Jt)?ze.text.substring(Jt.length):ze.text.substring(di);ze=new Zt.W(un,cn)}const Pt=K.getValueInRange(ze.range),Lt=Wi(Pt,ze.text);if(!Lt)return;const Mt=ze.range.startLineNumber,Nt=new Array;if(me==="prefix"){const di=Lt.filter(Jt=>Jt.originalLength===0);if(di.length>1||di.length===1&&di[0].originalStart!==Pt.length)return}const Vt=ze.text.length-et;for(const di of Lt){const Jt=ze.range.startColumn+di.originalStart+di.originalLength;if(me==="subwordSmart"&&Re&&Re.lineNumber===ze.range.startLineNumber&&Jt<Re.column||di.originalLength>0)return;if(di.modifiedLength===0)continue;const _i=di.modifiedStart+di.modifiedLength,Ri=Math.max(di.modifiedStart,Math.min(_i,Vt)),Ui=ze.text.substring(di.modifiedStart,Ri),un=ze.text.substring(Ri,Math.max(di.modifiedStart,_i));Ui.length>0&&Nt.push(new jt(Jt,Ui,!1)),un.length>0&&Nt.push(new jt(Jt,un,!0))}return new Kn(Mt,Nt)}let Bn;function Wi(tt,K){if(Bn?.originalValue===tt&&Bn?.newValue===K)return Bn?.changes;{let me=Xt(tt,K,!0);if(me){const Re=At(me);if(Re>0){const et=Xt(tt,K,!1);et&&At(et)<Re&&(me=et)}}return Bn={originalValue:tt,newValue:K,changes:me},me}}function At(tt){let K=0;for(const me of tt)K+=me.originalLength;return K}function Xt(tt,K,me){if(tt.length>5e3||K.length>5e3)return;function Re(Pt){let Lt=0;for(let Mt=0,Nt=Pt.length;Mt<Nt;Mt++){const Vt=Pt.charCodeAt(Mt);Vt>Lt&&(Lt=Vt)}return Lt}const et=Math.max(Re(tt),Re(K));function ze(Pt){if(Pt<0)throw new Error("unexpected");return et+Pt+1}function nt(Pt){let Lt=0,Mt=0;const Nt=new Int32Array(Pt.length);for(let Vt=0,di=Pt.length;Vt<di;Vt++)if(me&&Pt[Vt]==="("){const Jt=Mt*100+Lt;Nt[Vt]=ze(2*Jt),Lt++}else if(me&&Pt[Vt]===")"){Lt=Math.max(Lt-1,0);const Jt=Mt*100+Lt;Nt[Vt]=ze(2*Jt+1),Lt===0&&Mt++}else Nt[Vt]=Pt.charCodeAt(Vt);return Nt}const rt=nt(tt),Tt=nt(K);return new ps.uP({getElements:()=>rt},{getElements:()=>Tt}).ComputeDiff(!1).changes}var li=e(71386),Mi=e(49855),vi=e(77917),Vi=e(57955);function ui(tt,K){let me,Re=!1;const et=new vi.P(new Mi.nA(tt,void 0,K.update),(ze,nt)=>{Re||(me=K.initial instanceof Function?K.initial():K.initial,Re=!0);const rt=K.update(ze,me,nt);return me=rt,rt},K.changeTracker,()=>{Re&&(K.disposeFinal?.(me),Re=!1)},K.equalityComparer??dt.nx,(ze,nt,rt)=>{if(!Re)throw new gt.D7("Can only set when there is a listener! This is to prevent leaks.");(0,On.PO)(nt,Tt=>{me=ze,et.setValue(ze,Tt,rt)})},Vi.j.ofCaller());return et}var Wt=e(76243),Nn=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ci=function(tt,K){return function(me,Re){K(me,Re,tt)}};class ut{constructor(K,me){this._baseService=K,this._intercept=me}publicLog2(K,me){this._intercept(K,me),this._baseService.publicLog2(K,me)}}let Rt=class extends ut{constructor(K,me){super(K,(Re,et)=>{let ze=!0;et&&xt in et&&(ze=!!et[xt]),ze&&me.getDataChannel("editTelemetry").sendData({eventName:Re,data:et??{}})})}};Rt=Nn([ci(0,Wt.k),ci(1,Te.a)],Rt);
75const xt=Symbol("shouldForwardToChannel");function Ot(tt){return{[xt]:tt}}function Qt(tt){if(!tt)return!1;const K=tt.toLowerCase();return K==="github.copilot"||K==="github.copilot-chat"}var ai=e(39603),gi=e(68029),Ki=e(9037),Zi=e(45739),bi=e(37042);function ot(tt,K){tt.publicLog2("inlineCompletion.endOfLife",K)}var ge=e(77011),Ze=e(50805),at=e(67281);const Et=new Set([";",",","=","+","-","*","/","{","}","(",")","[","]","<",">",":",".","!","?","&","|","^","%","@","#","~","`","\\","'",'"',"$"]);function Ft(tt){return Et.has(tt)}function qt(tt){return/[a-zA-Z0-9_]/.test(tt)}function Li(tt){return tt===" "||tt==="	"}function Ni(tt){const K=tt.split(/\r\n|\r|\n/);if(K.length>1)return{kind:"multiLine",lineCount:K.length};const me=tt.length===1;let Re;me&&(Ft(tt)?Re="syntactical":qt(tt)?Re="identifier":Li(tt)&&(Re="whitespace"));const et=tt.match(/[ \t]+/g)||[],ze=et.some(Lt=>Lt.length>1),nt=et.some(Lt=>Lt.includes("  ")||Lt.includes("		")),rt=tt.split(/\s+/).filter(Lt=>Lt.length>0),Tt=rt.length===1&&/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(rt[0]),Pt=rt.length>1;return{kind:"singleLine",isSingleCharacter:me,singleCharacterKind:Re,isWord:Tt,isMultipleWords:Pt,isMultipleWhitespace:ze,hasDuplicatedWhitespace:nt}}class xi{constructor(K){this.edits=K}toString(){return JSON.stringify({edits:this.edits})}}function Ci(tt,K,me){if(tt.replacements.length!==0)return new xi(tt.replacements.map(Re=>Fi(Re,K)))}function Di(tt){return tt.length===0?0:tt.split(/\r\n|\r|\n/).length-1}function Fi(tt,K,me){const Re=tt.replaceRange,et=tt.newText,ze=Re.length,nt=et.length,rt=Di(et);switch(Re.isEmpty?"insert":et.length===0?"delete":"replace"){case"insert":return{operation:"insert",properties:Gi(Re.start,et,K),charactersInserted:nt,charactersDeleted:0,linesInserted:rt,linesDeleted:0};case"delete":{const Pt=K.getValue().substring(Re.start,Re.endExclusive);return{operation:"delete",properties:Xi(Re.start,Re.endExclusive,K),charactersInserted:0,charactersDeleted:ze,linesInserted:0,linesDeleted:Di(Pt)}}case"replace":{const Pt=K.getValue().substring(Re.start,Re.endExclusive);return{operation:"replace",properties:tn(Pt,et),charactersInserted:nt,charactersDeleted:ze,linesInserted:rt,linesDeleted:Di(Pt)}}}}function Gi(tt,K,me,Re){const et=Ni(K),ze=me.getPositionAt(tt),nt=me.getLineContent(ze.lineNumber),rt=nt.length;let Tt;const Pt=nt.trim().length===0,Lt=ze.column>rt,Mt=ze.column===1;return Pt?Tt="emptyLine":Lt?Tt="endOfLine":Mt?Tt="startOfLine":Tt="middleOfLine",{textShape:et,locationShape:Tt,relativeToCursor:void 0}}function Xi(tt,K,me){const Re=me.getValue().substring(tt,K),et=Ni(Re),ze=me.getPositionAt(tt),nt=me.getPositionAt(K),rt=me.getLineContent(nt.lineNumber),Tt=nt.column>rt.length,Pt=ze.lineNumber===nt.lineNumber&&ze.column===1&&nt.column>rt.length;return{textShape:et,isAtEndOfLine:Tt,deletesEntireLineContent:Pt}}function tn(tt,K){const me=Ni(tt),Re=Ni(K),et=me.kind==="singleLine"&&me.isWord,ze=Re.kind==="singleLine"&&Re.isWord,nt=et&&ze,rt=K.length>tt.length,Tt=K.length<tt.length,Pt=me.kind==="singleLine"&&Re.kind==="singleLine",Lt=me.kind==="singleLine"&&Re.kind==="multiLine",Mt=me.kind==="multiLine"&&Re.kind==="singleLine";return{isWordToWordReplacement:nt,isAdditive:rt,isSubtractive:Tt,isSingleLineToSingleLine:Pt,isSingleLineToMultiLine:Lt,isMultiLineToSingleLine:Mt}}var yn=e(1174);function Gn(tt,K,me,Re){const et=hn(tt,me),ze=tt.range;if(!ze||K&&!K.getStartPosition().equals(ze.getStartPosition())||Re.lineNumber!==et.range.startLineNumber||et.isEmpty)return!1;const nt=me.getValueInRange(et.range,1),rt=et.text,Tt=Math.max(0,Re.column-et.range.startColumn);let Pt=rt.substring(0,Tt),Lt=rt.substring(Tt),Mt=nt.substring(0,Tt),Nt=nt.substring(Tt);const Vt=me.getLineIndentColumn(et.range.startLineNumber);return et.range.startColumn<=Vt&&(Mt=Mt.trimStart(),Mt.length===0&&(Nt=Nt.trimStart()),Pt=Pt.trimStart(),Pt.length===0&&(Lt=Lt.trimStart())),Pt.startsWith(Mt)&&!!(0,yn.dE)(Nt,Lt)}var Ys;(function(tt){function K(me){return me?.command.id??void 0}tt.toString=K})(Ys||(Ys={}));class nn extends Ze.CO{static snapshot(K){return new nn(K)}constructor(K){super(),this._textModel=K,this._version=K.getVersionId()}get uri(){return this._textModel.uri}_assertValid(){this._textModel.getVersionId()!==this._version&&(0,gt.dz)(new Error(`TextModel has changed: expected version ${this._version}, got ${this._textModel.getVersionId()}`))}targets(K){return this._textModel.uri.toString()===K.uri.toString()}getValueOfRange(K){return this._assertValid(),this._textModel.getValueInRange(K)}getLineLength(K){return this._assertValid(),this._textModel.getLineLength(K)}get length(){this._assertValid();const K=this._textModel.getLineCount(),me=this._textModel.getLineLength(K);return new pt.W(K-1,me)}getEOL(){return this._assertValid(),this._textModel.getEOL()}getPositionAt(K){return this._assertValid(),this._textModel.getPositionAt(K)}getValueInRange(K){return this._assertValid(),this._textModel.getValueInRange(K)}getVersionId(){return this._version}dangerouslyGetUnderlyingModel(){return this._textModel}}var Cn=e(99429),kn;(function(tt){function K(me,Re,et=!0){return!me.isInlineEdit&&!me.action?.uri&&me.action?.kind==="edit"?$n.create(me,Re,me.action):_s.create(me,Re,et)}tt.create=K})(kn||(kn={}));function Ds(tt){const K=tt?.kind==="edit"?{...tt,alternativeAction:Ys.toString(tt.alternativeAction),target:tt?.target.uri.toString()}:{...tt,target:tt?.target.uri.toString()};return JSON.stringify(K)}class Gs{constructor(K,me,Re,et){this._data=K,this.identity=me,this.hint=Re,this.originalTextRef=et}get source(){return this._data.source}get isFromExplicitRequest(){return this._data.context.triggerKind===Fe.qw.Explicit}get forwardStable(){return this.source.inlineSuggestions.enableForwardStability??!1}get targetRange(){if(this.hint)return this.hint.range;if(this.action?.kind==="edit")return this.action.textReplacement.range;if(this.action?.kind==="jumpTo")return Gt.Q.fromPositions(this.action.position);throw new gt.D7("InlineSuggestionItem: Either hint or action must be set")}get semanticId(){return this.hash}get gutterMenuLinkAction(){return this._sourceInlineCompletion.gutterMenuLinkAction}get command(){return this._sourceInlineCompletion.command}get supportsRename(){return this._data.supportsRename}get warning(){return this._sourceInlineCompletion.warning}get showInlineEditMenu(){return!!this._sourceInlineCompletion.showInlineEditMenu}get hash(){return Ds(this.action)}get requestUuid(){return this._data.context.requestUuid}get partialAccepts(){return this._data.partialAccepts}get _sourceInlineCompletion(){return this._data.sourceInlineCompletion}addRef(){this.identity.addRef(),this.source.addRef()}removeRef(){this.identity.removeRef(),this.source.removeRef()}reportInlineEditShown(K,me,Re,et,ze){const nt=this.action?.kind==="edit"?this.action.textReplacement.text:"";this._data.reportInlineEditShown(K,nt,me,Re,this.computeEditKind(et),ze)}reportPartialAccept(K,me,Re){this._data.reportPartialAccept(K,me,Re)}reportEndOfLife(K){this._data.reportEndOfLife(K)}setEndOfLifeReason(K){this._data.setEndOfLifeReason(K)}setIsPreceeded(K){this._data.setIsPreceeded(K.partialAccepts)}setNotShownReasonIfNotSet(K){this._data.setNotShownReason(K)}getSourceCompletion(){return this._sourceInlineCompletion}setRenameProcessingInfo(K){this._data.setRenameProcessingInfo(K)}withAction(K){return this._data.withAction(K)}addPerformanceMarker(K){this._data.addPerformanceMarker(K)}}const lo=class lo{constructor(){this._onDispose=(0,Cn.Y)(this),this.onDispose=this._onDispose,this._jumpedTo=(0,Sn.FY)(this,!1),this._refCount=0,this.id="InlineCompletionIdentity"+lo.idCounter++}get jumpedTo(){return this._jumpedTo}addRef(){this._refCount++}removeRef(){this._refCount--,this._refCount===0&&this._onDispose.trigger(void 0)}setJumpTo(K){this._jumpedTo.set(!0,K)}};lo.idCounter=0;let xs=lo;class Ms{static create(K){return new Ms(Gt.Q.lift(K.range),K.content,K.style)}constructor(K,me,Re){this.range=K,this.content=me,this.style=Re}withEdit(K,me){const Re=new ge.L(me.getOffset(this.range.getStartPosition()),me.getOffset(this.range.getEndPosition())),et=(0,gi.RT)([Re],K)[0];if(!et)return;const ze=me.getRange(et);return new Ms(ze,this.content,this.style)}}class $n extends Gs{static create(K,me,Re){const et=new xs,ze=me.getTransformer(),nt=Re.insertText.replace(/\r\n|\r|\n/g,me.getEOL()),rt=as(new gi.aQ(ze.getOffsetRange(Re.range),nt),me),Tt=rt.removeCommonSuffixAndPrefix(me.getValue()),Pt=ze.getTextReplacement(rt),Lt=K.hint?Ms.
75create(K.hint):void 0;return new $n(rt,Tt,Pt,Pt.range,Re.snippetInfo,K.additionalTextEdits,K,et,Lt,me)}constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt){super(rt,Tt,Pt,Lt),this._edit=K,this._trimmedEdit=me,this._textEdit=Re,this._originalRange=et,this.snippetInfo=ze,this.additionalTextEdits=nt,this.isInlineEdit=!1}get action(){return{kind:"edit",textReplacement:this.getSingleTextEdit(),snippetInfo:this.snippetInfo,stringEdit:new gi.c7([this._trimmedEdit]),alternativeAction:void 0,target:this.originalTextRef}}get hash(){return JSON.stringify(this._trimmedEdit.toJson())}getSingleTextEdit(){return this._textEdit}withIdentity(K){return new $n(this._edit,this._trimmedEdit,this._textEdit,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,K,this.hint,this.originalTextRef)}withEdit(K,me){if(!this.originalTextRef.targets(me))return this;const Re=(0,gi.RT)([this._edit.replaceRange],K);if(Re.length===0)return;const et=new gi.aQ(Re[0],this._textEdit.text),ze=$i(me),nt=ze.getTextReplacement(et);let rt=this.hint;if(rt&&(rt=rt.withEdit(K,ze),!rt))return;const Tt=et.removeCommonSuffixAndPrefix(me.getValue());return new $n(et,Tt,nt,this._originalRange,this.snippetInfo,this.additionalTextEdits,this._data,this.identity,rt,this.originalTextRef)}canBeReused(K,me){const Re=this._textEdit.range;return!!Re&&Re.containsPosition(me)&&this.isVisible(K,me)&&pt.W.ofRange(Re).isGreaterThanOrEqualTo(pt.W.ofRange(this._originalRange))}isVisible(K,me){const Re=this.getSingleTextEdit();return Gn(Re,this._originalRange,K,me)}computeEditKind(K){return Ci(new gi.c7([this._edit]),K)}get editRange(){return this.getSingleTextEdit().range}}class _s extends Gs{static create(K,me,Re=!0){let et,ze=[];if(K.action?.kind==="edit"){const Tt=Re?ao(me,K.action.range,K.action.insertText):ks(me,K.action.range,K.action.insertText),Pt=Zt.m.fromStringEdit(Tt,me),Lt=Tt.isEmpty()?new Zt.W(new Gt.Q(1,1,1,1),""):Pt.toReplacement(me);ze=Tt.replacements.map(Mt=>{const Nt=Gt.Q.fromPositions(me.getPositionAt(Mt.replaceRange.start),me.getTransformer().getPosition(Mt.replaceRange.endExclusive)),Vt=me.getValueInRange(Nt);return Fs.create(Mt,Vt)}),et={kind:"edit",snippetInfo:K.action.snippetInfo,stringEdit:Tt,textReplacement:Lt,alternativeAction:K.action.alternativeAction,target:me}}else if(K.action?.kind==="jumpTo")et={kind:"jumpTo",position:K.action.position,offset:me.getTransformer().getOffset(K.action.position),target:me};else if(et=void 0,!K.hint)throw new gt.D7("InlineEditItem: action is undefined and no hint is provided");const nt=new xs,rt=K.hint?Ms.create(K.hint):void 0;return new _s(et,K,nt,ze,rt,!1,me.getVersionId(),me)}constructor(K,me,Re,et,ze,nt=!1,rt,Tt){super(me,Re,ze,Tt),this._action=K,this._edits=et,this._lastChangePartOfInlineEdit=nt,this._inlineEditModelVersion=rt,this.snippetInfo=void 0,this.additionalTextEdits=[],this.isInlineEdit=!0}get updatedEditModelVersion(){return this._inlineEditModelVersion}get action(){return this._action}withIdentity(K){return new _s(this._action,this._data,K,this._edits,this.hint,this._lastChangePartOfInlineEdit,this._inlineEditModelVersion,this.originalTextRef)}canBeReused(K,me){return this._lastChangePartOfInlineEdit&&this.updatedEditModelVersion===K.getVersionId()}withEdit(K,me){return this.originalTextRef.targets(me)?this._applyTextModelChanges(K,this._edits,me):this}_applyTextModelChanges(K,me,Re){const et=$i(Re);let ze=!1,nt=this._inlineEditModelVersion,rt;const Tt=nn.snapshot(Re);if(this.action?.kind==="edit"){if(me=me.map(Vt=>Vt.applyTextModelChanges(K)),me.some(Vt=>Vt.edit===void 0))return;const Lt=Re.getVersionId();if(ze=me.some(Vt=>Vt.lastChangeUpdatedEdit),ze&&(nt=Lt??-1),Lt===null||nt+20<Lt||(me=me.filter(Vt=>!Vt.edit.isEmpty),me.length===0))return;const Mt=new gi.c7(me.map(Vt=>Vt.edit));rt={kind:"edit",textReplacement:et.getTextEdit(Mt).toReplacement(new vt.m(Re)),snippetInfo:this.snippetInfo,stringEdit:Mt,alternativeAction:this.action.alternativeAction,target:Tt}}else if(this.action?.kind==="jumpTo"){const Lt=this.action.offset,Mt=K.applyToOffsetOrUndefined(Lt);if(Mt===void 0)return;rt={kind:"jumpTo",position:et.getPosition(Mt),offset:Mt,target:Tt}}else rt=void 0;let Pt=this.hint;if(!(Pt&&(Pt=Pt.withEdit(K,et),!Pt)))return new _s(rt,this._data,this.identity,me,Pt,ze,nt,Tt)}computeEditKind(K){const me=this.action?.kind==="edit"?this.action.stringEdit:void 0;if(me)return Ci(me,K)}}function ao(tt,K,me){const Re=tt.getEOL(),et=tt.getValueOfRange(K),ze=me.replace(/\r\n|\r|\n/g,Re),Tt=at.b.getDefault().computeDiff((0,r.uz)(et),(0,r.uz)(ze),{ignoreTrimWhitespace:!1,computeMoves:!1,extendToSubwords:!0,maxComputationTimeMs:50}).changes.flatMap(Nt=>Nt.innerChanges??[]);function Pt(Nt,Vt){const di=pt.W.fromPosition(Vt.getStartPosition());return pt.W.ofRange(Vt).createRange(di.addToPosition(Nt))}const Lt=new Ze.tp(ze);return new gi.c7(Tt.map(Nt=>{const Vt=Pt(K.getStartPosition(),Nt.originalRange),di=tt.getTransformer().getOffsetRange(Vt),Jt=Lt.getValueOfRange(Nt.modifiedRange),_i=new gi.aQ(di,Jt),Ri=tt.getValueOfRange(Vt);return vs(_i,Ri,Tt.length,tt)}))}function ks(tt,K,me){return new gi.c7([new gi.aQ(tt.getTransformer().getOffsetRange(K),me)])}
75class Fs{static create(K,me){const Re=(0,r.Qp)(K.newText,me),et=(0,r.Vi)(K.newText,me),ze=K.newText.substring(Re,K.newText.length-et);return new Fs(K,ze,Re,et)}get edit(){return this._edit}get lastChangeUpdatedEdit(){return this._lastChangeUpdatedEdit}constructor(K,me,Re,et,ze=!1){this._edit=K,this._trimmedNewText=me,this._prefixLength=Re,this._suffixLength=et,this._lastChangeUpdatedEdit=ze}applyTextModelChanges(K){const me=this._clone();return me._applyTextModelChanges(K),me}_clone(){return new Fs(this._edit,this._trimmedNewText,this._prefixLength,this._suffixLength,this._lastChangeUpdatedEdit)}_applyTextModelChanges(K){if(this._lastChangeUpdatedEdit=!1,!this._edit)throw new gt.D7("UpdatedInnerEdits: No edit to apply changes to");const me=this._applyChanges(this._edit,K);if(!me){this._edit=void 0;return}this._edit=me.edit,this._lastChangeUpdatedEdit=me.editHasChanged}_applyChanges(K,me){let Re=K.replaceRange.start,et=K.replaceRange.endExclusive,ze=K.newText,nt=!1;const rt=this._prefixLength>0||this._suffixLength>0;for(let Tt=me.replacements.length-1;Tt>=0;Tt--){const Pt=me.replacements[Tt],Lt=Pt.newText.length>0&&Pt.replaceRange.isEmpty;if(Lt&&!rt&&Pt.replaceRange.start===Re&&ze.startsWith(Pt.newText)){Re+=Pt.newText.length,ze=ze.substring(Pt.newText.length),et+=Pt.newText.length,nt=!0;continue}if(Lt&&rt&&Pt.replaceRange.start===Re+this._prefixLength&&this._trimmedNewText.startsWith(Pt.newText)){et+=Pt.newText.length,nt=!0,this._prefixLength+=Pt.newText.length,this._trimmedNewText=this._trimmedNewText.substring(Pt.newText.length);continue}if(Pt.newText.length===0&&Pt.replaceRange.length>0&&Pt.replaceRange.start>=Re+this._prefixLength&&Pt.replaceRange.endExclusive<=et-this._suffixLength){et-=Pt.replaceRange.length,nt=!0;continue}if(Pt.equals(K)){nt=!0,Re=Pt.replaceRange.endExclusive,ze="";continue}if(!(Pt.replaceRange.start>et)){if(Pt.replaceRange.endExclusive<Re){Re+=Pt.newText.length-Pt.replaceRange.length,et+=Pt.newText.length-Pt.replaceRange.length;continue}return}}return this._trimmedNewText.length===0&&Re+this._prefixLength===et-this._suffixLength?{edit:new gi.aQ(new ge.L(Re+this._prefixLength,Re+this._prefixLength),""),editHasChanged:!0}:{edit:new gi.aQ(new ge.L(Re,et),ze),editHasChanged:nt}}}function as(tt,K){const me=K.getEOL();return tt.replaceRange.isEmpty&&tt.newText.includes(me)&&(tt=Ns(tt,K)),tt}function vs(tt,K,me,Re){const et=Re.getEOL();if(tt.newText.endsWith(et)&&K.endsWith(et)&&(tt=new gi.aQ(tt.replaceRange.deltaEnd(-et.length),tt.newText.slice(0,-et.length))),me===1&&tt.replaceRange.isEmpty&&tt.newText.includes(et)){const ze=Re.getTransformer().getPosition(tt.replaceRange.start);Re.getLineLength(ze.lineNumber)!==0&&(tt=Ns(tt,Re))}if(me===1){const ze=(0,r.Qp)(K,tt.newText),nt=(0,r.Vi)(K.slice(ze),tt.newText.slice(ze));if(ze+nt===K.length)return new gi.aQ(tt.replaceRange.deltaStart(ze).deltaEnd(-nt),tt.newText.substring(ze,tt.newText.length-nt));if(ze+nt===tt.newText.length)return new gi.aQ(tt.replaceRange.deltaStart(ze).deltaEnd(-nt),"")}return tt}function Ns(tt,K){if(!tt.replaceRange.isEmpty)throw new gt.D7("Unexpected original range");if(tt.replaceRange.start===0)return tt;const me=K.getEOL(),Re=K.getTransformer().getPosition(tt.replaceRange.start),et=Re.column,ze=Re.lineNumber;return et===1&&ze>1&&tt.newText.endsWith(me)&&!tt.newText.startsWith(me)?new gi.aQ(tt.replaceRange.delta(-1),me+tt.newText.slice(0,-me.length)):tt}var Er=e(36260),Lr=e(88436),ur=e(37264),Da=e(9223),za=e(85702),fo=e(34883),nr=e(68302),Ur=e(60756),sr=e(33206);function Qo(tt,K){const me=new Ur.Mg,Re=new za.Z(me,Pt=>K.getLanguageConfiguration(Pt)),et=new sr.tk(new kr([tt]),Re),ze=(0,nr.T)(et,[],void 0,!0);let nt="";const rt=tt.getLineContent();function Tt(Pt,Lt){if(Pt.kind===2)if(Tt(Pt.openingBracket,Lt),Lt=(0,fo.QB)(Lt,Pt.openingBracket.length),Pt.child&&(Tt(Pt.child,Lt),Lt=(0,fo.QB)(Lt,Pt.child.length)),Pt.closingBracket)Tt(Pt.closingBracket,Lt),Lt=(0,fo.QB)(Lt,Pt.closingBracket.length);else{const Nt=Re.getSingleLanguageBracketTokens(Pt.openingBracket.languageId).findClosingTokenText(Pt.openingBracket.bracketIds);nt+=Nt}else if(Pt.kind!==3){if(Pt.kind===0||Pt.kind===1)nt+=rt.substring((0,fo.sS)(Lt),(0,fo.sS)((0,fo.QB)(Lt,Pt.length)));else if(Pt.kind===4)for(const Mt of Pt.children)Tt(Mt,Lt),Lt=(0,fo.QB)(Lt,Mt.length)}}return Tt(ze,fo.Vp),nt}class kr{constructor(K){this.lines=K,this.tokenization={getLineTokens:me=>this.lines[me-1]}}getLineCount(){return this.lines.length}getLineLength(K){return this.lines[K-1].getLineContent().length}}var zo=e(32471),gr=e(47039),sn=e(14333),jr=e(9715),jn;(function(tt){tt.Jump="jump",tt.Accept="accept",tt.Inactive="inactive"})(jn||(jn={}));class Do{static create(K,me=!1){return new Do(new jr.P((0,sn.zk)(K),K),me)}constructor(K,me=!1){this.event=K,this.alternativeAction=me}}var Ln;(function(tt){tt.GhostText="ghostText",tt.Custom="custom",tt.SideBySide="sideBySide",tt.Deletion="deleti
75on",tt.InsertionInline="insertionInline",tt.InsertionMultiLine="insertionMultiLine",tt.WordReplacements="wordReplacements",tt.LineReplacement="lineReplacement",tt.Collapsed="collapsed",tt.JumpTo="jumpTo"})(Ln||(Ln={}));class xo{constructor(K,me,Re,et,ze,nt,rt,Tt){this.cursorColumnDistance=K,this.cursorLineDistance=me,this.lineCountOriginal=Re,this.lineCountModified=et,this.characterCountOriginal=ze,this.characterCountModified=nt,this.disjointReplacements=rt,this.sameShapeReplacements=Tt,this.longDistanceHintVisible=void 0,this.longDistanceHintDistance=void 0}setLongDistanceViewData(K,me){this.longDistanceHintVisible=!0,this.longDistanceHintDistance=Math.abs(me-K)}getData(){return{cursorColumnDistance:this.cursorColumnDistance,cursorLineDistance:this.cursorLineDistance,lineCountOriginal:this.lineCountOriginal,lineCountModified:this.lineCountModified,characterCountOriginal:this.characterCountOriginal,characterCountModified:this.characterCountModified,disjointReplacements:this.disjointReplacements,sameShapeReplacements:this.sameShapeReplacements,longDistanceHintVisible:this.longDistanceHintVisible,longDistanceHintDistance:this.longDistanceHintDistance}}}class io{constructor(){this._nodes=new Set,this._outgoingEdges=new Map}static from(K,me){const Re=new io;for(const et of K)Re._nodes.add(et);for(const et of K){const ze=me(et);if(ze.length>0){const nt=new Set;for(const rt of ze)nt.add(rt);Re._outgoingEdges.set(et,nt)}}return Re}removeCycles(){const K=[],me=new Set,Re=new Set,et=[],ze=nt=>{me.add(nt),Re.add(nt);const rt=this._outgoingEdges.get(nt);if(rt)for(const Tt of rt)me.has(Tt)?Re.has(Tt)&&(K.push(Tt),et.push({from:nt,to:Tt})):ze(Tt);Re.delete(nt)};for(const nt of this._nodes)me.has(nt)||ze(nt);for(const{from:nt,to:rt}of et){const Tt=this._outgoingEdges.get(nt);Tt&&Tt.delete(rt)}return{foundCycles:K}}getOutgoing(K){const me=this._outgoingEdges.get(K);return me?Array.from(me):[]}}function fr(tt,K,me,Re,et,ze){const nt=(0,Da.t)("icr"),rt=new xe.Qi;let Tt;const Pt={...Re,requestUuid:nt},Lt=As(K,me),Mt=(0,Lr.Fi)(tt,Ri=>Ri.groupId),Nt=io.from(tt,Ri=>Ri.yieldsToGroupIds?.flatMap(Ui=>Mt.get(Ui)??[])??[]),{foundCycles:Vt}=Nt.removeCycles();Vt.length>0&&(0,gt.M_)(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${Vt.map(Ri=>Ri.toString?Ri.toString():""+Ri).join(" -> ")}`));let di=0;const Jt=new Er.VV(async Ri=>{try{if(di++,rt.token.isCancellationRequested)return;const Ui=Nt.getOutgoing(Ri);for(const ln of Ui){const on=await Jt.get(ln);if(on)for(const pn of on.inlineSuggestions.items){if(pn.isInlineEdit||typeof pn.insertText!="string"&&pn.insertText!==void 0)return;if(pn.insertText!==void 0){const qi=new Zt.W(Gt.Q.lift(pn.range)??Lt,pn.insertText);if(Gn(qi,void 0,me,K))return}}}let un;const cn=Date.now();try{un=await Ri.provideInlineCompletions(me,K,Pt,rt.token)}catch(ln){(0,gt.M_)(ln);return}const fi=Date.now();if(!un)return;const wi=[],gn=new Cs(un,wi,Ri);if(gn.addRef(),Fn(rt.token,()=>gn.removeRef(Tt)),rt.token.isCancellationRequested)return;for(const ln of un.items){const on=hi(ln,gn,Lt,me,ze,Pt,et,{startTime:cn,endTime:fi});if(Xn.is(on)){on.logError();continue}wi.push(on)}return gn}finally{di--}}),_i=we.PQ.fromPromisesResolveOrder(tt.map(Ri=>Jt.get(Ri))).filter(Me.O9);return{contextWithUuid:Pt,get didAllProvidersReturn(){return di===0},lists:_i,cancelAndDispose:Ri=>{Tt===void 0&&(Tt=Ri,rt.dispose(!0))}}}function Fn(tt,K){if(tt.isCancellationRequested)return K(),M.jG.None;{const me=tt.onCancellationRequested(()=>{me.dispose(),K()});return{dispose:()=>me.dispose()}}}function hi(tt,K,me,Re,et,ze,nt,rt){let Tt;const Pt=tt.uri?ur.r.revive(tt.uri):void 0;if(tt.jumpToPosition!==void 0)Tt={kind:"jumpTo",position:Ue.y.lift(tt.jumpToPosition),uri:Pt};else if(tt.insertText!==void 0){let Lt,Mt,Nt=tt.range?Gt.Q.lift(tt.range):me;if(typeof tt.insertText=="string"){if(Lt=tt.insertText,et&&tt.completeBracketPairs){Lt=so(Lt,Nt.getStartPosition(),Re,et);const Vt=Lt.length-tt.insertText.length;Vt!==0&&(Nt=new Gt.Q(Nt.startLineNumber,Nt.startColumn,Nt.endLineNumber,Nt.endColumn+Vt))}Mt=void 0}else if("snippet"in tt.insertText){const Vt=tt.insertText.snippet.length;if(et&&tt.completeBracketPairs){tt.insertText.snippet=so(tt.insertText.snippet,Nt.getStartPosition(),Re,et);const Jt=tt.insertText.snippet.length-Vt;Jt!==0&&(Nt=new Gt.Q(Nt.startLineNumber,Nt.startColumn,Nt.endLineNumber,Nt.endColumn+Jt))}const di=new gr.fr().parse(tt.insertText.snippet);di.children.length===1&&di.children[0]instanceof gr.EY?(Lt=di.children[0].value,Mt=void 0):(Lt=di.toString(),Mt={snippet:tt.insertText.snippet,range:Nt})}else(0,zs.xb)(tt.insertText);Tt={kind:"edit",range:Nt,insertText:Lt,snippetInfo:Mt,uri:Pt,alternativeAction:void 0}}else if(Tt=void 0,!tt.hint)return Xn.message("Inline completion has no insertText, jumpToPosition nor hint.");return new Yi(Tt,tt.hint,tt.additionalTextEdits||Qn(),tt,K,ze,tt.isInlineEdit??!1,tt.supportsRename??!1,nt,rt,tt.correlationId)}class Yi{get action(){return this._action}constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt,Mt){this._action=K,this.hint=me,this.additionalTextEdits=Re,this.sourceInlineCompletion=et,this.source=ze,this.context=nt,this.isInlineEdit=rt,this.supportsRename=Tt,this._requestInfo=Pt,this._providerRequestInfo=Lt,this._correlationId=Mt,this._didShow=!1,this._timeUntilShown=void 0,this._timeUntilActuallyShown=void 0,this._showStartTime=void 0,this._shownDuration=0,this._showUncollapsedStartTime=void 0,this._showUncollapsedDuration=0,this._notShownReason=void 0,this._didReportEndOfLife=!1,this._lastSetEndOfLifeReason=void 0,this._isPreceeded=!1,this._partiallyAcceptedCount=0,this._partiallyAcceptedSinceOriginal={characters:0,ratio:0,count:0},this._renameInfo=void 0,this._editKind=void 0,this.performance=new En,this._viewData={editorType:Pt.editorType}}get showInlineEditMenu(){return this.sourceInlineCompletion.showInlineEditMenu??!1}get partialAccepts(){return this._partiallyAcceptedSinceOriginal}async reportInlineEditShown(K,me,Re,et,ze,nt){if(this.updateShownDuration(Re),this._didShow||this._didReportEndOfLife)return;this.addPerformanceMarker("shown"),this._didShow=!0,this._editKind=ze,this._viewData.viewKind=Re,this._viewData.renderData=et,this._timeUntilShown=nt-this._requestInfo.startTime,this._timeUntilActuallyShown=Date.now()-this._requestInfo.startTime;const rt=new zo.lw(et.lineCountModified,et.lineCountOriginal,et.characterCountModified,et.characterCountOriginal);this.source.provider.handleItemDidShow?.(this.source.inlineSuggestions,this.sourceInlineCompletion,me,rt),this.sourceInlineCompletion.shownCommand&&await K.executeCommand(this.sourceInlineCompletion.shownCommand.id,...this.sourceInlineCompletion.shownCommand.arguments||[])}reportPartialAccept(K,me,Re){this._partiallyAcceptedCount++,this._partiallyAcceptedSinceOriginal.characters+=Re.characters,this._partiallyAcceptedSinceOriginal.ratio=Math.min(this._partiallyAcceptedSinceOriginal.ratio+(1-this._partiallyAcceptedSinceOriginal.ratio)*Re.ratio,1),this._partiallyAcceptedSinceOriginal.count+=Re.count,this.source.provider.handlePartialAccept?.(this.source.inlineSuggestions,this.sourceInlineCompletion,K,me)}reportEndOfLife(K){if(!this._didReportEndOfLife&&(this._didReportEndOfLife=!0,this.reportInlineEditHidden(),K||(K=this._lastSetEndOfLifeReason??{kind:Fe.EI.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),K.kind===Fe.EI.Rejected&&!this._didShow&&(K={kind:Fe.EI.Ignored,userTypingDisagreed:!1,supersededBy:void 0}),K.kind===Fe.EI.Rejected&&this.source.provider.handleRejection&&this.source.provider.handleRejection(this.source.inlineSuggestions,this.sourceInlineCompletion),this.source.provider.handleEndOfLifetime)){const me={requestUuid:this.context.requestUuid,correlationId:this._correlationId,selectedSuggestionInfo:!!this.context.selectedSuggestionInfo,partiallyAccepted:this._partiallyAcceptedCount,partiallyAcceptedCountSinceOriginal:this._partiallyAcceptedSinceOriginal.count,partiallyAcceptedRatioSinceOriginal:this._partiallyAcceptedSinceOriginal.ratio,partiallyAcceptedCharactersSinceOriginal:this._partiallyAcceptedSinceOriginal.characters,shown:this._didShow,shownDuration:this._shownDuration,shownDurationUncollapsed:this._showUncollapsedDuration,editKind:this._editKind?.toString(),preceeded:this._isPreceeded,timeUntilShown:this._timeUntilShown,timeUntilActuallyShown:this._timeUntilActuallyShown,timeUntilProviderRequest:this._providerRequestInfo.startTime-this._requestInfo.startTime,timeUntilProviderResponse:this._providerRequestInfo.endTime-this._requestInfo.startTime,editorType:this._viewData.editorType,languageId:this._requestInfo.languageId,requestReason:this._requestInfo.reason,viewKind:this._viewData.viewKind,notShownReason:this._notShownReason,performanceMarkers:this.performance.toString(),renameCreated:this._renameInfo?.createdRename,renameDuration:this._renameInfo?.duration,renameTimedOut:this._renameInfo?.timedOut,renameDroppedOtherEdits:this._renameInfo?.droppedOtherEdits,renameDroppedRenameEdits:this._renameInfo?.droppedRenameEdits,typingInterval:this._requestInfo.typingInterval,typingIntervalCharacterCount:this._requestInfo.typingIntervalCharacterCount,skuPlan:this._requestInfo.sku?.plan,skuType:this._requestInfo.sku?.type,availableProviders:this._requestInfo.availableProviders.map(Re=>Re.toString()).join(","),...this._viewData.renderData?.getData()};this.source.provider.handleEndOfLifetime(this.source.inlineSuggestions,this.sourceInlineCompletion,K,me)}}setIsPreceeded(K){this._isPreceeded=!0,(this._partiallyAcceptedSinceOriginal.characters!==0||this._partiallyAcceptedSinceOriginal.ratio!==0||this._partiallyAcceptedSinceOriginal.count!==0)&&console.warn("Expected partiallyAcceptedCountSinceOriginal to be { characters: 0, rate: 0, partialAcceptances: 0 } before setIsPreceeded."),this._partiallyAcceptedSinceOriginal=K}setNotShownReason(K){this._notShownReason??=K}setEndOfLifeReason(K){this.reportInlineEditHidden(),this._lastSetEndOfLifeReason=K}updateShownDuration(K){const me=Date.now();this._showStartTime||(this._showStartTime=me);const Re=K===Ln.Collapsed;!Re&&this._showUncollapsedStartTime===void 0&&(this._showUncollapsedStartTime=me),Re&&this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=me-this._showUncollapsedStartTime)}reportInlineEditHidden(){if(this._showStartTime===void 0)return;const K=Date.now();this._shownDuration+=K-this._showStartTime,this._showStartTime=void 0,this._showUncollapsedStartTime!==void 0&&(this._showUncollapsedDuration+=K-this._showUncollapsedStartTime,this._showUncollapsedStartTime=void 0)}setRenameProcessingInfo(K){if(this._renameInfo)throw new gt.D7("Rename info has already been set.");this._renameInfo=K}withAction(K){return this._action=K,this}addPerformanceMarker(K){this.performance.mark(K)}}class En{constructor(){this.markers=[],this.markers.push({name:"start",timeStamp:Date.now()})}mark(K){this.markers.push({name:K,timeStamp:Date.now()})}toString(){const K=[];for(let me=1;me<this.markers.length;me++){const Re=this.markers[me].timeStamp-this.markers[me-1].timeStamp;K.push({[this.markers[me].name]:Re})}return JSON.stringify(K)}}var An;(function(tt){tt.TextEditor="textEditor",tt.DiffEditor="diffEditor",tt.Notebook="notebook"})(An||(An={}));class Cs{constructor(K,me,Re){this.inlineSuggestions=K,this.inlineSuggestionsData=me,this.provider=Re,this.refCount=0}addRef(){this.refCount++}removeRef(K={kind:"other"}){if(this.refCount--,this.refCount===0){for(const me of this.inlineSuggestionsData)me.reportEndOfLife();
75this.provider.disposeInlineCompletions(this.inlineSuggestions,K)}else this.refCount<0&&(0,gt.dz)(new gt.D7(`InlineSuggestionList (provider=${this.provider.providerId?.toString()}) refCount went negative (${this.refCount}) \u2014 more removeRef than addRef calls.`))}}function As(tt,K){const me=K.getWordAtPosition(tt),Re=K.getLineMaxColumn(tt.lineNumber);return me?new Gt.Q(tt.lineNumber,me.startColumn,tt.lineNumber,Re):Gt.Q.fromPositions(tt,tt.with(void 0,Re))}function so(tt,K,me,Re){const et=me.getLineContent(K.lineNumber),ze=gi.aQ.replace(new ge.L(K.column-1,et.length),tt),rt=me.tokenization.tokenizeLinesAt(K.lineNumber,[ze.replace(et)])?.[0].sliceZeroCopy(ze.getRangeAfterReplace());return rt?Qo(rt,Re):tt}var Wn=e(98769),Mo=e(61453),Hs=e(5915),Zs=e(36813),$s=e(87301),la=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Yo=function(tt,K){return function(me,Re){K(me,Re,tt)}},po;(function(tt){tt.no="no",tt.yes="yes",tt.maybe="maybe"})(po||(po={})),function(tt){function K(me){switch(me){case"no":return tt.no;case"yes":return tt.yes;case"maybe":return tt.maybe;default:return tt.no}}tt.fromString=K}(po||(po={}));class dl{constructor(){}inferRename(K,me,Re,et){const ze=new Gt.Q(me.startLineNumber,1,me.endLineNumber,K.getLineMaxColumn(me.endLineNumber)),nt=me.startColumn-ze.startColumn,rt=ze.endColumn-me.endColumn,Tt=K.getValueInRange(ze),Pt=K.getValueInRange(new Gt.Q(ze.startLineNumber,ze.startColumn,ze.startLineNumber,ze.startColumn+nt))+Re+K.getValueInRange(new Gt.Q(ze.endLineNumber,ze.endColumn-rt,ze.endLineNumber,ze.endColumn)),Lt=[],Mt=[];let Nt,Vt,di;const Jt=K.getOffsetAt(ze.getStartPosition()),{changes:_i}=new ps.uP(new ps.CH(Tt),new ps.CH(Pt)).ComputeDiff(!0);if(_i.length===0)return;const Ri=[];for(const cn of _i){if(Ri.length===0){Ri.push(cn);continue}const fi=Ri[Ri.length-1],wi=cn.originalStart-(fi.originalStart+fi.originalLength);if(wi>0){const gn=Jt+fi.originalStart+fi.originalLength,ln=K.getPositionAt(gn),on=K.getWordAtPosition(ln);if(on){const pn=K.getOffsetAt(new Ue.y(ln.lineNumber,on.startColumn)),qi=K.getOffsetAt(new Ue.y(ln.lineNumber,on.endColumn)),Un=gn+wi;if(pn<=gn&&Un<=qi&&pn<=Un&&Un<=qi){fi.originalLength=cn.originalStart+cn.originalLength-fi.originalStart,fi.modifiedLength=cn.modifiedStart+cn.modifiedLength-fi.modifiedStart;continue}}}Ri.push(cn)}let Ui=0;for(const cn of Ri){const fi=Tt.substring(cn.originalStart,cn.originalStart+cn.originalLength),wi=Pt.substring(cn.modifiedStart,cn.modifiedStart+cn.modifiedLength),gn=Jt+cn.originalStart,ln=K.getPositionAt(gn),on=gn+cn.originalLength,pn=K.getPositionAt(on),qi=Gt.Q.fromPositions(ln,pn),Un=wi.length-cn.originalLength;if(/\s/.test(fi)){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}if(fi.length>0){et.lastIndex=0;const Is=et.exec(fi);if(Is===null||Is.index!==0||Is[0].length!==fi.length){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}}if(/\s/.test(wi)){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}if(wi.length>0){et.lastIndex=0;const Is=et.exec(wi);if(Is===null||Is.index!==0||Is[0].length!==wi.length){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}}const ns=K.getWordAtPosition(ln);if(ns===null){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}const bs=cn.originalStart+1,Ks=cn.originalLength===0&&cn.modifiedLength>0;let Os;if(Ks&&bs===ns.endColumn&&ns.endColumn>ns.startColumn?Os=this.getTokenAtPosition(K,new Ue.y(ln.lineNumber,ns.startColumn)):Os=this.getTokenAtPosition(K,ln),ns.startColumn!==Os.range.startColumn||ns.endColumn!==Os.range.endColumn){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}if(Os.type===0){let Is=K.getValueInRange(Os.range);if(Is.length===0){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}if(Nt===void 0)Nt=Is;else if(Nt!==Is){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}const qn=K.getOffsetAt(Os.range.getStartPosition())-Jt+Ui,gs=K.getOffsetAt(Os.range.getEndPosition())-Jt+Ui;if(Is=Pt.substring(qn,gs+Un),Is.length===0){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}if(Vt===void 0)Vt=Is;else if(Vt!==Is){Lt.push(new Zt.W(qi,wi)),Ui+=Un;continue}
75di===void 0&&(di=Os.range.getStartPosition()),Nt!==void 0&&Vt!==void 0&&Nt.length>0&&Vt.length>0&&Nt!==Vt?Mt.push(new Zt.W(Os.range,Vt)):Mt.push(new Zt.W(qi,wi)),Ui+=Un}else Lt.push(new Zt.W(qi,wi)),Ui+=wi.length-cn.originalLength}if(Nt===void 0||Vt===void 0||di===void 0||Nt.length===0||Vt.length===0||Nt===Vt)return;et.lastIndex=0;let un=et.exec(Nt);if(!(un===null||un.index!==0||un[0].length!==Nt.length)&&(et.lastIndex=0,un=et.exec(Vt),!(un===null||un.index!==0||un[0].length!==Vt.length)))return{renames:{edits:Mt,position:di,oldName:Nt,newName:Vt},others:{edits:Lt}}}getTokenAtPosition(K,me){K.tokenization.tokenizeIfCheap(me.lineNumber);const Re=K.tokenization.getLineTokens(me.lineNumber),et=Re.findTokenIndexAtOffset(me.column-1);return{type:Re.getStandardTokenType(et),range:new Gt.Q(me.lineNumber,1+Re.getStartOffset(et),me.lineNumber,1+Re.getEndOffset(et))}}}class mr{static create(K,me){const Re=K.getFocusedCodeEditor();if(Re!==null&&Re.getModel()===me)return new mr(Re,me.getVersionId())}constructor(K,me){this.editor=K,this.versionId=me}equals(K){return K===void 0?!1:this.editor===K.editor&&this.versionId===K.versionId}}class _o{constructor(K,me,Re,et,ze,nt,rt,Tt,Pt){if(this._result=void 0,this._commandService=me,this._textModel=et,this._state=ze,this._requestUuid=Re,this._cancellationTokenSource=new xe.Qi,Tt===void 0||Pt===void 0){this._promise=(0,Mo.F1)(K.renameProvider,et,nt,rt,this._cancellationTokenSource.token);return}else this._promise=this.sendNesRenameRequest(et,nt,Pt,rt,Tt)}get requestUuid(){return this._requestUuid}isValid(K){return this._state.equals(mr.create(K,this._textModel))}cancel(){this._cancellationTokenSource.cancel()}async getCount(){if(this._cancellationTokenSource.token.isCancellationRequested)return 0;const K=await this.getResult();return K===void 0||this._cancellationTokenSource.token.isCancellationRequested?0:K.edits.length}async getWorkspaceEdit(){return this.getResult()}async getResult(){if(!this._cancellationTokenSource.token.isCancellationRequested&&(this._result===void 0&&(this._result=await this._promise),!(this._result.rejectReason||this._cancellationTokenSource.token.isCancellationRequested)))return this._result}async sendNesRenameRequest(K,me,Re,et,ze){try{const nt=await this._commandService.executeCommand("github.copilot.nes.postRename",K.uri,me,Re,et,ze);if(nt===void 0)return{rejectReason:"Rename failed",edits:[]};const rt=[];for(const Tt of nt)for(const Pt of Tt.changes){const Lt=new Gt.Q(Pt.range.start.line+1,Pt.range.start.character+1,Pt.range.end.line+1,Pt.range.end.character+1),Mt=new Wn.cw(Tt.file,new Zt.W(Lt,Pt.newText??et));rt.push(Mt)}return{edits:rt}}catch{return{rejectReason:"Rename failed",edits:[]}}}}let Dr=class extends M.jG{constructor(K,me,Re,et,ze,nt){super(),this._commandService=K,this._languageFeaturesService=me,this._languageConfigurationService=Re,this._renameSymbolTrackerService=ze,this._codeEditorService=nt,this._renameInferenceEngine=new dl,this._renameRunnable=void 0,this._register(_e.w.registerCommand(de.NG,async(rt,Tt,Pt)=>{if(!(Pt===void 0||!Pt.isValid(this._codeEditorService)))try{const Lt=await Pt.getWorkspaceEdit();if(Lt===void 0)return;et.apply(Lt,{reason:Tt})}finally{this._renameRunnable===Pt&&(this._renameRunnable=void 0)}}))}async proposeRenameRefactoring(K,me,Re){if(!me.supportsRename||me.action?.kind!=="edit"||Re.selectedSuggestionInfo||!(0,Mo.eZ)(this._languageFeaturesService.renameProvider,K))return me;const et=mr.create(this._codeEditorService,K);if(et===void 0)return me;const ze=Date.now(),nt=me.action.textReplacement,rt=this._languageConfigurationService.getLanguageConfiguration(K.getLanguageId()),Tt=this._renameInferenceEngine.inferRename(K,nt.range,nt.text,rt.wordDefinition);if(Tt===void 0||Tt.renames.edits.length===0)return me;const{oldName:Pt,newName:Lt,position:Mt,edits:Nt}=Tt.renames,Vt=this._renameSymbolTrackerService.trackedWord.get();let di;Vt!==void 0&&Vt.model===K&&Vt.originalWord===Pt&&Vt.currentWord===Lt&&(di=Vt.currentRange);let Jt=!1;const _i=await(0,we.j0)(this.checkRenamePrecondition(me,K,Mt,Pt,Lt,di),100,()=>{Jt=!0}),Ri=this.isRenamePossible(me,_i,et,K);if(me.setRenameProcessingInfo({createdRename:Ri,duration:Date.now()-ze,timedOut:Jt,droppedOtherEdits:Ri?Tt.others.edits.length:void 0,droppedRenameEdits:Ri?Nt.length-1:void 0}),!Ri)return me;this._renameRunnable===void 0&&(this._renameRunnable=new _o(this._languageFeaturesService,this._commandService,me.requestUuid,K,et,Mt,Lt,di,di!==void 0?Pt:void 0));const Ui=zo.dg.inlineCompletionAccept({nes:me.isInlineEdit,requestUuid:me.requestUuid,providerId:me.source.provider.providerId,languageId:K.getLanguageId(),correlationId:me.getSourceCompletion().correlationId}),un={id:de.NG,title:(0,I.kg)(1254,"Rename"),arguments:[Ui,this._renameRunnable]},cn={label:(0,I.kg)(1255,"Rename"),icon:Hs.W.replaceAll,command:un,count:this._renameRunnable.getCount()},fi={kind:"edit",range:Nt[0].range,insertText:Nt[0].text,snippetInfo:me.snippetInfo,alternativeAction:cn,uri:K.uri},wi=nn.snapshot(K);return kn.create(me.withAction(fi),wi,!1)}async checkRenamePrecondition(K,me,Re,et,ze,nt){const rt={canRename:po.no,timedOut:!1};try{const Tt=await this._commandService.executeCommand("github.copilot.nes.prepareRename",me.uri,Re,et,ze,K.requestUuid,nt);if(Tt===void 0)return rt;if(typeof Tt=="string"){const Pt=po.fromString(Tt);return Pt===po.yes||Pt===po.maybe?{canRename:Pt,oldName:et,onOldState:!1}:{canRename:Pt,timedOut:!1}}else return Tt}catch{return rt}}isRenamePossible(K,me,Re,et){return me===void 0||me.canRename===po.no||!Re.equals(mr.create(this._codeEditorService,et))?!1:this._renameRunnable===void 0?!0:this._renameRunnable.requestUuid===K.requestUuid?!1:(this._renameRunnable.cancel(),this._renameRunnable=void 0,!0)}};Dr=la([Yo(0,_e.d),Yo(1,ie.u),Yo(2,st.JZ),Yo(3,Wn.nu),Yo(4,Zs.h),Yo(5,$s.T)],Dr);var Tl=e(76703),Ai=e(99859),pr=e(32605),Ml=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},go=function(tt,K){return function(me,Re){K(me,Re,tt)}},Io;let Ro=(Br=class extends M.jG{constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt){super(),this._textModel=K,this._versionId=me,this._debounceValue=Re,this._cursorPosition=et,this._languageConfigurationService=ze,this._logService=nt,this._configurationService=rt,this._instantiationService=Tt,this._contextKeyService=Pt,this._textModelService=Lt,this._updateOperation=this._register(new M.HE),this._state=ui(this,{initial:()=>({inlineCompletions:vo.createEmpty(),suggestWidgetInlineCompletions:vo.createEmpty()}),disposeFinal:Nt=>{Nt.inlineCompletions.dispose(),Nt.suggestWidgetInlineCompletions.dispose()},changeTracker:(0,Tl.f)(()=>({versionId:this._versionId})),update:(Nt,Vt,di)=>{const Jt=gi.c7.compose(di.changes.map(_i=>_i.change?(0,Ki.Y)(_i.change.changes):gi.c7.empty).filter(Me.O9));if(Jt.isEmpty())return Vt;
75try{return{inlineCompletions:Vt.inlineCompletions.createStateWithAppliedEdit(Jt,this._textModel),suggestWidgetInlineCompletions:Vt.suggestWidgetInlineCompletions.createStateWithAppliedEdit(Jt,this._textModel)}}finally{Vt.inlineCompletions.dispose(),Vt.suggestWidgetInlineCompletions.dispose()}}}),this.inlineCompletions=this._state.map(this,Nt=>Nt.inlineCompletions),this.suggestWidgetInlineCompletions=this._state.map(this,Nt=>Nt.suggestWidgetInlineCompletions),this._completionsEnabled=void 0,this.clearOperationOnTextModelChange=(0,Ai.un)(this,Nt=>{this._versionId.read(Nt),this._updateOperation.clear()}),this._loadingCount=(0,Sn.FY)(this,0),this.loading=this._loadingCount.map(this,Nt=>Nt>0),this._loggingEnabled=(0,Si.V)("editor.inlineSuggest.logFetch",!1,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._sendRequestData=(0,Si.V)("editor.inlineSuggest.emptyResponseInformation",!0,this._configurationService).recomputeInitiallyAndOnChange(this._store),this._structuredFetchLogger=this._register(this._instantiationService.createInstance(ve.cast(),"editor.inlineSuggest.logFetch.commandId")),this._renameProcessor=this._store.add(this._instantiationService.createInstance(Dr)),this.clearOperationOnTextModelChange.recomputeInitiallyAndOnChange(this._store);const Mt=ai.A.defaultChatAgent?.completionsEnablementSetting??void 0;Mt&&(this._updateCompletionsEnablement(Mt),this._register(this._configurationService.onDidChangeConfiguration(Nt=>{Nt.affectsConfiguration(Mt)&&this._updateCompletionsEnablement(Mt)}))),this._state.recomputeInitiallyAndOnChange(this._store)}_updateCompletionsEnablement(K){const me=this._configurationService.getValue(K);(0,Me.Gv)(me)?this._completionsEnabled=me:this._completionsEnabled=void 0}_log(K){this._loggingEnabled.get()&&this._logService.info(J(K)),this._structuredFetchLogger.log(K)}fetch(K,me,Re,et,ze,nt,rt){const Tt=this._cursorPosition.get(),Pt=new or(Tt,Re,this._textModel.getVersionId(),new Set(K)),Lt=Re.selectedSuggestionInfo?this.suggestWidgetInlineCompletions.get():this.inlineCompletions.get();if(this._updateOperation.value?.request.satisfies(Pt))return this._updateOperation.value.promise;if(Lt?.request?.satisfies(Pt))return Promise.resolve(!0);const Mt=!!this._updateOperation.value;this._updateOperation.clear();const Nt=new xe.Qi,Vt=(async()=>{const Jt=new M.Cm;this._loadingCount.set(this._loadingCount.get()+1,void 0);let _i=!1;const Ri=()=>{_i||(_i=!0,this._loadingCount.set(this._loadingCount.get()-1,void 0))};Jt.add(new we.uC(()=>Ri(),10*1e3)).schedule();const un=K.filter(fi=>fi.providerId),cn=new da(Re,rt,un);try{const fi=this._debounceValue.get(this._textModel),wi=(0,Xe.ot)(K.map(qn=>qn.debounceDelayMs),(0,d.v1)(d.U9))??fi;if((Mt||ze&&Re.triggerKind===Fe.qw.Automatic)&&await es(wi,Nt.token),Nt.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==Pt.versionId)return cn.setNoSuggestionReasonIfNotSet("canceled:beforeFetch"),!1;const ln=Io._requestId++;(this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get())&&this._log({sourceId:"InlineCompletions.fetch",kind:"start",requestId:ln,modelUri:this._textModel.uri,modelVersion:this._textModel.getVersionId(),context:{triggerKind:Re.triggerKind,suggestInfo:Re.selectedSuggestionInfo?!0:void 0},time:Date.now(),provider:me});const on=new Date,pn=fr(K,this._cursorPosition.get(),this._textModel,Re,rt,this._languageConfigurationService);Fn(Nt.token,()=>pn.cancelAndDispose({kind:"tokenCancellation"}));let qi=!1,Un=!1;const ns=[];for await(const qn of pn.lists)if(qn){qn.addRef(),Jt.add((0,M.s)(()=>qn.removeRef(qn.inlineSuggestionsData.length===0?{kind:"empty"}:{kind:"notTaken"})));for(const gs of qn.inlineSuggestionsData){if(Un=!0,!Re.includeInlineEdits&&(gs.isInlineEdit||gs.showInlineEditMenu)){gs.setNotShownReason("notInlineEditRequested");continue}if(!Re.includeInlineCompletions&&!(gs.isInlineEdit||gs.showInlineEditMenu)){gs.setNotShownReason("notInlineCompletionRequested");continue}gs.addPerformanceMarker("providerReturned");const wr=gs.action?.uri;let Co,ys;if(wr&&wr.toString()!==this._textModel.uri.toString()){const to=await this._textModelService.createModelReference(wr);Co=to.object.textEditorModel,ys=to}else Co=this._textModel,ys=void 0;const Hr=nn.snapshot(Co),_n=kn.create(gs,Hr);if(ys){const to=(0,pr.lp)(_n.identity.onDispose,()=>{ys?.dispose(),to.dispose()})}gs.addPerformanceMarker("itemCreated"),ns.push(_n),!_n.isInlineEdit&&!_n.showInlineEditMenu&&Re.triggerKind===Fe.qw.Automatic&&_n.isVisible(this._textModel,this._cursorPosition.get())&&(qi=!0)}if(qi)break}ns.forEach(qn=>qn.addPerformanceMarker("providersResolved"));const bs=await Promise.all(ns.map(async qn=>this._renameProcessor.proposeRenameRefactoring(this._textModel,qn,Re)));
75if(bs.forEach(qn=>qn.addPerformanceMarker("renameProcessed")),pn.cancelAndDispose({kind:"lostRace"}),this._loggingEnabled.get()||this._structuredFetchLogger.isEnabled.get()){const qn=pn.didAllProvidersReturn;let gs;(Nt.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==Pt.versionId)&&(gs="canceled");const wr=bs.map(Co=>{const ys=Co.getSourceCompletion();if(ys.doNotLog)return;const Hr={insertText:ys.insertText,range:ys.range,additionalTextEdits:ys.additionalTextEdits,uri:ys.uri,command:ys.command,gutterMenuLinkAction:ys.gutterMenuLinkAction,shownCommand:ys.shownCommand,completeBracketPairs:ys.completeBracketPairs,isInlineEdit:ys.isInlineEdit,showInlineEditMenu:ys.showInlineEditMenu,showRange:ys.showRange,warning:ys.warning,hint:ys.hint,supportsRename:ys.supportsRename,correlationId:ys.correlationId,jumpToPosition:ys.jumpToPosition};return{...(0,li.PI)(Hr,_n=>Gt.Q.isIRange(_n)?Gt.Q.lift(_n).toString():Ue.y.isIPosition(_n)?Ue.y.lift(_n).toString():Fe.uB.is(_n)?{$commandId:_n.id}:_n),$providerId:Co.source.provider.providerId?.toString()}}).filter(Co=>Co!==void 0);this._log({sourceId:"InlineCompletions.fetch",kind:"end",requestId:ln,durationMs:Date.now()-on.getTime(),error:gs,result:wr,time:Date.now(),didAllProvidersReturn:qn})}if(cn.setRequestUuid(pn.contextWithUuid.requestUuid),Un)cn.setHasProducedSuggestion(),bs.length>0&&Nt.token.isCancellationRequested&&bs.forEach(qn=>qn.setNotShownReasonIfNotSet("canceled:whileAwaitingOtherProviders"));else if(Nt.token.isCancellationRequested)cn.setNoSuggestionReasonIfNotSet("canceled:whileFetching");else{const qn=this._contextKeyService.getContextKeyValue("completionsQuotaExceeded");cn.setNoSuggestionReasonIfNotSet(qn?"completionsQuotaExceeded":"noSuggestion")}const Ks=Re.earliestShownDateTime-Date.now();if(Ks>0&&await es(Ks,Nt.token),bs.forEach(qn=>qn.addPerformanceMarker("minShowDelayPassed")),Nt.token.isCancellationRequested||this._store.isDisposed||this._textModel.getVersionId()!==Pt.versionId||nt.get()){const qn=Nt.token.isCancellationRequested?"canceled:afterMinShowDelay":this._store.isDisposed?"canceled:disposed":this._textModel.getVersionId()!==Pt.versionId?"canceled:documentChanged":nt.get()?"canceled:userJumped":"unknown";return bs.forEach(gs=>gs.setNotShownReasonIfNotSet(qn)),!1}const Os=new Date;this._debounceValue.update(this._textModel,Os.getTime()-on.getTime());const Is=this._cursorPosition.get();this._updateOperation.clear(),(0,On.Rn)(qn=>{const gs=this._state.get();Re.selectedSuggestionInfo?this._state.set({inlineCompletions:vo.createEmpty(),suggestWidgetInlineCompletions:gs.suggestWidgetInlineCompletions.createStateWithAppliedResults(bs,Pt,this._textModel,Is,et)},qn):this._state.set({inlineCompletions:gs.inlineCompletions.createStateWithAppliedResults(bs,Pt,this._textModel,Is,et),suggestWidgetInlineCompletions:vo.createEmpty()},qn),gs.inlineCompletions.dispose(),gs.suggestWidgetInlineCompletions.dispose()})}finally{Jt.dispose(),Ri(),this._sendInlineCompletionsRequestTelemetry(cn)}return!0})(),di=new ha(Pt,Nt,Vt);return this._updateOperation.value=di,Vt}clear(K){if(this._store.isDisposed)return;this._updateOperation.clear();const me=this._state.get();this._state.set({inlineCompletions:vo.createEmpty(),suggestWidgetInlineCompletions:vo.createEmpty()},K),me.inlineCompletions.dispose(),me.suggestWidgetInlineCompletions.dispose()}seedInlineCompletionsWithSuggestWidget(){const K=this.inlineCompletions.get(),me=this.suggestWidgetInlineCompletions.get();me&&(0,On.Rn)(Re=>{if(!K||(me.request?.versionId??-1)>(K.request?.versionId??-1)){K?.dispose();const et=this._state.get();this._state.set({inlineCompletions:me.clone(),suggestWidgetInlineCompletions:vo.createEmpty()},Re),et.inlineCompletions.dispose(),et.suggestWidgetInlineCompletions.dispose()}this.clearSuggestWidgetInlineCompletions(Re)})}seedWithCompletion(K,me){const Re=this._state.get();this._state.set({inlineCompletions:new vo([K],void 0),suggestWidgetInlineCompletions:vo.createEmpty()},me),Re.inlineCompletions.dispose(),Re.suggestWidgetInlineCompletions.dispose()}_sendInlineCompletionsRequestTelemetry(K){if(!this._sendRequestData.get()&&!this._contextKeyService.getContextKeyValue("isRunningUnificationExperiment")||K.requestUuid===void 0||K.hasProducedSuggestion||!(0,Zi.S)(this._completionsEnabled,this._textModel.getLanguageId())||!K.providers.some(et=>Qt(et.providerId?.extensionId)))return;const me={opportunityId:K.requestUuid,noSuggestionReason:K.noSuggestionReason??"unknown",extensionId:"vscode-core",extensionVersion:"0.0.0",groupId:"empty",shown:!1,skuPlan:K.requestInfo.sku?.plan,skuType:K.requestInfo.sku?.type,editorType:K.requestInfo.editorType,requestReason:K.requestInfo.reason,typingInterval:K.requestInfo.typingInterval,typingIntervalCharacterCount:K.requestInfo.typingIntervalCharacterCount,languageId:K.requestInfo.languageId,selectedSuggestionInfo:!!K.context.selectedSuggestionInfo,availableProviders:K.providers.map(et=>et.providerId?.toString()).filter(Me.O9).join(","),...Ot(K.providers.some(et=>Qt(et.providerId?.extensionId))),timeUntilProviderRequest:void 0,timeUntilProviderResponse:void 0,viewKind:void 0,preceeded:void 0,superseded:void 0,reason:void 0,acceptedAlternativeAction:void 0,correlationId:void 0,shownDuration:void 0,shownDurationUncollapsed:void 0,timeUntilShown:void 0,partiallyAccepted:void 0,partiallyAcceptedCountSinceOriginal:void 0,partiallyAcceptedRatioSinceOriginal:void 0,partiallyAcceptedCharactersSinceOriginal:void 0,cursorColumnDistance:void 0,cursorLineDistance:void 0,lineCountOriginal:void 0,lineCountModified:void 0,characterCountOriginal:void 0,characterCountModified:void 0,disjointReplacements:void 0,sameShapeReplacements:void 0,longDistanceHintVisible:void 0,longDistanceHintDistance:void 0,notShownReason:void 0,renameCreated:!1,renameDuration:void 0,renameTimedOut:!1,renameDroppedOtherEdits:void 0,renameDroppedRenameEdits:void 0,performanceMarkers:void 0,editKind:void 0},Re=this._instantiationService.createInstance(Rt);ot(Re,me)}clearSuggestWidgetInlineCompletions(K){this._updateOperation.value?.request.context.selectedSuggestionInfo&&this._updateOperation.clear()}cancelUpdate(){this._updateOperation.clear()}},Io=Br,Br._requestId=0,Br);Ro=Io=Ml([go(4,st.JZ),go(5,qe.rr),go(6,X.pG),go(7,T._Y),go(8,G.fN),go(9,bi.b)],Ro);class or{constructor(K,me,Re,et){this.position=K,this.context=me,this.versionId=Re,this.providers=et}satisfies(K){return this.position.equals(K.position)&&(0,dt.KC)(this.context.selectedSuggestionInfo,K.context.selectedSuggestionInfo,(0,dt.d)())&&(K.context.triggerKind===Fe.qw.Automatic||this.context.triggerKind===Fe.qw.Explicit)&&this.versionId===K.versionId&&ca(K.providers,this.providers)}}class da{constructor(K,me,Re){this.context=K,this.requestInfo=me,this.providers=Re,this.hasProducedSuggestion=!1}setRequestUuid(K){this.requestUuid=K}setNoSuggestionReasonIfNotSet(K){this.noSuggestionReason??=K}setHasProducedSuggestion(){this.hasProducedSuggestion=!0}
75}function ca(tt,K){return[...tt].every(me=>K.has(me))}class ha{constructor(K,me,Re){this.request=K,this.cancellationTokenSource=me,this.promise=Re}dispose(){this.cancellationTokenSource.cancel()}}class vo extends M.jG{static createEmpty(){return new vo([],void 0)}constructor(K,me){super(),this.inlineCompletions=K,this.request=me;for(const Re of this.inlineCompletions)Re.addRef();this._register({dispose:()=>{for(const Re of this.inlineCompletions)Re.removeRef()}})}_findById(K){return this.inlineCompletions.find(me=>me.identity===K)}_findByHash(K){return this.inlineCompletions.find(me=>me.hash===K)}createStateWithAppliedEdit(K,me){const Re=this.inlineCompletions.map(et=>et.withEdit(K,me)).filter(Me.O9);return new vo(Re,this.request)}createStateWithAppliedResults(K,me,Re,et,ze){let nt;if(ze){const Pt=this._findById(ze);if(Pt&&Pt.canBeReused(Re,me.position)){nt=Pt;const Lt=K.find(Mt=>Mt.hash===Pt.hash);Lt?K=cl(Lt,K):K=[Pt,...K]}}const rt=nt?!nt.isInlineEdit:K.some(Pt=>!Pt.isInlineEdit&&Pt.isVisible(Re,et));let Tt=[];for(const Pt of K){const Lt=this._findByHash(Pt.hash);let Mt;Lt&&Lt!==Pt?(Mt=Pt.withIdentity(Lt.identity),Pt.setIsPreceeded(Lt),Lt.setEndOfLifeReason({kind:Fe.EI.Ignored,userTypingDisagreed:!1,supersededBy:Pt.getSourceCompletion()})):Mt=Pt,rt!==Mt.isInlineEdit&&Tt.push(Mt)}return Tt.sort((0,d.VE)(Pt=>Pt.showInlineEditMenu,d.TS)),Tt=Zo(Tt,Pt=>Pt.semanticId),new vo(Tt,me)}clone(){return new vo(this.inlineCompletions,this.request)}}function Zo(tt,K){const me=new Set;return tt.filter(Re=>{const et=K(Re);return me.has(et)?!1:(me.add(et),!0)})}function cl(tt,K){const me=K.indexOf(tt);return me>-1?[tt,...K.slice(0,me),...K.slice(me+1)]:K}var Eo=e(52115);const jo=class jo extends M.jG{getTypingInterval(){return(this._cacheInvalidated||this._cachedTypingIntervalResult===null)&&(this._cachedTypingIntervalResult=this._calculateTypingInterval(),this._cacheInvalidated=!1),this._cachedTypingIntervalResult}constructor(K){super(),this._textModel=K,this._typingSessions=[],this._currentSession=null,this._lastChangeTime=0,this._cachedTypingIntervalResult=null,this._cacheInvalidated=!0,this._register(this._textModel.onDidChangeContent(me=>this._updateTypingSpeed(me)))}_updateTypingSpeed(K){const me=Date.now();if(!this._isUserTyping(K)){this._finalizeCurrentSession();return}this._currentSession&&me-this._lastChangeTime>jo.MAX_SESSION_GAP_MS&&this._finalizeCurrentSession(),this._currentSession||(this._currentSession={startTime:me,endTime:me,characterCount:0}),this._currentSession.endTime=me,this._currentSession.characterCount+=this._getActualCharacterCount(K),this._lastChangeTime=me,this._cacheInvalidated=!0}_getActualCharacterCount(K){let me=0;for(const Re of K.changes)me+=Math.max(Re.text.length,Re.rangeLength);return me}_isUserTyping(K){if(!K.detailedReasons||K.detailedReasons.length===0)return!1;for(const me of K.detailedReasons)if(this._isUserTypingReason(me))return!0;return!1}_isUserTypingReason(K){if(K.metadata.isUndoing||K.metadata.isRedoing)return!1;switch(K.metadata.source){case"cursor":{const me=K.metadata.kind;return me==="type"||me==="compositionType"||me==="compositionEnd"}default:return!1}}_finalizeCurrentSession(){if(!this._currentSession)return;this._currentSession.endTime-this._currentSession.startTime>=jo.MIN_SESSION_DURATION_MS&&this._currentSession.characterCount>0&&(this._typingSessions.push(this._currentSession),this._typingSessions.length>jo.SESSION_HISTORY_LIMIT&&this._typingSessions.shift()),this._currentSession=null}_calculateTypingInterval(){if(this._currentSession){const K={...this._currentSession};if(K.endTime-K.startTime>=jo.MIN_SESSION_DURATION_MS&&K.characterCount>0){const Re=[...this._typingSessions,K];return this._calculateSpeedFromSessions(Re)}}return this._calculateSpeedFromSessions(this._typingSessions)}_calculateSpeedFromSessions(K){if(K.length===0)return{averageInterval:0,characterCount:0};const me=[...K].sort((Lt,Mt)=>Mt.endTime-Lt.endTime),Re=Date.now()-jo.TYPING_SPEED_WINDOW_MS,et=me.filter(Lt=>Lt.endTime>Re),ze=me.splice(et.length);let nt=(0,d.cz)(et.map(Lt=>Lt.characterCount));for(let Lt=0;Lt<ze.length&&nt<jo.MIN_CHARS_FOR_RELIABLE_SPEED;Lt++)et.push(ze[Lt]),nt+=ze[Lt].characterCount;const rt=(0,d.cz)(et.map(Lt=>Lt.endTime-Lt.startTime));if(rt===0||nt<=1)return{averageInterval:0,characterCount:nt};const Tt=Math.max(1,nt-1),Pt=rt/Tt;return{averageInterval:Math.round(Pt),characterCount:nt}}dispose(){this._finalizeCurrentSession(),super.dispose()}};jo.MAX_SESSION_GAP_MS=3e3,jo.MIN_SESSION_DURATION_MS=1e3,jo.SESSION_HISTORY_LIMIT=50,jo.TYPING_SPEED_WINDOW_MS=3e5,jo.MIN_CHARS_FOR_RELIABLE_SPEED=20;let Ao=jo;var Xo=e(27983),xr=e(13072),Oo=e(9760),cs=e(97148),Ss=e(47624),od=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Jo=function(tt,K){return function(me,Re){K(me,Re,tt)}};let zr=class extends M.jG{get isAcceptingPartially(){return this._isAcceptingPartially}get editor(){return this._editor}constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt,Mt,Nt,Vt,di,Jt){super(),this.textModel=K,this._selectedSuggestItem=me,this._textModelVersionId=Re,this._positions=et,this._debounceValue=ze,this._enabled=nt,this._editor=rt,this._instantiationService=Tt,this._commandService=Pt,this._languageConfigurationService=Lt,this._accessibilityService=Mt,this._languageFeaturesService=Nt,this._codeEditorService=Vt,this._inlineCompletionsService=di,this._isActive=(0,Sn.FY)(this,!1),this._onlyRequestInlineEditsSignal=(0,Cn.Y)(this),this._forceUpdateExplicitlySignal=(0,Cn.Y)(this),this._noDelaySignal=(0,Cn.Y)(this),this._fetchSpecificProviderSignal=(0,Cn.Y)(this),this._selectedInlineCompletionId=(0,Sn.FY)(this,void 0),this.primaryPosition=(0,Ai.un)(this,fi=>this._positions.read(fi)[0]??new Ue.y(1,1)),this.allPositions=(0,Ai.un)(this,fi=>this._positions.read(fi)),this.sku=(0,Sn.FY)(this,void 0),this._isAcceptingPartially=!1,this._appearedInsideViewport=(0,Ai.un)(this,fi=>{const wi=this.state.read(fi);return!wi||!wi.inlineSuggestion?!1:w(this._editor,wi.inlineSuggestion,fi)}),this._onDidAccept=this._register(new Bt.vl),this.onDidAccept=this._onDidAccept.event,this._lastShownInlineCompletionInfo=void 0,this._lastAcceptedInlineCompletionInfo=void 0,this._didUndoInlineEdits=(0,Ai.nb)({owner:this,changeTracker:{createChangeSummary:()=>({didUndo:!1}),handleChange:(fi,wi)=>(wi.didUndo=fi.didChange(this._textModelVersionId)&&!!fi.change?.isUndoing,!0)}},(fi,wi)=>{const gn=this._textModelVersionId.read(fi);return gn!==null&&this._lastAcceptedInlineCompletionInfo&&this._lastAcceptedInlineCompletionInfo.textModelVersionIdAfter===gn-1&&this._lastAcceptedInlineCompletionInfo.inlineCompletion.isInlineEdit&&wi.didUndo?(this._lastAcceptedInlineCompletionInfo=void 0,!0):!1}),this._preserveCurrentCompletionReasons=new Set([Wo.Redo,Wo.Undo,Wo.AcceptWord]),this.dontRefetchSignal=(0,Cn.Y)(this),this._fetchInlineCompletionsProm
75ise=(0,Ai.nb)({owner:this,changeTracker:{createChangeSummary:()=>({dontRefetch:!1,preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Fe.qw.Automatic,onlyRequestInlineEdits:!1,shouldDebounce:!0,provider:void 0,changeHint:void 0,textChange:!1,changeReason:""}),handleChange:(fi,wi)=>{if(fi.didChange(this._textModelVersionId)){this._preserveCurrentCompletionReasons.has(this._getReason(fi.change))&&(wi.preserveCurrentCompletion=!0);const gn=fi.change?.detailedReasons??[];wi.changeReason=gn.length>0?gn[0].getType():"",wi.textChange=!0}else fi.didChange(this._forceUpdateExplicitlySignal)?(wi.preserveCurrentCompletion=!0,wi.inlineCompletionTriggerKind=Fe.qw.Explicit):fi.didChange(this.dontRefetchSignal)?wi.dontRefetch=!0:fi.didChange(this._onlyRequestInlineEditsSignal)?wi.onlyRequestInlineEdits=!0:fi.didChange(this._fetchSpecificProviderSignal)&&(wi.provider=fi.change?.provider,wi.changeHint=fi.change?.changeHint);return!0}}},(fi,wi)=>{if(this._source.clearOperationOnTextModelChange.read(fi),this._noDelaySignal.read(fi),this.dontRefetchSignal.read(fi),this._onlyRequestInlineEditsSignal.read(fi),this._forceUpdateExplicitlySignal.read(fi),this._fetchSpecificProviderSignal.read(fi),!((this._enabled.read(fi)&&this._selectedSuggestItem.read(fi)||this._isActive.read(fi))&&(!this._inlineCompletionsService.isSnoozing()||wi.inlineCompletionTriggerKind===Fe.qw.Explicit))){this._source.cancelUpdate();return}this._textModelVersionId.read(fi);const ln=this._source.suggestWidgetInlineCompletions.read(void 0);let on=this._selectedSuggestItem.read(fi);if(this._shouldShowOnSuggestConflict.read(void 0)&&(on=void 0),ln&&!on&&this._source.seedInlineCompletionsWithSuggestWidget(),wi.dontRefetch)return Promise.resolve(!0);if(this._didUndoInlineEdits.read(fi)&&wi.inlineCompletionTriggerKind!==Fe.qw.Explicit){(0,On.Rn)(gs=>{this._source.clear(gs)});return}let pn="";wi.provider?pn+="providerOnDidChange":wi.inlineCompletionTriggerKind===Fe.qw.Explicit&&(pn+="explicit"),wi.changeReason&&(pn+=pn.length>0?`:${wi.changeReason}`:wi.changeReason);const qi=this._typing.getTypingInterval(),Un={editorType:this.editorType,startTime:Date.now(),languageId:this.textModel.getLanguageId(),reason:pn,typingInterval:qi.averageInterval,typingIntervalCharacterCount:qi.characterCount,availableProviders:[],sku:this.sku.read(void 0)};let ns={triggerKind:wi.inlineCompletionTriggerKind,selectedSuggestionInfo:on?.toSelectedSuggestionInfo(),includeInlineCompletions:!wi.onlyRequestInlineEdits,includeInlineEdits:this._inlineEditsEnabled.read(fi),requestIssuedDateTime:Un.startTime,earliestShownDateTime:Un.startTime+(wi.inlineCompletionTriggerKind===Fe.qw.Explicit||this.inAcceptFlow.read(void 0)?0:this._minShowDelay.read(void 0)),changeHint:wi.changeHint};ns.triggerKind===Fe.qw.Automatic&&wi.textChange&&this.textModel.getAlternativeVersionId()===this._lastShownInlineCompletionInfo?.alternateTextModelVersionId&&(ns={...ns,includeInlineCompletions:!this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit,includeInlineEdits:this._lastShownInlineCompletionInfo.inlineCompletion.isInlineEdit});const bs=this.selectedInlineCompletion.read(void 0)??this._inlineSuggestionItems.read(void 0)?.inlineEdit,Ks=wi.preserveCurrentCompletion||bs?.forwardStable?bs:void 0,Os=this._jumpedToId.map(gs=>!!gs&&gs===this._inlineSuggestionItems.read(void 0)?.inlineEdit?.semanticId),Is=wi.provider?{providers:[wi.provider],label:"single:"+wi.provider.providerId?.toString()}:{providers:this._languageFeaturesService.inlineCompletionsProvider.all(this.textModel),label:void 0},qn=this.getAvailableProviders(Is.providers);return Un.availableProviders=qn.map(gs=>gs.providerId).filter(Me.O9),this._source.fetch(qn,Is.label,ns,Ks?.identity,wi.shouldDebounce,Os,Un)}),this._inlineSuggestionItems=(0,Ai.C)({owner:this},fi=>{const wi=this._source.inlineCompletions.read(fi);if(!wi)return;const gn=this.primaryPosition.read(fi);let ln;const on=[];for(const pn of wi.inlineCompletions)pn.isInlineEdit?ln=pn:pn.isVisible(this.textModel,gn)&&on.push(pn);return on.length!==0&&(ln=void 0),{inlineCompletions:on,inlineEdit:ln}}),this._inlineCompletionItems=(0,Ai.C)({owner:this,equalsFn:(0,dt.We)()},fi=>this._inlineSuggestionItems.read(fi)?.inlineCompletions??[]),this.selectedInlineCompletionIndex=(0,Ai.un)(this,fi=>{const wi=this._selectedInlineCompletionId.read(fi),gn=this._inlineCompletionItems.read(fi),ln=this._selectedInlineCompletionId===void 0?-1:gn.findIndex(on=>on.semanticId===wi);return ln===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):ln}),this.selectedInlineCompletion=(0,Ai.un)(this,fi=>{const wi=this._inlineCompletionItems.read(fi),gn=this.selectedInlineCompletionIndex.read(fi);return wi[gn]}),this.activeCommands=(0,Ai.C)({owner:this,equalsFn:(0,dt.We)()},fi=>this.selectedInlineCompletion.read(fi)?.source.inlineSuggestions.commands??[]),this.inlineCompletionsCount=(0,Ai.un)(this,fi=>{if(this.lastTriggerKind.read(fi)===Fe.qw.Explicit)return this._inlineCompletionItems.read(fi).length}),this._hasVisiblePeekWidgets=(0,Ai.un)(this,fi=>this._editorObs.openedPeekWidgets.read(fi)>0),this._shouldShowOnSuggestConflict=(0,Ai.un)(this,fi=>{const wi=this._showOnSuggestConflict.read(fi);if(wi!=="never"&&!!this.selectedInlineCompletion.read(fi)){const ln=this._selectedSuggestItem.read(fi);return ln?wi==="whenSuggestListIsIncomplete"?ln.listIncomplete:!0:!1}return!1}),this.state=(0,Ai.C)({owner:this,equalsFn:(fi,wi)=>!fi||!wi?fi===wi:fi.kind==="ghostText"&&wi.kind==="ghostText"?Ei(fi.ghostTexts,wi.ghostTexts)&&fi.inlineSuggestion===wi.inlineSuggestion&&fi.suggestItem===wi.suggestItem:fi.kind==="inlineEdit"&&wi.kind==="inlineEdit"?fi.inlineSuggestion===wi.inlineSuggestion:!1},fi=>{const wi=this.textModel;if(this._suppressInSnippetMode.read(fi)&&this._isInSnippetMode.read(fi))return;const gn=this._inlineSuggestionItems.read(fi),ln=gn?.inlineEdit;if(ln){if(this._hasVisiblePeekWidgets.read(fi))return;const pn=this.primaryPosition.map(bs=>ri.M.fromRangeInclusive(ln.targetRange).addMargin(1,1).contains(bs.lineNumber)),qi=ln.action?.kind==="edit"?ln.action.stringEdit:void 0,Un=qi?Zt.m.fromStringEdit(qi,new vt.m(this.textModel)).replacements:[];let ns=(gn.inlineEdit?.command?.id==="vscode.open"||gn.inlineEdit?.command?.id==="_workbench.open")&&gn.inlineEdit?.command.arguments?.length?ur.r.from(gn.inlineEdit?.command.arguments[0]):void 0;return ln.originalTextRef.targets(this.textModel)||(ns=ln.originalTextRef.uri),{kind:"inlineEdit",inlineSuggestion:ln,edits:Un,cursorAtInlineEdit:pn,nextEditUri:ns}}const on=this._selectedSuggestItem.read(fi);if(!this._shouldShowOnSuggestConflict.read(fi)&&on){const pn=hn(on.getSingleTextEdit(),wi),qi=this._computeAugmentation(pn,fi);if(!this._suggestPreviewEnabled.read(fi)&&!qi)return;const ns=qi?.edit??pn,bs=qi?qi.edit.text.length-pn.text.length:0,Ks=this._suggestPreviewMode.read(fi),Os=this._positions.read(fi),qn=[ns,...bo(this.textModel,Os,ns)].map((ys,Hr)=>({edit:ys,ghostText:ys?In(ys,wi,Ks,Os[Hr],bs):void 0})).filter(({edit:ys,ghostText:Hr})=>ys!==void 0&&Hr!==void 0),gs=qn.map(({edit:ys})=>ys),wr=qn.map(({ghostText:ys})=>
75ys),Co=wr[0]??new Kn(ns.range.endLineNumber,[]);return{kind:"ghostText",edits:gs,primaryGhostText:Co,ghostTexts:wr,inlineSuggestion:qi?.completion,suggestItem:on}}else{if(!this._isActive.read(fi))return;const pn=this.selectedInlineCompletion.read(fi);if(!pn)return;const qi=pn.getSingleTextEdit(),Un=this._inlineSuggestMode.read(fi),ns=this._positions.read(fi),Ks=[qi,...bo(this.textModel,ns,qi)].map((qn,gs)=>({edit:qn,ghostText:qn?In(qn,wi,Un,ns[gs],0):void 0})).filter(({edit:qn,ghostText:gs})=>qn!==void 0&&gs!==void 0),Os=Ks.map(({edit:qn})=>qn),Is=Ks.map(({ghostText:qn})=>qn);return Is[0]?{kind:"ghostText",edits:Os,primaryGhostText:Is[0],ghostTexts:Is,inlineSuggestion:pn,suggestItem:void 0}:void 0}}),this.status=(0,Ai.un)(this,fi=>{if(this._source.loading.read(fi))return"loading";const wi=this.state.read(fi);return wi?.kind==="ghostText"?"ghostText":wi?.kind==="inlineEdit"?"inlineEdit":"noSuggestion"}),this.inlineCompletionState=(0,Ai.un)(this,fi=>{const wi=this.state.read(fi);if(!(!wi||wi.kind!=="ghostText")&&!this._editorObs.inComposition.read(fi))return wi}),this.inlineEditState=(0,Ai.un)(this,fi=>{const wi=this.state.read(fi);if(!(!wi||wi.kind!=="inlineEdit"))return wi}),this.inlineEditAvailable=(0,Ai.un)(this,fi=>!!this.inlineEditState.read(fi)),this.warning=(0,Ai.un)(this,fi=>this.inlineCompletionState.read(fi)?.inlineSuggestion?.warning),this.ghostTexts=(0,Ai.C)({owner:this,equalsFn:Ei},fi=>{const wi=this.inlineCompletionState.read(fi);if(wi)return wi.ghostTexts}),this.primaryGhostText=(0,Ai.C)({owner:this,equalsFn:zi},fi=>{const wi=this.inlineCompletionState.read(fi);if(wi)return wi?.primaryGhostText}),this.showCollapsed=(0,Ai.un)(this,fi=>{const wi=this.state.read(fi);if(!wi||wi.kind!=="inlineEdit"||wi.inlineSuggestion.hint||wi.inlineSuggestion.action?.kind==="jumpTo")return!1;const gn=wi.inlineSuggestion.updatedEditModelVersion===this._textModelVersionId.read(fi);return(this._inlineEditsShowCollapsedEnabled.read(fi)||!gn)&&this._jumpedToId.read(fi)!==wi.inlineSuggestion.semanticId&&!this._inAcceptFlow.read(fi)}),this._tabShouldIndent=(0,Ai.un)(this,fi=>{if(this._inAcceptFlow.read(fi))return!1;function wi(on){return on.startLineNumber!==on.endLineNumber}function gn(on,pn){const qi=on.getLineIndentColumn(pn),Un=on.getLineLastNonWhitespaceColumn(pn),ns=Math.max(Un,qi);return new Gt.Q(pn,qi,pn,ns)}return this._editorObs.selections.read(fi)?.some(on=>on.isEmpty()?this.textModel.getLineLength(on.startLineNumber)===0:wi(on)||on.containsRange(gn(this.textModel,on.startLineNumber)))}),this.tabShouldJumpToInlineEdit=(0,Ai.un)(this,fi=>{if(this._tabShouldIndent.read(fi))return!1;const wi=this.inlineEditState.read(fi);return wi?wi.inlineSuggestion.action?.kind==="jumpTo"||this.showCollapsed.read(fi)?!0:this._inAcceptFlow.read(fi)&&this._appearedInsideViewport.read(fi)?!1:!wi.cursorAtInlineEdit.read(fi):!1}),this.tabShouldAcceptInlineEdit=(0,Ai.un)(this,fi=>{const wi=this.inlineEditState.read(fi);return!wi||wi.inlineSuggestion.action?.kind==="jumpTo"||this.showCollapsed.read(fi)||this._tabShouldIndent.read(fi)?!1:this._inAcceptFlow.read(fi)&&this._appearedInsideViewport.read(fi)||wi.inlineSuggestion.targetRange.startLineNumber===this._editorObs.cursorLineNumber.read(fi)||this._jumpedToId.read(fi)===wi.inlineSuggestion.semanticId?!0:wi.cursorAtInlineEdit.read(fi)}),this._jumpedToId=(0,Sn.FY)(this,void 0),this._inAcceptFlow=(0,Sn.FY)(this,!1),this.inAcceptFlow=this._inAcceptFlow,this._source=this._register(this._instantiationService.createInstance(Ro,this.textModel,this._textModelVersionId,this._debounceValue,this.primaryPosition)),this.lastTriggerKind=this._source.inlineCompletions.map(this,fi=>fi?.request?.context.triggerKind),this._editorObs=(0,ae.U)(this._editor);const _i=this._editorObs.getOption(134);this._suggestPreviewEnabled=_i.map(fi=>fi.preview),this._suggestPreviewMode=_i.map(fi=>fi.previewMode);const Ri=this._editorObs.getOption(71);this._inlineSuggestMode=Ri.map(fi=>fi.mode),this._suppressedInlineCompletionGroupIds=Ri.map(fi=>new Set(fi.experimental.suppressInlineSuggestions.split(","))),this._inlineEditsEnabled=Ri.map(fi=>!!fi.edits.enabled),this._inlineEditsShowCollapsedEnabled=Ri.map(fi=>
75fi.edits.showCollapsed),this._triggerCommandOnProviderChange=Ri.map(fi=>fi.triggerCommandOnProviderChange),this._minShowDelay=Ri.map(fi=>fi.minShowDelay),this._showOnSuggestConflict=Ri.map(fi=>fi.experimental.showOnSuggestConflict),this._suppressInSnippetMode=Ri.map(fi=>fi.suppressInSnippetMode);const Ui=Yt.O.get(this._editor);this._isInSnippetMode=Ui?.isInSnippetObservable??(0,Ss.l)(!1),Jt.getDefaultAccount().then(ye(fi=>this.sku.set(B(fi),void 0),this._store)),this._register(Jt.onDidChangeDefaultAccount(fi=>this.sku.set(B(fi),void 0))),this._typing=this._register(new Ao(this.textModel)),this._register(this._inlineCompletionsService.onDidChangeIsSnoozing(fi=>{fi&&this.stop()}));{const fi=this.textModel.uri.scheme===xr.ny.vscodeNotebookCell,[wi]=this._codeEditorService.listDiffEditors().filter(gn=>gn.getOriginalEditor().getId()===this._editor.getId()||gn.getModifiedEditor().getId()===this._editor.getId());this.isInDiffEditor=!!wi,this.editorType=fi?An.Notebook:this.isInDiffEditor?An.DiffEditor:An.TextEditor}this._register((0,cs.OI)(this.state,fi=>{fi&&fi.inlineSuggestion&&this._inlineCompletionsService.reportNewCompletion(fi.inlineSuggestion.requestUuid)})),this._register((0,cs.OI)(this._fetchInlineCompletionsPromise)),this._register((0,fe.fm)(fi=>{this._editorObs.versionId.read(fi),this._inAcceptFlow.set(!1,void 0)})),this._register((0,fe.fm)(fi=>{this.state.map((gn,ln)=>!gn||gn.kind==="inlineEdit"&&!gn.cursorAtInlineEdit.read(ln)).read(fi)&&this._jumpedToId.set(void 0,void 0)})),this._register((0,fe.fm)(fi=>{const wi=this.state.map(gn=>gn?.inlineSuggestion).read(fi);wi&&wi.addPerformanceMarker("activeSuggestion")}));const un=this.inlineEditState.map(fi=>fi?.inlineSuggestion.semanticId);this._register((0,fe.fm)(fi=>{un.read(fi)&&(this._editor.pushUndoStop(),this._lastShownInlineCompletionInfo={alternateTextModelVersionId:this.textModel.getAlternativeVersionId(),inlineCompletion:this.state.get().inlineSuggestion})}));const cn=(0,oe.y0)(this._languageFeaturesService.inlineCompletionsProvider.onDidChange,()=>this._languageFeaturesService.inlineCompletionsProvider.all(K));(0,cs.Rl)(this,cn,(fi,wi)=>{fi.onDidChangeInlineCompletions&&wi.add(fi.onDidChangeInlineCompletions(gn=>{if(!this._enabled.get()||(this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor())!==this._editor)return;if(this._triggerCommandOnProviderChange.get()){this.trigger(void 0,{onlyFetchInlineEdits:!0});return}const on=this.state.get();on&&(on.inlineSuggestion||on.edits)&&on.inlineSuggestion?.source.provider!==fi||(0,On.Rn)(pn=>{this._fetchSpecificProviderSignal.trigger(pn,{provider:fi,changeHint:gn??void 0}),this.trigger(pn)})}))}).recomputeInitiallyAndOnChange(this._store),this._didUndoInlineEdits.recomputeInitiallyAndOnChange(this._store)}getIndentationInfo(K){let me=!1,Re=!0;const et=this?.primaryGhostText.read(K);if(this?._selectedSuggestItem&&et&&et.parts.length>0){const{column:ze,lines:nt}=et.parts[0],rt=nt[0].line,Tt=this.textModel.getLineIndentColumn(et.lineNumber);if(ze<=Tt){let Lt=(0,r.HG)(rt);Lt===-1&&(Lt=rt.length-1),me=Lt>0;const Mt=this.textModel.getOptions().tabSize;Re=_t.A.visibleColumnFromColumn(rt,Lt+1,Mt)<Mt}}return{startsWithIndentation:me,startsWithIndentationLessThanTabSize:Re}}_getReason(K){return K?.isUndoing?Wo.Undo:K?.isRedoing?Wo.Redo:this.isAcceptingPartially?Wo.AcceptWord:Wo.Other}getAvailableProviders(K){const me=this._suppressedInlineCompletionGroupIds.get(),Re=K.filter(nt=>!(nt.groupId&&me.has(nt.groupId))),et=new Set;for(const nt of Re)nt.excludesGroupIds?.forEach(rt=>et.add(rt));const ze=[];for(const nt of Re)nt.groupId&&et.has(nt.groupId)||ze.push(nt);return ze}async trigger(K,me={}){(0,On.PO)(K,Re=>{me.onlyFetchInlineEdits&&this._onlyRequestInlineEditsSignal.trigger(Re),me.noDelay&&this._noDelaySignal.trigger(Re),this._isActive.set(!0,Re),me.explicit&&(this._inAcceptFlow.set(!0,Re),this._forceUpdateExplicitlySignal.trigger(Re)),me.provider&&this._fetchSpecificProviderSignal.trigger(Re,{provider:me.provider,changeHint:me.changeHint})}),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(K,me=!1){return this.trigger(K,{onlyFetchInline
75Edits:me,explicit:!0})}stop(K="automatic",me){(0,On.PO)(me,Re=>{if(K==="explicitCancel"){const et=this.state.get()?.inlineSuggestion;et&&et.reportEndOfLife({kind:Fe.EI.Rejected})}this._isActive.set(!1,Re),this._source.clear(Re)})}_computeAugmentation(K,me){const Re=this.textModel,et=this._source.suggestWidgetInlineCompletions.read(me),ze=et?et.inlineCompletions.filter(rt=>!rt.isInlineEdit):[this.selectedInlineCompletion.read(me)].filter(Me.O9);return(0,Xe.oH)(ze,rt=>{let Tt=rt.getSingleTextEdit();return Tt=hn(Tt,Re,Gt.Q.fromPositions(Tt.range.getStartPosition(),K.range.getEndPosition())),wn(Tt,K)?{completion:rt,edit:Tt}:void 0})}async _deltaSelectedInlineCompletionIndex(K){await this.triggerExplicitly();const me=this._inlineCompletionItems.get()||[];if(me.length>0){const Re=(this.selectedInlineCompletionIndex.get()+K+me.length)%me.length;this._selectedInlineCompletionId.set(me[Re].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}_getMetadata(K,me,Re=void 0){return Re?zo.dg.inlineCompletionPartialAccept({nes:K.isInlineEdit,requestUuid:K.requestUuid,providerId:K.source.provider.providerId,languageId:me,type:Re,correlationId:K.getSourceCompletion().correlationId}):zo.dg.inlineCompletionAccept({nes:K.isInlineEdit,requestUuid:K.requestUuid,correlationId:K.getSourceCompletion().correlationId,providerId:K.source.provider.providerId,languageId:me})}async accept(K=this._editor,me=!1){if(K.getModel()!==this.textModel)throw new gt.D7;let Re,et=!1;const ze=this.state.get();if(ze?.kind==="ghostText"){if(!ze||ze.primaryGhostText.isEmpty()||!ze.inlineSuggestion)return;Re=ze.inlineSuggestion}else if(ze?.kind==="inlineEdit")Re=ze.inlineSuggestion,et=!!ze.nextEditUri;else return;Re.addRef();try{let nt=!1;if(K.pushUndoStop(),Re.originalTextRef.targets(this.textModel)){if(!et){if(Re.action?.kind==="edit"){const rt=Re.action;if(me&&rt.alternativeAction){nt=!0;const Tt=rt.alternativeAction.command;await this._commandService.executeCommand(Tt.id,...Tt.arguments||[]).then(void 0,gt.M_)}else if(rt.snippetInfo){const Tt=Zt.W.delete(rt.textReplacement.range),Pt=Re.additionalTextEdits.map(Mt=>new Zt.W(Gt.Q.lift(Mt.range),Mt.text??"")),Lt=Zt.m.fromParallelReplacementsUnsorted([Tt,...Pt]);K.edit(Lt,this._getMetadata(Re,this.textModel.getLanguageId())),K.setPosition(rt.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),Yt.O.get(K)?.insert(rt.snippetInfo.snippet,{undoStopBefore:!1})}else{const Tt=ze.edits;let Pt=Tt;ze.kind==="ghostText"&&(Pt=Zn(Tt,this.textModel));const Lt=rs(Pt).map(Vt=>ei.L.fromPositions(Vt)),Mt=Re.additionalTextEdits.map(Vt=>new Zt.W(Gt.Q.lift(Vt.range),Vt.text??"")),Nt=Zt.m.fromParallelReplacementsUnsorted([...Tt,...Mt]);if(K.edit(Nt,this._getMetadata(Re,this.textModel.getLanguageId())),Re.hint===void 0&&K.setSelections(ze.kind==="inlineEdit"?Lt.slice(-1):Lt,"inlineCompletionAccept"),ze.kind==="inlineEdit"&&!this._accessibilityService.isMotionReduced()){const Vt=Nt.getNewRanges(),di=this._store.add(new wt(K,Vt,()=>{this._store.delete(di)}))}}}}}else{const rt=await this._codeEditorService.openCodeEditor({resource:Re.originalTextRef.uri},this._editor);if(rt){const Pt=(0,Oo.L)(rt)?.model.get();rt.focus(),Pt?.transplantCompletion(Re),rt.revealLineInCenter(Re.targetRange.startLineNumber)}}this._onDidAccept.fire(),this.stop(),Re.command&&await this._commandService.executeCommand(Re.command.id,...Re.command.arguments||[]).then(void 0,gt.M_),nt&&this.trigger(void 0),Re.reportEndOfLife({kind:Fe.EI.Accepted,alternativeAction:me})}finally{Re.removeRef(),this._inAcceptFlow.set(!0,void 0),this._lastAcceptedInlineCompletionInfo={textModelVersionIdAfter:this.textModel.getVersionId(),inlineCompletion:Re}}}async acceptNextWord(){await this._acceptNext(this._editor,"word",(K,me)=>{const Re=this.textModel.getLanguageIdAtPosition(K.lineNumber,K.column),et=this._languageConfigurationService.getLanguageConfiguration(Re),ze=new RegExp(et.wordDefinition.source,et.wordDefinition.flags.replace("g","")),nt=me.match(ze);let rt=0;nt&&nt.index!==void 0?nt.index===0?rt=nt[0].length:rt=nt.index:rt=me.length;const Pt=/\s+/g.exec(me);return Pt&&Pt.index!==void 0&&Pt.index+Pt[0].length<rt&&(rt=Pt.index+Pt[0].length),rt},0)}async acceptNextLine(){await this._acceptNext(this._editor,"line",(K,me)=>{const Re=me.match(/\n/);return Re&&Re.index!==void 0?Re.index+1:me.length},1)}async _acceptNext(K,me,Re,et){if(K.getModel()!==this.textModel)throw new gt.D7;
75const ze=this.inlineCompletionState.get();if(!ze||ze.primaryGhostText.isEmpty()||!ze.inlineSuggestion)return;const nt=ze.primaryGhostText,rt=ze.inlineSuggestion;if(rt.snippetInfo){await this.accept(K);return}const Tt=nt.parts[0],Pt=new Ue.y(nt.lineNumber,Tt.column),Lt=Tt.text,Mt=Re(Pt,Lt);if(Mt===Lt.length&&nt.parts.length===1){this.accept(K);return}const Nt=Lt.substring(0,Mt),Vt=this._positions.get(),di=Vt[0];rt.addRef();try{this._isAcceptingPartially=!0;try{K.pushUndoStop();const Ui=Gt.Q.fromPositions(di,Pt),un=K.getModel().getValueInRange(Ui)+Nt,cn=new Zt.W(Ui,un),fi=[cn,...bo(this.textModel,Vt,cn)].filter(Me.O9),wi=rs(fi).map(gn=>ei.L.fromPositions(gn));K.edit(Zt.m.fromParallelReplacementsUnsorted(fi),this._getMetadata(rt,me)),K.setSelections(wi,"inlineCompletionPartialAccept"),K.revealPositionInCenterIfOutsideViewport(K.getPosition(),0)}finally{this._isAcceptingPartially=!1}const Jt=Gt.Q.fromPositions(rt.editRange.getStartPosition(),pt.W.ofText(Nt).addToPosition(Pt)),Ri=K.getModel().getValueInRange(Jt,1).length;rt.reportPartialAccept(Ri,{kind:et,acceptedLength:Ri},{characters:Mt,ratio:Mt/Lt.length,count:1})}finally{rt.removeRef()}}handleSuggestAccepted(K){const me=hn(K.getSingleTextEdit(),this.textModel),Re=this._computeAugmentation(me,void 0);if(!Re)return;const ze=this.textModel.getValueInRange(Re.completion.editRange,1).length+me.text.length;Re.completion.reportPartialAccept(me.text.length,{kind:2,acceptedLength:ze},{characters:me.text.length,count:1,ratio:1})}extractReproSample(){const K=this.textModel.getValue(),me=this.state.get()?.inlineSuggestion;return{documentValue:K,inlineCompletion:me?.getSourceCompletion()}}jump(){const K=this.inlineEditState.get();if(!K)return;const me=K.inlineSuggestion;if(!me.originalTextRef.targets(this.textModel)){this.accept(this._editor);return}me.addRef();try{(0,On.Rn)(Re=>{me.action?.kind==="jumpTo"&&(this.stop(void 0,Re),me.reportEndOfLife({kind:Fe.EI.Accepted,alternativeAction:!1})),this._jumpedToId.set(K.inlineSuggestion.semanticId,Re),this.dontRefetchSignal.trigger(Re);const et=K.inlineSuggestion.targetRange,ze=et.getStartPosition();if(this._editor.setPosition(ze,"inlineCompletions.jump"),et.isSingleLine()&&(K.inlineSuggestion.hint||K.inlineSuggestion.action?.kind==="edit"&&!K.inlineSuggestion.action.textReplacement.text.includes(`
76`))||K.inlineSuggestion.action?.kind==="jumpTo")this._editor.revealPosition(ze,0);else{const rt=new Gt.Q(et.startLineNumber-1,1,et.endLineNumber+1,1);this._editor.revealRange(rt,0)}K.inlineSuggestion.identity.setJumpTo(Re),this._editor.focus()})}finally{me.removeRef()}}async handleInlineSuggestionShown(K,me,Re,et){await K.reportInlineEditShown(this._commandService,me,Re,this.textModel,et)}transplantCompletion(K){(0,On.Rn)(me=>{this._source.seedWithCompletion(K,me),this._isActive.set(!0,me),this._inAcceptFlow.set(!0,me),this.dontRefetchSignal.trigger(me)})}};zr=od([Jo(7,T._Y),Jo(8,_e.d),Jo(9,st.JZ),Jo(10,H.j),Jo(11,ie.u),Jo(12,$s.T),Jo(13,Eo.HG),Jo(14,Xo.x)],zr);var Wo;(function(tt){tt[tt.Undo=0]="Undo",tt[tt.Redo=1]="Redo",tt[tt.AcceptWord=2]="AcceptWord",tt[tt.Other=3]="Other"})(Wo||(Wo={}));function bo(tt,K,me){if(K.length===1)return[];const Re=new vt.m(tt),et=Re.getTransformer(),ze=et.getOffset(K[0]),nt=K.slice(1).map(Nt=>et.getOffset(Nt));me=me.removeCommonPrefixAndSuffix(Re);const rt=et.getStringReplacement(me),Tt=rt.replaceRange.start-ze,Pt=rt.replaceRange.join(ge.L.emptyAt(ze)),Lt=Re.getValueOfOffsetRange(Pt);return nt.map(Nt=>{const Vt=Nt+Tt,di=Vt+rt.replaceRange.length,Jt=new ge.L(Vt,di),_i=Jt.join(ge.L.emptyAt(Nt));if(Re.getValueOfOffsetRange(_i)!==Lt)return;const Ui=new gi.aQ(Jt,rt.newText);return et.getTextReplacement(Ui)}).filter(Me.O9)}class wt extends M.jG{constructor(K,me,Re){super(),Re&&this._register({dispose:()=>Re()}),this._register((0,ae.U)(K).setDecorations((0,Ss.l)(me.map(ze=>({range:ze,options:{description:"animation",className:"edits-fadeout-decoration",zIndex:1}})))));const et=new Ts.s8(Ts.rf.startNow(1,0,1e3,Ts.p_));this._register((0,fe.fm)(ze=>{const nt=et.getValue(ze);K.getContainerDomNode().style.setProperty("--animation-opacity",nt.toString()),et.isFinished(ze)&&this.dispose()}))}}function w(tt,K,me=void 0){const Re=K.targetRange;(0,ae.U)(tt).scrollTop.read(me);const et=tt.getVisibleRanges();return et.length<1?!1:new Gt.Q(et[0].startLineNumber,et[0].startColumn,et[et.length-1].endLineNumber,et[et.length-1].endColumn).containsRange(Re)}function B(tt){if(tt?.entitlementsData?.access_type_sku&&tt?.entitlementsData?.copilot_plan)return{type:tt.entitlementsData.access_type_sku,plan:tt.entitlementsData.copilot_plan}}class ee{constructor(K){this.handler=me=>this._cb?.(me),this._cb=K}dispose(){this._cb=void 0}}function ye(tt,K){const me=new ee(tt);return K.add(me),me.handler}var Pe=e(30242),Ge=e(28598);class yt extends M.jG{get selectedItem(){return this._currentSuggestItemInfo}constructor(K,me,Re){super(),this.editor=K,this.suggestControllerPreselector=me,this.onWillAccept=Re,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new Bt.vl),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(K.onKeyDown(ze=>{ze.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(K.onKeyUp(ze=>{ze.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const et=Ge.D.get(this.editor);if(et){this._register(et.registerSelector({priority:100,select:(rt,Tt,Pt)=>{const Lt=this.editor.getModel();if(!Lt)return-1;const Mt=this.suggestControllerPreselector(),Nt=Mt?hn(Mt,Lt):void 0;if(!Nt)return-1;const Vt=Ue.y.lift(Tt),di=Pt.map((_i,Ri)=>{const Ui=mt.fromSuggestion(et,Lt,Vt,_i,this.isShiftKeyPressed),un=hn(Ui.get
76SingleTextEdit(),Lt),cn=wn(Nt,un);return{index:Ri,valid:cn,prefixLength:un.text.length,suggestItem:_i}}).filter(_i=>_i&&_i.valid&&_i.prefixLength>0),Jt=(0,Xe.Cn)(di,(0,d.VE)(_i=>_i.prefixLength,d.U9));return Jt?Jt.index:-1}}));let ze=!1;const nt=()=>{ze||(ze=!0,this._register(et.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(et.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(et.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Bt.Jh.once(et.model.onDidTrigger)(rt=>{nt()})),this._register(et.onWillInsertSuggestItem(rt=>{const Tt=this.editor.getPosition(),Pt=this.editor.getModel();if(!Tt||!Pt)return;const Lt=mt.fromSuggestion(et,Pt,Tt,rt.item,this.isShiftKeyPressed);this.onWillAccept(Lt)}))}this.update(this._isActive)}update(K){const me=this.getSuggestItemInfo();(this._isActive!==K||!Ht(this._currentSuggestItemInfo,me))&&(this._isActive=K,this._currentSuggestItemInfo=me,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const K=Ge.D.get(this.editor);if(!K||!this.isSuggestWidgetVisible)return;const me=K.widget.value.getFocusedItem(),Re=this.editor.getPosition(),et=this.editor.getModel();if(!(!me||!Re||!et))return mt.fromSuggestion(K,et,Re,me.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){Ge.D.get(this.editor)?.stopForceRenderingAbove()}forceRenderingAbove(){Ge.D.get(this.editor)?.forceRenderingAbove()}}class mt{static fromSuggestion(K,me,Re,et,ze){let{insertText:nt}=et.completion,rt=!1;if(et.completion.insertTextRules&4){const Pt=new gr.fr().parse(nt);Pt.children.length<100&&Pe.O.adjustWhitespace(me,Re,!0,Pt),nt=Pt.toString(),rt=!0}const Tt=K.getOverwriteInfo(et,ze);return new mt(Gt.Q.fromPositions(Re.delta(0,-Tt.overwriteBefore),Re.delta(0,Math.max(Tt.overwriteAfter,0))),nt,et.completion.kind,rt,et.container.incomplete??!1)}constructor(K,me,Re,et,ze){this.range=K,this.insertText=me,this.completionItemKind=Re,this.isSnippetText=et,this.listIncomplete=ze}equals(K){return this.range.equalsRange(K.range)&&this.insertText===K.insertText&&this.completionItemKind===K.completionItemKind&&this.isSnippetText===K.isSnippetText}toSelectedSuggestionInfo(){return new Fe.GE(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}getSingleTextEdit(){return new Zt.W(this.range,this.insertText)}}function Ht(tt,K){return tt===K?!0:!tt||!K?!1:tt.equals(K)}class Kt extends M.jG{constructor(K,me,Re){super(),this._editorObs=K,this._handleSuggestAccepted=me,this._suggestControllerPreselector=Re,this._suggestWidgetAdaptor=this._register(new yt(this._editorObs.editor,()=>(this._editorObs.forceUpdate(),this._suggestControllerPreselector()),et=>this._editorObs.forceUpdate(ze=>{this._handleSuggestAccepted(et)}))),this.selectedItem=(0,oe.y0)(this,et=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(ze=>et(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem)}stopForceRenderingAbove(){this._suggestWidgetAdaptor.stopForceRenderingAbove()}forceRenderingAbove(){this._suggestWidgetAdaptor.forceRenderingAbove()}}var zt=e(83952),si=e(13021),mi=e(91818),Ii=e(25837),Oi=e(66476),Hi=e(54324),dn=e(77922),Tn=e(66055),Pn=e(57445),Jn=e(39723);class Vs{constructor(K,me){this.lineNumber=K,this.columnRange=me}}class os{constructor(K,me){if(this.startColumn=K,this.endColumnExclusive=me,K>me)throw new gt.D7(`startColumn ${K} cannot be after endColumnExclusive ${me}`)}toRange(K){return new Gt.Q(K,this.startColumn,K,this.endColumnExclusive)}equals(K){return this.startColumn===K.startColumn&&this.endColumnExclusive===K.endColumnExclusive}toZeroBasedOffsetRange(){return new ge.L(this.startColumn-1,this.endColumnExclusive-1)}}class ts{static fromLineTokens(K){const me=[];for(let Re=0;Re<K.getCount();Re++)me.push(new mo(K.getTokenText(Re),K.getMetadata(Re)));return ts.create(me)}static create(K){return new ts(K)}constructor(K){this._tokenInfo=K}toLineTokens(K){return Pn.f7.createFromTextAndMetadata(this.map((me,Re)=>({text:Re.text,metadata:Re.metadata})),K)}map(K){const me=[];let Re=0;for(const et of this._tokenInfo){const ze=new ge.L(Re,Re+et.text.length);me.push(K(ze,et)),Re+=et.text.length}return me}slice(K){const me=[];let Re=0;for(const et of this._tokenInfo){const ze=Re,nt=ze+et.text.length;if(nt>K.start){if(ze>=K.endExclusive)break;const rt=Math.max(0,K.start-ze),Tt=Math.max(0,nt-K.endExclusive);me.push(new mo(et.text.slice(rt,et.text.length-Tt),et.metadata))}Re+=et.text.length}return ts.create(me)}append(K){const me=this._tokenInfo.concat(K._tokenInfo);return ts.create(me)}}class mo{constructor(K,me){this.text=K,this.metadata=me}}var Ko=e(68541),Ka=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Rl=function(tt,K){return function(me,Re){K(me,Re,tt)}};class Ir{static from(K){if(K)return new Ir(K.icon)}constructor(K=Hs.W.warning){this.icon=K}}const jd="ghost-text";let xa=class extends M.jG{constructor(K,me,Re,et){super(),this._editor=K,this._data=me,this._languageService=et,this._isDisposed=(0,Sn.FY)(this,!1),this._warningState=(0,Ai.un)(ze=>{const nt=this._data.read(ze),rt=nt?.warning;if(!nt||!rt)return;const Tt=nt.ghostText;return{lineNumber:Tt.lineNumber,position:new Ue.y(Tt.lineNumber,Tt.parts[0].c
76olumn),icon:rt.icon}}),this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._nonWhitespaceCount=(0,Ai.un)(this,ze=>{const nt=this._data.read(ze);return nt?nt.ghostText.parts.map(Pt=>Pt.lines.map(Lt=>Lt.line).join("")).join("").replace(/\s/g,"").length:void 0}),this._extraClassNames=(0,Ai.un)(this,ze=>{const nt=this._extraClasses.slice();this._warningState.read(ze)&&nt.push("warning");const rt=this._nonWhitespaceCount.read(ze);return this._highlightShortText&&rt&&rt<3?nt.push("short-text"):this._useSyntaxHighlighting.read(ze)&&nt.push("syntax-highlighted"),nt.map(Pt=>` ${Pt}`).join("")}),this._state=(0,Ai.un)(this,ze=>{if(this._isDisposed.read(ze))return;const nt=this._data.read(ze);if(!nt)return;const rt=this._editorObs.model.read(ze);if(!rt)return;const Tt=nt.ghostText,Pt=Tt instanceof $t?Tt.columnRange:void 0,Lt=this._useSyntaxHighlighting.read(ze),Mt=this._extraClassNames.read(ze),{inlineTexts:Nt,additionalLines:Vt,hiddenRange:di,additionalLinesOriginalSuffix:Jt}=rd(Tt,rt,jd+Mt),_i=rt.getLineContent(Tt.lineNumber),Ri=new gi.c7(Nt.map(pn=>gi.aQ.insert(pn.column-1,pn.text))),Ui=Lt?rt.tokenization.tokenizeLinesAt(Tt.lineNumber,[Ri.apply(_i),...Vt.map(pn=>pn.content)]):void 0,un=Ri.getNewRanges(),cn=Nt.map((pn,qi)=>({...pn,tokens:Ui?.[0]?.getTokensInRange(un[qi])})),fi=Vt.map((pn,qi)=>{let Un=Ui?.[qi+1]??Pn.f7.createEmpty(pn.content,this._languageService.languageIdCodec);if(qi===Vt.length-1&&Jt){const bs=ts.fromLineTokens(rt.tokenization.getLineTokens(Jt.lineNumber)).slice(Jt.columnRange.toZeroBasedOffsetRange());Un=ts.fromLineTokens(Un).append(bs).toLineTokens(Un.languageIdCodec)}return new Ga(Un,pn.decorations)}),wi=this._editor.getSelection()?.getStartPosition().column,gn=cn.filter(pn=>pn.text!==""),ln=gn.length!==0,on=new xo((ln?gn[0].column:1)-wi,ln?0:Vt.findIndex(pn=>pn.content!=="")+1,ln?1:0,Vt.length+(ln?1:0),0,(0,d.cz)(gn.map(pn=>pn.text.length))+(0,d.cz)(fi.map(pn=>pn.content.getTextLength())),gn.length+(Vt.length>0?1:0),gn.length>1&&fi.length===0?gn.every(pn=>pn.text===gn[0].text):void 0);return{replacedRange:Pt,inlineTexts:cn,additionalLines:fi,hiddenRange:di,lineNumber:Tt.lineNumber,additionalReservedLineCount:this._minReservedLineCount.read(ze),targetTextModel:rt,syntaxHighlightingEnabled:Lt,telemetryViewData:on,handleInlineCompletionShown:nt.handleInlineCompletionShown}}),this._decorations=(0,Ai.un)(this,ze=>{const nt=this._state.read(ze);if(!nt)return[];const rt=[],Tt=this._extraClassNames.read(ze);nt.replacedRange&&rt.push({range:nt.replacedRange.toRange(nt.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace"+Tt,description:"GhostTextReplacement"}}),nt.hiddenRange&&rt.push({range:nt.hiddenRange.toRange(nt.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const Pt of nt.inlineTexts){let Lt="";this._highlightShortText&&Pt.text.length<5&&(Lt+=" short-text"),rt.push({range:Gt.Q.fromPositions(new Ue.y(nt.lineNumber,Pt.column)),options:{description:"ghost-text-decoration",after:{content:Pt.text,tokens:Pt.tokens,inlineClassName:(Pt.preview?"ghost-text-decoration-preview":"ghost-text-decoration")+(this._isClickable?" clickable":"")+Tt+Lt+Pt.lineDecorations.map(Mt=>" "+Mt.className).join(" "),cursorStops:Tn.VW.Left,attachedData:new Kr(this)},showIfCollapsed:!0}})}return rt}),this.isHovered=(0,Ai.un)(this,ze=>this._isDisposed.read(ze)?!1:this._isInlineTextHovered.read(ze)||this._additionalLinesWidget.isHovered.read(ze)),this.height=(0,Ai.un)(this,ze=>this._editorObs.getOption(75).read(ze)+(this._additionalLinesWidget.viewZoneHeight.read(ze)??0)),this._extraClasses=Re.extraClasses??[],this._isCl
76ickable=Re.isClickable??!1,this._shouldKeepCursorStable=Re.shouldKeepCursorStable??!1,this._minReservedLineCount=Re.minReservedLineCount??(0,Ss.l)(0),this._useSyntaxHighlighting=Re.useSyntaxHighlighting??(0,Ss.l)(!0),this._highlightShortText=Re.highlightShortSuggestions??!1,this._editorObs=(0,ae.U)(this._editor),this._additionalLinesWidget=this._register(new hl(this._editor,(0,Ai.C)({owner:this,equalsFn:(0,dt.jb)((0,dt.d)())},ze=>{const nt=this._state.read(ze);return nt?new zd(nt.lineNumber,nt.additionalLines,nt.additionalReservedLineCount):void 0}),this._shouldKeepCursorStable,this._isClickable)),this._isInlineTextHovered=this._editorObs.isTargetHovered(ze=>ze.target.type===6&&ze.target.detail.injectedText?.options.attachedData instanceof Kr&&ze.target.detail.injectedText.options.attachedData.owner===this,this._store),this._register((0,M.s)(()=>{this._isDisposed.set(!0,void 0)})),this._register(this._editorObs.setDecorations(this._decorations)),this._isClickable&&(this._register(this._additionalLinesWidget.onDidClick(ze=>this._onDidClick.fire(ze))),this._register(this._editor.onMouseUp(ze=>{if(ze.target.type!==6)return;const nt=ze.target.detail.injectedText?.options.attachedData;nt instanceof Kr&&nt.owner===this&&this._onDidClick.fire(ze.event)}))),this._register((0,fe.fm)(ze=>{const nt=this._state.read(ze);nt?.handleInlineCompletionShown(nt.telemetryViewData)})),this._register((0,fe.yC)((ze,nt)=>{}))}static getWarningWidgetContext(K){const me=K.ghostTextViewWarningWidgetData;if(me)return me;if(K.parentElement)return this.getWarningWidgetContext(K.parentElement)}ownsViewZone(K){return this._additionalLinesWidget.viewZoneId===K}};xa=Ka([Rl(3,dn.L)],xa);class Kr{constructor(K){this.owner=K}}function rd(tt,K,me){const Re=[],et=[];function ze(Mt,Nt){if(et.length>0){const Vt=et[et.length-1];Nt&&Vt.decorations.push(new Yn.d(Vt.content.length+1,Vt.content.length+1+Mt[0].line.length,Nt,0)),Vt.content+=Mt[0].line,Mt=Mt.slice(1)}for(const Vt of Mt)et.push({content:Vt.line,decorations:Nt?[new Yn.d(1,Vt.line.length+1,Nt,0),...Vt.lineDecorations]:[...Vt.lineDecorations]})}const nt=K.getLineContent(tt.lineNumber);let rt,Tt=0;for(const Mt of tt.parts){let Nt=Mt.lines;rt===void 0?(Re.push({column:Mt.column,text:Nt[0].line,preview:Mt.preview,lineDecorations:Nt[0].lineDecorations}),Nt=Nt.slice(1)):ze([{line:nt.substring(Tt,Mt.column-1),lineDecorations:[]}],void 0),Nt.length>0&&(ze(Nt,me),rt===void 0&&Mt.column<=nt.length&&(rt=Mt.column)),Tt=Mt.column-1}let Pt;rt!==void 0&&(Pt=new Vs(tt.lineNumber,new os(Tt+1,nt.length+1)));const Lt=rt!==void 0?new os(rt,nt.length+1):void 0;return{inlineTexts:Re,additionalLines:et,hiddenRange:Lt,additionalLinesOriginalSuffix:Pt}}class zd{constructor(K,me,Re){this.lineNumber=K,this.additionalLines=me,this.minReservedLineCount=Re}equals(K){return this.lineNumber!==K.lineNumber||this.minReservedLineCount!==K.minReservedLineCount?!1:(0,d.aI)(this.additionalLines,K.additionalLines,(0,dt.d)())}}class hl extends M.jG{get viewZoneId(){return this._viewZoneInfo?.viewZoneId}get viewZoneHeight(){return this._viewZoneHeight}constructor(K,me,Re,et){super(),this._editor=K,this._lines=me,this._shouldKeepCursorStable=Re,this._isClickable=et,this._viewZoneHeight=(0,Sn.FY)("viewZoneHeight",void 0),this.editorOptionsChanged=(0,Ko.y)("editorOptionChanged",Bt.Jh.filter(this._editor.onDidChangeConfiguration,ze=>ze.hasChanged(40)||ze.hasChanged(133)||ze.hasChanged(113)||ze.hasChanged(108)||ze.hasChanged(60)||ze.hasChanged(59)||ze.hasChanged(75)
76)),this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._viewZoneListener=this._register(new M.HE),this.isHovered=(0,ae.U)(this._editor).isTargetHovered(ze=>Ol(ze.target.element),this._store),this.hasBeenAccepted=!1,this._editor instanceof ht.x&&this._shouldKeepCursorStable&&this._register(this._editor.onBeforeExecuteEdit(ze=>this.hasBeenAccepted=ze.source==="inlineSuggestion.accept")),this._register((0,fe.fm)(ze=>{const nt=this._lines.read(ze);this.editorOptionsChanged.read(ze),nt?(this.hasBeenAccepted=!1,this.updateLines(nt.lineNumber,nt.additionalLines,nt.minReservedLineCount)):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this._viewZoneListener.clear(),this._editor.changeViewZones(K=>{this.removeActiveViewZone(K)})}updateLines(K,me,Re){const et=this._editor.getModel();if(!et)return;const{tabSize:ze}=et.getOptions();(0,ae.U)(this._editor).transaction(nt=>{this._editor.changeViewZones(rt=>{const Tt=new M.Cm;this.removeActiveViewZone(rt);const Pt=Math.max(me.length,Re);if(Pt>0){const Lt=document.createElement("div");Pl(Lt,ze,me,this._editor.getOptions(),this._isClickable),this._isCl
76ickable&&(Tt.add((0,sn.ko)(Lt,"mousedown",Mt=>{Mt.preventDefault()})),Tt.add((0,sn.ko)(Lt,"click",Mt=>{Ol(Mt.target)&&this._onDidClick.fire(new jr.P((0,sn.zk)(Mt),Mt))}))),this.addViewZone(rt,K,Pt,Lt)}this._viewZoneListener.value=Tt})})}addViewZone(K,me,Re,et){const ze=K.addZone({afterLineNumber:me,heightInLines:Re,domNode:et,afterColumnAffinity:1,onComputedHeight:nt=>{this._viewZoneHeight.set(nt,void 0)}});this.keepCursorStable(me,Re),this._viewZoneInfo={viewZoneId:ze,heightInLines:Re,lineNumber:me}}removeActiveViewZone(K){this._viewZoneInfo&&(K.removeZone(this._viewZoneInfo.viewZoneId),this.hasBeenAccepted||this.keepCursorStable(this._viewZoneInfo.lineNumber,-this._viewZoneInfo.heightInLines),this._viewZoneInfo=void 0,this._viewZoneHeight.set(void 0,void 0))}keepCursorStable(K,me){if(!this._shouldKeepCursorStable)return;const Re=this._editor.getSelection()?.getStartPosition()?.lineNumber;Re!==void 0&&K<Re&&this._editor.setScrollTop(this._editor.getScrollTop()+me*this._editor.getOption(75))}}function Ol(tt){return(0,sn.sb)(tt)&&tt.classList.contains(jd)}class Ga{constructor(K,me){this.content=K,this.decorations=me}equals(K){return this.content.equals(K.content)?Yn.d.equalsArr(this.decorations,K.decorations):!1}}function Pl(tt,K,me,Re,et){const ze=Re.get(40),nt=Re.get(133),rt="none",Tt=Re.get(108),Pt=Re.get(60),Lt=Re.get(59),Mt=Re.get(75);let Nt="suggest-preview-text";et&&(Nt+=" clickable");const Vt=new Hi.fe(1e4);Vt.appendString(`<div class="${Nt}">`);for(let _i=0,Ri=me.length;_i<Ri;_i++){const Ui=me[_i],un=Ui.content;
76Vt.appendString('<div class="view-line'),Vt.appendString('" style="top:'),Vt.appendString(String(_i*Mt)),Vt.appendString('px;width:1000000px;">');const cn=un.getLineContent(),fi=(0,r.aC)(cn),wi=(0,r.E_)(cn);(0,Jn.UW)(new Jn.zL(Lt.isMonospace&&!ze,Lt.canUseHalfwidthRightwardsArrow,cn,!1,fi,wi,0,un,Ui.decorations.slice(),K,0,Lt.spaceWidth,Lt.middotWidth,Lt.wsmiddotWidth,nt,rt,Tt,Pt!==Oi.Bc.OFF,null,null,0),Vt),Vt.appendString("</div>")}Vt.appendString("</div>"),(0,Ii.M)(tt,Lt);const di=Vt.build(),Jt=ad?ad.createHTML(di):di;tt.innerHTML=Jt}const ad=(0,si.H)("editorGhostText",{createHTML:tt=>tt});var ul=e(90428),Gr=e(89044),Tr=e(67885);class gl{constructor(K,me){this.width=K,this.height=me}toString(){return`(${this.width},${this.height})`}transpose(){return new gl(this.height,this.width)}toDimension(){return{width:this.width,height:this.height}}}class is{static fromPoints(K,me){return new is(K.x,K.y,me.x,me.y)}static fromPointSize(K,me){return new is(K.x,K.y,K.x+me.x,K.y+me.y)}static fromLeftTopRightBottom(K,me,Re,et){return new is(K,me,Re,et)}static fromLeftTopWidthHeight(K,me,Re,et){return new is(K,me,K+Re,me+et)}static fromRanges(K,me){return new is(K.start,me.start,K.endExclusive,me.endExclusive)}static hull(K){let me=Number.MAX_SAFE_INTEGER,Re=Number.MAX_SAFE_INTEGER,et=Number.MIN_SAFE_INTEGER,ze=Number.MIN_SAFE_INTEGER;for(const nt of K)me=Math.min(me,nt.left),Re=Math.min(Re,nt.top),et=Math.max(et,nt.right),ze=Math.max(ze,nt.bottom);return new is(me,Re,et,ze)}get width(){return this.right-this.left}get height(){return this.bottom-this.top}constructor(K,me,Re,et){if(this.left=K,this.top=me,this.right=Re,this.bottom=et,K>Re)throw new gt.D7("Invalid arguments: Horizontally offset by "+(K-Re));if(me>et)throw new gt.D7("Invalid arguments: Vertically offset by "+(me-et))}withMargin(K,me,Re,et){let ze,nt,rt,Tt;return me===void 0&&Re===void 0&&et===void 0?ze=nt=rt=Tt=K:Re===void 0&&et===void 0?(ze=nt=me,rt=Tt=K):(ze=et,nt=me,rt=K,Tt=Re),new is(this.left-ze,this.top-rt,this.right+nt,this.bottom+Tt)}intersectVertical(K){const me=Math.max(this.top,K.start),Re=Math.min(this.bottom,K.endExclusive);return new is(this.left,me,this.right,Math.max(me,Re))}intersectHorizontal(K){const me=Math.max(this.left,K.start),Re=Math.min(this.right,K.endExclusive);return new is(me,this.top,Math.max(me,Re),this.bottom)}toString(){return`Rect{(${this.left},${this.top}), (${this.right},${this.bottom})}`}intersect(K){const me=Math.max(this.left,K.left),Re=Math.min(this.right,K.right),et=Math.max(this.top,K.top),ze=Math.min(this.bottom,K.bottom);if(!(me>Re||et>ze))return new is(me,et,Re,ze)}containsRect(K){return this.left<=K.left&&this.top<=K.top&&this.right>=K.right&&this.bottom>=K.bottom}containsPoint(K){return this.left<=K.x&&this.top<=K.y&&this.right>=K.x&&this.bottom>=K.y}moveToBeContainedIn(K){const me=this.width,Re=this.height;let et=this.left,ze=this.top;return et<K.left?et=K.left:et+me>K.right&&(et=K.right-me),ze<K.top?ze=K.top:ze+Re>K.bottom&&(ze=K.bottom-Re),new is(et,ze,et+me,ze+Re)}withWidth(K){return new is(this.left,this.top,this.left+K,this.bottom)}withHeight(K){return new is(this.left,this.top,this.right,this.top+K)}withTop(K){return new is(this.left,K,this.right,this.bottom)}withLeft(K){return new is(K,this.top,this.right,this.bottom)}translateX(K){return new is(this.left+K,this.top,this.right+K,this.bottom)}translateY(K){return new is(this.left,this.top+K,this.right,this.bottom+K)}getLeftBottom(){return new Tr.b(this.left,this.bottom)}getRightBottom(){return new Tr.b(this.right,this.bottom)}getRightTop(){return new Tr.b(this.right,this.top)}toStyles(){return{position:"absolute",left:`${this.left}px`,top:`${this.top}px`,width:`${this.width}px`,height:`${this.height}px`}}withHorizontalRange(K){return new is(K.start,this.top,K.endExclusive,this.bottom)}getSize(){return new gl(this.width,this.height)}}var ld=e(30696),Mn=e(87676),_r=e(18382),Kd=e(75962),Us=e(73858),fl=e(69227),cc=e(82735),dd=e(75712),Gd=e(10680),$r=e(58687),$d=e(94865),kc=e(74707);const vr=(0,Mn.x1)("inlineEdit.originalBackground",(0,Mn.JO)(Us.GN,.2),(0,I.kg)(1266,"Backgroun
76d color for the original text in inline edits."),!0),$a=(0,Mn.x1)("inlineEdit.modifiedBackground",(0,Mn.JO)(Us.Gj,.3),(0,I.kg)(1267,"Background color for the modified text in inline edits."),!0);(0,Mn.x1)("inlineEdit.originalChangedLineBackground",(0,Mn.JO)(Us.GN,.8),(0,I.kg)(1268,"Background color for the changed lines in the original text of inline edits."),!0);const cd=(0,Mn.x1)("inlineEdit.originalChangedTextBackground",(0,Mn.JO)(Us.GN,.8),(0,I.kg)(1269,"Overlay color for the changed text in the original text of inline edits."),!0),ml=(0,Mn.x1)("inlineEdit.modifiedChangedLineBackground",{light:(0,Mn.JO)(Us.w3,.7),dark:(0,Mn.JO)(Us.w3,.7),hcDark:Us.w3,hcLight:Us.w3},(0,I.kg)(1270,"Background color for the changed lines in the modified text of inline edits."),!0),kl=(0,Mn.x1)("inlineEdit.modifiedChangedTextBackground",(0,Mn.JO)(Us.Gj,.7),(0,I.kg)(1271,"Overlay color for the changed text in the modified text of inline edits."),!0),Ho=(0,Mn.x1)("inlineEdit.gutterIndicator.primaryForeground",fl.G_,(0,I.kg)(1272,"Foreground color for the primary inline edit gutter indicator.")),Mr=(0,Mn.x1)("inlineEdit.gutterIndicator.primaryBorder",fl.XJ,(0,I.kg)(1273,"Border color for the primary inline edit gutter indicator.")),Rr=(0,Mn.x1)("inlineEdit.gutterIndicator.primaryBackground",{light:(0,Mn.JO)(Mr,.5),dark:(0,Mn.JO)(Mr,.4),hcDark:(0,Mn.JO)(Mr,.4),hcLight:(0,Mn.JO)(Mr,.5)},(0,I.kg)(1274,"Background color for the primary inline edit gutter indicator.")),hd=(0,Mn.x1)("inlineEdit.gutterIndicator.secondaryForeground",Us.Xo,(0,I.kg)(1275,"Foreground color for the secondary inline edit gutter indicator.")),Nl=(0,Mn.x1)("inlineEdit.gutterIndicator.secondaryBorder",Us.oZ,(0,I.kg)(1276,"Border color for the secondary inline edit gutter indicator.")),ud=(0,Mn.x1)("inlineEdit.gutterIndicator.secondaryBackground",Us.Wf,(0,I.kg)(1277,"Background color for the secondary inline edit gutter indicator.")),gd=(0,Mn.x1)("inlineEdit.gutterIndicator.successfulForeground",fl.G_,(0,I.kg)(1278,"Foreground color for the successful inline edit gutter indicator.")),Qr=(0,Mn.x1)("inlineEdit.gutterIndicator.successfulBorder",fl.XJ,(0,I.kg)(1279,"Border color for the successful inline edit gutter indicator.")),Al=(0,Mn.x1)("inlineEdit.gutterIndicator.successfulBackground",Qr,(0,I.kg)(1280,"Background color for the successful inline edit gutter indicator.")),Qd=(0,Mn.x1)("inlineEdit.gutterIndicator.background",{hcDark:(0,Mn.JO)("tab.inactiveBackground",.5),hcLight:(0,Mn.JO)("tab.inactiveBackground",.5),dark:(0,Mn.JO)("tab.inactiveBackground",.5),light:"#5f5f5f18"},(0,I.kg)(1281,"Background color for the inline edit gutter indicator.")),pl=(0,Mn.x1)("inlineEdit.originalBorder",{light:Us.GN,dark:Us.GN,hcDark:Us.GN,hcLight:Us.GN},(0,I.kg)(1282,"Border color for the original text in inline edits.")),_l=(0,Mn.x1)("inlineEdit.modifiedBorder",{light:(0,Mn.e$)(Us.Gj,.6),dark:Us.Gj,hcDark:Us.Gj,hcLight:Us.Gj},(0,I.kg)(1283,"Border color for the modified text in inline edits.")),Rs=(0,Mn.x1)("inlineEdit.tabWillAcceptModifiedBorder",{light:(0,Mn.e$)(_l,0),dark:(0,Mn.e$)(_l,0),hcDark:(0,Mn.e$)(_l,0),hcLight:(0,Mn.e$)(_l,0)},(0,I.kg)(1284,"Modified border color for the inline edits widget when tab will accept it.")),Yd=(0,Mn.x1)("inlineEdit.tabWillAcceptOriginalBorder",{light:(0,Mn.e$)(pl,0),dark:(0,Mn.e$)(pl,0),hcDark:(0,Mn.e$)(pl,0),hcLight:(0,Mn.e$)(pl,0)},(0,I.kg)(1285,"Original border color for the inline edits widget over the original text when tab will accept it."));function Yr(tt){return tt.map(K=>K===jn.Accept?Rs:_l)}function Ia(tt){return tt.map(K=>K===jn.Accept?Yd:pl)}function Bo(tt,K){let me;typeof tt=="string"?me=Qa(tt,K):me=tt.map((et,ze)=>Qa(et,K).read(ze));const Re=Qa(Us.Yt,K);return me.map((et,ze)=>et.makeOpaque(Re.read(ze)))}function qo(tt){let K;switch(tt){case An.TextEditor:K=Us.Yt;break;case An.DiffEditor:K=Us.Yt;break;case An.Notebook:K="notebook.cellEditorBackground";break;default:(0,zs.xb)(tt,"Not supported editor type yet")}return(0,Mn.Gu)(K)}function Qa(tt,K){return(0,oe.eP)({owner:{observeColor:tt},equalsFn:(me,Re)=>me.equals(Re),debugName:()=>`observeColor(${tt})`},K.onDidColorThemeChange,()=>
76{const me=K.getColorTheme().getColor(tt);if(!me)throw new gt.D7(`Missing color: ${tt}`);return me})}const So=3;var Ya=e(39331),Xs=e(31531);function Zr(tt,K,me){const Re=tt.model.read(me);if(!Re)return 0;let et=0;for(let nt=K.startLineNumber;nt<K.endLineNumberExclusive;nt++){const rt=tt.getWidthOfLine(nt,me);et=Math.max(et,rt)}const ze=K.mapToLineArray(nt=>Re.getLineContent(nt));return et<5&&ze.some(nt=>nt.length>0)&&Re.uri.scheme!=="file"&&console.log("unexpected width"),et}function vl(tt,K,me){(0,Ko.y)(tt,tt.editor.onDidChangeLineHeight).read(me);const Re=tt.model.read(me);if(!Re)throw new gt.D7("Model is required");const et=[];for(let ze=K.startLineNumber;ze<K.endLineNumberExclusive;ze++){let nt=tt.getWidthOfLine(ze,me);if(nt===-1){const Tt=Re.getLineMaxColumn(ze),Pt=tt.editor.getOption(59).typicalHalfwidthCharacterWidth;nt=Tt*Pt}const rt=tt.editor.getLineHeightForPosition(new Ue.y(ze,1));et.push(new gl(nt,rt))}return et}function Zd(tt,K,me){return tt.layoutInfo.read(me),tt.value.read(me),tt.model.read(me)?(tt.scrollTop.read(me),tt.editor.getOffsetForColumn(K.lineNumber,K.column)):0}function Xr(tt,K,me,Re,et=void 0){const ze=Re.getModel();if(!ze)return{prefixTrim:0,prefixLeftOffset:0};const nt=tt.map(Nt=>Nt.isSingleLine()?Nt.startColumn-1:0),rt=K.mapToLineArray(Nt=>(0,Xs.oL)(ze.getLineContent(Nt))),Tt=me.filter(Nt=>Nt!=="").map(Nt=>(0,Xs.oL)(Nt)),Pt=Math.min(...nt,...rt,...Tt);let Lt;if(ze.getLineIndentColumn(K.startLineNumber)>=Pt+1)(0,ae.U)(Re).scrollTop.read(et),Lt=Re.getOffsetForColumn(K.startLineNumber,Pt+1);else if(me.length>0)Lt=ua(me[0].slice(0,Pt),Re,ze);else return{prefixTrim:0,prefixLeftOffset:0};return{prefixTrim:Pt,prefixLeftOffset:Lt}}
76function ua(tt,K,me){const Re=K.getOption(59).typicalHalfwidthCharacterWidth,et=me.getOptions().tabSize*Re,ze=tt.split("	").length-1;return(tt.length-ze)*Re+ze*et}function Za(tt){const K=tt.layoutInfoContentLeft,me=(0,Ai.un)({name:"editor.validOverlay.width"},et=>{const ze=tt.layoutInfoMinimap.read(et).minimapLeft!==0,nt=Math.max(0,tt.layoutInfoWidth.read(et)-K.read(et));if(ze){const rt=tt.layoutInfoMinimap.read(et).minimapWidth+tt.layoutInfoVerticalScrollbarWidth.read(et);return Math.max(0,nt-rt)}return nt}),Re=(0,Ai.un)({name:"editor.validOverlay.height"},et=>tt.layoutInfoHeight.read(et)+tt.contentHeight.read(et));return(0,Ai.un)({name:"editor.validOverlay"},et=>is.fromLeftTopWidthHeight(K.read(et),0,me.read(et),Re.read(et)))}function Vn(tt,K){const me=[];for(const Re of tt){const et=K.mapRange(Re.modifiedRange);me.push(new Ya.q6(Re.originalRange,et))}return me}function Ta(...tt){return tt.filter(K=>typeof K=="string").join(" ")}function co(tt,K){return new Gt.Q(K.lineNumber,K.column+tt.start,K.lineNumber,K.column+tt.endExclusive)}function fd(tt,K){let me=0;e:for(let Re=0,et=tt.length;Re<et;Re++)switch(tt.charCodeAt(Re)){case 9:me+=K;break;case 32:me++;break;default:break e}return me-me%K}function Cl(tt,K,me){let Re=K-K%me,et=0;for(;et<tt.length&&Re!==0;et++)switch(tt.charCodeAt(et)){case 9:Re-=me;break;case 32:Re--;break;default:throw new gt.D7("Unexpected character found while calculating indent length")}return et}function Js(tt,K,me){const Re=(0,r.uz)(tt),et=[],ze=(0,Xe.kh)(K.mapToLineArray(nt=>fd(Re[nt-1],me)),d.U9);return K.forEach(nt=>{const rt=Cl(Re[nt-1],ze,me);et.push(new Zt.W(co(new ge.L(0,rt),new Ue.y(nt,1)),""))}),new Zt.m(et)}class Wl{constructor(){this._data=""}moveTo(K){return this._data+=`M ${K.x} ${K.y} `,this}lineTo(K){return this._data+=`L ${K.x} ${K.y} `,this}build(){return this._data}}function Vo(tt){const K=(0,cs.ZX)(void 0,(me,Re)=>tt.read(me)||Re);return(0,Ai.C)({debugName:()=>`${tt.debugName}.mapOutFalsy`},me=>{if(K.read(me),!!tt.read(me))return K})}function Po(tt,K=Vi.j.ofCaller()){return{left:(0,Ai.un)({name:"editor.validOverlay.left"},me=>tt(me)?.left,K),top:(0,Ai.un)({name:"editor.validOverlay.top"},me=>tt(me)?.top,K),width:(0,Ai.un)({name:"editor.validOverlay.width"},me=>{const Re=tt(me);if(Re)return Re.width},K),height:(0,Ai.un)({name:"editor.validOverlay.height"},me=>{const Re=tt(me);if(Re)return Re.height},K)}}function hc(tt,K){const me=tt.getContainerDomNode(),Re=(0,Sn.FY)("domRect",me.getBoundingClientRect());return K.add(tt.onDidLayoutChange(et=>{Re.set(me.getBoundingClientRect(),void 0)})),Re}var md=e(77439),bl=e(67159),Ma=e(63339),Jr=e(58881),ga=e(3273),pd=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Sl=function(tt,K){return function(me,Re){K(me,Re,tt)}};let fa=class{constructor(K,me,Re,et,ze,nt){this._editorObs=K,this._data=me,this._close=Re,this._contextKeyService=et,this._keybindingService=ze,this._commandService=nt,this._inlineEditsShowCollapsed=this._editorObs.getOption(71).map(rt=>rt.edits.showCollapsed)}toDisposableLiveElement(){return this._createHoverContent().toDisposableLiveElement()}_createHoverContent(){const K=(0,Sn.FY)("active",void 0),me=Jt=>({title:Jt.title,icon:Jt.icon,keybinding:typeof Jt.commandId=="string"?this._getKeybinding(Jt.commandArgs?void 0:Jt.commandId):(0,Ai.un)(this,_i=>typeof Jt.commandId=="string"?void 0:this._getKeybinding(Jt.commandArgs?void 0:Jt.commandId.read(_i)).read(_i)),isActive:K.map(_i=>_i===Jt.id),onHoverChange:_i=>K.set(_i?Jt.id:void 0,void 0),onAction:()=>{const _i=typeof Jt.commandId=="string"?Jt.commandId:Jt.commandId.get();return this._close(!0,_i),this._commandService.executeCommand(_i,...Jt.commandArgs??[])}}),Re=this._data.extensionCommands.map(Jt=>Jt.map((_i,Ri)=>Nr(me({id:_i.command.id+"_"+Ri,title:_i.command.title,icon:_i.icon??Hs.W.symbolEvent,commandId:_i.command.id,commandArgs:_i.command.arguments})))),et=[];for(const Jt of Re)Jt.length>0&&(et.push(Ar()),et.push(...Jt));if(this._data.extensionCommandsOnly)return Bl(et.slice(1));const ze=Fl(this._data.displayName),nt=Nr(me({id:"gotoAndAccept",title:(0,I.kg)(1256,"Go To / Accept"),icon:Hs.W.check,commandId:de.Wt})),rt=Nr(me({id:"reject",title:(0,I.kg)(1257,"Reject"),icon:Hs.W.close,commandId:de.Nj})),Tt=this._data.alternativeAction?Nr(me({id:"alternativeCommand",title:this._data.alternativeAction.command.title,icon:this._data.alternativeAction.icon,commandId:de.z$})):void 0,Pt=[],Lt=this._inlineEditsShowCollapsed.map(Jt=>Nr(me(Jt?{id:"showExpanded",title:(0,I.kg)(1258,"Show Expanded"),icon:Hs.W.expandAll,commandId:de.sv}:{id:"showCollapsed",title:(0,I.kg)(1259,"Show Collapsed"),icon:Hs.W.collapseAll,commandId:de.sv}))),Mt=Nr(me({id:"snooze",title:(0,I.kg)(1260,"Snooze"),icon:Hs.W.bellSlash,commandId:"editor.action.inlineSuggest.snooze"})),Nt=Nr(me({id:"settings",title:(0,I.kg)(1261,"Settings"),icon:Hs.W.gear,commandId:"workbench.action.openSettings",commandArgs:["@tag:nextEditSuggestions"]})),Vt=this._data.action?[this._data.action]:[],di=Vt.length>0?yl(Vt.map(Jt=>({id:Jt.id,label:Jt.title+"...",enabled:!0,run:()=>this._commandService.executeCommand(Jt.id,...Jt.arguments??[]),class:void 0,tooltip:Jt.tooltip??Jt.title})),{hoverDelegate:ul.Hq}):void 0;return Bl([ze,nt,Tt,rt,Lt,Pt.length?Ar():void 0,...Pt,Mt,Nt,...et,di?Ar():void 0,di])}_getKeybinding(K){return K?(0,oe.y0)(this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(K)):(0,Ss.l)(void 0)}};fa=pd([Sl(3,G.fN),Sl(4,Qe.b),Sl(5,_e.d)],fa);function Bl(tt){return sn.n.div({class:"content",style:{margin:4,minWidth:180}},tt)}function Fl(tt){return sn.n.div({class:"header",style:{color:(0,Mn.Gu)(_r.yU),fontSize:"13px",fontWeight:"600",padding:"0 4px",lineHeight:28}},[tt])}function Nr(tt){return(0,Ai.un)({name:"inlineEdits.option"},K=>sn.n.div({class:["monaco-menu-option",tt.isActive?.map(me=>me&&"active")],onmouseenter:()=>tt.onHoverChange?.(!0),onmouseleave:()=>tt.onHoverChange?.(!1),onclick:tt.onAction,onkeydown:me=>{me.key==="Enter"&&tt.onAction?.()},tabIndex:0,style:{borderRadius:3}},[sn.n.elem("span",{style:{fontSize:16,display:"flex"}},[Jr.L.isThemeIcon(tt.icon)?(0,mi.s)(tt.icon):tt.icon.map(me=>(0,mi.s)(me))]),sn.n.elem("span",{},[tt.title]),sn.n.div({style:{marginLeft:"auto"},ref:me=>{const Re=K.store.add(new bl.x(me,Ma.OS,{disableTitle:!0,...ga.ir,keybindingLabelShadow:void 0,keybindingLabelForeground:(0,Mn.Gu)(_r.yU),keybindingLabelBackgroun
76d:"transparent",keybindingLabelBorder:"transparent",keybindingLabelBottomBorder:void 0}));K.store.add((0,fe.fm)(et=>{Re.set(tt.keybinding.read(et))}))}})]))}function yl(tt,K){return(0,Ai.un)({name:"inlineEdits.actionBar"},me=>sn.n.div({class:["action-widget-action-bar"],style:{padding:"3px 24px"}},[sn.n.div({ref:Re=>{me.store.add(new md.E(Re,K)).push(tt,{icon:!1,label:!0})}})]))}function Ar(){return sn.n.div({id:"inline-edit-gutter-indicator-menu-separator",class:"menu-separator",style:{color:(0,Mn.Gu)(cc.TU),padding:"2px 0"}},sn.n.div({style:{borderBottom:`1px solid ${(0,Mn.Gu)(Us.oZ)}`}}))}var _d=e(36477),uc=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},qr=function(tt,K){return function(me,Re){K(me,Re,tt)}};class vd{constructor(K,me,Re,et,ze){this.gutterMenuData=K,this.originalRange=me,this.model=Re,this.altAction=et,this.customization=ze}}class ea{static fromInlineSuggestion(K){const me=K.action?.kind==="edit"?K.action.alternativeAction:void 0,Re=K.source.inlineSuggestions.commands??[];return new ea(K.gutterMenuLinkAction,K.source.provider.displayName??(0,I.kg)(1262,"Inline Suggestion"),Re.length>0?[Re]:[],me,K.source.provider.modelInfo,K.source.provider.setModelId?.bind(K.source.provider))}constructor(K,me,Re,et,ze,nt,rt=!1){this.action=K,this.displayName=me,this.extensionCommands=Re,this.alternativeAction=et,this.modelInfo=ze,this.setModelId=nt,this.extensionCommandsOnly=rt}}class Xa{static fromInlineCompletionModel(K){return new Xa(()=>K.accept(),()=>K.jump())}constructor(K,me){this.accept=K,this.jump=me}}const Ja=16,ma=2;let Hl=class extends M.jG{constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt,Mt){super(),this._editorObs=K,this._data=me,this._tabAction=Re,this._verticalOffset=et,this._isHoveringOverInlineEdit=ze,this._focusIsInMenu=nt,this._hoverService=rt,this._instantiationService=Tt,this._accessibilityService=Pt,this._themeService=Lt,this._userInteractionService=Mt,this._onDidCloseWithCommand=this._register(new Bt.vl),this._modifierPressed=(0,Ai.un)(this,Vt=>this._userInteractionService.readModifierKeyStatus(this._editorObs.editor.getDomNode(),Vt).shiftKey),this._gutterIndicatorStyles=(0,Ai.un)(this,Vt=>{let di=this._tabAction.read(Vt);const Jt=this._data.read(Vt)?.altAction,_i=this._modifierPressed.read(Vt);switch(Jt&&_i&&(di=jn.Inactive),di){case jn.Inactive:return{background:Bo(ud,this._themeService).read(Vt).toString(),foreground:Bo(hd,this._themeService).read(Vt).toString(),border:Bo(Nl,this._themeService).read(Vt).toString()};case jn.Jump:return{background:Bo(Rr,this._themeService).read(Vt).toString(),foreground:Bo(Ho,this._themeService).read(Vt).toString(),border:Bo(Mr,this._themeService).read(Vt).toString()};case jn.Accept:return{background:Bo(Al,this._themeService).read(Vt).toString(),foreground:Bo(gd,this._themeService).read(Vt).toString(),border:Bo(Qr,this._themeService).read(Vt).toString()};default:(0,zs.xb)()}}),this._state=(0,Ai.un)(this,Vt=>{const di=this._originalRangeObs.read(Vt);if(di)return{range:di,lineOffsetRange:this._editorObs.observeLineOffsetRange(di,Vt.store)}}),this._lineNumberToRender=(0,Ai.un)(this,Vt=>{if(this._verticalOffset.read(Vt)!==0)return"";const di=this._data.read(Vt)?.originalRange.startLineNumber,Jt=this._editorObs.getOption(76).read(Vt);if(di===void 0||Jt.renderType===0)return"";if(Jt.renderType===3){const _i=this._editorObs.cursorPosition.read(Vt);return di%10===0||_i&&_i.lineNumber===di?di.toString():""}if(Jt.renderType===2){const _i=this._editorObs.cursorPosition.read(Vt);if(!_i)return"";const Ri=Math.abs(di-_i.lineNumber);return Ri===0?di.toString():Ri.toString()}return Jt.renderType===4?Jt.renderFn?Jt.renderFn(di):"":di.toString()}),this._availableWidthForIcon=(0,Ai.un)(this,Vt=>{const di=this._editorObs.editor.getModel(),Jt=this._editorObs.editor,_i=this._editorObs.layoutInfo.read(Vt),Ri=_i.decorationsLeft+_i.decorationsWidth-_i.glyphMarginLeft;if(!di||Ri<=0)return()=>0;if(_i.lineNumbersLeft===0)return()=>Ri;const Ui=this._editorObs.getOption(76).read(Vt);if(Ui.renderType===2||Ui.renderType===0)return()=>Ri;
76const un=Jt.getOption(59).typicalHalfwidthCharacterWidth,cn=_i.lineNumbersLeft+_i.lineNumbersWidth,wi=(di.getLineCount()+1).toString().length,gn=[];for(let ln=1;ln<=wi;ln++){const on=10**(ln-1),pn=Jt.getTopForLineNumber(on),qi=ln*un,Un=Math.min(Ri,Math.max(0,cn-qi-_i.glyphMarginLeft));gn.push({firstLineNumberWithDigitCount:on,topOfLineNumber:pn,usableWidthLeftOfLineNumber:Un})}return ln=>{for(let on=gn.length-1;on>=0;on--)if(ln>=gn[on].topOfLineNumber)return gn[on].usableWidthLeftOfLineNumber;throw new gt.D7("Could not find avilable width for icon")}}),this._layout=(0,Ai.un)(this,Vt=>{const di=this._state.read(Vt);if(!di)return;const Jt=this._editorObs.layoutInfo.read(Vt),_i=this._editorObs.observeLineHeightForLine(di.range.map(to=>to.startLineNumber)).read(Vt),Ri=1,Ui=2,un=Jt.decorationsLeft+Jt.decorationsWidth-Jt.glyphMarginLeft-2*Ri,cn=Jt.height-2*Ui,fi=is.fromLeftTopWidthHeight(Ri,Ui,un,cn),wi=fi.withTop(this._stickyScrollHeight.read(Vt)),gn=fi.withTop(wi.top+Ui),ln=di.lineOffsetRange.read(Vt),on=is.fromRanges(ge.L.fromTo(gn.left,gn.right),ln),pn=_i,qi=this._verticalOffset.read(Vt),Un=on.withHeight(pn).translateY(qi),ns=wi.containsRect(Un),bs=this._data.read(Vt)?.customization?.icon,Ks=bs?(0,Ss.l)(bs):this._tabAction.map(to=>to===jn.Accept?Hs.W.keyboardTab:Hs.W.arrowRight),Os=bs?(0,Ss.l)(bs):(0,Ai.un)(this,to=>{if(this._isHoveredOverIconDebounced.read(to)||this._isHoveredOverInlineEditDebounced.read(to))return Hs.W.check;if(this._tabAction.read(to)===jn.Accept)return Hs.W.keyboardTab;const Lo=this._editorObs.cursorLineNumber.read(to)??0,ra=di.range.read(to).startLineNumber;return Lo<=ra?Hs.W.keyboardTabAbove:Hs.W.keyboardTabBelow}),Is=22,qn=to=>{const Lo=this._availableWidthForIcon.read(void 0)(to.bottom+this._editorObs.editor.getScrollTop())-Ri;return Math.max(Math.min(Lo,Is),Ja)};if(ns){const to=Un;let Lo;Jt.lineNumbersWidth===0?Lo=Math.max(0,Math.min(Math.max(Jt.lineNumbersLeft-fi.left,0),to.width-Is)):Lo=Math.max(Jt.lineNumbersLeft+Jt.lineNumbersWidth-fi.left,0);const ra=to.withWidth(Lo),Od=Ja+ma,Pd=Math.min(to.width-Lo,Is),xl=to.withWidth(Math.max(Pd,Od)).translateX(Lo),Dc=Pd>=Od;return{gutterEditArea:on,icon:Os,iconDirection:"right",iconRect:xl,iconVisible:Dc,pillRect:to,lineNumberRect:ra}}const gs=fi.intersect(on);if(gs&&gs.height>=pn){const to=Un.moveToBeContainedIn(gn).moveToBeContainedIn(gs),Lo=to.withWidth(qn(to));return{gutterEditArea:on,icon:Os,iconDirection:"right",iconRect:Lo,pillRect:Lo,iconVisible:!0}}const Co=Un.moveToBeContainedIn(fi),ys=Co.withWidth(qn(Co)),Hr=ys,_n=ys.top<Un.top?"top":"bottom";return{gutterEditArea:on,icon:Ks,iconDirection:_n,iconRect:Hr,pillRect:ys,iconVisible:!0}}),this._iconRef=sn.n.ref(),this.isVisible=this._layout.map(Vt=>!!Vt),this._hoverVisible=(0,Sn.FY)(this,!1),this.isHoverVisible=this._hoverVisible,this._isHoveredOverIcon=(0,Sn.FY)(this,!1),this._isHoveredOverIconDebounced=(0,cs.pl)(this._isHoveredOverIcon,100),this.isHoveredOverIcon=this._isHoveredOverIconDebounced,this._indicator=sn.n.div({class:"inline-edits-view-gutter-indicator",style:{position:"absolute",overflow:"visible"}},Vo(this._layout).map(Vt=>Vt?[sn.n.div({style:{position:"absolute",background:(0,Mn.Gu)(Qd),borderRadius:`${So}px`,...Po(di=>Vt.read(di).gutterEditArea)}}),sn.n.div({class:"icon",ref:this._iconRef,tabIndex:0,onclick:()=>{const Jt=this._layout.get()?.icon.get()===Hs.W.check,_i=this._data.get();if(!_i)throw new gt.D7("Gutter indicator data not available");this._editorObs.editor.focus(),Jt?_i.model.accept():_i.model.jump()},onmouseenter:()=>{this._showHover()},style:{cursor:"pointer",zIndex:"20",position:"absolute",backgroundColor:this._gutterIndicatorStyles.map(di=>di.background),"--vscodeIconForeground":this._gutterIndicatorStyles.map(di=>di.foreground),border:this._gutterIndicatorStyles.map(di=>`1px solid ${di.border}`),boxSizing:"border-box",borderRadius:`${So}px`,display:"flex",justifyContent:Vt.map(di=>di.iconDirection==="bottom"?"flex-start":"flex-end"),transition:this._modifierPressed.map(di=>di?"":"background-color 0.2s ease-in-out, width 0.2s ease-in-out"),...Po(di=>Vt.read(di).pillRect)}},[sn.n.div({className:"line-number",style:{lineHeight:Vt.map(di=>di.lineNumberRect?di.lineNumberRect.height:0),display:Vt.map(di=>di.lineNumberRect?"flex":"none"),alignItems:"center",justifyContent:"flex-end",width:Vt.map(di=>di.lineNumberRect?di.lineNumberRect.width:0),height:"100%",color:this._gutterIndicatorStyles.map(di=>di.foreground)}},this._lineNumberToRender),sn.n.div({style:{transform:Vt.map(di=>`rotate(${Cd(di.iconDirection)}deg)`),transition:"rotate 0.2s ease-in-out, opacity 0.2s ease-in-out",display:"flex",alignItems:"center",justifyContent:"center",height:"100%",opacity:Vt.map(di=>di.iconVisible?"1":"0"),marginRight:Vt.map(di=>di.pillRect.width-di.iconRect.width-(di.lineNumberRect?.width??0)),width:Vt.map(di=>di.iconRect.width),position:"relative",right:Vt.map(di=>di.iconDirection==="top"?"1px":"0"),color:this._data.map(di=>di?.customization?.icon?.color?(0,Mn.Gu)(di.customization.icon.color.id):void 0)}},[Vt.map((di,Jt)=>gc((0,mi.s)(di.icon.read(Jt)),{fontSize:fc(Math.min(di.iconRect.width-ma,Ja))}))])])]:[])),this._originalRangeObs=Vo(this._data.map(Vt=>Vt?.originalRange)),this._stickyScrollController=ld.n.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?(0,oe.y0)(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):(0,Ss.l)(0),this._isHoveredOverInlineEditDebounced=(0,cs.pl)(this._isHoveringOverInlineEdit,100);const Nt=this._indicator.keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:Nt.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ss.l)(0)})),this._register(this._editorObs.editor.onMouseMove(Vt=>{if(this._state.get()===void 0)return;const _i=this._iconRef.element.getBoundingClientRect(),Ri=is.fromLeftTopWidthHeight(_i.left,_i.top,_i.width,_i.height),Ui=new Tr.b(Vt.event.posx,Vt.event.posy);this._isHoveredOverIcon.set(Ri.containsPoint(Ui),void 0)})),this._register(this._editorObs.editor.onDidScrollChange(()=>{this._isHoveredOverIcon.set(!1,void 0)})),this._register((0,pr.lp)(this._isHoveredOverInlineEditDebounced,Vt=>{Vt&&this.triggerAnimation()})),this._register((0,fe.fm)(Vt=>{Nt.readEffect(Vt),Nt.element&&this._editorObs.editor.applyFontInfo(Nt.element)}))}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{outline:`2px solid ${this._gutterIndicatorStyles.map(me=>me.border).get()}`,outlineOffset:"-1px",offset:0}
76,{outline:"2px solid transparent",outlineOffset:"10px",offset:1}],{duration:500}).finished}_showHover(){if(this._hoverVisible.get())return;const K=this._data.get();if(!K)throw new gt.D7("Gutter indicator data not available");const me=new M.Cm,Re=me.add(this._instantiationService.createInstance(fa,this._editorObs,K.gutterMenuData,(nt,rt)=>{nt&&this._editorObs.editor.focus(),rt&&this._onDidCloseWithCommand.fire(rt),ze?.dispose()}).toDisposableLiveElement()),et=this._userInteractionService.createFocusTracker(Re.element,me);me.add((0,fe.fm)(nt=>{this._focusIsInMenu.set(et.read(nt),void 0)})),me.add((0,M.s)(()=>this._focusIsInMenu.set(!1,void 0)));const ze=this._hoverService.showInstantHover({target:this._iconRef.element,content:Re.element});ze?(this._hoverVisible.set(!0,void 0),me.add(this._editorObs.editor.onDidScrollChange(()=>ze.dispose())),me.add(ze.onDispose(()=>{this._hoverVisible.set(!1,void 0),me.dispose()}))):me.dispose()}};Hl=uc([qr(6,ul.TN),qr(7,T._Y),qr(8,H.j),qr(9,Gr.Gy),qr(10,_d.u)],Hl);function Cd(tt){switch(tt){case"top":return 90;case"bottom":return-90;case"right":return 0}}function gc(tt,K){for(const me in K)tt.style[me]=K[me];return tt}function fc(tt){return`${tt}px`}var Vl=e(90840),Xd=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Jd=function(tt,K){return function(me,Re){K(me,Re,tt)}},Fo;(function(tt){tt.FirstTime="firstTime",tt.SecondTime="secondTime",tt.Active="active"})(Fo||(Fo={}));let Ul=class extends M.jG{constructor(K,me,Re,et,ze){super(),this._model=K,this._indicator=me,this._collapsedView=Re,this._storageService=et,this._configurationService=ze,this._disposables=this._register(new M.HE),this._setupDone=(0,Sn.FY)({name:"setupDone"},!1),this._activeCompletionId=(0,Ai.un)(nt=>{const rt=this._model.read(nt);if(!rt||!this._setupDone.read(nt))return;const Tt=this._indicator.read(nt);if(!(!Tt||!Tt.isVisible.read(nt)))return rt.inlineEdit.inlineCompletion.identity.id}),this._register(this._initializeDebugSetting()),this._disposables.value=this.setupNewUserExperience(),this._setupDone.set(!0,void 0)}setupNewUserExperience(){if(this.getNewUserType()===Fo.Active)return;const K=new M.Cm;let me=!1,Re=!1,et=0,ze=0;return K.add((0,pr.fT)(this._activeCompletionId,async(nt,rt,Tt,Pt)=>{if(nt===void 0)return;let Lt=this.getNewUserType();switch(Lt){case Fo.FirstTime:{(et++>=5||me)&&(Lt=Fo.SecondTime,this.setNewUserType(Lt));break}case Fo.SecondTime:{ze++>=3&&Re&&(Lt=Fo.Active,this.setNewUserType(Lt));break}}switch(Lt){case Fo.FirstTime:{for(let Mt=0;Mt<3&&!Pt.isCancellationRequested;Mt++)await this._indicator.get()?.triggerAnimation(),await(0,we.wR)(500);break}case Fo.SecondTime:{this._indicator.get()?.triggerAnimation();break}}})),K.add((0,fe.fm)(nt=>{this._collapsedView.isVisible.read(nt)&&this.getNewUserType()!==Fo.Active&&this._collapsedView.triggerAnimation()})),K.add((0,fe.fm)(nt=>{const rt=this._indicator.read(nt);rt&&nt.store.add((0,pr.lp)(rt.isHoveredOverIcon,async Tt=>{Tt&&(me=!0)}))})),K.add((0,fe.fm)(nt=>{const rt=this._model.read(nt);rt&&nt.store.add(rt.onDidAccept(()=>
76{Re=!0}))})),K}getNewUserType(){return this._storageService.get("inlineEditsGutterIndicatorUserKind",-1,Fo.FirstTime)}setNewUserType(K){switch(K){case Fo.FirstTime:throw new gt.D7("UserKind should not be set to first time");case Fo.SecondTime:break;case Fo.Active:this._disposables.clear();break}this._storageService.store("inlineEditsGutterIndicatorUserKind",K,-1,0)}_initializeDebugSetting(){const K="editor.inlineSuggest.edits.resetNewUserExperience";return this._configurationService.getValue(K)&&this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._configurationService.onDidChangeConfiguration(Re=>{Re.affectsConfiguration(K)&&this._configurationService.getValue(K)&&(this._storageService.remove("inlineEditsGutterIndicatorUserKind",-1),this._disposables.value=this.setupNewUserExperience())})}};Ul=Xd([Jd(3,Vl.CS),Jd(4,X.pG)],Ul);const td=class td{constructor(K){this.replacements=K,(0,zs.vA)((0,zs.Xo)(K,(me,Re)=>me.lineRange.endLineNumberExclusive<=Re.lineRange.startLineNumber))}toString(){return this.replacements.map(K=>K.toString()).join(",")}getNewLineRanges(){const K=[];let me=0;for(const Re of this.replacements)K.push(ri.M.ofLength(Re.lineRange.startLineNumber+me,Re.newLines.length)),me+=Re.newLines.length-Re.lineRange.length;return K}};td.empty=new td([]);let bd=td;class Ra{static fromSingleTextEdit(K,me){const Re=(0,r.uz)(K.text);let et=K.range.startLineNumber;const ze=me.getValueOfRange(Gt.Q.fromPositions(new Ue.y(K.range.startLineNumber,1),K.range.getStartPosition()));Re[0]=ze+Re[0];let nt=K.range.endLineNumber+1;const rt=me.getTransformer().getLineLength(K.range.endLineNumber)+1,Tt=me.getValueOfRange(Gt.Q.fromPositions(K.range.getEndPosition(),new Ue.y(K.range.endLineNumber,rt)));Re[Re.length-1]=Re[Re.length-1]+Tt;const Pt=K.range.startColumn===me.getTransformer().getLineLength(K.range.startLineNumber)+1,Lt=K.range.endColumn===1;return Pt&&Re[0].length===ze.length&&(et++,Re.shift()),Re.length>0&&et<nt&&Lt&&Re[Re.length-1].length===Tt.length&&(nt--,Re.pop()),new Ra(new ri.M(et,nt),Re)}constructor(K,me){this.lineRange=K,this.newLines=me}toString(){return`${this.lineRange}->${JSON.stringify(this.newLines)}`}toLineEdit(){return new bd([this])}}class Sd{get lineEdit(){return this.action?.kind==="jumpTo"?new Ra(ri.M.ofLength(this.action.position.lineNumber,0),[]):this.action?.kind==="edit"?Ra.fromSingleTextEdit(this.edit.toReplacement(this.originalText),this.originalText):new Ra(new ri.M(1,1),[])}get originalLineRange(){return this.lineEdit.lineRange}get modifiedLineRange(){return this.lineEdit.toLineEdit().getNewLineRanges()[0]}get displayRange(){return this.originalText.lineRange.intersect(this.originalLineRange.join(ri.M.ofLength(this.originalLineRange.startLineNumber,this.lineEdit.newLines.length)))}constructor(K,me,Re,et,ze,nt,rt){this.originalText=K,this.action=me,this.edit=Re,this.cursorPosition=et,this.multiCursorPositions=ze,this.commands=nt,this.inlineCompletion=rt}}class qd{constructor(K,me,Re){this._model=K,this.inlineEdit=me,this.tabAction=Re,this.editorType=this._model.editorType,this.displayLocation=this.inlineEdit.inlineCompletion.hint,this.inViewPort=(0,Ai.un)(this,et=>w(this._model.editor,this.inlineEdit.inlineCompletion,et)),this.onDidAccept=this._model.onDidAccept}accept(K){this._model.accept(void 0,K)}handleInlineEditShownNextFrame(K,me){const Re=this.inlineEdit.inlineCompletion,et=Date.now();Re.addRef(),(0,Ma._p)(()=>{this._model.handleInlineSuggestionShown(Re,K,me,et),Re.removeRef()})}}var mc=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Cr=function(tt,K){return function(me,Re){K(me,Re,tt)}};let yd=class extends M.jG{constructor(K,me,Re){super(),this._editor=K,this._edit=me,this._accessibilityService=Re,this.onDidClick=Bt.Jh.None,this._iconRef=sn.n.ref(),this.isHovered=(0,Ss.l)(!1),this._editorObs=(0,ae.U)(this._editor);const ze=this._edit.map(Pt=>Pt?.edit?.replacements[0]??null).map(Pt=>Pt?hn(Pt,this._editor.getModel()).range.getStartPosition():null),nt=this._editorObs.observePosition(ze,this._store),rt=(0,Ai.un)(Pt=>{const Lt=nt.read(Pt);if(!Lt)return null;const Mt=this._editorObs.layoutInfoContentLeft.read(Pt),Nt=this._editorObs.scrollLeft.read(Pt);return new Tr.b(Mt+Lt.x-Nt,Lt.y)}),Tt=sn.n.div({class:"inline-edits-collapsed-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[[this.getCollapsedIndicator(rt)]]).keepUpdated(this._store).element;this._register(this._editorObs.createOverlayWidget({domNode:Tt,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ss.l)(0)})),this.isVisible=this._edit.map((Pt,Lt)=>!!Pt&&rt.read(Lt)!==null)}triggerAnimation(){return this._accessibilityService.isMotionReduced()?new Animation(null,null).finished:this._iconRef.element.animate([{offset:0,transform:"translateY(-3px)"},{offset:.2,transform:"translateY(1px)"},{offset:.36,transform:"translateY(-1px)"},{offset:.52,transform:"translateY(1px)"},{offset:.68,transform:"translateY(-1px)"},{offset:.84,transform:"translateY(1px)"},{offset:1,transform:"translateY(0px)"}],{duration:2e3}).finished}getCollapsedIndicator(K){const me=this._editorObs.layoutInfoContentLeft,Re=K.map((ze,nt)=>ze?ze.deltaX(-me.read(nt)):null),et=this.createIconPath(Re);return sn.n.svg({class:"collapsedView",ref:this._iconRef,style:{position:"absolute",...Po(ze=>Za(this._editorObs).read(ze)),overflow:"hidden",pointerEvents:"none"}},[sn.n.svgElem("path",{class:"collapsedViewPath",d:et,fill:(0,Mn.Gu)(Mr)})])}createIconPath(K){return K.map(ze=>{if(!ze)return new Wl().build();const nt=ze.deltaX(-6/2).deltaY(-1),rt=nt.deltaX(6),Tt=nt.deltaY(1),Pt=rt.deltaY(1),Lt=Tt.deltaX(6/2).deltaY(3);return new Wl().moveTo(nt).lineTo(rt).lineTo(Pt).lineTo(Lt).lineTo(Tt).lineTo(nt).build()})}};yd=mc([Cr(2,H.j)],yd);var Uo=e(97328),wd=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},jl=function(tt,K){return function(me,Re){K(me,Re,tt)}};const zl=14,rr=0,er=4,Kl=4,Gl=2;let Ed=class extends M.jG{constructor(K,me,Re,et,ze,nt){super(),this._editor=K,this._languageService=nt,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._isHovered=(0,Sn.FY)(this,!1),this.isHovered=this._isHovered,this._viewRef=sn.n.ref(),this._editorObs=(0,ae.U)(this._editor);const rt=Re.map((Mt,Nt)=>{let Vt;switch(Mt){case jn.Inactive:Vt=ud;break;case jn.Jump:Vt=Rr;break;case jn.Accept:Vt=Al;break}
76return{border:Bo(Vt,ze).read(Nt).toString(),background:qo(et.read(Nt))}}),Tt=me.map(Mt=>Mt?this.getState(Mt):void 0),Pt=Tt.map(Mt=>Mt?this.getRendering(Mt,rt):void 0);this.minEditorScrollHeight=(0,Ai.un)(this,Mt=>{const Nt=Tt.read(Mt);return Nt?Nt.rect.read(Mt).bottom+this._editor.getScrollTop():0});const Lt=sn.n.div({class:"inline-edits-custom-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:"block"}},[Pt]).keepUpdated(this._store);this._register(this._editorObs.createOverlayWidget({domNode:Lt.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,cs.ZX)(this,(Mt,Nt)=>{const Vt=Tt.read(Mt);if(!Vt)return Nt??0;const di=Vt.rect.map(Jt=>Jt.right).read(Mt)+this._editorObs.layoutInfoVerticalScrollbarWidth.read(Mt)+er-this._editorObs.layoutInfoContentLeft.read(Mt);return Math.max(Nt??0,di)}).recomputeInitiallyAndOnChange(this._store)})),this._register((0,fe.fm)(Mt=>{if(!Pt.read(Mt)){this._isHovered.set(!1,void 0);return}this._isHovered.set(Lt.isHovered.read(Mt),void 0)}))}fitsInsideViewport(K,me,Re){const et=this._editorObs.layoutInfoWidth.read(Re),ze=this._editorObs.layoutInfoContentLeft.read(Re),nt=this._editor.getLayoutInfo().verticalScrollbarWidth,rt=this._editorObs.layoutInfoMinimap.read(Re).minimapLeft!==0?this._editorObs.layoutInfoMinimap.read(Re).minimapWidth:0,Tt=Zr(this._editorObs,K,void 0),Pt=ua(me,this._editor,this._editor.getModel()),Lt=er+zl;return Tt+Pt+Lt<et-ze-nt-rt}getState(K){const me=(0,Ai.un)(this,rt=>{const Tt=K.range.startLineNumber,Pt=K.range.endLineNumber,Lt=K.range.startColumn,Mt=K.range.endColumn,Nt=this._editor.getModel()?.getLineCount()??0,Vt=Zr(this._editorObs,new ri.M(Tt,Tt+1),rt),di=Tt+1<=Nt?Zr(this._editorObs,new ri.M(Tt+1,Tt+2),rt):void 0,Jt=Tt-1>=1?Zr(this._editorObs,new ri.M(Tt-1,Tt),rt):void 0,_i=this._editor.getOffsetForColumn(Tt,Lt),Ri=this._editor.getOffsetForColumn(Pt,Mt);return{lineWidth:Vt,lineWidthBelow:di,lineWidthAbove:Jt,startContentLeftOffset:_i,endContentLeftOffset:Ri}}),Re=K.range.startLineNumber,et=K.range.endLineNumber,ze=this.fitsInsideViewport(new ri.M(Re,et+1),K.content,void 0);return{rect:(0,Ai.un)(this,rt=>{const Tt=this._editorObs.getOption(59).read(rt).typicalHalfwidthCharacterWidth,{lineWidth:Pt,lineWidthBelow:Lt,lineWidthAbove:Mt,startContentLeftOffset:Nt,endContentLeftOffset:Vt}=me.read(rt),di=this._editorObs.layoutInfoContentLeft.read(rt),Jt=this._editorObs.observeLineHeightForLine(Re).recomputeInitiallyAndOnChange(rt.store).read(rt),_i=this._editorObs.scrollTop.read(rt),Ri=this._editorObs.scrollLeft.read(rt);let Ui;Re===et&&Vt+5*Tt>=Pt&&ze?Ui="end":Lt!==void 0&&Lt+zl-Kl-er<Nt?Ui="below":Mt!==void 0&&Mt+zl-Kl-er<Nt?Ui="above":Ui="end";let un,cn,fi=0,wi=0;switch(Ui){case"end":{un=this._editorObs.editor.getTopForLineNumber(Re),cn=Pt,fi=er+zl;break}case"below":{un=this._editorObs.editor.getTopForLineNumber(Re+1),cn=Nt,fi=er+Kl,wi=rr+Gl;break}case"above":{un=this._editorObs.editor.getTopForLineNumber(Re-1),cn=Nt,fi=er+Kl,wi=-rr+Gl;break}}return is.fromLeftTopWidthHeight(di+cn-Ri,un-_i,Tt*K.content.length,Jt).withMargin(rr,er).translateX(fi).translateY(wi)}),label:K.content,kind:K.style}}getRendering(K,me){const Re=document.createElement("div"),et=this._editor.getModel().tokenization.tokenizeLinesAt(1,[K.label])?.[0];let ze;et&&K.kind===Fe.KU.Code?ze=Pn.fE.fromLineTokens(et).toLineTokens(K.label,this._languageService.languageIdCodec):ze=Pn.f7.createEmpty(K.label,this._languageService.languageIdCodec);const nt=(0,Uo.ET)(new Uo.On([ze]),Uo.bX.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],Re,!0);Re.style.width=`${nt.minWidthInPx}px`;const rt=K.rect.map(Tt=>Tt.withMargin(0,er));return sn.n.div({class:"collapsedView",ref:this._viewRef,style:{position:"absolute",...Po(Tt=>rt.read(Tt)),overflow:"hidden",boxSizing:"border-box",cursor:"pointer",border:me.map(Tt=>`1px solid ${Tt.border}`),borderRadius:`${So}px`,backgroundColor:me.map(Tt=>Tt.background),display:"flex",alignItems:"center",justifyContent:"center",whiteSpace:"nowrap"},onmousedown:Tt=>{Tt.preventDefault()},onclick:Tt=>{this._onDidClick.fire(Do.create(Tt))}},[Re])}};Ed=wd([jl(4,Gr.Gy),jl(5,dn.L)],Ed);const $l=0,Oa=0,br=1,Ql=1,pc=3,Ld=So;class wl extends M.jG{constructor(K,me,Re,et){super(),this._editor=K,this._edit=me,this._uiState=Re,this._tabAction=et,this.onDidClick=Bt.Jh.None,this._display=(0,Ai.un)(this,rt=>this._uiState.read(rt)?"block":"none"),this._editorMaxContentWidthInRange=(0,Ai.un)(this,rt=>{const Tt=this._originalDisplayRange.read(rt);return Tt?(this._editorObs.versionId.read(rt),(0,cs.ZX)(this,(Pt,Lt)=>{const Mt=Zr(this._editorObs,Tt,Pt);return Math.max(Mt,Lt??0)})):(0,Ss.l)(0)}).map((rt,Tt)=>rt.read(Tt)),this._maxPrefixTrim=(0,Ai.un)(this,rt=>{const Tt=this._uiState.read(rt);return Tt?Xr(Tt.deletions,Tt.originalRange,[],this._editor):{prefixTrim:0,prefixLeftOffset:0}}),this._editorLayoutInfo=(0,Ai.un)(this,rt=>{const Tt=this._edit.read(rt);if(!Tt||!this._uiState.read(rt))return null;const Lt=this._editorObs.layoutInfo.read(rt),Mt=this._editorObs.scrollLeft.read(rt),Nt=this._editorObs.getOption(59).map(un=>un.typicalHalfwidthCharacterWidth).read(rt),Vt=Lt.contentLeft+Math.max(this._editorMaxContentWidthInRange.read(rt),Nt)-Mt,di=Tt.originalLineRange,Jt=this._originalVerticalStartPosition.read(rt)??this._editor.getTopForLineNumber(di.startLineNumber)-this._editorObs.scrollTop.read(rt),_i=this._originalVerticalEndPosition.read(rt)??this._editor.getTopForLineNumber(di.endLineNumberExclusive)-this._editorObs.scrollTop.read(rt),Ri=Lt.contentLeft+this._maxPrefixTrim.read(rt).prefixLeftOffset-Mt;return Vt<=Ri?null:{codeRect:is.fromLeftTopRightBottom(Ri,Jt,Vt,_i).withMargin(Oa,$l),contentLeft:Lt.contentLeft}}).recomputeInitiallyAndOnChange(this._store),this._originalOverlay=sn.n.div({style:{pointerEvents:"none"}},(0,Ai.un)(this,rt=>{const Tt=Vo(this._editorLayoutInfo).read(rt);if(!Tt)return;const Pt=Tt.map(di=>is.fromLeftTopRightBottom(di.contentLeft-Ld-br,di.codeRect.top,di.contentLeft,di.codeRect.bottom)),Lt=(0,Ai.un)(this,di=>{const Jt=Tt.read(di).codeRect,_i=Pt.read(di);return Jt.intersectHorizontal(new ge.L(_i.left,Number.MAX_SAFE_INTEGER))}),Mt=this._uiState.map(di=>di?.editorType===An.DiffEditor?pc:Ql).read(rt),Nt=Lt.map(di=>di.withMargin(Mt,Mt)),Vt=qo(this._uiState.map(di=>di?.editorType??An.TextEditor).read(rt));
76return[sn.n.div({class:"originalSeparatorDeletion",style:{...Nt.read(rt).toStyles(),borderRadius:`${Ld}px`,border:`${br+Mt}px solid ${Vt}`,boxSizing:"border-box"}}),sn.n.div({class:"originalOverlayDeletion",style:{...Lt.read(rt).toStyles(),borderRadius:`${Ld}px`,border:Ia(this._tabAction).map(di=>`${br}px solid ${(0,Mn.Gu)(di)}`),boxSizing:"border-box",backgroundColor:(0,Mn.Gu)(vr)}}),sn.n.div({class:"originalOverlayHiderDeletion",style:{...Pt.read(rt).toStyles(),backgroundColor:Vt}})]})).keepUpdated(this._store),this._nonOverflowView=sn.n.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._originalOverlay]]).keepUpdated(this._store),this.isHovered=(0,Ss.l)(!1),this._editorObs=(0,ae.U)(this._editor);const ze=(0,Ai.un)(this,rt=>{const Tt=this._edit.read(rt);return Tt?new Ue.y(Tt.originalLineRange.startLineNumber,1):null}),nt=(0,Ai.un)(this,rt=>{const Tt=this._edit.read(rt);return Tt?new Ue.y(Tt.originalLineRange.endLineNumberExclusive,1):null});this._originalDisplayRange=this._uiState.map(rt=>rt?.originalRange),this._originalVerticalStartPosition=this._editorObs.observePosition(ze,this._store).map(rt=>rt?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(nt,this._store).map(rt=>rt?.y),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ai.un)(this,rt=>{const Tt=this._editorLayoutInfo.read(rt);return Tt===null?0:Tt.codeRect.width})}))}}var Yl=e(41683),El=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ec=function(tt,K){return function(me,Re){K(me,Re,tt)}};const qa=1,ar=1,tc=3,Ll=So;let Dl=class extends M.jG{constructor(K,me,Re,et,ze){super(),this._editor=K,this._input=me,this._tabAction=Re,this._languageService=ze,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._state=(0,Ai.un)(this,nt=>{const rt=this._input.read(nt);if(!rt)return;const Tt=this._editor.getModel(),Pt=Tt.getEOL();if(rt.startColumn===1&&rt.lineNumber>1&&Tt.getLineLength(rt.lineNumber)!==0&&rt.text.endsWith(Pt)&&!rt.text.startsWith(Pt)){const Lt=Tt.getLineLength(rt.lineNumber-1)+1;return{lineNumber:rt.lineNumber-1,column:Lt,text:Pt+rt.text.slice(0,-Pt.length)}}return{lineNumber:rt.lineNumber,column:rt.startColumn,text:rt.text}}),this._trimVertically=(0,Ai.un)(this,nt=>{const rt=this._state.read(nt),Tt=rt?.text;if(!Tt||Tt.trim()==="")return{topOffset:0,bottomOffset:0,linesTop:0,linesBottom:0};const Pt=this._editor.getLineHeightForPosition(new Ue.y(rt.lineNumber,1)),Lt=this._editor.getModel().getEOL();let Mt=0,Nt=0,Vt=0;for(;Vt<Tt.length&&Tt.startsWith(Lt,Vt);Vt+=Lt.length)Mt+=1;for(let di=Tt.length;di>Vt&&Tt.endsWith(Lt,di);di-=Lt.length)Nt+=1;return{topOffset:Mt*Pt,bottomOffset:Nt*Pt,linesTop:Mt,linesBottom:Nt}}),this._maxPrefixTrim=(0,Ai.un)(this,nt=>{const rt=this._state.read(nt);if(!rt)return{prefixLeftOffset:0,prefixTrim:0};const Tt=this._editor.getModel(),Pt=Tt.getEOL(),Lt=this._trimVertically.read(nt),Mt=rt.text.split(Pt),Nt=Mt.slice(Lt.linesTop,Mt.length-Lt.linesBottom);Lt.linesTop===0&&(Nt[0]=Tt.getLineContent(rt.lineNumber)+Nt[0]);const Vt=new ri.M(rt.lineNumber,rt.lineNumber+(Lt.linesTop>0?0:1));return Xr([],Vt,Nt,this._editor)}),this._ghostText=(0,Ai.un)(nt=>{const rt=this._state.read(nt),Tt=this._maxPrefixTrim.read(nt);if(!rt)return;const Lt=this._editor.getModel().getEOL(),Nt=rt.text.split(Lt).map((Vt,di)=>new Yl.kI(new Gt.Q(di+1,di===0?1:Tt.prefixTrim+1,di+1,Vt.length+1),"modified-background",0));return new Kn(rt.lineNumber,[new jt(rt.column,rt.text,!1,Nt)])}),this._display=(0,Ai.un)(this,nt=>this._state.read(nt)?"block":"none"),this._editorMaxContentWidthInRange=(0,Ai.un)(this,nt=>{const rt=this._state.read(nt);if(!rt)return 0;this._editorObs.versionId.read(nt);const Tt=this._editor.getModel(),Pt=Tt.getEOL(),Lt=rt.text.startsWith(Pt)?"":Tt.getValueInRange(new Gt.Q(rt.lineNumber,1,rt.lineNumber,rt.column)),Mt=Tt.getValueInRange(new Gt.Q(rt.lineNumber,rt.column,rt.lineNumber,Tt.getLineLength(rt.lineNumber)+1)),Vt=(Lt+rt.text+Mt).split(Pt),di=Uo.bX.fromEditor(this._editor).withSetWidth(!1).withScrollBeyondLastColumn(0),Jt=Vt.map(_i=>{const Ri=Tt.tokenization.tokenizeLinesAt(rt.lineNumber,[_i])?.[0];let Ui;return Ri?Ui=Pn.fE.fromLineTokens(Ri).toLineTokens(_i,this._languageService.languageIdCodec):Ui=Pn.f7.createEmpty(_i,this._languageService.languageIdCodec),(0,Uo.ET)(new Uo.On([Ui]),di,[],(0,sn.$)("div"),!0).minWidthInPx});return Math.max(...Jt)}),this.startLineOffset=this._trimVertically.map(nt=>nt.topOffset),this.originalLines=this._state.map(nt=>nt?new ri.M(nt.lineNumber,Math.min(nt.lineNumber+2,this._editor.getModel().getLineCount()+1)):void 0),this._overlayLayout=(0,Ai.un)(this,nt=>{this._ghostText.read(nt);const rt=this._state.read(nt);if(!rt)return null;this._editorObs.observePosition((0,Sn.FY)(this,new Ue.y(rt.lineNumber,rt.column)),nt.store).read(nt);const Tt=this._editorObs.layoutInfo.read(nt),Pt=this._editorObs.scrollLeft.read(nt),Lt=this._editorObs.layoutInfoVerticalScrollbarWidth.read(nt),Mt=Tt.contentLeft+this._editorMaxContentWidthInRange.read(nt)-Pt,Nt=this._maxPrefixTrim.read(nt).prefixLeftOffset??0,Vt=Tt.contentLeft+Nt-Pt;if(Mt<=Vt)return null;const{topOffset:di,bottomOffset:Jt}=this._trimVertically.read(nt),_i=this._editorObs.scrollTop.read(nt),Ri=this._ghostTextView.height.read(nt)-di-Jt,Ui=this._editor.getTopForLineNumber(rt.lineNumber)-_i+di,un=Ui+Ri,cn=new is(Vt,Ui,Mt,un);return{overlay:cn,startsAtContentLeft:Nt===0,contentLeft:Tt.contentLeft,minContentWidthRequired:Nt+cn.width+Lt}}).recomputeInitiallyAndOnChange(this._store),this._modifiedOverlay=sn.n.div({style:{pointerEvents:"none"}},(0,Ai.un)(this,nt=>{const rt=Vo(this._overlayLayout).read(nt);if(!rt)return;const Tt=rt.map(Vt=>is.fromLeftTopRightBottom(Vt.contentLeft-Ll-qa,Vt.overlay.top,Vt.contentLeft,Vt.overlay.bottom)).read(nt),Pt=this._input.map(Vt=>Vt?.editorType===An.DiffEditor?tc:ar).read(nt),Lt=rt.map(Vt=>Vt.overlay.withMargin(0,qa,0,Vt.startsAtContentLeft?0:qa).intersectHorizontal(new ge.L(Tt.left,Number.MAX_SAFE_INTEGER))),Mt=Lt.map(Vt=>Vt.withMargin(Pt,Pt)),Nt=qo(this._input.read(void 0)?.editorType??An.TextEditor);
76return[sn.n.div({class:"originalUnderlayInsertion",style:{...Mt.read(nt).toStyles(),borderRadius:Ll,border:`${qa+Pt}px solid ${Nt}`,boxSizing:"border-box"}}),sn.n.div({class:"originalOverlayInsertion",style:{...Lt.read(nt).toStyles(),borderRadius:Ll,border:Yr(this._tabAction).map(Vt=>`${qa}px solid ${(0,Mn.Gu)(Vt)}`),boxSizing:"border-box",backgroundColor:(0,Mn.Gu)($a)}}),sn.n.div({class:"originalOverlayHiderInsertion",style:{...Tt.toStyles(),backgroundColor:Nt}})]})).keepUpdated(this._store),this._view=sn.n.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[[this._modifiedOverlay]]).keepUpdated(this._store),this._editorObs=(0,ae.U)(this._editor),this._ghostTextView=this._register(et.createInstance(xa,this._editor,(0,Ai.un)(nt=>{const rt=this._ghostText.read(nt);if(rt)return{ghostText:rt,handleInlineCompletionShown:Tt=>{},warning:void 0}}),{extraClasses:["inline-edit"],isClickable:!0,shouldKeepCursorStable:!0})),this.isHovered=this._ghostTextView.isHovered,this._register(this._ghostTextView.onDidClick(nt=>{this._onDidClick.fire(new Do(nt))})),this._register(this._editorObs.createOverlayWidget({domNode:this._view.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ai.un)(this,nt=>{const rt=this._overlayLayout.read(nt);return rt===null?0:rt.minContentWidthRequired})}))}};Dl=El([ec(3,T._Y),ec(4,dn.L)],Dl);var el=e(58574),Pa=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},tl=function(tt,K){return function(me,Re){K(me,Re,tt)}};let Zl=class extends M.jG{constructor(K,me,Re,et,ze,nt){super(),this._editor=K,this._edit=me,this._editorType=Re,this._tabAction=et,this._languageService=ze,this._themeService=nt,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._maxPrefixTrim=this._edit.map((rt,Tt)=>rt?Xr(rt.replacements.flatMap(Pt=>[Pt.originalRange,Pt.modifiedRange]),rt.originalRange,rt.modifiedLines,this._editor.editor,Tt):void 0),this._modifiedLineElements=(0,Ai.un)(this,rt=>{const Tt=[];let Pt=0;const Lt=this._maxPrefixTrim.read(rt),Mt=this._edit.read(rt);if(!Mt||!Lt)return;const Nt=Lt.prefixTrim,Vt=_c(Mt.replacements.map(_i=>_i.modifiedRange)).map(_i=>new Gt.Q(_i.startLineNumber,_i.startColumn-Nt,_i.endLineNumber,_i.endColumn-Nt)),di=this._editor.model.get(),Jt=Mt.modifiedRange.startLineNumber;for(let _i=0;_i<Mt.modifiedRange.length;_i++){const Ri=document.createElement("div"),Ui=Jt+_i,un=Mt.modifiedLines[_i].slice(Nt),cn=di.tokenization.tokenizeLinesAt(Ui,[un])?.[0];let fi;cn?fi=Pn.fE.fromLineTokens(cn).toLineTokens(un,this._languageService.languageIdCodec):fi=Pn.f7.createEmpty(un,this._languageService.languageIdCodec);const wi=[];for(const ln of Vt.filter(on=>on.startLineNumber===Ui)){const on=Math.min(ln.endColumn,un.length+1);wi.push(new Yl.kI(new Gt.Q(1,ln.startColumn,1,on),"inlineCompletions-modified-bubble",0))}const gn=(0,Uo.ET)(new Uo.On([fi]),Uo.bX.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),wi,Ri,!0);this._editor.getOption(59).read(rt),Pt=Math.max(Pt,gn.minWidthInPx),Tt.push(Ri)}return{lines:Tt,requiredWidth:Pt}}),this._layout=(0,Ai.un)(this,rt=>{const Tt=this._modifiedLineElements.read(rt),Pt=this._maxPrefixTrim.read(rt),Lt=this._edit.read(rt);if(!Tt||!Pt||!Lt)return;const{prefixLeftOffset:Mt}=Pt,{requiredWidth:Nt}=Tt,Vt=this._editor.observeLineHeightsForLineRange(Lt.originalRange).read(rt),di=(()=>{const Os=Vt.slice(0,Lt.modifiedRange.length);for(;Os.length<Lt.modifiedRange.length;)Os.push(Vt[Vt.length-1]);return Os})(),Jt=this._editor.layoutInfoContentLeft.read(rt),_i=this._editor.layoutInfoVerticalScrollbarWidth.read(rt),Ri=this._editor.scrollLeft.read(rt),Ui=this._editor.scrollTop.read(rt),un=Jt-Ri,cn=this._editor.editor.getModel(),fi=Lt.originalRange.mapToLineArray(Os=>this._editor.editor.getOffsetForColumn(Os,cn.getLineMaxColumn(Os))-Mt),wi=Math.max(...fi,Nt),gn=Lt.originalRange.startLineNumber,ln=Lt.originalRange.endLineNumberExclusive-1,on=this._editor.editor.getTopForLineNumber(gn)-Ui,pn=this._editor.editor.getBottomForLineNumber(ln)-Ui,qi=is.fromLeftTopWidthHeight(un+Mt,on,wi,pn-on),Un=is.fromLeftTopWidthHeight(qi.left,qi.bottom,qi.width,di.reduce((Os,Is)=>Os+Is,0)),ns=is.hull([qi,Un]),bs=ns.intersectVertical(new ge.L(qi.bottom,Number.MAX_SAFE_INTEGER)),Ks=new is(bs.left,bs.top,bs.right,bs.bottom);return{originalLinesOverlay:qi,modifiedLinesOverlay:Un,background:ns,lowerBackgroun
76d:bs,lowerText:Ks,modifiedLineHeights:di,minContentWidthRequired:Mt+wi+_i}}),this._viewZoneInfo=(0,Ai.un)(rt=>{if(!this._editor.getOption(71).map(Vt=>Vt.edits.allowCodeShifting==="always").read(rt))return;const Pt=this._layout.read(rt),Lt=this._edit.read(rt);if(!Pt||!Lt)return;const Mt=Pt.lowerBackground.height,Nt=Lt.originalRange.endLineNumberExclusive;return{height:Mt,lineNumber:Nt}}),this.minEditorScrollHeight=(0,Ai.un)(this,rt=>{const Tt=Vo(this._layout).read(rt);return!Tt||this._viewZoneInfo.read(rt)!==void 0?0:Tt.read(rt).lowerText.bottom+this._editor.editor.getScrollTop()}),this._div=sn.n.div({class:"line-replacement"},[(0,Ai.un)(this,rt=>{const Tt=Vo(this._layout).read(rt),Pt=this._modifiedLineElements.read(rt);if(!Tt||!Pt)return[];const Lt=Tt.read(rt),Mt=this._editor.layoutInfoContentLeft.read(rt),Nt=this._editorType.read(rt)===An.DiffEditor?3:1;Pt.lines.forEach((_i,Ri)=>{_i.style.width=`${Lt.lowerText.width}px`,_i.style.height=`${Lt.modifiedLineHeights[Ri]}px`,_i.style.position="relative"});const Vt=Yr(this._tabAction).read(rt),di=Ia(this._tabAction).read(rt),Jt=qo(this._editorType.read(rt));return[sn.n.div({style:{position:"absolute",...Po(_i=>Za(this._editor).read(_i)),overflow:"hidden",pointerEvents:"none"}},[sn.n.div({class:"borderAroundLineReplacement",style:{position:"absolute",...Po(_i=>Tt.read(_i).background.translateX(-Mt).withMargin(Nt)),borderRadius:`${So}px`,border:`${Nt+1}px solid ${Jt}`,boxSizing:"border-box",pointerEvents:"none"}}),sn.n.div({class:"originalOverlayLineReplacement",style:{position:"absolute",...Po(_i=>Tt.read(_i).background.translateX(-Mt)),borderRadius:`${So}px`,border:Bo(di,this._themeService).map(_i=>`1px solid ${_i.toString()}`),pointerEvents:"none",boxSizing:"border-box",background:(0,Mn.Gu)(vr)}}),sn.n.div({class:"modifiedOverlayLineReplacement",style:{position:"absolute",...Po(_i=>Tt.read(_i).lowerBackground.translateX(-Mt)),borderRadius:`0 0 ${So}px ${So}px`,background:Jt,boxShadow:`${(0,Mn.Gu)($r.bX)} 0 6px 6px -6px`,border:`1px solid ${(0,Mn.Gu)(Vt)}`,boxSizing:"border-box",overflow:"hidden",cursor:"pointer",pointerEvents:"auto"},onmousedown:_i=>{_i.preventDefault()},onclick:_i=>this._onDidClick.fire(Do.create(_i))},[sn.n.div({style:{position:"absolute",top:0,left:0,width:"100%",height:"100%",background:(0,Mn.Gu)(ml)}})]),sn.n.div({class:"modifiedLinesLineReplacement",style:{position:"absolute",boxSizing:"border-box",...Po(_i=>Tt.read(_i).lowerText.translateX(-Mt)),fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),pointerEvents:"none",whiteSpace:"nowrap",borderRadius:`0 0 ${So}px ${So}px`,overflow:"hidden"}},[...Pt.lines])])]})]).keepUpdated(this._store),this.isHovered=this._editor.isTargetHovered(rt=>this._isMouseOverWidget(rt),this._store),this._previousViewZoneInfo=void 0,this._register((0,M.s)(()=>this._editor.editor.changeViewZones(rt=>this.removePreviousViewZone(rt)))),this._register((0,fe.Z7)(this._viewZoneInfo,({lastValue:rt,newValue:Tt})=>{rt===Tt||rt?.height===Tt?.height&&rt?.lineNumber===Tt?.lineNumber||this._editor.editor.changeViewZones(Pt=>{this.removePreviousViewZone(Pt),Tt&&this.addViewZone(Tt,Pt)})})),this._register(this._editor.createOverlayWidget({domNode:this._div.element,minContentWidthInPx:(0,Ai.un)(this,rt=>this._layout.read(rt)?.minContentWidthRequired??0),position:(0,Ss.l)({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_isMouseOverWidget(K){const me=this._layout.get();return!me||!(K.event instanceof el.dO)?!1:me.lowerBackground.containsPoint(new Tr.b(K.event.relativePos.x,K.event.relativePos.y))}removePreviousViewZone(K){if(!this._previousViewZoneInfo)return;K.removeZone(this._previousViewZoneInfo.id);const me=this._editor.cursorLineNumber.get();me!==null&&me>=this._previousViewZoneInfo.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()-this._previousViewZoneInfo.height),this._previousViewZoneInfo=void 0}addViewZone(K,me){const Re=me.addZone({afterLineNumber:K.lineNumber-1,heightInPx:K.height,domNode:(0,sn.$)("div")});this._previousViewZoneInfo={height:K.height,lineNumber:K.lineNumber,id:Re};const et=this._editor.cursorLineNumber.get();et!==null&&et>=K.lineNumber&&this._editor.editor.setScrollTop(this._editor.scrollTop.get()+K.height)}};Zl=Pa([tl(4,dn.L),tl(5,Gr.Gy)],Zl);function _c(tt){const K=[];for(;tt.length;){let me=tt.shift();me.startLineNumber!==me.endLineNumber&&(tt.push(new Gt.Q(me.startLineNumber+1,1,me.endLineNumber,me.endColumn)),me=new Gt.Q(me.startLineNumber,me.startColumn,me.startLineNumber,Number.MAX_SAFE_INTEGER)),K.push(me)}return K}var Dd=e(97965);function vc(tt,K){const me={};for(const[nt,rt]of Object.entries(K))Array.isArray(rt)?me[nt]={min:0,rules:rt}:me[nt]={min:rt.min??0,rules:rt.rules??[{max:rt.max,priority:rt.priority,share:rt.share}]};const Re={};let et=0;for(const[nt,rt]of Object.entries(me))Re[nt]=rt.min,et+=rt.min;if(et>tt)return null;let ze=tt-et;for(;ze>0;){const nt=[];for(const[Nt,Vt]of Object.entries(me))for(let di=0;di<Vt.rules.length;di++){const Jt=Vt.rules[di],_i=Re[Nt],Ri=Jt.max??1/0;_i<Ri&&nt.push({partKey:Nt,ruleIndex:di,rule:Jt,priority:Jt.priority??0,share:Jt.share??1})}if(nt.length===0)break;const rt=Math.max(...nt.map(Nt=>Nt.priority)),Tt=nt.filter(Nt=>Nt.priority===rt),Pt=Tt.reduce((Nt,Vt)=>Nt+Vt.share,0);let Lt=0;const Mt=[];for(const Nt of Tt){const Vt=Nt.rule,di=Re[Nt.partKey],_i=(Vt.max??1/0)-di,Ri=ze*Nt.share/Pt,Ui=Math.min(Ri,_i);Mt.push({partKey:Nt.partKey,ruleIndex:Nt.ruleIndex,amount:Ui}),Lt+=Ui}if(Lt===0)break;for(const Nt of Mt)Re[Nt.partKey]+=Nt.amount;if(ze-=Lt,ze<1e-4)break}return Re}var xd=e(62992),Cc=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Xl=function(tt,K){return function(me,Re){K(me,Re,tt)}};let il=class extends M.jG{constructor(K,me,Re,et,ze,nt){super(),this._editor=K,this._data=Re,this._themeService=et,this._keybindingService=ze,this._contextKeyService=nt,this._styles=(0,Ai.un)(this,Tt=>({background:Bo(Rr,this._themeService).read(Tt).toString(),foreground:Bo(Ho,this._themeService).read(Tt).toString(),border:B
76o(Mr,this._themeService).read(Tt).toString()})),this._pos=(0,Ai.un)(this,Tt=>this._editor.observePosition((0,Ai.un)(Pt=>this._data.read(Pt)?.jumpToPosition||null),Tt.store)).flatten(),this._layout=(0,Ai.un)(this,Tt=>{const Pt=this._data.read(Tt);if(!Pt)return;const Lt=Pt.jumpToPosition,Mt=this._editor.observeLineHeightForLine((0,Ss.l)(Lt.lineNumber)).read(Tt),Nt=this._editor.scrollLeft.read(Tt),Vt=this._pos.read(Tt);if(!Vt)return;const di=this._editor.layoutInfo.read(Tt);return{widgetRect:is.fromLeftTopWidthHeight(Vt.x+di.contentLeft+2-Nt,Vt.y,100,Mt)}}),this._blink=bc([{value:!0,durationMs:600},{value:!1,durationMs:600}]),this._widget=sn.n.div({class:"inline-edit-jump-to-widget",style:{position:"absolute",display:this._layout.map(Tt=>Tt?"flex":"none"),alignItems:"center",cursor:"pointer",userSelect:"none",...Po(Tt=>this._layout.read(Tt)?.widgetRect)}},(0,Ai.un)(Tt=>this._data.read(Tt)===void 0?[]:sn.n.div({style:{display:"flex",alignItems:"center",gap:"4px",padding:"0 4px",height:"100%",backgroundColor:this._styles.map(Pt=>Pt.background),"--vscodeIconForeground":this._styles.map(Pt=>Pt.foreground),border:this._styles.map(Pt=>`1px solid ${Pt.border}`),borderRadius:"3px",boxSizing:"border-box",fontSize:"11px",color:this._styles.map(Pt=>Pt.foreground)}},[this._style==="cursor"?sn.n.elem("div",{style:{borderLeft:"2px solid",height:14,opacity:this._blink.map(Pt=>Pt?"0":"1")}}):[(0,Ai.un)(()=>sn.n.elem("div",{},Sc(this._keybinding))),sn.n.elem("div",{style:{lineHeight:this._layout.map(Pt=>Pt?.widgetRect.height),marginTop:"-2px"}},["to jump"])]]))),this._style=me.style,this._keybinding=this._getKeybinding(de.Wt);const rt=this._widget.keepUpdated(this._store);this._register(this._editor.createOverlayWidget({domNode:rt.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ss.l)(0)})),this._register(this._editor.setDecorations((0,Ai.un)(Tt=>{const Pt=this._data.read(Tt);return Pt?[{range:Gt.Q.fromPositions(Pt.jumpToPosition,Pt.jumpToPosition),options:{description:"inline-edit-jump-to-decoration",inlineClassNameAffectsLetterSpacing:!0,showIfCollapsed:!0,after:{content:this._style==="label"?"          ":"  "}}}]:[]})))}_getKeybinding(K,me=Vi.j.ofCaller()){return K?(0,oe.y0)(this,this._contextKeyService.onDidChangeContext,()=>this._keybindingService.lookupKeybinding(K),me):(0,Ss.l)(void 0)}};il=Cc([Xl(3,Gr.Gy),Xl(4,Qe.b),Xl(5,G.fN)],il);function bc(tt,K=Vi.j.ofCaller()){let me=0;return(0,oe.y0)(void 0,Re=>{me=0;const et=new we.uC(()=>{me=(me+1)%tt.length,Re(null),et.schedule(tt[me].durationMs)},0);return et.schedule(0),et},()=>tt[me].value,K)}function Sc(tt){return(0,Ai.un)(K=>sn.n.div({style:{},ref:me=>{const Re=K.store.add(new bl.x(me,Ma.OS,{disableTitle:!0,...ga.ir,keybindingLabelShadow:void 0,keybindingLabelForeground:(0,Mn.Gu)(Ho),keybindingLabelBackground:"transparent",keybindingLabelBorder:(0,Mn.Gu)(Ho),keybindingLabelBottomBorder:void 0}));K.store.add((0,fe.fm)(et=>{Re.set(tt.read(et))}))}}))}var ka=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ic=function(tt,K){return function(me,Re){K(me,Re,tt)}};let pa=class extends M.jG{constructor(K,me,Re,et,ze){super(),this._previewTextModel=K,this._properties=me,this._parentEditor=Re,this._tabAction=et,this._instantiationService=ze,this._previewRef=sn.n.ref(),this.element=sn.n.div({class:"preview",style:{},ref:this._previewRef}),this._state=(0,Ai.un)(this,nt=>{const rt=this._properties.read(nt);if(!rt)return;let Tt,Pt;rt.nextCursorPosition!==null?(Tt="original",Pt=ri.M.ofLength(rt.nextCursorPosition.lineNumber,1)):rt.diff[0].innerChanges?.every(Mt=>Mt.modifiedRange.isEmpty())?(Tt="original",Pt=ri.M.ofLength(rt.diff[0].original.startLineNumber,1)):(Tt="modified",Pt=ri.M.ofLength(rt.diff[0].modified.startLineNumber,1));const Lt=Tt==="modified"?nn.snapshot(this._previewTextModel):rt.target;return{mode:Tt,visibleLineRange:Pt,textModel:Lt,diff:rt.diff}}),this.updatePreviewEditorEffect=(0,Ai.un)(this,nt=>{this._previewEditorObs.model.read(nt);const rt=this._state.read(nt)?.visibleLineRange;if(!rt)return;const Tt=[];rt.startLineNumber>1&&Tt.push(new Gt.Q(1,1,rt.startLineNumber-1,1)),rt.endLineNumberExclusive<this._previewTextModel.getLineCount()+1&&Tt.push(new Gt.Q(rt.endLineNumberExclusive,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(Tt,void 0,!0)}),this.horizontalContentRangeInPreviewEditorToShow=(0,Ai.un)(this,nt=>this._getHorizontalContentRangeInPreviewEditorToShow(this.previewEditor,nt)),this.contentHeight=(0,Ai.un)(this,nt=>{const rt=this._state.read(nt);return rt?this._previewEditorObs.observeLineHeightForLine(rt.visibleLineRange.startLineNumber):(0,Ss.l)(null)}).flatten(),this._editorDecorations=(0,Ai.un)(this,nt=>{const rt=this._state.read(nt);if(!rt)return;const Tt={diff:rt.diff},Pt=[],Lt=[],Mt=Xs.kI.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),Nt=Xs.kI.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),Vt=Xs.kI.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0});for(const di of Tt.diff)if(di.modified.isEmpty||di.original.isEmpty)di.original.isEmpty||Pt.push({range:di.original.toInclusiveRange(),options:Mt}),di.modified.isEmpty||Lt.push({range:di.modified.toInclusiveRange(),options:Nt});else for(const Jt of di.innerChanges||[])di.original.contains(Jt.originalRange.startLineNumber)&&!Jt.originalRange.isEmpty()&&Pt.push({range:Jt.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Ta("inlineCompletions-char-delete",Jt.originalRange.isEmpty()&&"empty"),zIndex:1}}),di.modified.contains(Jt.modifiedRange.startLineNumber)&&Lt.push({range:Jt.modifiedRange,options:Vt});return{originalDecorations:Pt,modifiedDecorations:Lt}}),this.previewEditor=this._register(this._createPreviewEditor()),this._parentEditorObs=(0,ae.U)(this._parentEditor),this._register((0,fe.fm)(nt=>{const rt=this._state.read(nt)?.textModel||null;rt&&this.previewEditor.setModel(rt.dangerouslyGetUnderlyingModel())})),this._previewEditorObs=(0,ae.U)(this.previewEditor),this._register(this._previewEditorObs.setDecorations((0,Ai.un)(nt=>{const rt=this._state.read(nt),Tt=this._editorDecorations.read(nt);return(rt?.mode==="original"?Tt?.originalDecorations:Tt?.modifiedDecorations)??[]}))),this._register((0,fe.fm)(nt=>{if(!this._properties.read(nt))return;const rt=this._parentEditorObs.cursorPosition.read(nt);rt&&this.previewEditor.setPosition(this._previewTextModel.validatePosition(rt),"longDistanceHintPreview")})),this._register((0,fe.fm)(nt=>{const rt=this._state.read(nt);if(!rt)return;const Tt=rt.visibleLineRange.startLineNumber.toString().length;this.previewEditor.updateOptions({lineNumbersMinChars:Tt+1}
76)})),this._register(this._instantiationService.createInstance(Hl,this._previewEditorObs,(0,Ai.un)(nt=>{const rt=this._state.read(nt);if(!rt)return;const Tt=this._properties.read(nt);if(Tt)return new vd(Tt.inlineSuggestInfo,ri.M.ofLength(rt.visibleLineRange.startLineNumber,1),Tt.model,void 0)}),this._tabAction,(0,Ss.l)(0),(0,Ss.l)(!1),(0,Sn.FY)(this,!1))),this.updatePreviewEditorEffect.recomputeInitiallyAndOnChange(this._store)}_createPreviewEditor(){return this._instantiationService.createInstance(Ie.t,this._previewRef.element,{glyphMargin:!1,lineNumbers:"on",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!1,rulers:[],padding:{top:0,bottom:0},selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,revealHorizontalRightPadding:0,bracketPairColorization:{enabled:!0,independentColorPoolPerBracketType:!1},scrollBeyondLastLine:!1,scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off"},{contextKeyValues:{[le.p.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._parentEditor)}_getHorizontalContentRangeInPreviewEditorToShow(K,me){const Re=this._state.read(me);if(!Re)return;const et=Re.diff,ze=this._properties.read(me)?.nextCursorPosition,nt=Re.visibleLineRange,rt=this._previewEditorObs.layoutInfo.read(me),Tt=Zr(this._previewEditorObs,nt,me);let Pt;if(ze)Pt=Gt.Q.fromPositions(ze);else if(et[0].innerChanges)Pt=Re.mode==="modified"?et[0].innerChanges[0].modifiedRange:et[0].innerChanges[0].originalRange;else return;const Lt=Id(K.getModel(),Pt,5),Mt=this._previewEditorObs.getLeftOfPosition(Lt.getStartPosition(),me),Nt=this._previewEditorObs.getLeftOfPosition(Lt.getEndPosition(),me),Vt=(0,xd.qE)(Mt,0,Tt),di=(0,xd.qE)(Nt,Vt,Tt),Jt=K.getModel().getLineFirstNonWhitespaceColumn(Lt.startLineNumber),_i=this._previewEditorObs.getLeftOfPosition(new Ue.y(Lt.startLineNumber,Jt),me),Ri=new ge.L(Vt,di);return{indentationEnd:_i,preferredRangeToReveal:Ri,maxEditorWidth:Tt+rt.contentLeft,contentWidth:Tt,nonContentWidth:rt.contentLeft}}layout(K,me){this.previewEditor.layout(K),this._previewEditorObs.editor.setScrollLeft(me)}};pa=ka([ic(4,T._Y)],pa);function Id(tt,K,me){const Re=K.getStartPosition(),et=K.getEndPosition(),ze=tt.getLineContent(Re.lineNumber);function nt(Lt){const Mt=ze.charAt(Lt-1);return/[a-zA-Z0-9_]/.test(Mt)}function rt(Lt){const Mt=ze.charAt(Lt-1);return Mt===" "||Mt==="	"}let Tt=Re.column;for(;Tt>1&&nt(Tt)&&!rt(Tt-1)&&Re.column-Tt<me;)Tt--;let Pt=et.column-1;for(;Pt<=ze.length&&nt(Pt)&&!rt(Pt+1)&&Pt-et.column<me;)Pt++;return new Gt.Q(Re.lineNumber,Re.column,et.lineNumber,Pt+1)}function yc(tt,K){const me=tt.start,Re=tt.endExclusive;let et=Number.MAX_VALUE,ze=0;for(const nt of K){const rt=ze+nt.width,Tt=Math.max(me,ze),Pt=Math.min(Re,rt);Tt<Pt&&(et=Math.min(et,nt.height)),ze=rt}return Re>ze||et===Number.MAX_VALUE?0:et}class Td{constructor(K,me,Re){this._lineRangeInfo=K,this.availableSpaceSizes=K.sizes.map((et,ze)=>{const nt=K.lineRange.startLineNumber+ze,rt=Re(nt);return new gl(Math.max(0,me-et.width-rt),et.height)}),this.availableSpaceHeightPrefixSums=nl(this.availableSpaceSizes,et=>et.height),this.availableSpaceSizesTransposed=this.availableSpaceSizes.map(et=>et.transpose())}getWidgetVerticalOutline(K,me,Re){const et=K-this._lineRangeInfo.lineRange.startLineNumber,ze=this._lineRangeInfo.top+this.availableSpaceHeightPrefixSums[et],nt=ge.L.ofStartAndLength(ze,me),{previewEditorMargin:rt,widgetPadding:Tt,widgetBorder:Pt,lowerBarHeight:Lt}=Re;return nt.withMargin(rt+Tt+Pt).withMargin(0,Lt)}tryFindWidgetOutline(K,me,Re,et){if(!(this._lineRangeInfo.lineRange.length<3))return sc(this._lineRangeInfo.lineRange.addMargin(-1,-1),K,ze=>{const nt=this.getWidgetVerticalOutline(ze,me,et),rt=yc(nt.delta(-this._lineRangeInfo.top),this.availableSpaceSizesTransposed);return rt<et.minWidgetWidth?void 0:{horizontalWidgetRange:ge.L.ofStartAndLength(Re-rt,rt),verticalWidgetRange:nt}})}}function nc(tt,K,me,Re,et){const ze=[];let nt=tt.startLineNumber,rt=me,Tt=[];for(let Pt=0;Pt<K.length;Pt++){const Lt=tt.startLineNumber+Pt,Mt=rt+Tt.reduce((Vt,di)=>Vt+di.height,0),Nt=Re.editor.getTopForLineNumber(Lt);Pt>0&&Nt!==Mt&&(ze.push({lineRange:ri.M.ofLength(nt,Lt-nt),top:rt,sizes:Tt}),nt=Lt,rt=Nt,Tt=[]),Tt.push(K[Pt])}return ze.push({lineRange:ri.M.ofLength(nt,tt.endLineNumberExclusive-nt),top:rt,sizes:Tt}),(0,Ai.un)({owner:"splitIntoContinuousLineRanges"},Pt=>Re.observeTopForLineNumber(tt.endLineNumberExclusive-1).read(Pt)).read(et),ze}function sc(tt,K,me){for(let Re=0;;Re++){const et=K+Re;if(et<=tt.endLineNumberExclusive){const nt=me(et);if(nt!==void 0)return nt}const ze=K-Re;if(ze>=tt.startLineNumber){const nt=me(ze);if(nt!==void 0)return nt}if(ze<tt.startLineNumber&&et>tt.endLineNumberExclusive)return}}function nl(tt,K){const me=[0];let Re=0;for(const et of tt)Re+=K(et),me.push(Re);return me}var wc=e(64830),oc=e(78148),Na=e(89971),rc=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Aa=function(tt,K){return function(me,Re){K(me,Re,tt)}};const Ec=6,Sr={EMPTY_SPACE:425,OVERLAY:375},_a={previewEditorMargin:2,widgetPadding:2,widgetBorder:1,lowerBarHeight:20,minWidgetWidth:250};let va=class extends M.jG{constructor(K,me,Re,et,ze,nt,rt,Tt,Pt){super(),this._editor=K,this._viewState=me,this._previewTextModel=Re,this._tabAction=et,this._instantiationService=ze,this._themeService=nt,this._keybindingService=rt,this._modelService=Tt,this._languageService=Pt,this.onDidClick=Bt.Jh.None,this._viewWithElement=void 0,this._hintTextPosition=(0,Ai.un)(this,Lt=>{const Mt=this._viewState.read(Lt);return Mt?new Ue.y(Mt.hint.lineNumber,Number.MAX_SAFE_INTEGER):null}),this._lineSizesAroundHintPosition=(0,Ai.un)(this,Lt=>{const Mt=this._viewState.read(Lt),Nt=this._hintTextPosition.read(Lt);if(!Mt||!Nt)return[];const Vt=this._editorObs.model.read(Lt);if(!Vt)return[];const di=ri.M.ofLength(Nt.lineNumber,1).addMargin(5,5).intersect(ri.M.ofLength(1,Vt.getLineCount()));if(!di)return[];const Jt=vl(this._editorObs,di,Lt),_i=this._editorObs.observeTopForLineNumber(di.startLineNumber).read(Lt);return nc(di,Jt,_i,this._editorObs,Lt)}),this._isVisibleDelayed=(0,cs.RP)((0,Ai.un)(this,Lt=>this._viewState.read(Lt)?.hint.isVisible),(Lt,Mt)=>Lt===!0&&Mt===!1?200:0),this._previewEditorLayoutInfo=(0,Ai.un)(this,Lt=>{const Mt=this._viewState.read(Lt);if(!Mt||!this._isVisibleDelayed.read(Lt))return;const Nt=this._lineSizesAroundHintPosition.read(Lt);if(Nt.length===0)return;const Vt=this._editorObs.scrollTop.read(Lt),di=this._editorObs.scrollLeft.read(Lt),Jt=this._editorObs.layoutInfo.read(Lt),_i=this._previewEditor.contentHeight.read(Lt),Ri=this._previewEditor.horizontalContentRangeInPreviewEditorToShow.read(Lt);if(!_i||!Ri)return;const Ui=Jt.contentWidth-Jt.verticalScrollbarWidth,un=Jt.contentLeft+Ui;if(!this._editorObs.cursorLineNumber.read(Lt))return;const fi=_a,gn=_i+2;let ln,on;const pn=Lo=>Lo===Mt.hint.lineNumber?40:20;for(const Lo of Nt){const ra=new Td(Lo,Ui,pn);if(on=ra,ln=ra.tryFindWidgetOutline(Mt.hint.lineNumber,gn,un,fi),ln)break}let qi="empty-space";if(!ln){qi="overlay";const Lo=Math.min(Jt.width-Jt.contentLeft,Sr.OVERLAY),ra=on??new Td(Nt[0],Ui,pn);ln={horizontalWidgetRange:ge.L.ofStartAndLength(un-Lo,Lo),verticalWidgetRange:ra.getWidgetVerticalOutline(Mt.hint.lineNumber+2,gn,fi).delta(10)}}if(!ln)return;const Un=is.fromRanges(ln.horizontalWidgetRange,ln.verticalWidgetRange).translateX(-di).translateY(-Vt),{previewEditorMargin:ns,widgetPadding:bs,widgetBorder:Ks,lowerBarHeight:Os}=fi,Is=Math.min(qi==="overlay"?Sr.OVERLAY:Sr.EMPTY_SPACE,Ri.maxEditorWidth+ns+bs),qn=vc(Un.width,{spaceBefore:{min:0,max:10,priority:1},content:{min:50,rules:[{max:150,priority:2},{max:Is,priority:1}]},spaceAfter:{min:10}});if(!qn)return null;const gs=Lc([qn.spaceBefore,qn.content,qn.spaceAfter],Un.left);Un.withHorizontalRange(gs[0]);const wr=Un.withHorizontalRange(gs[1]);Un.withHorizontalRange(gs[2]);const Co=wr.withMargin(-bs-Ks-ns).withMargin(0,0,-Os,0),ys=Co.width-Ri.nonContentWidth,Hr=ys*.8,_n=Ri.preferredRangeToReveal.intersect(ge.L.ofStartAndLength(Ri.preferredRangeToReveal.start,Hr))??Ri.preferredRangeToReveal,to=Jl(Ri.indentationEnd,ys,_n);return{codeEditorSize:Co.getSize(),codeScrollLeft:di,contentLeft:Jt.contentLeft,widgetRect:wr,previewEditorMargin:ns,widgetPadding:bs,widgetBorder:Ks,lowerBarHeight:Os,desiredPreviewEditorScrollLeft:to.newScrollPosition}}),this._view=sn.n.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:(0,Ai.un)(this,Lt=>this._previewEditorLayoutInfo.read(Lt)?"block":"none")}},[(0,Ai.un)(this,Lt=>[this._widgetContent])]),this._widgetContent=(0,Ai.un)(this,Lt=>sn.n.div({class:["inline-edits-long-distance-hint-widget","show-file-icons"],style:{position:"absolute",overflow:"hidden",cursor:"pointer",background:(0,Mn.Gu)(Us.Cg),padding:this._previewEditorLayoutInfo.map(Mt=>Mt?.widgetPadding),boxSizing:"border-box",borderRadius:Ec,border:(0,Ai.un)(Mt=>`${this._previewEditorLayoutInfo.read(Mt)?.widgetBorder}px solid ${this._styles.read(Mt).border}`),display:"flex",flexDirection:"column",opacity:(0,Ai.un)(Mt=>this._viewState.read(Mt)?.hint.isVisible?"1":"0"),transition:"opacity 200ms ease-in-out",...Po(Mt=>this._previewEditorLayoutInfo.read(Mt)?.widgetRect)},onmousedown:Mt=>{Mt.preventDefault()},onclick:()=>{this._viewState.read(void 0)?.model.jump()}},[sn.n.div({class:["editorContainer"],style:{overflow:"hidden",padding:this._previewEditorLayoutInfo.map(Mt=>Mt?.previewEditorMargin),background:this._styles.map(Mt=>Mt.background),pointerEvents:"none"}},[(0,Ai.un)(this,Mt=>this._previewEditor.element)]),sn.n.div({class:"bar",style:{color:(0,Mn.Gu)(_r.yU),pointerEvents:"none",margin:"0 4px",height:this._previewEditorLayoutInfo.map(Mt=>Mt?.lowerBarHeight),display:"flex",justifyContent:"space-between",alignItems:"center"}},[(0,Ai.un)(this,Mt=>
76{const Nt=[],Vt=this._viewState.read(Mt);if(!Vt)return Nt;const di=this._editorObs.model.read(Mt)?.uri,Jt=Vt.target.uri,_i=Jt&&(!di||Jt.toString()!==di.toString());if(_i){const fi=(0,Ve.P8)(Jt),wi=(0,oc.I)(this._modelService,this._languageService,Jt,Na.p.FILE);Nt.push(sn.n.div({class:"target-file",style:{display:"flex",alignItems:"center",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},[sn.n.elem("span",{class:wi,style:{flexShrink:"0",marginRight:"4px"}}),fi]))}else{const fi=this._originalOutlineSource.read(Mt),wi=this._originalTargetLineNumber.read(Mt),gn=fi?.getAt(wi,Mt).slice(0,1)??[],ln=[];if(gn.length>0)for(let on=0;on<gn.length;on++){const pn=gn[on],qi=Fe.gP.toIcon(pn.kind);ln.push(sn.n.div({class:"breadcrumb-item",style:{display:"flex",alignItems:"center",flex:"1 1 auto",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},[(0,mi.s)(qi),"\xA0",pn.name,...on===gn.length-1?[]:[(0,mi.s)(Hs.W.chevronRight)]]))}Nt.push(sn.n.div({class:"outline-elements",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ln))}const Ri=this._originalTargetLineNumber.read(Mt),Ui=_i?Hs.W.arrowRight:Vt.hint.lineNumber<Ri?Hs.W.arrowDown:Hs.W.arrowUp,un=this._keybindingService.lookupKeybinding(de.HH);let cn=_i?"Go to file":"Go to suggestion";return un&&un.getLabel()==="Tab"&&(cn=_i?"Tab to open":"Tab to jump"),Nt.push(sn.n.div({class:"go-to-label",style:{position:"relative",display:"flex",alignItems:"center",flex:"0 0 auto",paddingLeft:"6px"}},[cn,"\xA0",(0,mi.s)(Ui)])),Nt})])])),this._originalTargetLineNumber=(0,Ai.un)(this,Lt=>{const Mt=this._viewState.read(Lt);return Mt?Mt.edit.action?.kind==="jumpTo"?Mt.edit.action.position.lineNumber:Mt.diff[0]?.original.startLineNumber??-1:-1}),this._originalOutlineSource=(0,Ai.a0)(this,Lt=>{const Mt=this._editorObs.model.read(Lt),Nt=Dd.N._breadcrumbsSourceFactory.read(Lt);return!Mt||!Nt?void 0:Nt(Mt,this._instantiationService)}),this._styles=(0,Ai.un)(Lt=>{const Mt=this._tabAction.read(Lt),Nt=Qa(Us.sI,this._themeService).read(Lt),Vt=(0,oe.y0)(this._themeService.onDidColorThemeChange,()=>{const Jt=this._themeService.getColorTheme();return Jt.type==="hcDark"||Jt.type==="hcLight"}).read(Lt);let di;if(Vt)di=Nt;else{let Jt;switch(Mt){case jn.Inactive:Jt=ud;break;case jn.Jump:Jt=Rr;break;case jn.Accept:Jt=Al;break}di=Bo(Jt,this._themeService).read(Lt)}return{border:di.toString(),background:qo(this._viewState.map(Jt=>Jt?.editorType??An.TextEditor).read(Lt))}}),this._editorObs=(0,ae.U)(this._editor),this._previewEditor=this._register(this._instantiationService.createInstance(pa,this._previewTextModel,(0,Ai.un)(Lt=>{const Mt=this._viewState.read(Lt);if(Mt)return{diff:Mt.diff,model:Mt.model,inlineSuggestInfo:Mt.inlineSuggestInfo,nextCursorPosition:Mt.nextCursorPosition,target:Mt.target}}),this._editor,this._tabAction)),this._viewWithElement=this._view.keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._viewWithElement.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ss.l)(0)})),this._widgetContent.get().keepUpdated(this._store),this._register((0,fe.fm)(Lt=>{const Mt=this._previewEditorLayoutInfo.read(Lt);Mt&&this._previewEditor.layout(Mt.codeEditorSize.toDimension(),Mt.desiredPreviewEditorScrollLeft)})),this._isVisibleDelayed.recomputeInitiallyAndOnChange(this._store)}get isHovered(){return this._widgetContent.get().didMouseMoveDuringHover}};va=rc([Aa(4,T._Y),Aa(5,Gr.Gy),Aa(6,Qe.b),Aa(7,wc.S),Aa(8,dn.L)],va);function Lc(tt,K=0){const me=[];let Re=K;for(const et of tt)me.push(new ge.L(Re,Re+et)),Re+=et;return me}function Jl(tt,K,me){const Re=new ge.L(tt,tt+K);return Re.containsRange(me)?{newScrollPosition:tt}:me.length>K?{newScrollPosition:me.start}:me.endExclusive>Re.endExclusive?{newScrollPosition:me.endExclusive-K}:me.start<Re.start?{newScrollPosition:me.start}:{newScrollPosition:tt}}var ho=e(94901),Md=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ql=function(tt,K){return function(me,Re){K(me,Re,tt)}};const Ba=0,sl=0,lr=1,Ca=1,ac=3,ta=So,ol=20,Fa=12;let ko=class extends M.jG{static fitsInsideViewport(K,me,Re,et){const ze=(0,ae.U)(K),nt=ze.layoutInfoWidth.read(et),rt=ze.layoutInfoContentLeft.read(et),Tt=K.getLayoutInfo().verticalScrollbarWidth,Pt=ze.layoutInfoMinimap.read(et).minimapLeft!==0?ze.layoutInfoMinimap.read(et).minimapWidth:0,Lt=Zr(ze,Re.displayRange,void 0),Mt=Re.lineEdit.newLines.reduce((di,Jt)=>Math.max(di,ua(Jt,K,me)),0),Nt=ol,Vt=Fa+2*lr;return Lt+Mt+Nt+Vt<nt-rt-Tt-Pt}constructor(K,me,Re,et,ze,nt,rt,Tt){super(),this._editor=K,this._edit=me,this._previewTextModel=Re,this._uiState=et,this._tabAction=ze,this._instantiationService=nt,this._themeService=rt,this._userInteractionService=Tt,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._editorObs=(0,ae.U)(this._editor),this._display=(0,Ai.un)(this,Mt=>this._uiState.read(Mt)?"block":"none"),this.previewRef=sn.n.ref();const Pt=this._uiState.map(Mt=>Mt?.editorType===An.DiffEditor?ac:Ca);this._editorContainer=sn.n.div({class:["editorContainer"],style:{position:"absolute",overflow:"hidden",cursor:"pointer"},onmousedown:Mt=>{Mt.preventDefault()},onclick:Mt=>{this._onDidClick.fire(Do.create(Mt))}},[sn.n.div({class:"preview",style:{pointerEvents:"none"},ref:this.previewRef})]).keepUpdated(this._store),this.isHovered=this._userInteractionService.createHoverTracker(this._editorContainer.element,this._store),this.previewEditor=this._register(this._instantiationService.createInstance(Ie.t,this.previewRef.element,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},editContext:!1,rulers:[],padding:{top:0,bottom:0},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,revealHorizontalRightPadding:0,bracketPairColorization:{enabled:!0,independentColorPoolPerBracketType:!1},scrollBeyondLastLine:!1,scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off"},{contextKeyValues:{[le.p.inInlineEditsPreviewEditor.key]:!0},contributions:[]},this._editor)),this._previewEditorObs=(0,ae.U)(this.previewEditor),this._activeViewZones=[],this._updatePreviewEditor=(0,Ai.un)(this,Mt=>{this._editorContainer.readEffect(Mt),this._previewEditorObs.model.read(Mt),this._display.read(Mt),this._nonOverflowView&&(this._nonOverflowView.element.style.display=this._display.read(Mt));const Nt=this._uiState.read(Mt),Vt=this._edit.read(Mt);if(!Nt||!Vt)return;const di=Vt.originalLineRange,Jt=[];di.startLineNumber>1&&Jt.push(new Gt.Q(1,1,di.startLineNumber-1,1)),di.startLineNumber+Nt.newTextLineCount<this._previewTextModel.getLineCount()+1&&Jt.push(new Gt.Q(di.startLineNumber+Nt.newTextLineCount,1,this._previewTextModel.getLineCount()+1,1)),this.previewEditor.setHiddenAreas(Jt,void 0,!0);const _i=[...this._activeViewZones];this._activeViewZones=[];const Ri=di.endLineNumberExclusive-di.startLineNumber-Nt.newTextLineCount;this.previewEditor.changeViewZones(Ui=>
76{_i.forEach(un=>Ui.removeZone(un)),Ri>0&&this._activeViewZones.push(Ui.addZone({afterLineNumber:di.startLineNumber+Nt.newTextLineCount-1,heightInLines:Ri,showInHiddenAreas:!0,domNode:(0,sn.$)("div.diagonal-fill.inline-edits-view-zone")}))})}),this._previewEditorWidth=(0,Ai.un)(this,Mt=>{const Nt=this._edit.read(Mt);return Nt?(this._updatePreviewEditor.read(Mt),Zr(this._previewEditorObs,Nt.modifiedLineRange,Mt)):0}),this._cursorPosIfTouchesEdit=(0,Ai.un)(this,Mt=>{const Nt=this._editorObs.cursorPosition.read(Mt),Vt=this._edit.read(Mt);if(!(!Vt||!Nt))return Vt.modifiedLineRange.contains(Nt.lineNumber)?Nt:void 0}),this._originalStartPosition=(0,Ai.un)(this,Mt=>{const Nt=this._edit.read(Mt);return Nt?new Ue.y(Nt.originalLineRange.startLineNumber,1):null}),this._originalEndPosition=(0,Ai.un)(this,Mt=>{const Nt=this._edit.read(Mt);return Nt?new Ue.y(Nt.originalLineRange.endLineNumberExclusive,1):null}),this._originalVerticalStartPosition=this._editorObs.observePosition(this._originalStartPosition,this._store).map(Mt=>Mt?.y),this._originalVerticalEndPosition=this._editorObs.observePosition(this._originalEndPosition,this._store).map(Mt=>Mt?.y),this._originalDisplayRange=this._edit.map(Mt=>Mt?.displayRange),this._editorMaxContentWidthInRange=(0,Ai.un)(this,Mt=>{const Nt=this._originalDisplayRange.read(Mt);return Nt?(this._editorObs.versionId.read(Mt),(0,cs.ZX)(this,(Vt,di)=>{const Jt=Zr(this._editorObs,Nt,Vt);return Math.max(Jt,di??0)})):(0,Ss.l)(0)}).map((Mt,Nt)=>Mt.read(Nt));const Lt=hc(this._editor,this._store);this._previewEditorLayoutInfo=(0,Ai.un)(this,Mt=>{const Nt=this._edit.read(Mt);if(!Nt||!this._uiState.read(Mt))return null;const di=Nt.originalLineRange,Jt=this._editorObs.scrollLeft.read(Mt),_i=this._editorMaxContentWidthInRange.read(Mt),Ri=this._editorObs.layoutInfo.read(Mt),Ui=this._previewEditorWidth.read(Mt),un=Ri.contentWidth-Ri.verticalScrollbarWidth,cn=Lt.read(Mt),fi=Ri.contentLeft+Ri.contentWidth+cn.left,wi=(0,sn.zk)(this._editor.getContainerDomNode()).innerWidth-fi,gn=(0,sn.zk)(this._editor.getContainerDomNode()).innerWidth-cn.right,ln=Math.min(Ri.contentWidth*.3,Ui,100),on=0,pn=on+wi,qi=this._cursorPosIfTouchesEdit.read(Mt),Un=Math.max(un+Jt-on-Math.max(0,ln-pn),Math.min(qi?Zd(this._editorObs,qi,Mt)+50:0,un+Jt)),ns=Math.min(_i+ol,Un),bs=_i+ol+Ui+70,Ks=Un-ns;let Os,Is;ns>Jt?(Os=0,Is=Ri.contentLeft+ns-Jt):(Os=Jt-ns,Is=Ri.contentLeft);const qn=this._originalVerticalStartPosition.read(Mt)??this._editor.getTopForLineNumber(di.startLineNumber)-this._editorObs.scrollTop.read(Mt),gs=this._originalVerticalEndPosition.read(Mt)??this._editor.getBottomForLineNumber(di.endLineNumberExclusive-1)-this._editorObs.scrollTop.read(Mt),wr=Ri.contentLeft-Jt;let Co=is.fromLeftTopRightBottom(wr,qn,Is,gs);const ys=Co.height===0;ys||(Co=Co.withMargin(sl,Ba));const _n=this._previewEditorObs.observeLineHeightsForLineRange(Nt.modifiedLineRange).read(Mt).reduce((Dc,Jc)=>Dc+Jc,0),to=gs-qn,Lo=Math.max(to,_n),ra=Ks===0,Od=0,Pd=Math.min(Ui+Fa,gn+Ri.width-Ri.contentLeft-Od);let xl=is.fromLeftTopWidthHeight(Co.right+Od,qn,Pd,Lo);return ys?xl=xl.withMargin(sl,Ba).translateY(sl):xl=xl.withMargin(sl,Ba).translateX(Ba+lr),{codeRect:Co,editRect:xl,codeScrollLeft:Jt,contentLeft:Ri.contentLeft,isInsertion:ys,maxContentWidth:bs,shouldShowShadow:ra,desiredPreviewEditorScrollLeft:Os,previewEditorWidth:Pd}}),this._stickyScrollController=ld.n.get(this._editorObs.editor),this._stickyScrollHeight=this._stickyScrollController?(0,oe.y0)(this._stickyScrollController.onDidChangeStickyScrollHeight,()=>this._stickyScrollController.stickyScrollWidgetHeight):(0,Ss.l)(0),this._shouldOverflow=(0,Ai.un)(this,Mt=>!1),this._originalBackgroundColor=(0,oe.y0)(this,this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme().getColor(vr)??ho.Q1.transparent),this._editorBackgroundColor=this._uiState.map(Mt=>qo(Mt?.editorType??An.TextEditor)),this._backgroundSvg=sn.n.svg({transform:"translate(-0.5 -0.5)",style:{overflow:"visible",pointerEvents:"none",position:"absolute"}},[sn.n.svgElem("path",{class:"rightOfModifiedBackgroundCoverUp",d:(0,Ai.un)(this,Mt=>{const Nt=this._previewEditorLayoutInfo.read(Mt);
76if(!(!Nt||this._originalBackgroundColor.read(Mt).isTransparent()))return new Wl().moveTo(Nt.codeRect.getRightTop()).lineTo(Nt.codeRect.getRightTop().deltaX(1e3)).lineTo(Nt.codeRect.getRightBottom().deltaX(1e3)).lineTo(Nt.codeRect.getRightBottom()).build()}),style:{fill:this._editorBackgroundColor}})]).keepUpdated(this._store),this._originalOverlay=sn.n.div({style:{pointerEvents:"none",display:this._previewEditorLayoutInfo.map(Mt=>Mt?.isInsertion?"none":"block")}},(0,Ai.un)(this,Mt=>{const Nt=Vo(this._previewEditorLayoutInfo).read(Mt);if(!Nt)return;const Vt=this._editorBackgroundColor.read(Mt),di=Pt.read(Mt),Jt=Ia(this._tabAction).map(on=>`${lr}px solid ${(0,Mn.Gu)(on)}`),_i=`${lr+di}px solid ${Vt}`,Ri=Nt.read(Mt).codeScrollLeft!==0,Ui=Nt.map(on=>on.codeRect.bottom<on.editRect.bottom),un=ta*2+lr*2,cn=Nt.map(on=>is.fromLeftTopRightBottom(on.contentLeft-ta-lr,on.codeRect.top,on.contentLeft,on.codeRect.bottom+un)).read(Mt),fi=new ge.L(cn.left,Number.MAX_SAFE_INTEGER),wi=Nt.map(on=>on.codeRect.intersectHorizontal(fi)),gn=wi.map(on=>on.withMargin(di,0,di,di).intersectHorizontal(fi)),ln=wi.map(on=>is.fromLeftTopWidthHeight(on.right-un+lr,on.bottom-lr,un,un).intersectHorizontal(fi));return[sn.n.div({class:"originalSeparatorSideBySide",style:{...gn.read(Mt).toStyles(),boxSizing:"border-box",borderRadius:`${ta}px 0 0 ${ta}px`,borderTop:_i,borderBottom:_i,borderLeft:Ri?"none":_i}}),sn.n.div({class:"originalOverlaySideBySide",style:{...wi.read(Mt).toStyles(),boxSizing:"border-box",borderRadius:`${ta}px 0 0 ${ta}px`,borderTop:Jt,borderBottom:Jt,borderLeft:Ri?"none":Jt,backgroundColor:(0,Mn.Gu)(vr)}}),sn.n.div({class:"originalCornerCutoutSideBySide",style:{pointerEvents:"none",display:Ui.map(on=>on?"block":"none"),...ln.read(Mt).toStyles()}},[sn.n.div({class:"originalCornerCutoutBackground",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",backgroundColor:Bo(vr,this._themeService).map(on=>on.toString())}}),sn.n.div({class:"originalCornerCutoutBorder",style:{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",boxSizing:"border-box",borderTop:Jt,borderRight:Jt,borderRadius:"0 100% 0 0",backgroundColor:Vt}})]),sn.n.div({class:"originalOverlaySideBySideHider",style:{...cn.toStyles(),backgroundColor:Vt}})]})).keepUpdated(this._store),this._modifiedOverlay=sn.n.div({style:{pointerEvents:"none"}},(0,Ai.un)(this,Mt=>{const Nt=Vo(this._previewEditorLayoutInfo).read(Mt);if(!Nt)return;const Vt=Nt.map(wi=>wi.codeRect.bottom<wi.editRect.bottom),di=this._editorBackgroundColor.read(Mt),Jt=Pt.read(Mt),_i=Vt.map(wi=>`0 ${ta}px ${ta}px ${wi?ta:0}px`),Ri=Bo(Yr(this._tabAction),this._themeService).map(wi=>`1px solid ${wi.toString()}`),Ui=`${lr+Jt}px solid ${di}`,un=Nt.map(wi=>wi.editRect.withMargin(0,lr)),cn=un.map(wi=>wi.withMargin(Jt,Jt,Jt,0)),fi=(0,Ai.un)(this,wi=>{const gn=un.read(wi),ln=Nt.read(wi);return!ln.isInsertion||ln.contentLeft>=gn.left?is.fromLeftTopWidthHeight(gn.left,gn.top,0,0):new is(ln.contentLeft,gn.top,gn.left,gn.top+lr*2)});return[sn.n.div({class:"modifiedInsertionSideBySide",style:{...fi.read(Mt).toStyles(),backgroundColor:Yr(this._tabAction).map(wi=>(0,Mn.Gu)(wi))}}),sn.n.div({class:"modifiedSeparatorSideBySide",style:{...cn.read(Mt).toStyles(),borderRadius:_i,borderTop:Ui,borderBottom:Ui,borderRight:Ui,boxSizing:"border-box"}}),sn.n.div({class:"modifiedOverlaySideBySide",style:{...un.read(Mt).toStyles(),borderRadius:_i,border:Ri,boxSizing:"border-box",backgroundColor:(0,Mn.Gu)($a)}})]})).keepUpdated(this._store),this._nonOverflowView=sn.n.div({class:"inline-edits-view",style:{position:"absolute",overflow:"visible",top:"0px",left:"0px",display:this._display}},[this._backgroundSvg,(0,Ai.un)(this,Mt=>this._shouldOverflow.read(Mt)?[]:[this._editorContainer,this._originalOverlay,this._modifiedOverlay])]).keepUpdated(this._store),this._register(this._editorObs.createOverlayWidget({domNode:this._nonOverflowView.element,position:(0,Ss.l)(null),allowEditorOverflow:!1,minContentWidthInPx:(0,Ai.un)(this,Mt=>{const Nt=this._previewEditorLayoutInfo.read(Mt)?.maxContentWidth;return Nt===void 0?0:Nt})})),this.previewEditor.setModel(this._previewTextModel),this._register((0,fe.fm)(Mt=>{const Nt=this._previewEditorLayoutInfo.read(Mt);if(!Nt)return;const Vt=Nt.editRect.withMargin(-sl,-Ba);this.previewEditor.layout({height:Vt.height,width:Nt.previewEditorWidth+15}),this._editorContainer.element.style.top=`${Vt.top}px`,this._editorContainer.element.style.left=`${Vt.left}px`,this._editorContainer.element.style.width=`${Nt.previewEditorWidth+Ba}px`})),this._register((0,fe.fm)(Mt=>{const Nt=this._previewEditorLayoutInfo.read(Mt);Nt&&this._previewEditorObs.editor.setScrollLeft(Nt.desiredPreviewEditorScrollLeft)})),this._updatePreviewEditor.recomputeInitiallyAndOnChange(this._store)}};ko=Md([ql(5,T._Y),ql(6,Gr.Gy),ql(7,_d.u)],ko);var Ha=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ba=function(tt,K){return function(me,Re){K(me,Re,tt)}};class ia{constructor(K,me,Re){this.edit=K,this.editorType=me,this.alternativeAction=Re}equals(K){return this.edit.equals(K.edit)&&this.alternativeAction===K.alternativeAction}}const uo=1,rl="word-replacement-view-overlay",Va="word-replacement-view-widget",Wr="word-replacement-view-replacement",Or="word-replacement-view-rename";let na=(id=class extends M.jG{constructor(K,me,Re,et,ze,nt,rt,Tt){super(),this._editor=K,this._viewData=me,this._tabAction=Re,this._languageService=et,this._themeService=ze,this._keybindingService=nt,this._hoverService=rt,this._userInteractionService=Tt,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this._start=this._editor.observePosition((0,Ss.l)(this._viewData.edit.range.getStartPosition()),this._store),this._end=this._editor.observePosition((0,Ss.l)(this._viewData.edit.range.getEndPosition()),this._store),this._line=document.createElement("div"),this._primaryElement=(0,Sn.FY)(this,null),this._secondaryElement=(0,Sn.FY)(this,null),this.isHovered=(0,Ai.un)(this,Nt=>{const Vt=this._primaryElement.read(Nt);return Vt?this._userInteractionService.createHoverTracker(Vt.element,Nt.store).read(Nt):!1}),this._renderTextEffect=(0,Ai.un)(this,Nt=>{const Vt=this._editor.model.read(void 0);if(!Vt)return;const di=Vt.getLineContent(this._viewData.edit.range.startLineNumber),Jt=gi.aQ.replace(new ge.L(this._viewData.edit.range.startColumn-1,this._viewData.edit.range.endColumn-1),this._viewData.edit.text),_i=Jt.replace(di),Ri=Vt.tokenization.tokenizeLinesAt(this._viewData.edit.range.startLineNumber,[_i])?.[0];let Ui;Ri?Ui=Pn.fE.fromLineTokens(Ri).slice(Jt.getRangeAfterReplace()).toLineTokens(this._viewData.edit.text,this._languageService.languageIdCodec):Ui=Pn.f7.createEmpty(this._viewData.edit.text,this._languageService.languageIdCodec);const un=(0,Uo.ET)(new Uo.On([Ui]),Uo.bX.fromEditor(this._editor.editor).withSetWidth(!1).withScrollBeyondLastColumn(0),[],this._line,!0);this._line.style.width=`${un.minWidthInPx}px`});const Pt=this._editor.observeLineHeightForPosition(this._viewData.edit.range.getStartPosition()),Lt=(0,cs.Nk)(this._viewData.alternativeAction?.count??new Promise(Nt=>Nt(void 0))).map(Nt=>Nt.value),Mt=(0,Ai.un)(this,Nt=>this._userInteractionService.readModifierKeyStatus(this._editor.editor.getDomNode(),Nt).shiftKey);this._layout=(0,Ai.un)(this,Nt=>{this._renderTextEffect.read(Nt);const Vt=this._start.read(Nt),di=this._end.read(Nt);if(!Vt||!di||Vt.x>di.x||Vt.y>di.y)return;const Jt=Pt.read(Nt);if(Jt<=0)return;const _i=this._editor.scrollLeft.read(Nt),Ri=this._editor.getOption(59).read(Nt).typicalHalfwidthCharacterWidth,Ui=3*Ri,un=4,cn=new Tr.b(Ui,un);let fi;if(this._viewData.alternativeAction){const pn=this._viewData.alternativeAction.label,qi=Lt.read(Nt),Un=Mt.read(Nt),ns=qi!==void 0?qi===1?(0,I.kg)(1263,"{0} 1 occurrence",pn):(0,I.kg)(1264,"{0} {1} occurrences",pn,qi):pn,bs=(0,I.kg)(1265,"{0} show occurrences","[shift]");fi={label:qi!==void 0&&Un?ns:pn,tooltip:ns?`${ns}
77${bs}`:void 0,icon:void 0,count:qi,keybinding:this._keybindingService.lookupKeybinding(de.z$),active:Mt}}const wi=is.fromPoints(Vt,di).withHeight(Jt).translateX(-_i),gn=is.fromPointSize(wi.getLeftBottom().add(cn),new Tr.b(this._viewData.edit.text.length*Ri,wi.height)),ln=gn.withWidth(gn.width+(fi?fi.label.length*Ri+8+4+12:0)),on=ln.withLeft(wi.left);return{alternativeAction:fi,originalLine:wi,codeLine:gn,modifiedLine
77:ln,lowerBackground:on,lineHeight:Jt}}),this.minEditorScrollHeight=(0,Ai.un)(this,Nt=>{const Vt=Vo(this._layout).read(Nt);return Vt?Vt.read(Nt).modifiedLine.bottom+uo+this._editor.editor.getScrollTop():0}),this._root=sn.n.div({class:"word-replacement"},[(0,Ai.un)(this,Nt=>{const Vt=Vo(this._layout).read(Nt);if(!Vt)return[];const di=Ia(this._tabAction).map(qi=>(0,Mn.Gu)(qi)).read(Nt),Jt=Yr(this._tabAction).map(qi=>(0,Mn.Gu)(qi)).read(Nt);this._line.style.lineHeight=`${Vt.read(Nt).modifiedLine.height+2*uo}px`;const _i=(0,Ss.l)(!1),Ri=Vt.map(qi=>qi.alternativeAction),Ui=(0,Ai.un)(qi=>(Ri.read(qi)?.active.read(qi)??!1)||_i.read(qi)),cn=(0,oe.y0)(this._themeService.onDidColorThemeChange,()=>{const qi=this._themeService.getColorTheme();return qi.type==="hcDark"||qi.type==="hcLight"}).read(Nt)?Qa(_r.b1,this._themeService).read(Nt):null,fi={borderColor:cn?cn.toString():Jt,backgroundColor:(0,Mn.Gu)(kl),color:"",opacity:"1"},wi={borderColor:cn?cn.toString():(0,Mn.Gu)(Mr),backgroundColor:(0,Mn.Gu)(Rr),color:(0,Mn.Gu)(Ho),opacity:"1"},gn={borderColor:cn?cn.toString():Qa(Us.Xo,this._themeService).map(qi=>qi.transparent(.2).toString()).read(Nt),backgroundColor:qo(this._viewData.editorType),color:"",opacity:"0.7"},ln=qo(this._viewData.editorType),on=(0,Ai.un)(this,qi=>(Ui.read(qi),fi)),pn=(0,Ai.un)(this,qi=>Ui.read(qi)?wi:gn);return[sn.n.div({id:rl,style:{position:"absolute",...Po(qi=>Za(this._editor).read(qi)),overflow:"hidden",pointerEvents:"none"}},[sn.n.div({style:{position:"absolute",...Po(qi=>Vt.read(qi).lowerBackground.withMargin(uo,2*uo,uo,0)),background:ln,cursor:"pointer",pointerEvents:"auto"},onmousedown:qi=>this._mouseDown(qi)}),sn.n.div({id:Va,style:{position:"absolute",...Po(qi=>Vt.read(qi).modifiedLine.withMargin(uo,2*uo)),width:void 0,pointerEvents:"auto",boxSizing:"border-box",borderRadius:`${So}px`,background:ln,display:"flex",justifyContent:"left",outline:`2px solid ${ln}`},onmousedown:qi=>this._mouseDown(qi)},[sn.n.div({id:Wr,style:{fontFamily:this._editor.getOption(58),fontSize:this._editor.getOption(61),fontWeight:this._editor.getOption(62),width:Po(qi=>Vt.read(qi).codeLine.withMargin(uo,2*uo)).width,borderRadius:`${So}px`,border:on.map(qi=>`${uo}px solid ${qi.borderColor}`),boxSizing:"border-box",padding:`${uo}px`,opacity:on.map(qi=>qi.opacity),background:on.map(qi=>qi.backgroundColor),display:"flex",justifyContent:"left",alignItems:"center",pointerEvents:"auto",cursor:"pointer"},obsRef:qi=>{this._primaryElement.set(qi,void 0)}},[this._line]),(0,Ai.un)(this,qi=>{const Un=Ri.read(qi);if(!Un)return;const ns=document.createElement("div");return qi.store.add(new bl.x(ns,Ma.OS,{...bl.l,disableTitle:!0})).set(Un.keybinding),sn.n.div({id:Or,style:{position:"relative",borderRadius:`${So}px`,borderTop:`${uo}px solid`,borderRight:`${uo}px solid`,borderBottom:`${uo}px solid`,borderLeft:`${uo}px solid`,borderColor:pn.map(Ks=>Ks.borderColor),opacity:pn.map(Ks=>Ks.opacity),color:pn.map(Ks=>Ks.color),display:"flex",justifyContent:"center",alignItems:"center",padding:"0 4px 0 1px",marginLeft:"4px",background:pn.map(Ks=>Ks.backgroundColor),cursor:"pointer",textWrap:"nowrap"},class:"inline-edit-alternative-action-label",obsRef:Ks=>{this._secondaryElement.set(Ks,void 0)},ref:Ks=>{Un.tooltip&&qi.store.add(this._hoverService.setupDelayedHoverAtMouse(Ks,{content:Un.tooltip,appearance:{compact:!0}}))}},[ns,(0,sn.$)("div.inline-edit-alternative-action-label-separator"),Un.icon?(0,mi.s)(Un.icon):void 0,Un.label])})]),sn.n.div({style:{position:"absolute",...Po(qi=>Vt.read(qi).originalLine.withMargin(uo)),boxSizing:"border-box",borderRadius:`${So}px`,border:`${uo}px solid ${di}`,background:(0,Mn.Gu)(cd),pointerEvents:"none"}},[]),sn.n.svg({width:11,height:14,viewBox:"0 0 11 14",fill:"none",style:{position:"absolute",left:Vt.map(qi=>qi.modifiedLine.left-16),top:Vt.map(qi=>qi.modifiedLine.top+Math.round((qi.lineHeight-14-5)/2)),pointerEvents:"none"},onmousedown:qi=>this._mouseDown(qi)},[sn.n.svgElem("path",{d:"M1 0C1 2.98966 1 5.92087 1 8.49952C1 9.60409 1.89543 10.5 3 10.5H10.5",stroke:(0,Mn.Gu)(Us.Xo)}),sn.n.svgElem("path",{d:"M6 7.5L9.99999 10.49998L6 13.5",stroke:(0,Mn.Gu)(Us.Xo)})])])]})]).keepUpdated(this._store),this._register(this._editor.createOverlayWidget({domNode:this._root.element,minContentWidthInPx:(0,Ss.l)(0),position:(0,Ss.l)({preference:{top:0,left:0}}),allowEditorOverflow:!1}))}_mouseDown(K){const me=ed(K.target,new Set([Va,Wr,Or,rl]));me&&(K.preventDefault(),this._onDidClick.fire(Do.create(K,me===Or)))}}
77,id.MAX_LENGTH=100,id);na=Ha([ba(3,dn.L),ba(4,Gr.Gy),ba(5,Qe.b),ba(6,ul.TN),ba(7,_d.u)],na);function ed(tt,K){let me=tt;for(;me;){if(K.has(me.id))return me.id;me=me.parentElement}return null}var qs=e(13784);class al extends M.jG{constructor(K,me,Re){super(),this._originalEditor=K,this._state=me,this._modifiedTextModel=Re,this._onDidClick=this._register(new Bt.vl),this.onDidClick=this._onDidClick.event,this.isHovered=(0,ae.U)(this._originalEditor).isTargetHovered(ze=>ze.target.type===6&&ze.target.detail.injectedText?.options.attachedData instanceof yr&&ze.target.detail.injectedText.options.attachedData.owner===this,this._store),this._tokenizationFinished=ya(this._modifiedTextModel),this._decorations=(0,Ai.un)(this,ze=>{const nt=this._state.read(ze);if(!nt)return;const rt=nt.modifiedText,Tt=nt.mode==="insertionInline",Pt=nt.diff.length===1&&nt.diff[0].innerChanges?.length===1,Lt=!0,Mt=[],Nt=[],Vt=Xs.kI.register({className:"inlineCompletions-line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),di=Xs.kI.register({className:"inlineCompletions-line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),Jt=Xs.kI.register({className:"inlineCompletions-char-delete",description:"char-delete",isWholeLine:!1,zIndex:1}),_i=Xs.kI.register({className:"inlineCompletions-char-insert",description:"char-insert",isWholeLine:!0}),Ri=Xs.kI.register({className:"inlineCompletions-char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),Ui=Xs.kI.register({className:"inlineCompletions-char-insert diff-range-empty",description:"char-insert diff-range-empty"}),un=Xs.kI.register({className:"inlineCompletions-original-lines",description:"inlineCompletions-original-lines",isWholeLine:!1,shouldFillLineOnLineBreak:!0}),cn=nt.mode!=="sideBySide"&&nt.mode!=="deletion"&&nt.mode!=="insertionInline"&&nt.mode!=="lineReplacement",fi=nt.mode==="lineReplacement";for(const wi of nt.diff)if(cn&&(wi.original.isEmpty||Mt.push({range:wi.original.toInclusiveRange(),options:di}),wi.modified.isEmpty||Nt.push({range:wi.modified.toInclusiveRange(),options:Vt})),wi.modified.isEmpty||wi.original.isEmpty)wi.original.isEmpty||Mt.push({range:wi.original.toInclusiveRange(),options:Jt}),wi.modified.isEmpty||Nt.push({range:wi.modified.toInclusiveRange(),options:_i});else{const gn=Tt&&oo(wi);for(const ln of wi.innerChanges||[]){if(wi.original.contains(ln.originalRange.startLineNumber)&&!(fi&&ln.originalRange.isEmpty())){const on=this._originalEditor.getModel()?.getValueInRange(ln.originalRange,1);Mt.push({range:ln.originalRange,options:{description:"char-delete",shouldFillLineOnLineBreak:!1,className:Ta("inlineCompletions-char-delete",ln.originalRange.isSingleLine()&&nt.mode==="insertionInline"&&"single-line-inline",ln.originalRange.isEmpty()&&"empty",(ln.originalRange.isEmpty()&&Pt||nt.mode==="deletion"&&on===`
78`)&&Lt&&!gn&&"diff-range-empty"),inlineClassName:gn?Ta("strike-through","inlineCompletions"):null,zIndex:1}})}if(wi.modified.contains(ln.modifiedRange.startLineNumber)&&Nt.push({range:ln.modifiedRange,options:ln.modifiedRange.isEmpty()&&Lt&&!gn&&Pt?Ui:Ri}),gn){const on=rt.getValueOfRange(ln.modifiedRange),pn=on.length>3?[{text:on.slice(0,1),extraClasses:["start"],offsetRange:new ge.L(ln.modifiedRange.startColumn-1,ln.modifiedRange.startColumn)},{text:on.slice(1,-1),extraClasses:[],offsetRange:new ge.L(ln.modifiedRange.startColumn,ln.modifiedRange.endColumn-2)},{text:on.slice(-1),extraClasses:["end"],offsetRange:new ge.L(ln.modifiedRange.endColumn-2,ln.modifiedRange.endColumn-1)}]:[{text:on,extraClasses:["start","end"],offsetRange:new ge.L(ln.modifiedRange.startColumn-1,ln.modifiedRange.endColumn)}];this._tokenizationFinished.read(ze);const qi=this._modifiedTextModel.tokenization.getLineTokens(ln.modifiedRange.startLineNumber);for(const{text:Un,extraClasses:ns,offsetRange:bs}of pn)Mt.push({range:Gt.Q.fromPositions(ln.originalRange.getEndPosition()),options:{description:"inserted-text",before:{tokens:qi.getTokensInRange(bs),content:Un,inlineClassName:Ta("inlineCompletions-char-insert",ln.modifiedRange.isSingleLine()&&nt.mode==="insertionInline"&&"single-line-inline",...ns),cursorStops:Tn.VW.None,attachedData:new yr(this)},zIndex:2,showIfCollapsed:!0}})}}}if(nt.editorType===An.DiffEditor)for(const wi of nt.diff)wi.original.isEmpty||Mt.push({range:wi.original.toExclusiveRange(),options:un});return{originalDecorations:Mt,modifiedDecorations:Nt}}),this._register((0,ae.U)(this._originalEditor).setDecorations(this._decorations.map(ze=>ze?.originalDecorations??[])));const et=this._state.map(ze=>ze?.modifiedCodeEditor);this._register((0,fe.yC)((ze,nt)=>{const rt=et.read(ze);rt&&nt.add((0,ae.U)(rt).setDecorations(this._decorations.map(Tt=>Tt?.modifiedDecorations??[])))})),this._register(this._originalEditor.onMouseUp(ze=>{if(ze.target.type!==6)return;
78const nt=ze.target.detail.injectedText?.options.attachedData;nt instanceof yr&&nt.owner===this&&this._onDidClick.fire(new Do(ze.event))}))}}class yr{constructor(K){this.owner=K}}function oo(tt){return tt.innerChanges?tt.innerChanges.every(K=>(0,qs.mq)(K.modifiedRange)&&(0,qs.mq)(K.originalRange)):!1}let Sa=0;function ya(tt){return(0,oe.y0)(tt.onDidChangeTokens,()=>Sa++)}var Ua=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},ll=function(tt,K){return function(me,Re){K(me,Re,tt)}};let Go=class extends M.jG{constructor(K,me,Re,et,ze,nt){super(),this._editor=K,this._model=me,this._simpleModel=Re,this._inlineSuggestInfo=et,this._showCollapsed=ze,this._instantiationService=nt,this._tabAction=(0,Ai.un)(Lt=>this._model.read(Lt)?.tabAction.read(Lt)??jn.Inactive),this.displayRange=(0,Ai.un)(this,Lt=>{const Mt=this._uiState.read(Lt);if(Mt&&Mt.target.uri.toString()===this._editorObs.model.read(Lt)?.uri.toString()){if(Mt.state?.kind==="custom"){const Nt=Mt.state.displayLocation?.range;if(!Nt)throw new gt.D7("custom view should have a range");return new ri.M(Nt.startLineNumber,Nt.endLineNumber)}return Mt.state?.kind==="insertionMultiLine"?this._insertion.originalLines.read(Lt):Mt.edit.displayRange}}),this._currentInlineEditCache=void 0,this._uiState=(0,Ai.un)(this,Lt=>{const Mt=this._model.read(Lt),Nt=this._editorObs.model.read(Lt);if(!Mt||!Nt||!this._constructorDone.read(Lt))return;const Vt=Mt.inlineEdit;let di,Jt,_i;Vt.edit?(Jt=Ya.q6.fromEdit(Vt.edit),_i=new Ze.tp(Vt.edit.apply(Vt.originalText)),di=(0,Ya.Ef)(Jt,Vt.originalText,_i)):(Jt=[],di=[],_i=Vt.originalText);let Ri=this._determineRenderState(Mt,Lt,di,_i);if(!Ri){(0,gt.dz)(new Error(`unable to determine view: tried to render ${this._previousView?.view}`));return}const Ui=this._getLongDistanceHintState(Mt,Lt);if(Ui&&Ui.isVisible&&Ri.viewData.setLongDistanceViewData(Ui.lineNumber,Vt.lineEdit.lineRange.startLineNumber),Ri.kind===Ln.SideBySide){const fi=Js(_i.getValue(),Vt.modifiedLineRange,Nt.getOptions().tabSize);_i=new Ze.tp(fi.applyToString(_i.getValue())),Jt=Vn(Jt,fi),di=(0,Ya.Ef)(Jt,Vt.originalText,_i)}this._previewTextModel.setLanguage(Nt.getLanguageId());const un=this._previewTextModel.getValue();if(un!==_i.getValue()){this._previewTextModel.setEOL(Nt.getEndOfLineSequence());const wi=gi.c7.replace(new ge.L(0,un.length),_i.getValue()).removeCommonSuffixPrefix(un),gn=$i(this._previewTextModel).getTextEdit(wi);this._previewTextModel.edit(gn)}this._showCollapsed.read(Lt)&&(Ri={kind:Ln.Collapsed,viewData:Ri.viewData}),Mt.handleInlineEditShownNextFrame(Ri.kind,Ri.viewData);const cn=Vt.action?.kind==="jumpTo"?Vt.action.position:null;return{state:Ri,diff:di,edit:Vt,newText:_i.getValue(),newTextLineCount:Vt.modifiedLineRange.length,editorType:Mt.editorType,longDistanceHint:Ui,nextCursorPosition:cn,target:Vt.inlineCompletion.originalTextRef}}),this.inlineEditsIsHovered=(0,Ai.un)(this,Lt=>this._sideBySide.isHovered.read(Lt)||this._wordReplacementViews.read(Lt).some(Mt=>Mt.isHovered.read(Lt))||this._deletion.isHovered.read(Lt)||this._inlineDiffView.isHovered.read(Lt)||this._lineReplacementView.isHovered.read(Lt)||this._insertion.isHovered.read(Lt)||this._customView.isHovered.read(Lt)||this._longDistanceHint.map((Mt,Nt)=>Mt?.isHovered.read(Nt)??!1).read(Lt)),this.gutterIndicatorOffset=(0,Ai.un)(this,Lt=>this._uiState.read(Lt)?.state?.kind==="insertionMultiLine"?this._insertion.startLineOffset.read(Lt):0),this._editorObs=(0,ae.U)(this._editor),this._constructorDone=(0,Sn.FY)(this,!1),this._previewTextModel=this._register(this._instantiationService.createInstance(Xs.Bz,"",this._editor.getModel().getLanguageId(),{...Xs.Bz.DEFAULT_CREATION_OPTIONS,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}},null)),this._sideBySide=this._register(this._instantiationService.createInstance(ko,this._editor,this._model.map(Lt=>
78Lt?.inlineEdit),this._previewTextModel,this._uiState.map(Lt=>Lt&&Lt.state?.kind===Ln.SideBySide?{newTextLineCount:Lt.newTextLineCount,editorType:Lt.editorType}:void 0),this._tabAction)),this._deletion=this._register(this._instantiationService.createInstance(wl,this._editor,this._model.map(Lt=>Lt?.inlineEdit),this._uiState.map(Lt=>Lt&&Lt.state?.kind===Ln.Deletion?{originalRange:Lt.state.originalRange,deletions:Lt.state.deletions,editorType:Lt.editorType}:void 0),this._tabAction)),this._insertion=this._register(this._instantiationService.createInstance(Dl,this._editor,this._uiState.map(Lt=>Lt&&Lt.state?.kind===Ln.InsertionMultiLine?{lineNumber:Lt.state.lineNumber,startColumn:Lt.state.column,text:Lt.state.text,editorType:Lt.editorType}:void 0),this._tabAction)),this._inlineCollapsedView=this._register(this._instantiationService.createInstance(yd,this._editor,this._model.map((Lt,Mt)=>this._uiState.read(Mt)?.state?.kind===Ln.Collapsed?Lt?.inlineEdit:void 0))),this._customView=this._register(this._instantiationService.createInstance(Ed,this._editor,this._model.map((Lt,Mt)=>this._uiState.read(Mt)?.state?.kind===Ln.Custom?Lt?.displayLocation:void 0),this._tabAction,this._uiState.map(Lt=>Lt?.editorType??An.TextEditor))),this._showLongDistanceHint=this._editorObs.getOption(71).map(this,Lt=>Lt.edits.showLongDistanceHint),this._longDistanceHint=(0,Ai.un)(this,Lt=>{if(this._showLongDistanceHint.read(Lt))return Lt.store.add(this._instantiationService.createInstance(va,this._editor,this._uiState.map((Mt,Nt)=>Mt?.longDistanceHint?{hint:Mt.longDistanceHint,newTextLineCount:Mt.newTextLineCount,edit:Mt.edit,diff:Mt.diff,editorType:Mt.editorType,model:this._simpleModel.read(Nt),inlineSuggestInfo:this._inlineSuggestInfo.read(Nt),nextCursorPosition:Mt.nextCursorPosition,target:Mt.target}:void 0),this._previewTextModel,this._tabAction))}).recomputeInitiallyAndOnChange(this._store),this._inlineDiffViewState=(0,Ai.un)(this,Lt=>{const Mt=this._uiState.read(Lt);if(!(!Mt||!Mt.state)&&!(Mt.state.kind==="wordReplacements"||Mt.state.kind==="insertionMultiLine"||Mt.state.kind==="collapsed"||Mt.state.kind==="custom"||Mt.state.kind==="jumpTo"))return{modifiedText:new Ze.tp(Mt.newText),diff:Mt.diff,mode:Mt.state.kind,modifiedCodeEditor:this._sideBySide.previewEditor,editorType:Mt.editorType}}),this._inlineDiffView=this._register(new al(this._editor,this._inlineDiffViewState,this._previewTextModel)),this._jumpToView=this._register(this._instantiationService.createInstance(il,this._editorObs,{style:"label"},(0,Ai.un)(Lt=>{const Mt=this._uiState.read(Lt);if(Mt?.state?.kind===Ln.JumpTo)return{jumpToPosition:Mt.state.position}})));const rt=(0,Ai.C)({equalsFn:dt.aI.arrayC(dt.aI.thisC())},Lt=>{const Mt=this._uiState.read(Lt);return Mt?.state?.kind===Ln.WordReplacements?Mt.state.replacements.map(Nt=>new ia(Nt,Mt.editorType,Mt.state?.alternativeAction)):[]});this._wordReplacementViews=(0,cs.Rl)(this,rt,(Lt,Mt)=>Mt.add(this._instantiationService.createInstance(na,this._editorObs,Lt,this._tabAction))),this._lineReplacementView=this._register(this._instantiationService.createInstance(Zl,this._editorObs,this._uiState.map(Lt=>Lt?.state?.kind===Ln.LineReplacement?{originalRange:Lt.state.originalRange,modifiedRange:Lt.state.modifiedRange,modifiedLines:Lt.state.modifiedLines,replacements:Lt.state.replacements}:void 0),this._uiState.map(Lt=>Lt?.editorType??An.TextEditor),this._tabAction)),this._useCodeShifting=this._editorObs.getOption(71).map(Lt=>Lt.edits.allowCodeShifting),this._renderSideBySide=this._editorObs.getOption(71).map(Lt=>Lt.edits.renderSideBySide),this._register((0,fe.fm)(Lt=>{const Mt=this._model.read(Lt);Mt&&Lt.store.add(Bt.Jh.any(this._sideBySide.onDidClick,this._lineReplacementView.onDidClick,this._insertion.onDidClick,...this._wordReplacementViews.read(Lt).map(Nt=>Nt.onDidClick),this._inlineDiffView.onDidClick,this._customView.onDidClick)(Nt=>{this._viewHasBeenShownLongerThan(350)&&(Nt.event.preventDefault(),Mt.accept(Nt.alternativeAction))}))})),this._wordReplacementViews.recomputeInitiallyAndOnChange(this._store);const Tt=(0,Ai.un)(this,Lt=>Math.max(...this._wordReplacementViews.read(Lt).map(Mt=>Mt.minEditorScrollHeight.read(Lt)),this._lineReplacementView.minEditorScrollHeight.read(Lt),this._customView.minEditorScrollHeight.read(Lt))).recomputeInitiallyAndOnChange(this._store);let Pt;this._register((0,fe.fm)(Lt=>{const Mt=Tt.read(Lt),Nt=this._editorObs.model.read(Lt);Nt&&this._editor.changeViewZones(Vt=>{const di=this._editor.getScrollHeight(),Jt=Mt-di+1;Jt!==0&&Pt!==void 0&&(Vt.removeZone(Pt),Pt=void 0),!(Jt<=0)&&(Pt=Vt.addZone({afterLineNumber:Nt.getLineCount(),heightInPx:Jt,domNode:(0,sn.$)("div.minScrollHeightViewZone")}))})})),this._constructorDone.set(!0,void 0)}_getLongDistanceHintState(K,me){if(!K.inlineEdit.inlineCompletion.identity.jumpedTo.read(me)&&K.inlineEdit.action!==void 0)return K.inlineEdit.originalText.uri.toString()!==this._editorObs.model.read(me)?.uri.toString()?{isVisible:!0,lineNumber:K.inlineEdit.cursorPosition.lineNumber}:(this._currentInlineEditCache?.inlineSuggestionIdentity!==K.inlineEdit.inlineCompletion.identity&&(this._currentInlineEditCache={inlineSuggestionIdentity:K.inlineEdit.inlineCompletion.identity,firstCursorLineNumber:K.inlineEdit.cursorPosition.lineNumber}),{lineNumber:this._currentInlineEditCache.firstCursorLineNumber,isVisible:!K.inViewPort.read(me)})}_getCacheId(K){return K.inlineEdit.inlineCompletion.identity.id}_determineView(K,me,Re,et){const ze=K.inlineEdit,nt=this._previousView?.id===this._getCacheId(K)&&this._previousView?.uri.toString()===this._editorObs.model.get().uri.toString(),rt=this._previousView?.editorWidth!==this._editorObs.layoutInfoWidth.read(me)&&(this._previousView?.view===Ln.SideBySide||this._previousView?.view===Ln.LineReplacement);if(nt&&!rt)return this._previousView.view;const Tt=K.inlineEdit.inlineCompletion.action;if(Tt?.kind==="edit"&&Tt.alternativeAction)return Ln.WordReplacements;const Pt=K.inlineEdit.inlineCompletion.originalTextRef.uri,Lt=this._editorObs.model.read(me)?.uri;if(Lt&&Pt.toString()!==Lt.toString()||K.displayLocation&&!K.inlineEdit.inlineCompletion.identity.jumpedTo.read(me))return Ln.Custom;const Mt=ze.originalLineRange.length,Nt=ze.modifiedLineRange.length,Vt=Re.flatMap(Jt=>Jt.innerChanges??[]),di=Vt.length===1;if(K.editorType!==An.DiffEditor){if(di&&this._useCodeShifting.read(me)!=="never"&&t(Re))return s(Re,ze.cursorPosition)?Ln.InsertionInline:Ln.LineReplacement;
78if(O(Vt,ze,et))return Ln.Deletion;if(m(Re)&&this._useCodeShifting.read(me)==="always")return Ln.InsertionMultiLine;if(Vt.every(_i=>pt.W.ofRange(_i.originalRange).columnCount<na.MAX_LENGTH&&pt.W.ofRange(_i.modifiedRange).columnCount<na.MAX_LENGTH)&&di&&Mt===1&&Nt===1){const _i=Vt.map(Ui=>et.getValueOfRange(Ui.modifiedRange)),Ri=Vt.map(Ui=>K.inlineEdit.originalText.getValueOfRange(Ui.originalRange));if(!_i.some(Ui=>Ui.includes("	"))&&!Ri.some(Ui=>Ui.includes("	"))&&(!Vt.some(Ui=>Ui.originalRange.isEmpty())||!se(Vt.map(Ui=>new Zt.W(Ui.originalRange,"")),ze.originalText).some(Ui=>Ui.range.isEmpty()&&pt.W.ofRange(Ui.range).columnCount<na.MAX_LENGTH)))return Ln.WordReplacements}}if(Mt>0&&Nt>0)return Mt===1&&Nt===1&&K.editorType!==An.DiffEditor?Ln.LineReplacement:this._renderSideBySide.read(me)!=="never"&&ko.fitsInsideViewport(this._editor,this._previewTextModel,ze,me)?Ln.SideBySide:Ln.LineReplacement;if(K.editorType===An.DiffEditor){if(O(Vt,ze,et))return Ln.Deletion;if(m(Re)&&this._useCodeShifting.read(me)==="always")return Ln.InsertionMultiLine}return Ln.SideBySide}_determineRenderState(K,me,Re,et){if(K.inlineEdit.action?.kind==="jumpTo")return{kind:Ln.JumpTo,position:K.inlineEdit.action.position,viewData:sa};const ze=K.inlineEdit;let nt=this._determineView(K,me,Re,et);if(this._willRenderAboveCursor(me,ze,nt))switch(nt){case Ln.LineReplacement:case Ln.WordReplacements:nt=Ln.SideBySide;break}this._previousView={id:this._getCacheId(K),view:nt,editorWidth:this._editor.getLayoutInfo().width,timestamp:Date.now(),uri:this._editorObs.model.get().uri};const rt=Re.flatMap(Nt=>Nt.innerChanges??[]),Tt=this._editor.getModel(),Pt=rt.map(Nt=>({originalRange:Nt.originalRange,modifiedRange:Nt.modifiedRange,original:ze.originalText.getValueOfRange(Nt.originalRange),modified:et.getValueOfRange(Nt.modifiedRange)})),Lt=ft(ze,Pt,Tt);switch(nt){case Ln.InsertionInline:return{kind:Ln.InsertionInline,viewData:Lt};
78case Ln.SideBySide:return{kind:Ln.SideBySide,viewData:Lt};case Ln.Collapsed:return{kind:Ln.Collapsed,viewData:Lt};case Ln.Custom:return{kind:Ln.Custom,displayLocation:K.displayLocation,viewData:Lt}}if(nt===Ln.Deletion)return{kind:Ln.Deletion,originalRange:ze.originalLineRange,deletions:rt.map(Nt=>Nt.originalRange),viewData:Lt};if(nt===Ln.InsertionMultiLine){const Nt=rt[0];return{kind:Ln.InsertionMultiLine,lineNumber:Nt.originalRange.startLineNumber,column:Nt.originalRange.startColumn,text:et.getValueOfRange(Nt.modifiedRange),viewData:Lt}}const Mt=Pt.map(Nt=>new Zt.W(Nt.originalRange,Nt.modified));if(Mt.length!==0){if(nt===Ln.WordReplacements){let Nt=F(Mt,ze.originalText);return Nt.some(Vt=>Vt.range.isEmpty())&&(Nt=se(Mt,ze.originalText)),{kind:Ln.WordReplacements,replacements:Nt,alternativeAction:K.inlineEdit.action?.alternativeAction,viewData:Lt}}if(nt===Ln.LineReplacement)return{kind:Ln.LineReplacement,originalRange:ze.originalLineRange,modifiedRange:ze.modifiedLineRange,modifiedLines:ze.modifiedLineRange.mapToLineArray(Nt=>et.getLineAt(Nt)),replacements:rt.map(Nt=>({originalRange:Nt.originalRange,modifiedRange:Nt.modifiedRange})),viewData:Lt}}}_willRenderAboveCursor(K,me,Re){if(this._useCodeShifting.read(K)==="always")return!1;for(const ze of me.multiCursorPositions)if(Re===Ln.WordReplacements&&ze.lineNumber===me.originalLineRange.startLineNumber+1||Re===Ln.LineReplacement&&ze.lineNumber>=me.originalLineRange.endLineNumberExclusive&&ze.lineNumber<me.modifiedLineRange.endLineNumberExclusive+me.modifiedLineRange.length)return!0;return!1}_viewHasBeenShownLongerThan(K){const me=this._previousView?.timestamp;if(!me)throw new gt.D7("viewHasBeenShownLongThan called before a view has been shown");return Date.now()-me>=K}};Go=Ua([ll(5,T._Y)],Go);const sa=new xo(-1,-1,-1,-1,-1,-1,-1,!0);function ft(tt,K,me){if(!tt.edit)return sa;const Re=tt.cursorPosition,et=K.length===0?!1:K[0].modified.startsWith(me.getEOL());return new xo(tt.edit.replacements.length===0?0:tt.edit.replacements[0].range.getStartPosition().column-Re.column,tt.lineEdit.lineRange.startLineNumber-Re.lineNumber+(et&&tt.lineEdit.lineRange.startLineNumber>=Re.lineNumber?1:0),tt.lineEdit.lineRange.length,tt.lineEdit.newLines.length,K.reduce((nt,rt)=>nt+rt.original.length,0),K.reduce((nt,rt)=>nt+rt.modified.length,0),K.length,K.every(nt=>nt.original===K[0].original&&nt.modified===K[0].modified))}function t(tt){return tt.every(me=>me.innerChanges.every(Re=>K(Re)));function K(me){return!(!me.originalRange.isEmpty()||!(me.modifiedRange.startLineNumber===me.modifiedRange.endLineNumber))}}function s(tt,K){if(!K||!t(tt))return!1;const me=K;return tt.every(et=>et.innerChanges.every(ze=>Re(ze)));function Re(et){const ze=et.originalRange.getStartPosition();return!!(me.isBeforeOrEqual(ze)||ze.lineNumber<me.lineNumber)}}function m(tt){const K=tt.flatMap(Re=>Re.innerChanges??[]);if(K.length!==1)return!1;const me=K[0];return!(!me.originalRange.isEmpty()||me.modifiedRange.startLineNumber===me.modifiedRange.endLineNumber)}function O(tt,K,me){return tt.map(et=>({original:K.originalText.getValueOfRange(et.originalRange),modified:me.getValueOfRange(et.modifiedRange)})).every(({original:et,modified:ze})=>ze.trim()===""&&et.length>0&&(et.length>ze.length||et.trim()!==""))}function F(tt,K){return be(tt,K,me=>/^[a-zA-Z]$/.test(me))}function se(tt,K){return be(tt,K,me=>!/^\s$/.test(me))}function be(tt,K,me){const Re=[];tt.sort((ze,nt)=>Gt.Q.compareRangesUsingStarts(ze.range,nt.range));for(const ze of tt){let nt=ze.range.startColumn-1,rt=ze.range.endColumn-2,Tt="",Pt="";const Lt=K.getLineAt(ze.range.startLineNumber),Mt=K.getLineAt(ze.range.endLineNumber);if(et(Lt[nt]))for(;et(Lt[nt-1]);)Tt=Lt[nt-1]+Tt,nt--;if(et(Mt[rt])||rt<nt)for(;et(Mt[rt+1]);)Pt+=Mt[rt+1],rt++;let Nt=new Zt.W(new Gt.Q(ze.range.startLineNumber,nt+1,ze.range.endLineNumber,rt+2),Tt+ze.text+Pt);Re.length>0&&Gt.Q.areIntersectingOrTouching(Re[Re.length-1].range,Nt.range)&&(Nt=Zt.W.joinReplacements([Re.pop(),Nt],K)),Re.push(Nt)}function et(ze){return ze===void 0?!1:me(ze)}return Re}var Oe=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},it=function(tt,K){return function(me,Re){K(me,Re,tt)}};let ct=class extends M.jG{constructor(K,me,Re,et){super(),this._editor=K,this._model=me,this._showCollapsed=Re,this._inlineEdit=(0,Ai.un)(this,ze=>{const nt=this._model.read(ze);if(!nt||!this._editor.getModel())return;
78const Tt=nt.inlineEditState.read(ze);if(!Tt)return;const Pt=Tt.inlineSuggestion.action;let Lt;if(Pt?.kind==="edit"){const Mt=Pt.stringEdit,Nt=Tt.inlineSuggestion.originalTextRef.getTransformer(),Vt=Mt.replacements.map(di=>{const Jt=Gt.Q.fromPositions(Nt.getPosition(di.replaceRange.start),Nt.getPosition(di.replaceRange.endExclusive));return new Zt.W(Jt,di.newText)});Lt=new Zt.m(Vt)}else Lt=void 0;return new Sd(Tt.inlineSuggestion.originalTextRef,Pt,Lt,nt.primaryPosition.read(void 0),nt.allPositions.read(void 0),Tt.inlineSuggestion.source.inlineSuggestions.commands??[],Tt.inlineSuggestion)}),this._inlineEditModel=(0,Ai.un)(this,ze=>{const nt=this._model.read(ze);if(!nt)return;const rt=this._inlineEdit.read(ze);if(!rt)return;const Tt=(0,Ai.un)(this,Pt=>{if(this._editorObs.isFocused.read(Pt)){if(nt.tabShouldJumpToInlineEdit.read(Pt))return jn.Jump;if(nt.tabShouldAcceptInlineEdit.read(Pt))return jn.Accept}return jn.Inactive});return new qd(nt,rt,Tt)}),this._editorObs=(0,ae.U)(this._editor),this.view=this._register(et.createInstance(Go,this._editor,this._inlineEditModel,this._model.map(ze=>ze?Xa.fromInlineCompletionModel(ze):void 0),this._inlineEdit.map(ze=>ze?ea.fromInlineSuggestion(ze.inlineCompletion):void 0),this._showCollapsed))}};ct=Oe([it(3,T._Y)],ct);var lt=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},Dt=function(tt,K){return function(me,Re){K(me,Re,tt)}};let It=(oa=class extends M.jG{constructor(K,me,Re,et){super(),this._editor=K,this._model=me,this._focusIsInMenu=Re,this._instantiationService=et,this._ghostTexts=(0,Ai.un)(this,ze=>this._model.read(ze)?.ghostTexts.read(ze)??[]),this._inlineEdit=(0,Ai.un)(this,ze=>this._model.read(ze)?.inlineEditState.read(ze)?.inlineSuggestion),this._everHadInlineEdit=(0,cs.ZX)(this,(ze,nt)=>nt||!!this._inlineEdit.read(ze)||!!this._model.read(ze)?.inlineCompletionState.read(ze)?.inlineSuggestion?.showInlineEditMenu),this._indicatorIsHoverVisible=(0,Sn.FY)(this,void 0),this._showInlineEditCollapsed=(0,Ai.un)(this,ze=>(this._model.read(ze)?.showCollapsed.read(ze)??!1)&&!this._indicatorIsHoverVisible.read(ze)?.read(ze)),this._inlineEditWidget=(0,Ai.a0)(ze=>{if(this._everHadInlineEdit.read(ze))return this._instantiationService.createInstance(ct,this._editor,this._model,this._showInlineEditCollapsed)}),this._gutterIndicatorState=(0,Ai.un)(ze=>{const nt=this._model.read(ze);if(!nt)return;const rt=nt.state.read(ze);if(rt?.kind==="ghostText"&&rt.inlineSuggestion?.showInlineEditMenu)return{displayRange:ri.M.ofLength(rt.primaryGhostText.lineNumber,1),tabAction:(0,Ai.un)(this,Tt=>this._editorObs.isFocused.read(Tt)?jn.Accept:jn.Inactive),gutterIndicatorOffset:(0,Ss.l)(Ut(rt.inlineSuggestion,this._editor)),inlineSuggestion:rt.inlineSuggestion,model:nt};if(rt?.kind==="inlineEdit"){const Tt=this._inlineEditWidget.read(ze)?.view;if(!Tt)return;const Pt=Tt.displayRange.read(ze);return Pt?{displayRange:Pt,tabAction:(0,Ai.un)(Lt=>{if(this._editorObs.isFocused.read(Lt)){if(nt.tabShouldJumpToInlineEdit.read(Lt))return jn.Jump;if(nt.tabShouldAcceptInlineEdit.read(Lt))return jn.Accept}return jn.Inactive}),gutterIndicatorOffset:Tt.gutterIndicatorOffset,inlineSuggestion:rt.inlineSuggestion,model:nt}:void 0}else return}),this._stablizedGhostTexts=zn(this._ghostTexts,this._store),this._editorObs=(0,ae.U)(this._editor),this._ghostTextWidgets=(0,cs.Rl)(this,this._stablizedGhostTexts,(ze,nt)=>nt.add(this._createGhostText(ze))).recomputeInitiallyAndOnChange(this._store),this._inlineEditWidget.recomputeInitiallyAndOnChange(this._store),this._fontFamily=this._editorObs.getOption(71).map(ze=>ze.fontFamily),this._register((0,zt._)((0,Ai.un)(ze=>`
79.monaco-editor .ghost-text-decoration,
80.monaco-editor .ghost-text-decoration-preview,
81.monaco-editor .ghost-text {
82	font-family: ${this._fontFamily.read(ze)};
83}`))),this._register(new Ke.Pm(this._editor,this._model,this._instantiationService)),this._indicator=this._register(this._instantiationService.createInstance(Hl,this._editorObs,(0,Ai.un)(ze=>{const nt=this._gutterIndicatorState.read(ze);if(nt)return new vd(ea.fromInlineSuggestion(nt.inlineSuggestion),nt.displayRange,Xa.fromInlineCompletionModel(nt.model),nt.inlineSuggestion.action?.kind==="edit"?nt.inlineSuggestion.action.alternativeAction:void 0)}),this._gutterIndicatorState.map((ze,nt)=>ze?.tabAction?.read(nt)??jn.Inactive),this._gutterIndicatorState.map((ze,nt)=>ze?.gutterIndicatorOffset?.read(nt)??0),this._inlineEditWidget.map((ze,nt)=>ze?.view.inlineEditsIsHovered.read(nt)??!1),this._focusIsInMenu)),this._indicatorIsHoverVisible.set(this._indicator.isHoverVisible,void 0),(0,Ai.un)(ze=>{const nt=this._inlineEditWidget.read(ze);if(nt)return ze.store.add(this._instantiationService.createInstance(Ul,nt._inlineEditModel,(0,Ss.l)(this._indicator),nt.view._inlineCollapsedView))}).recomputeInitiallyAndOnChange(this._store)}_createGhostText(K){return this._instantiationService.createInstance(xa,this._editor,(0,Ai.un)(me=>{const Re=this._model.read(me),et=Re?.inlineCompletionState.read(me)?.inlineSuggestion;return!Re||!et?{ghostText:K.read(me),handleInlineCompletionShown:()=>{},warning:void 0}:{ghostText:K.read(me),handleInlineCompletionShown:ze=>Re.handleInlineSuggestionShown(et,Ln.GhostText,ze,Date.now()),warning:Ir.from(Re?.warning.read(me))}}),{useSyntaxHighlighting:this._editorObs.getOption(71).map(me=>me.syntaxHighlightingEnabled),highlightShortSuggestions:!0})}shouldShowHoverAtViewZone(K){return this._ghostTextWidgets.get()[0]?.ownsViewZone(K)??!1}},oa.hot=(0,Be.o)(oa),oa);It=lt([Dt(3,T._Y)],It);function Ut(tt,K){const me=tt.getSingleTextEdit(),Re=K.getModel();if(!Re)return 0;const et=Re.getEOL();if(me.range.isEmpty()&&me.text.startsWith(et)){const ze=K.getLineHeightForPosition(me.range.getStartPosition());return ti(me.text,et)*ze}return 0}function ti(tt,K){if(!K.length)return 0;let me=0,Re=0;for(;tt.startsWith(K,Re);)me++,Re+=K.length;return me}var ii=e(80499),oi=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},yi=function(tt,K){return function(me,Re){K(me,Re,tt)}},Ti;(0,Oo.m)(tt=>ji.get(tt));let ji=(Fr=class extends M.jG{static getInFocusedEditorOrParent(K){const me=(0,Ie.R)(K);return me?Ti.get(me):null}static get(K){return g(K.getContribution(Ti.ID))}constructor(K,me,Re,et,ze,nt,rt,Tt,Pt,Lt){super(),this.editor=K,this._instantiationService=me,this._contextKeyService=Re,this._configurationService=et,this._commandService=ze,this._debounceService=nt,this._languageFeaturesService=rt,this._accessibilitySignalService=Tt,this._keybindingService=Pt,this._accessibilityService=Lt,this._enabled=(0,Ai.un)(this,Jt=>this._enabledInConfig.read(Jt)&&(!this._isScreenReaderEnabled.read(Jt)||!this._editorDictationInProgress.read(Jt))),this._focusIsInMenu=(0,Sn.FY)(this,!1),this._focusIsInEditorOrMenu=(0,Ai.un)(this,Jt=>{const _i=this._editorObs.isFocused.read(Jt),Ri=this._focusIsInMenu.read(Jt);return _i||Ri}),this._cursorIsInIndentation=(0,Ai.un)(this,Jt=>{const _i=this._editorObs.cursorPosition.read(Jt);if(_i===null)return!1;const Ri=this._editorObs.model.read(Jt);if(!Ri)return!1;this._editorObs.versionId.read(Jt);const Ui=Ri.getLineIndentColumn(_i.lineNumber);return _i.column<=Ui}),this.model=(0,Ai.a0)(this,Jt=>{if(this._editorObs.isReadonly.read(Jt))return;const _i=this._editorObs.model.read(Jt);return _i?this._instantiationService.createInstance(zr,_i,this._suggestWidgetAdapter.selectedItem,this._editorObs.versionId,this._positions,this._debounceValue,this._enabled,this.editor):void 0}),this._playAccessibilitySignal=(0,Cn.Y)(this),this._view=(0,Ai.un)(Jt=>Jt.store.add(this._instantiationService.createInstance(It.hot.read(Jt),this.editor,this.model,this._focusIsInMenu))),this._editorObs=(0,ae.U)(this.editor),this._positions=(0,Ai.un)(this,Jt=>this._editorObs.selections.read(Jt)?.map(_i=>_i.getEndPosition())??[new Ue.y(1,1)]),this._suggestWidgetAdapter=this._register(new Kt(this._editorObs,Jt=>this.model.get()?.handleSuggestAccepted(Jt),()=>this.model.get()?.selectedInlineCompletion.get()?.getSingleTextEdit())),this._enabledInConfig=(0,oe.y0)(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(71).enabled),this._isScreenReaderEnabled=(0,oe.y0)(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=(0,oe.y0)(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model.recomputeInitiallyAndOnChange(this._store),this._hideInlineEditOnSelectionChange=this._editorObs.getOption(71).map(Jt=>!0),this._view.recomputeInitiallyAndOnChange(this._store),Ti._instances.add(this),this._register((0,M.s)(()=>Ti._instances.delete(this))),this._register((0,fe.fm)(Jt=>{const _i=this.model.read(Jt);if(!_i)return;const Ri=_i.state.read(Jt);if(!Ri||!this._focusIsInEditorOrMenu.read(void 0))return;const Ui=Ri.kind==="inlineEdit"?Ri.nextEditUri:void 0;for(const un of Ti._instances)un!==this&&(Ui&&(0,Ve.n4)(Ui,un.editor.getModel()?.uri)?un.model.read(void 0)?.trigger():un.reject())}
83)),this._register((0,fe.fm)(Jt=>{const _i=this.model.read(Jt),Ri=this.editor.getModel()?.uri;!_i||!Ri||Jt.store.add(_i.onDidAccept(()=>{for(const Ui of Ti._instances){if(Ui===this)continue;const un=Ui.model.read(void 0)?.state.read(void 0);un?.kind==="inlineEdit"&&(0,Ve.n4)(un.nextEditUri,Ri)&&Ui.model.read(void 0)?.stop("automatic")}}))})),this._register((0,pr.lp)(this._editorObs.onDidType,(Jt,_i)=>{this._enabled.get()&&this.model.get()?.trigger()})),this._register((0,pr.lp)(this._editorObs.onDidPaste,(Jt,_i)=>{this._enabled.get()&&this.model.get()?.trigger()}));const Mt=new Set([je.Yh.Tab.id,je.Yh.DeleteLeft.id,je.Yh.DeleteRight.id,de.Wt,"acceptSelectedSuggestion",He.gq.ID,He.LG.ID,Ye.j4.NextMatchFindAction,Ce.iu.ID,Ce.ox.ID,Ce.OD.ID,Ce.EW.ID,...Ee.l.getRegisteredCommands()]);this._register(this._commandService.onDidExecuteCommand(Jt=>{if(Mt.has(Jt.commandId)&&K.hasTextFocus()&&this._enabled.get()){let _i=!1;Jt.commandId===de.Wt&&(_i=!0),this._editorObs.forceUpdate(Ri=>{this.model.get()?.trigger(Ri,{noDelay:_i})})}})),this._register((0,pr.lp)(this._editorObs.selections,(Jt,_i,Ri)=>{if(Ri.some(Ui=>Ui.reason===3||Ui.source==="api")){if(!this._hideInlineEditOnSelectionChange.get()&&this.model.get()?.state.get()?.kind==="inlineEdit")return;const Ui=this.model.get();if(!Ui)return;Ui.state.get()?.kind==="ghostText"&&this.model.get()?.stop()}})),this._register((0,fe.fm)(Jt=>{const _i=this._focusIsInEditorOrMenu.read(Jt),Ri=this.model.read(void 0);if(_i){const Ui=Ri?.state.read(void 0);(!Ui||Ui.kind!=="inlineEdit"||!Ui.nextEditUri)&&(0,On.Rn)(un=>{for(const cn of Ti._instances)cn!==this&&cn.model.read(void 0)?.stop("automatic",un)});return}this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||K.getOption(71).keepOnBlur||Ke.bo.dropDownVisible||Ri&&(Ri.state.read(void 0)?.inlineSuggestion?.isFromExplicitRequest&&Ri.inlineEditAvailable.read(void 0)||(0,On.Rn)(Ui=>{Ri.stop("automatic",Ui)}))})),this._register((0,fe.fm)(Jt=>{const _i=this.model.read(Jt)?.inlineCompletionState.read(Jt);_i?.suggestItem?_i.primaryGhostText.lineCount>=2&&this._suggestWidgetAdapter.forceRenderingAbove():this._suggestWidgetAdapter.stopForceRenderingAbove()})),this._register((0,M.s)(()=>{this._suggestWidgetAdapter.stopForceRenderingAbove()}));const Nt=(0,cs.ZX)(this,(Jt,_i)=>{const Ui=this.model.read(Jt)?.state.read(Jt);return this._suggestWidgetAdapter.selectedItem.get()?_i:Ui?.inlineSuggestion?.semanticId});this._register((0,pr.yi)((0,Ai.un)(Jt=>(this._playAccessibilitySignal.read(Jt),Nt.read(Jt),{})),async(Jt,_i,Ri,Ui)=>{let un=this.model.get(),cn=un?.state.get();if(!cn||!un||(await(0,we.wR)(50,(0,xe.bs)(Ui)),await(0,ii.o)(this._suggestWidgetAdapter.selectedItem,Me.b0,()=>!1,(0,xe.bs)(Ui)),un=this.model.get(),cn=un?.state.get(),!cn||!un))return;const fi=cn.kind==="ghostText"?un.textModel.getLineContent(cn.primaryGhostText.lineNumber):"";this._accessibilitySignalService.playSignal(cn.kind==="ghostText"?Le.Rh.inlineSuggestion:Le.Rh.nextEditSuggestion),this.editor.getOption(12)&&(cn.kind==="ghostText"?this._provideScreenReaderUpdate(cn.primaryGhostText.renderForScreenReader(fi)):this._provideScreenReaderUpdate(""))})),this._register(this._configurationService.onDidChangeConfiguration(Jt=>{Jt.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")});const Vt=new ms(this._contextKeyService);this._register(Vt.bind(le.p.cursorInIndentation,this._cursorIsInIndentation)),this._register(Vt.bind(le.p.hasSelection,Jt=>!this._editorObs.cursorSelection.read(Jt)?.isEmpty())),this._register(Vt.bind(le.p.cursorAtInlineEdit,this.model.map((Jt,_i)=>Jt?.inlineEditState?.read(_i)?.cursorAtInlineEdit.read(_i)))),this._register(Vt.bind(le.p.tabShouldAcceptInlineEdit,this.model.map((Jt,_i)=>!!Jt?.tabShouldAcceptInlineEdit.read(_i)))),this._register(Vt.bind(le.p.tabShouldJumpToInlineEdit,this.model.map((Jt,_i)=>!!Jt?.tabShouldJumpToInlineEdit.read(_i)))),this._register(Vt.bind(le.p.inlineEditVisible,Jt=>this.model.read(Jt)?.inlineEditState.read(Jt)!==void 0)),this._register(Vt.bind(le.p.inlineSuggestionHasIndentation,Jt=>this.model.read(Jt)?.getIndentationInfo(Jt)?.startsWithIndentation)),this._register(Vt.bind(le.p.inlineSuggestionHasIndentationLessThanTabSize,Jt=>this.model.read(Jt)?.getIndentationInfo(Jt)?.startsWithIndentationLessThanTabSize)),this._register(Vt.bind(le.p.suppressSuggestions,Jt=>{const Ri=this.model.read(Jt)?.inlineCompletionState.read(Jt);return Ri?.primaryGhostText&&Ri?.inlineSuggestion?Ri.inlineSuggestion.source.inlineSuggestions.suppressSuggestions:void 0})),this._register(Vt.bind(le.p.inlineSuggestionAlternativeActionVisible,Jt=>{const Ui=this.model.read(Jt)?.inlineEditState.read(Jt)?.inlineSuggestion.action;return Ui&&Ui.kind==="edit"&&Ui.alternativeAction!==void 0})),this._register(Vt.bind(le.p.inlineSuggestionVisible,Jt=>{const Ri=this.model.read(Jt)?.inlineCompletionState.read(Jt);return!!Ri?.inlineSuggestion&&Ri?.primaryGhostText!==void 0&&!Ri?.primaryGhostText.isEmpty()}));const di=(0,Ai.un)(this,Jt=>{const Ui=this.model.read(Jt)?.inlineCompletionState.read(Jt)?.primaryGhostText;return!Ui||Ui.isEmpty()?void 0:new Ue.y(Ui.lineNumber,Ui.parts[0].c
83olumn)});this._register(Vt.bind(le.p.cursorBeforeGhostText,Jt=>{const _i=di.read(Jt);if(!_i)return!1;const Ri=this._editorObs.cursorPosition.read(Jt);return Ri?_i.equals(Ri):!1})),this._register(this._instantiationService.createInstance(Ae,this.editor))}playAccessibilitySignal(K){this._playAccessibilitySignal.trigger(K)}_provideScreenReaderUpdate(K){const me=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),Re=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let et;!me&&Re&&this.editor.getOption(169)&&(et=(0,I.kg)(1247,"Inspect this in the accessible view ({0})",Re.getAriaLabel())),(0,he.xE)(et?K+", "+et:K)}shouldShowHoverAt(K){const me=this.model.get()?.primaryGhostText.get();return me?me.parts.some(Re=>K.containsPosition(new Ue.y(me.lineNumber,Re.column))):!1}shouldShowHoverAtViewZone(K){return this._view.get().shouldShowHoverAtViewZone(K)}reject(){(0,On.Rn)(K=>{const me=this.model.get();if(me&&(me.stop("explicitCancel",K),this._focusIsInEditorOrMenu.get()))for(const Re of Ti._instances)Re!==this&&!Re._focusIsInEditorOrMenu.get()&&Re.model.get()?.stop("automatic",K)})}jump(){const K=this.model.get();K&&K.jump()}},Ti=Fr,Fr._instances=new Set,Fr.hot=(0,Be.o)(Fr),Fr.ID="editor.contrib.inlineCompletionsController",Fr);ji=Ti=oi([yi(1,T._Y),yi(2,G.fN),yi(3,X.pG),yi(4,_e.d),yi(5,$e.U),yi(6,ie.u),yi(7,Le.Nt),yi(8,Qe.b),yi(9,H.j)],ji);const lc=class lc extends u.ks{constructor(){super({id:lc.ID,label:(0,I.aS)(1224,"Show Next Inline Suggestion"),precondition:G.M$.and(z.R.writable,le.p.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(K,me){ji.get(me)?.model.get()?.next()}};lc.ID=de.PA;let an=lc;const Rd=class Rd extends u.ks{constructor(){super({id:Rd.ID,label:(0,I.aS)(1225,"Show Previous Inline Suggestion"),precondition:G.M$.and(z.R.writable,le.p.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(K,me){ji.get(me)?.model.get()?.previous()}};Rd.ID=de.Vl;let Qi=Rd;const Ji="vscode://schemas/inlineCompletionProviderIdArgs";function mn(tt){const K=[];return tt.providerId&&(K.push(tt.providerId.toStringWithoutVersion()),K.push(tt.providerId.extensionId+":*")),K}const rn=te(U({showNoResultNotification:N(_()),providerId:N(V(Ji,a())),explicit:N(_()),changeHintData:N(S())}),D());class vn extends u.ks{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:(0,I.aS)(1226,"Trigger Inline Suggestion"),precondition:z.R.writable,metadata:{description:(0,I.kg)(1213,"Triggers an inline suggestion in the editor."),args:[{name:"args",description:(0,I.kg)(1214,"Options for triggering inline suggestions."),isOptional:!0,schema:rn.getJSONSchema()}]}})}async run(K,me,Re){const et=K.get(j.Ot),ze=K.get(ie.u),nt=ji.get(me),rt=rn.validateOrThrow(Re),Tt=rt?.providerId?ze.inlineCompletionsProvider.all(me.getModel()).find(Pt=>mn(Pt).some(Lt=>Lt===rt.providerId)):void 0;await(0,On.fL)(async Pt=>{await nt?.model.get()?.trigger(Pt,{provider:Tt,explicit:rt?.explicit??!0,changeHint:rt?.changeHintData?{data:rt.changeHintData}:void 0}),nt?.playAccessibilitySignal(Pt)}),rt?.showNoResultNotification&&(nt?.model.get()?.state.get()||et.notify({severity:j.AI.Info,message:(0,I.kg)(1215,"No inline suggestion is available.")}))}}class Hn extends u.ks{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:(0,I.aS)(1227,"Accept Next Word Of Inline Suggestion"),precondition:G.M$.and(z.R.writable,le.p.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:G.M$.and(z.R.writable,le.p.inlineSuggestionVisible,le.p.cursorBeforeGhostText,H.f.negate())},menuOpts:[{menuId:R.D8.InlineSuggestionToolbar,title:(0,I.kg)(1216,"Accept Word"),group:"primary",order:2}]})}async run(K,me){await ji.get(me)?.model.get()?.acceptNextWord()}}class Rn extends u.ks{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:(0,I.aS)(1228,"Accept Next Line Of Inline Suggestion"),precondition:G.M$.and(z.R.writable,le.p.inlineSuggestionVisible),kbOpts:{weight:101}
83,menuOpts:[{menuId:R.D8.InlineSuggestionToolbar,title:(0,I.kg)(1217,"Accept Line"),group:"secondary",order:2}]})}async run(K,me){await ji.get(me)?.model.get()?.acceptNextLine()}}class xn extends u.ks{constructor(){super({id:de.Wt,label:(0,I.aS)(1229,"Accept Inline Suggestion"),precondition:G.M$.or(le.p.inlineSuggestionVisible,le.p.inlineEditVisible),menuOpts:[{menuId:R.D8.InlineSuggestionToolbar,title:(0,I.kg)(1218,"Accept"),group:"primary",order:2},{menuId:R.D8.InlineEditsActions,title:(0,I.kg)(1219,"Accept"),group:"primary",order:2}],kbOpts:[{primary:2,weight:200,kbExpr:G.M$.or(G.M$.and(le.p.inlineSuggestionVisible,z.R.tabMovesFocus.toNegated(),re.ob.Visible.toNegated(),z.R.hoverFocused.toNegated(),le.p.hasSelection.toNegated(),le.p.inlineSuggestionHasIndentationLessThanTabSize),G.M$.and(le.p.inlineEditVisible,z.R.tabMovesFocus.toNegated(),re.ob.Visible.toNegated(),z.R.hoverFocused.toNegated(),le.p.tabShouldAcceptInlineEdit))}]})}async run(K,me){const Re=ji.getInFocusedEditorOrParent(K);Re&&(Re.model.get()?.accept(Re.editor),Re.editor.focus())}}Y.f.registerKeybindingRule({id:de.Wt,weight:202,primary:2,when:G.M$.and(le.p.inInlineEditsPreviewEditor)});class ds extends u.ks{constructor(){super({id:de.z$,label:(0,I.aS)(1230,"Accept Inline Suggestion Alternative Action"),precondition:G.M$.and(le.p.inlineSuggestionAlternativeActionVisible,le.p.inlineEditVisible),menuOpts:[],kbOpts:[{primary:1026,weight:203}]})}async run(K,me){const Re=ji.getInFocusedEditorOrParent(K);Re&&(Re.model.get()?.accept(Re.editor,!0),Re.editor.focus())}}Y.f.registerKeybindingRule({id:de.z$,weight:203,primary:1026,when:G.M$.and(le.p.inInlineEditsPreviewEditor)});class ls extends u.ks{constructor(){super({id:de.HH,label:(0,I.aS)(1231,"Jump to next inline edit"),precondition:le.p.inlineEditVisible,menuOpts:[{menuId:R.D8.InlineEditsActions,title:(0,I.kg)(1220,"Jump"),group:"primary",order:1,when:le.p.cursorAtInlineEdit.toNegated()}],kbOpts:{primary:2,weight:201,kbExpr:G.M$.and(le.p.inlineEditVisible,z.R.tabMovesFocus.toNegated(),re.ob.Visible.toNegated(),z.R.hoverFocused.toNegated(),le.p.tabShouldJumpToInlineEdit)}})}async run(K,me){const Re=ji.get(me);Re&&Re.jump()}}const wa=class wa extends u.ks{constructor(){super({id:wa.ID,label:(0,I.aS)(1232,"Hide Inline Suggestion"),precondition:G.M$.or(le.p.inlineSuggestionVisible,le.p.inlineEditVisible),kbOpts:{kbExpr:z.R.editorTextFocus,weight:190,primary:9},menuOpts:[{menuId:R.D8.InlineEditsActions,title:(0,I.kg)(1221,"Reject"),group:"primary",order:3}]})}async run(K,me){const Re=ji.getInFocusedEditorOrParent(K);(0,On.Rn)(et=>{Re?.model.get()?.stop("explicitCancel",et)}),Re?.editor.focus()}};wa.ID=de.Nj;let Es=wa;const nd=class nd extends u.ks{constructor(){super({id:nd.ID,label:(0,I.aS)(1233,"Toggle Inline Suggestions Show Collapsed"),precondition:G.M$.true()})}async run(K,me){const Re=K.get(X.pG),et=Re.getValue("editor.inlineSuggest.edits.showCollapsed");Re.updateValue("editor.inlineSuggest.edits.showCollapsed",!et)}};nd.ID=de.sv;let hs=nd;Y.f.registerKeybindingRule({id:Es.ID,weight:-1,primary:9,secondary:[1033],when:G.M$.and(le.p.inInlineEditsPreviewEditor)});const sd=class sd extends R.L{constructor(){super({id:sd.ID,title:(0,I.kg)(1222,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:R.D8.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:G.M$.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(K){const me=K.get(X.pG),et=me.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";me.updateValue("editor.inlineSuggest.showToolbar",et)}};sd.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let ro=sd;class eo extends u.ks{constructor(){super({id:"editor.action.inlineSuggest.dev.extractRepro",label:(0,I.kg)(1223,"Developer: Extract Inline Suggest State"),alias:"Developer: Inline Suggest Extract Repro",precondition:G.M$.or(le.p.inlineEditVisible,le.p.inlineSuggestionVisible)})}async run(K,me){const Re=K.get(Z.h),ze=ji.get(me)?.model.get();if(!ze)return;const nt=ze.extractReproSample(),Tt=(0,r.uz)(JSON.stringify({inlineCompletion:nt.inlineCompletion},null,4)).map(Lt=>"// "+Lt).join(`
84`),Pt=`${nt.documentValue}
85
86// <json>
87${Tt}
88// </json>
89`;return await Re.writeText(Pt),{reproCase:Pt}}}var Ls=e(90028),yo=e(52265),wo=function(tt,K,me,Re){var et=arguments.length,ze=et<3?K:Re===null?Re=Object.getOwnPropertyDescriptor(K,me):Re,nt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ze=Reflect.decorate(tt,K,me,Re);else for(var rt=tt.length-1;rt>=0;rt--)(nt=tt[rt])&&(ze=(et<3?nt(ze):et>3?nt(K,me,ze):nt(K,me))||ze);return et>3&&ze&&Object.defineProperty(K,me,ze),ze},To=function(tt,K){return function(me,Re){K(me,Re,tt)}};class tr{constructor(K,me,Re){this.owner=K,this.range=me,this.controller=Re}isValidForHoverAnchor(K){return K.type===1&&this.range.startColumn<=K.range.startColumn&&this.range.endColumn>=K.range.endColumn}}let ir=class{constructor(K,me,Re,et,ze){this._editor=K,this.accessibilityService=me,this._instantiationService=Re,this._telemetryService=et,this._markdownRendererService=ze,this.hoverOrdinal=4,this.hideCopyButton=!0}suggestHoverAnchor(K){const me=ji.get(this._editor);if(!me)return null;const Re=K.target;if(Re.type===8){const et=Re.detail;if(me.shouldShowHoverAtViewZone(et.viewZoneId))return new i.mm(1e3,this,Gt.Q.fromPositions(this._editor.getModel().validatePosition(et.positionBefore||et.position)),K.event.posx,K.event.posy,!1)}if(Re.type===7&&me.shouldShowHoverAt(Re.range))return new i.mm(1e3,this,Re.range,K.event.posx,K.event.posy,!1);if(Re.type===6&&Re.detail.mightBeForeignElement&&me.shouldShowHoverAt(Re.range))return new i.mm(1e3,this,Re.range,K.event.posx,K.event.posy,!1);if(Re.type===9&&Re.element){const et=xa.getWarningWidgetContext(Re.element);if(et&&me.shouldShowHoverAt(et.range))return new i.mm(1e3,this,et.range,K.event.posx,K.event.posy,!1)}return null}computeSync(K,me){if(this._editor.getOption(71).showToolbar!=="onHover")return[];const Re=ji.get(this._editor);return Re&&Re.shouldShowHoverAt(K.range)?[new tr(this,K.range,Re)]:[]}renderHoverParts(K,me){const Re=new M.Cm,et=me[0];
89this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(12)&&Re.add(this.renderScreenReaderText(K,et));const ze=et.controller.model.get(),nt=document.createElement("div");K.fragment.appendChild(nt),Re.add((0,fe.yC)((Tt,Pt)=>{const Lt=Pt.add(this._instantiationService.createInstance(Ke.bo.hot.read(Tt),this._editor,!1,(0,Ss.l)(null),ze.selectedInlineCompletionIndex,ze.inlineCompletionsCount,ze.activeCommands,ze.warning,()=>{K.onContentsChanged()}));nt.replaceChildren(Lt.getDomNode())})),ze.triggerExplicitly();const rt={hoverPart:et,hoverElement:nt,dispose(){Re.dispose()}};return new i.Ke([rt])}getAccessibleContent(K){return(0,I.kg)(1248,"There are inline completions here")}renderScreenReaderText(K,me){const Re=new M.Cm,et=sn.$,ze=et("div.hover-row.markdown-hover"),nt=(0,sn.BC)(ze,et("div.hover-contents",{"aria-live":"assertive"})),rt=Tt=>{const Pt=(0,I.kg)(1249,"Suggestion:"),Lt=Re.add(this._markdownRendererService.render(new Ls.Bc().appendText(Pt).appendCodeblock("text",Tt),{context:this._editor,asyncRenderCallback:()=>{nt.className="hover-contents code-hover-contents",K.onContentsChanged()}}));nt.replaceChildren(Lt.element)};return Re.add((0,fe.fm)(Tt=>{const Pt=me.controller.model.read(Tt)?.primaryGhostText.read(Tt);if(Pt){const Lt=this._editor.getModel().getLineContent(Pt.lineNumber);rt(Pt.renderForScreenReader(Lt))}else(0,sn.Ln)(nt)})),K.fragment.appendChild(ze),Re}};ir=wo([To(1,H.j),To(2,T._Y),To(3,Wt.k),To(4,yo.TN)],ir);class dr{}(0,u.HW)(ji.ID,b(ji.hot),3),(0,u.Fl)(vn),(0,u.Fl)(an),(0,u.Fl)(Qi),(0,u.Fl)(Hn),(0,u.Fl)(Rn),(0,u.Fl)(xn),(0,u.Fl)(ds),(0,u.Fl)(hs),(0,u.Fl)(Es),(0,u.Fl)(ls),(0,R.ug)(ro),(0,u.Fl)(eo),(0,R.ug)(Eo.KS),(0,R.ug)(Eo.un),i.B2.register(ir),v.Z.register(new dr)},32177:(St,We,e)=>{e.d(We,{_:()=>R});var v=e(10998);class R extends v.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}},32471:(St,We,e)=>{e.d(We,{OL:()=>T,dg:()=>A,lw:()=>b});var v=e(9223),R=e(92215);const x=Symbol("TextModelEditSource");class T{constructor(r,d){this.metadata=r}toString(){return`${this.metadata.source}`}getType(){const r=this.metadata;switch(r.source){case"cursor":return r.kind;case"inlineCompletionAccept":return r.source+(r.$nes?":nes":"");case"unknown":return r.name||"unknown";default:return r.source}}toKey(r,d={}){const l=this.metadata;return Object.entries(l).filter(([c,a])=>{const p=d[c];return p!==void 0?p:(c.match(/\$/g)||[]).length<=r&&a!==void 0&&a!==null&&a!==""}).map(([c,a])=>`${c}:${a}`).join("-")}}function y(i){return new T(i,x)}const A={unknown(i){return y({source:"unknown",name:i.name})},rename:(i,r)=>y({source:"rename",$$$oldName:i,$$$newName:r}),chatApplyEdits(i){return y({source:"Chat.applyEdits",$modelId:L(i.modelId),$extensionId:i.extensionId?.extensionId,$extensionVersion:i.extensionId?.version,$$languageId:i.languageId,$$sessionId:i.sessionId,$$requestId:i.requestId,$$mode:i.mode,$$codeBlockSuggestionId:i.codeBlockSuggestionId})},chatUndoEdits:()=>y({source:"Chat.undoEdits"}),chatReset:()=>y({source:"Chat.reset"}),inlineCompletionAccept(i){return y({source:"inlineCompletionAccept",$nes:i.nes,...g(i.providerId),$$correlationId:i.correlationId,$$requestUuid:i.requestUuid,$$languageId:i.languageId})},inlineCompletionPartialAccept(i){return y({source:"inlineCompletionPartialAccept",type:i.type,$nes:i.nes,...g(i.providerId),$$correlationId:i.correlationId,$$requestUuid:i.requestUuid,$$languageId:i.languageId})},inlineChatApplyEdit(i){return y({source:"inlineChat.applyEdits",$modelId:L(i.modelId),$extensionId:i.extensionId?.extensionId,$extensionVersion:i.extensionId?.version,$$sessionId:i.sessionId,$$requestId:i.requestId,$$languageId:i.languageId})},reloadFromDisk:()=>y({source:"reloadFromDisk"}),cursor(i){return y({source:"cursor",kind:i.kind,detailedSource:i.detailedSource})},setValue:()=>y({source:"setValue"}),eolChange:()=>y({source:"eolChange"}),applyEdits:()=>y({source:"applyEdits"}),snippet:()=>y({source:"snippet"}),suggest:i=>y({source:"suggest",...g(i.providerId)}),codeAction:i=>y({source:"codeAction",$kind:i.kind,...g(i.providerId)})};function g(i){return i?{$extensionId:i.extensionId,$extensionVersion:i.extensionVersion,$providerId:i.providerId}:{}}function L(i){if(i!==void 0)return i.replaceAll("/","|")}class b{static fromText(r){const d=R.W.ofText(r).lineCount,l=r.length;return new b(d,0,l,0)}static tryCreate(r,d,l,o){if(!(r===void 0||d===void 0||l===void 0||o===void 0))return new b(r,d,l,o)}constructor(r,d,l,o){this.linesAdded=r,this.linesRemoved=d,this.charsAdded=l,this.charsRemoved=o}}var C;(function(i){function r(d){const l=d?d("sgt"):(0,v.t)("sgt");return l}i.newId=r})(C||(C={}));function u(i){return i}},32526:(St,We,e)=>{var v=e(23013),R=e(50946),x=e(3765);class T extends R.ks{constructor(){super({id:"editor.action.forceRetokenize",label:(0,x.aS)(1584,"Developer: Force Retokenize"),precondition:void 0})}run(A,g){if(!g.hasModel())return;const L=g.getModel();L.tokenization.resetTokenization();const b=new v.W;L.tokenization.forceTokenization(L.getLineCount()),b.stop(),console.log(`tokenization took ${b.elapsed()}`)}}(0,R.Fl)(T)},32605:(St,We,e)=>{e.d(We,{fT:()=>L,lp:()=>A,yi:()=>g});var v=e(78903),R=e(8897),x=e(2106),T=e(10998),y=e(47936);function A(b,C){let u,i=!0;return(0,y.ht)({changeTracker:{createChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(r,d)=>{if(r.didChange(b)){const l=r.change;l!==void 0&&d.deltas.push(l),d.didChange=!0}return!0}}},(r,d)=>{const l=b.read(r),o=u;d.didChange&&(u=l,C(l,o,d.deltas)),i&&(i=!1,u=l)})}function g(b,C){const u=new T.Cm,i=A(b,(r,d,l)=>
89{u.clear(),C(r,d,l,u)});return{dispose(){i.dispose(),u.dispose()}}}function L(b,C){return g(b,(u,i,r,d)=>{C(u,i,r,(0,v.bs)(d))})}},32787:(St,We,e)=>{e.d(We,{m:()=>x});var v=e(50805),R=e(92215);class x extends v.CO{constructor(y){super(),this._textModel=y}getValueOfRange(y){return this._textModel.getValueInRange(y)}getLineLength(y){return this._textModel.getLineLength(y)}get length(){const y=this._textModel.getLineCount(),A=this._textModel.getLineLength(y);return new R.W(y-1,A)}}},32837:(St,We,e)=>{e.d(We,{m:()=>W,p:()=>N});var v=e(14333),R=e(9715),x=e(29762),T=e(27969),y=e(13338),A=e(88436),g=e(94327),L=e(2106),b=e(17954),C=e(10998),u=e(3765),i=e(54860),r=e(58067),d=e(73810),l=e(82096),o=e(31540),c=e(52348),a=e(56071),p=e(76243),_=e(66726),E=e(82399);const S=(0,E.u1)("IActionViewItemService");class h{constructor(){this._providers=new Map,this._onDidChange=new L.vl,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp($,te){return this._providers.get(this._makeKey($,te))}_makeKey($,te){return`${$.id}/${te instanceof r.D8?te.id:te}`}}(0,_.v)(S,h,1);var D=function(U,$,te,ne){var V=arguments.length,I=V<3?$:ne===null?ne=Object.getOwnPropertyDescriptor($,te):ne,H;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(U,$,te,ne);else for(var Z=U.length-1;Z>=0;Z--)(H=U[Z])&&(I=(V<3?H(I):V>3?H($,te,I):H($,te))||I);return V>3&&I&&Object.defineProperty($,te,I),I},k=function(U,$){return function(te,ne){$(te,ne,U)}};let N=class extends x.i{constructor($,te,ne,V,I,H,Z,X){super($,I,{getKeyBinding:Y=>H.lookupKeybinding(Y.id)??void 0,...te,allowContextMenu:!0,skipTelemetry:typeof te?.telemetrySource=="string"}),this._options=te,this._menuService=ne,this._contextKeyService=V,this._contextMenuService=I,this._keybindingService=H,this._commandService=Z,this._sessionDisposables=this._store.add(new C.Cm);const G=te?.telemetrySource;G&&this._store.add(this.actionBar.onDidRun(Y=>X.publicLog2("workbenchActionExecuted",{id:Y.action.id,from:G})))}setActions($,te=[],ne){this._sessionDisposables.clear();const V=$.slice(),I=te.slice(),H=[];let Z=0;const X=[];let G=!1;if(this._options?.hiddenItemStrategy!==-1)for(let Y=0;Y<V.length;Y++){const j=V[Y];if(j instanceof T.wv){X[Y]=j;continue}!(j instanceof r.Xe)&&!(j instanceof r.nI)||j.hideActions&&(H.push(j.hideActions.toggle),j.hideActions.toggle.checked&&Z++,j.hideActions.isHidden&&(G=!0,V[Y]=void 0,this._options?.hiddenItemStrategy!==0&&(X[Y]=j)))}if(this._options?.overflowBehavior!==void 0){const Y=(0,A.E$)(new Set(this._options.overflowBehavior.exempted),b.f.map(V,ie=>ie?.id)),j=this._options.overflowBehavior.maxItems-Y.size;let z=0;for(let ie=0;ie<V.length;ie++){const re=V[ie];re&&(z++,!Y.has(re.id)&&z>=j&&(V[ie]=void 0,X[ie]=re))}}(0,y.SK)(V),(0,y.SK)(X),super.setActions(T.wv.clean(V),T.wv.join(T.wv.clean(X),I)),(H.length>0||V.length>0)&&this._sessionDisposables.add((0,v.ko)(this.getElement(),"contextmenu",Y=>{const j=new R.P((0,v.zk)(this.getElement()),Y),z=this.getItemAction(j.target);if(!z)return;j.preventDefault(),j.stopPropagation();const ie=[];if(z instanceof r.Xe&&z.menuKeybinding)ie.push(z.menuKeybinding);else if(!(z instanceof r.nI||z instanceof x.s)){const de=!!this._keybindingService.lookupKeybinding(z.id);ie.push((0,d.D)(this._commandService,this._keybindingService,z.id,void 0,de))}if(H.length>0){let de=!1;if(Z===1&&this._options?.hiddenItemStrategy===0){de=!0;for(let le=0;le<H.length;le++)if(H[le].checked){H[le]=(0,T.ih)({id:z.id,label:z.label,checked:!0,enabled:!1,run(){}});break}}if(!de&&(z instanceof r.Xe||z instanceof r.nI)){if(!z.hideActions)return;ie.push(z.hideActions.hide)}else ie.push((0,T.ih)({id:"label",label:(0,u.kg)(1701,"Hide"),enabled:!1,run(){}}))}const re=T.wv.join(ie,H);this._options?.resetMenu&&!ne&&(ne=[this._options.resetMenu]),G&&ne&&(re.push(new T.wv),re.push((0,T.ih)({id:"resetThisMenu",label:(0,u.kg)(1702,"Reset Menu"),run:()=>this._menuService.resetHiddenStates(ne)}))),re.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>j,getActions:()=>re,menuId:this._options?.contextMenu,menuActionOptions:{renderShortTitle:!0,...this._options?.menuOptions},skipTelemetry:typeof this._options?.telemetrySource=="string",contextKeyService:this._contextKeyService})}))}};N=D([k(2,r.ez),k(3,o.fN),k(4,c.Z),k(5,a.b),k(6,l.d),k(7,p.k)],N);let W=class extends N{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor($,te,ne,V,I,H,Z,X,G,Y,j){super($,{resetMenu:te,...ne,actionViewItemProvider:(z,ie)=>{let re=Y.lookUp(te,z instanceof r.nI?z.item.submenu.id:z.id);re||(re=ne?.actionViewItemProvider);const de=re?.(z,ie,j,(0,v.zk)($).vscodeWindowId);return de||(0,i.rN)(j,z,ie)}},V,I,H,Z,X,G),this._onDidChangeMenuItems=this._store.add(new L.vl),this._container=$,this._menuOptions=ne?.menuOptions,this._toolbarOptions=ne?.toolbarOptions,this._menu=this._store.add(V.createMenu(te,I,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:ne?.eventDebounceDelay})),this._store.add(this._menu.onDidChange(()=>{this._updateToolbar(),this._onDidChangeMenuItems.fire(this)})),this._store.add(Y.onDidChange(z=>{z===te&&this._updateToolbar()})),this._updateToolbar()}_updateToolbar(){const{primary:$,secondary:te}=(0,i.R4)(this._menu.getActions(this._menuOptions),this._toolbarOptions?.primaryGroup,this._toolbarOptions?.shouldInlineSubmenu,this._toolbarOptions?.useSeparatorsInPrimaryActions);this._container.classList.toggle("has-no-actions",$.length===0&&te.length===0),super.setActions($,te)}setActions(){throw new g.D7("This toolbar is populated from a menu.")}};W=D([k(3,r.ez),k(4,o.fN),k(5,c.Z),k(6,a.b),k(7,l.d),k(8,p.k),k(9,S),k(10,E._Y)],W)},33206:(St,We,e)=>{e.d(We,{_:()=>b,ou:()=>A,tk:()=>g});var v=e(94327),R=e(15910),x=e(64651),T=e(34883),y=e(60756);class A{constructor(u,i,r,d,l){this.length=u,this.kind=i,this.bracketId=r,this.bracketIds=d,this.astNode=l}}class g{constructor(u,i){this.textModel=u,this.bracketTokens=i,this.reader=new L(this.textModel,this.bracketTokens),this._offset=T.Vp,this.didPee
89k=!1,this.peeked=null,this.textBufferLineCount=u.getLineCount(),this.textBufferLastLineLength=u.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,T.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(u){this.didPeek=!1,this._offset=(0,T.QB)(this._offset,u);const i=(0,T.l4)(this._offset);this.reader.setPosition(i.lineCount,i.columnCount)}read(){let u;return this.peeked?(this.didPeek=!1,u=this.peeked):u=this.reader.read(),u&&(this._offset=(0,T.QB)(this._offset,u.length)),u}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class L{constructor(u,i){this.textModel=u,this.bracketTokens=i,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=u.getLineCount(),this.textBufferLastLineLength=u.getLineLength(this.textBufferLineCount)}setPosition(u,i){u===this.lineIdx?(this.lineCharOffset=i,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=u,this.lineCharOffset=i,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const l=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,T.sS)(l.length),l}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const u=this.lineIdx,i=this.lineCharOffset;let r=0;for(;;){const l=this.lineTokens,o=l.getCount();let c=null;if(this.lineTokenOffset<o){const a=l.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<o&&a===l.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const p=R.x.getTokenType(a)===0,_=R.x.containsBalancedBrackets(a),E=l.getEndOffset(this.lineTokenOffset);if(_&&p&&this.lineCharOffset<E){const S=l.getLanguageId(this.lineTokenOffset),h=this.line.substring(this.lineCharOffset,E),D=this.bracketTokens.getSingleLanguageBracketTokens(S),k=D.regExpGlobal;if(k){k.lastIndex=0;const N=k.exec(h);N&&(c=D.getToken(N[0]),c&&(this.lineCharOffset+=N.index))}}if(r+=E-this.lineCharOffset,c)if(u!==this.lineIdx||i!==this.lineCharOffset){this.peekedToken=c;break}else return this.lineCharOffset+=(0,T.sS)(c.length),c;else this.lineTokenOffset++,this.lineCharOffset=E}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,r+=33,r>1e3))break;if(r>1500)break}const d=(0,T.C7)(u,i,this.lineIdx,this.lineCharOffset);return new A(d,0,-1,y.gV.getEmpty(),new x.yF(d))}}class b{constructor(u,i){this.text=u,this._offset=T.Vp,this.idx=0;const r=i.getRegExpStr(),d=r?new RegExp(r+`|
90`,"gi"):null,l=[];let o,c=0,a=0,p=0,_=0;const E=[];for(let D=0;D<60;D++)E.push(new A((0,T.qe)(0,D),0,-1,y.gV.getEmpty(),new x.yF((0,T.qe)(0,D))));const S=[];for(let D=0;D<60;D++)S.push(new A((0,T.qe)(1,D),0,-1,y.gV.getEmpty(),new x.yF((0,T.qe)(1,D))));if(d)for(d.lastIndex=0;(o=d.exec(u))!==null;){const D=o.index,k=o[0];if(k===`
91`)c++,a=D+1;else{if(p!==D){let N;if(_===c){const W=D-p;if(W<E.length)N=E[W];else{const U=(0,T.qe)(0,W);N=new A(U,0,-1,y.gV.getEmpty(),new x.yF(U))}}else{const W=c-_,U=D-a;if(W===1&&U<S.length)N=S[U];else{const $=(0,T.qe)(W,U);N=new A($,0,-1,y.gV.getEmpty(),new x.yF($))}}l.push(N)}l.push(i.getToken(k)),p=D+k.length,_=c}}const h=u.length;if(p!==h){const D=_===c?(0,T.qe)(0,h-p):(0,T.qe)(c-_,h-a);l.push(new A(D,0,-1,y.gV.getEmpty(),new x.yF(D)))}this.length=(0,T.qe)(c,h-a),this.tokens=l}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(u){throw new v.EM}}},33242:(St,We,e)=>{e.d(We,{pG:()=>N,_Q:()=>W,dg:()=>p});var v=e(6595),R=e(14333),x=e(99788),T=e(75520),y=e(45222),A=e(5915),g=e(2106),L=e(13966),b=e(3765);const C=(0,b.kg)(5,"input"),u=(0,b.kg)(6,"Preserve Case");class i extends x.lM{constructor($){super({icon:A.W.preserveCase,title:u+$.appendTitle,isChecked:$.isChecked,hoverLifecycleOptions:$.hoverLifecycleOptions,inputActiveOptionBorder:$.inputActiveOptionBorder,inputA
91ctiveOptionForeground:$.inputActiveOptionForeground,inputActiveOptionBackground:$.inputActiveOptionBackground})}}class r extends y.x{get onDidOptionChange(){return this._onDidOptionChange.event}get onKeyDown(){return this._onKeyDown.event}get onPreserveCaseKeyDown(){return this._onPreserveCaseKeyDown.event}constructor($,te,ne,V){super(),this._showOptionButtons=ne,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new g.vl),this._onKeyDown=this._register(new g.vl),this._onMouseDown=this._register(new g.vl),this._onInput=this._register(new g.vl),this._onKeyUp=this._register(new g.vl),this._onPreserveCaseKeyDown=this._register(new g.vl),this.contextViewProvider=te,this.placeholder=V.placeholder||"",this.validation=V.validation,this.label=V.label||C;const I=V.appendPreserveCaseLabel||"",H=V.history||new Set([]),Z=!!V.flexibleHeight,X=!!V.flexibleWidth,G=V.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new T.m(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:H,showHistoryHint:V.showHistoryHint,flexibleHeight:Z,flexibleWidth:X,flexibleMaxHeight:G,inputBoxStyles:V.inputBoxStyles})),this.preserveCase=this._register(new i({appendTitle:I,isChecked:!1,hoverLifecycleOptions:V.hoverLifecycleOptions,...V.toggleStyles})),this._register(this.preserveCase.onChange(z=>{this._onDidOptionChange.fire(z),!z&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(z=>{this._onPreserveCaseKeyDown.fire(z)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const Y=[this.preserveCase.domNode];this.onkeydown(this.domNode,z=>{if(z.equals(15)||z.equals(17)||z.equals(9)){const ie=Y.indexOf(this.domNode.ownerDocument.activeElement);if(ie>=0){let re=-1;z.equals(17)?re=(ie+1)%Y.length:z.equals(15)&&(ie===0?re=Y.length-1:re=ie-1),z.equals(9)?(Y[ie].blur(),this.inputBox.focus()):re>=0&&Y[re].focus(),R.fs.stop(z,!0)}}});const j=document.createElement("div");j.className="controls",j.style.display=this._showOptionButtons?"block":"none",j.appendChild(this.preserveCase.domNode),this.domNode.appendChild(j),$?.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,z=>this._onKeyDown.fire(z)),this.onkeyup(this.inputBox.inputElement,z=>this._onKeyUp.fire(z)),this.oninput(this.inputBox.inputElement,z=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,z=>this._onMouseDown.fire(z))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled($){$?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase($){this.preserveCase.checked=$}focusOnPreserve(){this.preserveCase.focus()}validate(){this.inputBox?.validate()}set width($){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=$+"px"}}var d=e(31540),l=e(48421),o=e(10998),c=function(U,$,te,ne){var V=arguments.length,I=V<3?$:ne===null?ne=Object.getOwnPropertyDescriptor($,te):ne,H;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(U,$,te,ne);else for(var Z=U.length-1;Z>=0;Z--)(H=U[Z])&&(I=(V<3?H(I):V>3?H($,te,I):H($,te))||I);return V>3&&I&&Object.defineProperty($,te,I),I},a=function(U,$){return function(te,ne){$(te,ne,U)}};const p=new d.N1("suggestWidgetVisible",!1,(0,b.kg)(1760,"Whether suggestion are visible")),_="historyNavigationWidgetFocus",E="historyNavigationForwardsEnabled",S="historyNavigationBackwardsEnabled";let h;const D=[];function k(U,$){if(D.includes($))throw new Error("Cannot register the same widget multiple times");D.push($);const te=new o.Cm,ne=new d.N1(_,!1).bindTo(U),V=new d.N1(E,!0).bindTo(U),I=new d.N1(S,!0).bindTo(U),H=()=>{ne.set(!0),h=$},Z=()=>{ne.set(!1),h===$&&(h=void 0)};return(0,R.X7)($.element)&&H(),te.add($.onDidFocus(()=>H())),te.add($.onDidBlur(()=>Z())),te.add((0,o.s)(()=>{D.splice(D.indexOf($),1),Z()})),{historyNavigationForwardsEnablement:V,historyNavigationBackwardsEnablement:I,dispose(){te.dispose()}}}let N=class extends v.c{constructor($,te,ne,V){super($,te,ne);const I=this._register(V.createScoped(this.inputBox.element));this._register(k(I,this.inputBox))}};N=c([a(3,d.fN)],N);let W=class extends r{constructor($,te,ne,V,I=!1){super($,te,I,ne);const H=this._register(V.createScoped(this.inputBox.element));this._register(k(H,this.inputBox))}};W=c([a(3,d.fN)],W),l.f.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:d.M$.and(d.M$.has(_),d.M$.equals(S,!0),d.M$.not("isComposing"),p.isEqualTo(!1)),primary:16,secondary:[528],handler:U=>{h?.showPreviousValue()}}),l.f.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:d.M$.and(d.M$.has(_),d.M$.equals(E,!0),d.M$.not("isComposing"),p.isEqualTo(!1)),primary:18,secondary:[530],handler:U=>{h?.showNextValue()}})},33432:(St,We,e)=>{var U;var v=e(13338),R=e(78903),x=e(94327),T=e(50946),y=e(15365),A=e(28061),g=e(93702),L=e(38122),b=e(91934),C=e(16844);class u{constructor(te=!0){this.selectSubwords=te}provideSelectionRanges(te,ne){const V=[];for(const I of ne){const H=[];V.push(H),this.selectSubwords&&this._addInWordRanges(H,te,I),this._addWordRanges(H,te,I),this._addWhitespaceLine(H,te,I),H.push({range:te.getFullModelRange()})}return V}_addInWordRanges(te,ne,V){const I=ne.getWordAtPosition(V);if(!I)return;const{word:H,startColumn:Z}=I,X=V.column-Z;let G=X,Y=X,j=0;for(;G>=0;
91G--){const z=H.charCodeAt(G);if(G!==X&&(z===95||z===45))break;if((0,C.Lv)(z)&&(0,C.Wv)(j))break;j=z}for(G+=1;Y<H.length;Y++){const z=H.charCodeAt(Y);if((0,C.Wv)(z)&&(0,C.Lv)(j))break;if(z===95||z===45)break;j=z}G<Y&&te.push({range:new A.Q(V.lineNumber,Z+G,V.lineNumber,Z+Y)})}_addWordRanges(te,ne,V){const I=ne.getWordAtPosition(V);I&&te.push({range:new A.Q(V.lineNumber,I.startColumn,V.lineNumber,I.endColumn)})}_addWhitespaceLine(te,ne,V){ne.getLineLength(V.lineNumber)>0&&ne.getLineFirstNonWhitespaceColumn(V.lineNumber)===0&&ne.getLineLastNonWhitespaceColumn(V.lineNumber)===0&&te.push({range:new A.Q(V.lineNumber,1,V.lineNumber,ne.getLineMaxColumn(V.lineNumber))})}}var i=e(3765),r=e(58067),d=e(82096),l=e(29849),o=e(37042),c=e(79359),a=e(37264),p=function($,te,ne,V){var I=arguments.length,H=I<3?te:V===null?V=Object.getOwnPropertyDescriptor(te,ne):V,Z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate($,te,ne,V);else for(var X=$.length-1;X>=0;X--)(Z=$[X])&&(H=(I<3?Z(H):I>3?Z(te,ne,H):Z(te,ne))||H);return I>3&&H&&Object.defineProperty(te,ne,H),H},_=function($,te){return function(ne,V){te(ne,V,$)}},E;class S{constructor(te,ne){this.index=te,this.ranges=ne}mov(te){const ne=this.index+(te?1:-1);if(ne<0||ne>=this.ranges.length)return this;const V=new S(ne,this.ranges);return V.ranges[ne].equalsRange(this.ranges[this.index])?V.mov(te):V}}let h=(U=class{static get(te){return te.getContribution(E.ID)}constructor(te,ne){this._editor=te,this._languageFeaturesService=ne,this._ignoreSelection=!1}dispose(){this._selectionListener?.dispose()}async run(te){if(!this._editor.hasModel())return;const ne=this._editor.getSelections(),V=this._editor.getModel();if(this._state||await W(this._languageFeaturesService.selectionRangeProvider,V,ne.map(H=>H.getPosition()),this._editor.getOption(129),R.XO.None).then(H=>{if(!(!(0,v.EI)(H)||H.length!==ne.length)&&!(!this._editor.hasModel()||!(0,v.aI)(this._editor.getSelections(),ne,(Z,X)=>Z.equalsSelection(X)))){for(let Z=0;Z<H.length;Z++)H[Z]=H[Z].filter(X=>X.containsPosition(ne[Z].getStartPosition())&&X.containsPosition(ne[Z].getEndPosition())),H[Z].unshift(ne[Z]);this._state=H.map(Z=>new S(0,Z)),this._selectionListener?.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{this._ignoreSelection||(this._selectionListener?.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(H=>H.mov(te));const I=this._state.map(H=>g.L.fromPositions(H.ranges[H.index].getStartPosition(),H.ranges[H.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(I)}finally{this._ignoreSelection=!1}}},E=U,U.ID="editor.contrib.smartSelectController",U);h=E=p([_(1,l.u)],h);class D extends T.ks{constructor(te,ne){super(ne),this._forward=te}async run(te,ne){const V=h.get(ne);V&&await V.run(this._forward)}}class k extends D{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:(0,i.aS)(1449,"Expand Selection"),precondition:void 0,kbOpts:{kbExpr:L.R.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:r.D8.MenubarSelectionMenu,group:"1_basic",title:(0,i.kg)(1447,"&&Expand Selection"),order:2}})}}d.w.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class N extends D{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:(0,i.aS)(1450,"Shrink Selection"),precondition:void 0,kbOpts:{kbExpr:L.R.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:r.D8.MenubarSelectionMenu,group:"1_basic",title:(0,i.kg)(1448,"&&Shrink Selection"),order:3}})}}(0,T.HW)(h.ID,h,4),(0,T.Fl)(k),(0,T.Fl)(N);async function W($,te,ne,V,I){const H=$.all(te).concat(new u(V.selectSubwords));H.length===1&&H.unshift(new b.n);const Z=[],X=[];for(const G of H)Z.push(Promise.resolve(G.provideSelectionRanges(te,ne,I)).then(Y=>{if((0,v.EI)(Y)&&Y.length===ne.length)for(let j=0;j<ne.length;j++){X[j]||(X[j]=[]);for(const z of Y[j])A.Q.isIRange(z.range)&&A.Q.containsPosition(z.range,ne[j])&&X[j].push(A.Q.lift(z.range))}},x.M_));return await Promise.all(Z),X.map(G=>{if(G.length===0)return[];G.sort((ie,re)=>y.y.isBefore(ie.getStartPosition(),re.getStartPosition())?1:y.y.isBefore(re.getStartPosition(),ie.getStartPosition())||y.y.isBefore(ie.getEndPosition(),re.getEndPosition())?-1:y.y.isBefore(re.getEndPosition(),ie.getEndPosition())?1:0);const Y=[];let j;for(const ie of G)(!j||A.Q.containsRange(ie,j)&&!A.Q.equalsRange(ie,j))&&
91(Y.push(ie),j=ie);if(!V.selectLeadingAndTrailingWhitespace)return Y;const z=[Y[0]];for(let ie=1;ie<Y.length;ie++){const re=Y[ie-1],de=Y[ie];if(de.startLineNumber!==re.startLineNumber||de.endLineNumber!==re.endLineNumber){const le=new A.Q(re.startLineNumber,te.getLineFirstNonWhitespaceColumn(re.startLineNumber),re.endLineNumber,te.getLineLastNonWhitespaceColumn(re.endLineNumber));le.containsRange(re)&&!le.equalsRange(re)&&de.containsRange(le)&&!de.equalsRange(le)&&z.push(le);const he=new A.Q(re.startLineNumber,1,re.endLineNumber,te.getLineMaxColumn(re.endLineNumber));he.containsRange(re)&&!he.equalsRange(le)&&de.containsRange(he)&&!de.equalsRange(he)&&z.push(he)}z.push(de)}return z})}d.w.registerCommand("_executeSelectionRangeProvider",async function($,...te){const[ne,V]=te;(0,c.j)(a.r.isUri(ne)),(0,c.j)((0,c.lF)(V,Z=>y.y.isIPosition(Z)));const I=$.get(l.u).selectionRangeProvider,H=await $.get(o.b).createModelReference(ne);try{return W(I,H.object.textEditorModel,V.map(y.y.lift),{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},R.XO.None)}finally{H.dispose()}})},34061:(St,We,e)=>{e.d(We,{f:()=>R});var v=e(2106);class R{get event(){return this.emitter.event}constructor(T,y,A){const g=L=>this.emitter.fire(L);this.emitter=new v.vl({onWillAddFirstListener:()=>T.addEventListener(y,g,A),onDidRemoveLastListener:()=>T.removeEventListener(y,g,A)})}dispose(){this.emitter.dispose()}}},34883:(St,We,e)=>{e.d(We,{C7:()=>T,MS:()=>l,QB:()=>i,Qx:()=>_,VL:()=>p,Vh:()=>A,Vp:()=>y,eu:()=>C,l4:()=>b,o0:()=>a,pW:()=>r,qe:()=>L,rR:()=>E,sS:()=>u,vr:()=>c,wP:()=>d,zG:()=>o});var v=e(16844),R=e(28061),x=e(92215);function T(S,h,D,k){return S!==D?L(D-S,k):L(0,k-h)}const y=0;function A(S){return S===0}const g=2**26;function L(S,h){return S*g+h}function b(S){const h=S,D=Math.floor(h/g),k=h-D*g;return new x.W(D,k)}function C(S){return Math.floor(S/g)}function u(S){return S}function i(S,h){let D=S+h;return h>=g&&(D=D-S%g),D}function r(S,h){return S.reduce((D,k)=>i(D,h(k)),y)}function d(S,h){return S===h}function l(S,h){const D=S,k=h;if(k-D<=0)return y;const W=Math.floor(D/g),U=Math.floor(k/g),$=k-U*g;if(W===U){const te=D-W*g;return L(0,$-te)}else return L(U-W,$)}function o(S,h){return S<h}function c(S,h){return S<=h}function a(S,h){return S>=h}function p(S){return L(S.lineNumber-1,S.column-1)}function _(S,h){const D=S,k=Math.floor(D/g),N=D-k*g,W=h,U=Math.floor(W/g),$=W-U*g;return new R.Q(k+1,N+1,U+1,$+1)}function E(S){const h=(0,v.uz)(S);return L(h.length-1,h[h.length-1].length)}},35143:(St,We,e)=>{var v=e(5915),R=e(14333),x=e(50946),T=e(87301),y=e(29795),A=e(38122),g=e(3765),L=e(58067),b=e(85753),C=e(31540),u=e(36811);class i extends L.L{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:(0,g.aS)(101,"Toggle Collapse Unchanged Regions"),icon:v.W.map,toggled:C.M$.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:C.M$.has("isInDiffEditor"),menu:{when:C.M$.has("isInDiffEditor"),id:L.D8.EditorTitle,order:22,group:"navigation"}})}run(te,...ne){const V=te.get(b.pG),I=!V.getValue("diffEditor.hideUnchangedRegions.enabled");V.updateValue("diffEditor.hideUnchangedRegions.enabled",I)}}class r extends L.L{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:(0,g.aS)(102,"Toggle Show Moved Code Blocks"),precondition:C.M$.has("isInDiffEditor")})}run(te,...ne){const V=te.get(b.pG),I=!V.getValue("diffEditor.experimental.showMoves");V.updateValue("diffEditor.experimental.showMoves",I)}}class d extends L.L{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:(0,g.aS)(103,"Toggle Use Inline View When Space Is Limited"),precondition:C.M$.has("isInDiffEditor")})}run(te,...ne){const V=te.get(b.pG),I=!V.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");V.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",I)}}const l=(0,g.aS)(104,"Diff Editor");class o extends x.qO{constructor(){super({id:"diffEditor.switchSide",title:(0,g.aS)(105,"Switch Side"),icon:v.W.arrowSwap,precondition:C.M$.has("isInDiffEditor"),f1:!0,category:l})}runEditorCommand(te,ne,V){const I=k(te);if(I instanceof y.T){if(V&&V.dryRun)return{destinationSelection:I.mapToOtherSide().destinationSelection};I.switchSide()}}}class c extends x.qO{constructor(){super({id:"diffEditor.exitCompareMove",title:(0,g.aS)(106,"Exit Compare Move"),icon:v.W.close,precondition:A.R.comparingMovedCode,f1:!1,category:l,keybinding:{weight:1e4,primary:9}})}runEditorCommand(te,ne,...V){const I=k(te);I instanceof y.T&&I.exitCompareMove()}}class a extends x.qO{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:(0,g.aS)(107,"Collapse All Unchanged Regions"),icon:v.W.fold,precondition:C.M$.has("isInDiffEditor"),f1:!0,category:l})}runEditorCommand(te,ne,...V){const I=k(te);I instanceof y.T&&I.collapseAllUnchangedRegions()}}class p extends x.qO{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:(0,g.aS)(108,"Show All Unchanged Regions"),icon:v.W.unfold,precondition:C.M$.has("isInDiffEditor"),f1:!0,category:l})}runEditorCommand(te,ne,...V){const I=k(te);I instanceof y.T&&I.showAllUnchangedRegions()}}class _ extends L.L{constructor(){super({id:"diffEditor.revert",title:(0,g.aS)(109,"Revert"),f1:!0,category:l,precondition:C.M$.has("isInDiffEditor")})}run(te,ne){return ne?this.runViaToolbarContext(te,ne):this.runViaCursorOrSelection(te)}runViaCursorOrSelection(te){const ne=k(te);ne instanceof y.T&&ne.revertFocusedRangeMappings()}runViaToolbarContext(te,ne){const V=D(te,ne.originalUri,ne.modifiedUri);V instanceof y.T&&V.revertRangeMappings(ne.mapping.innerChanges??[])}}const E=(0,g.aS)(110,"Accessible Diff Viewer"),W=class W extends L.L{constructor(){super({id:W.id,title:(0,g.aS)(111,"Go to Next Difference"),category:E,precondition:C.M$.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(te){k(te)?.accessibleDiffViewerNext()}};W.id="editor.action.accessibleDiffViewer.next";let S=W;const U=class U extends L.L{constructor(){super({id:U.id,title:(0,g.aS)(112,"Go to Previous Difference"),category:E,precondition:C.M$.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(te){k(te)?.accessibleDiffViewerPrev()}};U.id="editor.action.accessibleDiffViewer.prev";let h=U;function D($,te,ne){return $.get(T.T).listDiffEditors().find(H=>{const Z=H.getModifiedEditor(),X=H.getOriginalEditor();return Z&&Z.getModel()?.uri.toString()===ne.toString()&&X&&X.getModel()?.uri.toString()===te.toString()})||null}function k($){const ne=$.get(T.T).listDiffEditors(),V=(0,R.bq)();if(V){for(const I of ne)if(I.getContainerDomNode().contains(V))return I}return null}var N=e(82096);(0,L.ug)(i),(0,L.ug)(r),(0,L.ug)(d),L.ZG.appendMenuItem(L.D8.EditorTitle,{command:{id:new d().desc.id,title:(0,g.kg)(135,"Use Inline View When Space Is Limited"),toggled:C.M$.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:C.M$.has("isInDiffEditor")},order:11,group:"1_diff",when:C.M$.and(A.R.diffEditorRenderSideBySideInlineBreakpointReached,C.M$.has("isInDiffEditor"))}),L.ZG.appendMenuItem(L.D8.EditorTitle,{command:{id:new r().desc.id,title:(0,g.kg)(136,"Show Moved Code Blocks"),icon:v.W.move,toggled:C.f1.create("config.diffEditor.experimental.showMoves",!0),precondition:C.M$.has("isInDiffEditor")},order:10,group:"1_diff",when:C.M$.has("isInDiffEditor")}),(0,L.ug)(_);for(const $ of[{icon:v.W.arrowRight,key:A.R.diffEditorInlineMode.toNegated()},{icon:v.W.discard,key:A.R.diffEditorInlineMode}])L.ZG.appendMenuItem(L.D8.DiffEditorHunkToolbar,{command:{id:new _().desc.id,title:(0,g.kg)(137,"Revert Block"),icon:$.icon},when:C.M$.and(A.R.diffEditorModifiedWritable,$.key),order:5,group:"primary"}),L.ZG.appendMenuItem(L.D8.DiffEditorSelectionToolbar,{command:{id:new _().desc.id,title:(0,g.kg)(138,"Revert Selection"),icon:$.icon},when:C.M$.and(A.R.diffEditorModifiedWritable,$.key),order:5,group:"primary"});(0,L.ug)(o),(0,L.ug)(c),(0,L.ug)(a),(0,L.ug)(p),L.ZG.appendMenuItem(L.D8.EditorTitle,{command:{id:S.id,title:(0,g.kg)(139,"Open Accessible Diff Viewer"),precondition:C.M$.has("isInDiffEditor")},order:10,group:"2_diff",when:C.M$.and(A.R.accessibleDiffViewerVisible.negate(),C.M$.has("isInDiffEditor"))}),N.w.registerCommandAlias("editor.action.diffReview.next",S.id),(0,L.ug)(S),N.w.registerCommandAlias("editor.action.diffReview.prev",h.id),(0,L.ug)(h)},35264:(St,We,e)=>{e.d(We,{ur:()=>k,uO:()=>te});var v=e(39587),R=e(14333),x=e(34061),T=e(30474),y=e(16831),A=e(13338),g=e(65958),L=e(88846),b=e(2106),C=e(10998),u=e(82199),i=e(94513);function r(V,I){const H=[];for(const Z of I){if(V.start>=Z.range.end)continue;if(V.end<Z.range.start)break;const X=u.Q.intersect(V,Z.range);u.Q.isEmpty(X)||H.push({range:X,size:Z.size})}return H}function d({start:V,end:I},H){return{start:V+H,end:I+H}}function l(V){const I=[];let H=null;for(const Z of V){const X=Z.range.start,G=Z.range.end,Y=Z.size;if(H&&Y===H.size){H.range.end=G;continue}H={range:{start:X,end:G},size:Y},I.push(H)}return I}function o(...V){return l(V.reduce((I,H)=>I.concat(H),[]))}class c{get paddingTop(){return this._paddingTop}set paddingTop(I){this._size=this._size+I-this._paddingTop,this._paddingTop=I}constructor(I){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=I??0,this._size=this._paddingTop}splice(I,H,Z=[]){const X=Z.length-H,G=r({start:0,end:I},this.groups),Y=r({start:I+H,end:Number.POSITIVE_INFINITY},this.groups).map(z=>({range:d(z.range,X),size:z.size})),j=Z.map((z,ie)=>({range:{start:I+ie,end:I+ie+1},size:z.size}));this.groups=o(G,j,Y),this._size=this._paddingTop+this.groups.reduce((z,ie)=>z+ie.size*(ie.range.end-ie.range.start),0)}get count(){const I=this.groups.length;return I?this.groups[I-1].range.end:0}get size(){return this._size}indexAt(I){if(I<0)return-1;if(I<this._paddingTop)return 0;let H=0,Z=this._paddingTop;for(const X of this.groups){const G=X.range.end-X.range.start,Y=Z+G*X.size;if(I<Y)return H+Math.floor((I-Z)/X.size);H+=G,Z=Y}return H}indexAfter(I){return Math.min(this.indexAt(I)+1,this.count)}positionAt(I){if(I<0)return-1;let H=0,Z=0;for(const X of this.groups){const G=X.range.end-X.range.start,Y=Z+G;
91if(I<Y)return this._paddingTop+H+(I-Z)*X.size;H+=G*X.size,Z=Y}return-1}}class a{constructor(I){this.renderers=I,this.cache=new Map,this.transactionNodesPendingRemoval=new Set,this.inTransaction=!1}alloc(I){let H=this.getTemplateCache(I).pop(),Z=!1;if(H)Z=this.transactionNodesPendingRemoval.delete(H.domNode);else{const X=(0,R.$)(".monaco-list-row"),Y=this.getRenderer(I).renderTemplate(X);H={domNode:X,templateId:I,templateData:Y}}return{row:H,isReusingConnectedDomNode:Z}}release(I){I&&this.releaseRow(I)}transact(I){if(this.inTransaction)throw new Error("Already in transaction");this.inTransaction=!0;try{I()}finally{for(const H of this.transactionNodesPendingRemoval)this.doRemoveNode(H);this.transactionNodesPendingRemoval.clear(),this.inTransaction=!1}}releaseRow(I){const{domNode:H,templateId:Z}=I;H&&(this.inTransaction?this.transactionNodesPendingRemoval.add(H):this.doRemoveNode(H)),this.getTemplateCache(Z).push(I)}doRemoveNode(I){I.classList.remove("scrolling"),I.remove()}getTemplateCache(I){let H=this.cache.get(I);return H||(H=[],this.cache.set(I,H)),H}dispose(){this.cache.forEach((I,H)=>{for(const Z of I)this.getRenderer(H).disposeTemplate(Z.templateData),Z.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(I){const H=this.renderers.get(I);if(!H)throw new Error(`No renderer found for ${I}`);return H}}var p=e(94327),_=e(62992);function E(V,I,H,Z=[]){if(!V.dataTransfer)return;const X=(0,R.$)(".monaco-drag-image");X.textContent=H,X.classList.add(...Z),(j=>{for(;j&&!j.classList.contains("monaco-workbench");)j=j.parentElement;return j||I.ownerDocument.body})(I).appendChild(X),V.dataTransfer.setDragImage(X,-10,-10),setTimeout(()=>X.remove(),0)}var S=function(V,I,H,Z){var X=arguments.length,G=X<3?I:Z===null?Z=Object.getOwnPropertyDescriptor(I,H):Z,Y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")G=Reflect.decorate(V,I,H,Z);else for(var j=V.length-1;j>=0;j--)(Y=V[j])&&(G=(X<3?Y(G):X>3?Y(I,H,G):Y(I,H))||G);return X>3&&G&&Object.defineProperty(I,H,G),G};const h={CurrentDragAndDropData:void 0},D={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(V){return[V]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class k{constructor(I){this.elements=I}update(){}getData(){return this.elements}}class N{constructor(I){this.elements=I}update(){}getData(){return this.elements}}class W{constructor(){this.types=[],this.files=[]}update(I){if(I.types&&this.types.splice(0,this.types.length,...I.types),I.files){this.files.splice(0,this.files.length);for(let H=0;H<I.files.length;H++){const Z=I.files.item(H);Z&&(Z.size||Z.type)&&this.files.push(Z)}}}getData(){return{types:this.types,files:this.files}}}function U(V,I){return Array.isArray(V)&&Array.isArray(I)?(0,A.aI)(V,I):V===I}
91class ${constructor(I){I?.getSetSize?this.getSetSize=I.getSetSize.bind(I):this.getSetSize=(H,Z,X)=>X,I?.getPosInSet?this.getPosInSet=I.getPosInSet.bind(I):this.getPosInSet=(H,Z)=>Z+1,I?.getRole?this.getRole=I.getRole.bind(I):this.getRole=H=>"listitem",I?.isChecked?this.isChecked=I.isChecked.bind(I):this.isChecked=H=>{}}}const ne=class ne{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(I){if(I!==this._horizontalScrolling){if(I&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=I,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const H of this.items)this.measureItemWidth(H);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:(0,R.y6)(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width="",this.domNode.style.removeProperty("--list-scroll-right-offset")}}constructor(I,H,Z,X=D){if(this.virtualDelegate=H,this.domId=`list_id_${++ne.InstanceCount}`,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new g.ve(50),this.splicing=!1,this.dragOverAnimationStopDisposable=C.jG.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=C.jG.None,this.onDragLeaveTimeout=C.jG.None,this.currentSelectionDisposable=C.jG.None,this.disposables=new C.Cm,this._onDidChangeContentHeight=this.disposables.add(new b.vl),this._onDidChangeContentWidth=this.disposables.add(new b.vl),this.onDidChangeContentHeight=b.Jh.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,X.horizontalScrolling&&X.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap(X.paddingTop??0);for(const Y of Z)this.renderers.set(Y.templateId,Y);if(this.cache=this.disposables.add(new a(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof X.mouseSupport=="boolean"?X.mouseSupport:!0),this._horizontalScrolling=X.horizontalScrolling??D.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof X.paddingBottom>"u"?0:X.paddingBottom,this.accessibilityProvider=new $(X.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(X.transformOptimization??D.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(T.q.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new i.yE({forceIntegerValues:!0,smoothScrollDuration:X.smoothScrolling??!1?125:0,scheduleAtNextAnimationFrame:Y=>(0,R.PG)((0,R.zk)(this.domNode),Y)})),this.scrollableElement=this.disposables.add(new y.oO(this.rowsContainer,{alwaysConsumeMouseWheel:X.alwaysConsumeMouseWheel??D.alwaysConsumeMouseWheel,horizontal:1,vertical:X.verticalScrollMode??D.verticalScrollMode,useShadows:X.useShadows??D.useShadows,mouseWheelScrollSensitivity:X.mouseWheelScrollSensitivity,fastScrollSensitivity:X.fastScrollSensitivity,scrollByPage:X.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),I.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add((0,R.ko)(this.rowsContainer,T.B.Change,Y=>this.onTouchChange(Y))),this.disposables.add((0,R.ko)(this.scrollableElement.getDomNode(),"scroll",Y=>{const j=Y.target,z=j.scrollTop;j.scrollTop=0,X.scrollToActiveElement&&this.setScrollTop(this.scrollTop+z)})),this.disposables.add((0,R.ko)(this.domNode,"dragover",Y=>this.onDragOver(this.toDragEvent(Y)))),this.disposables.add((0,R.ko)(this.domNode,"drop",Y=>this.onDrop(this.toDragEvent(Y)))),this.disposables.add((0,R.ko)(this.domNode,"dragleave",Y=>this.onDragLeave(this.toDragEvent(Y)))),this.disposables.add((0,R.ko)(this.domNode,"dragend",Y=>this.onDragEnd(Y))),X.userSelection){if(X.dnd)throw new Error("DND and user selection cannot be used simultaneously");this.disposables.add((0,R.ko)(this.domNode,"mousedown",Y=>this.onPotentialSelectionStart(Y)))}this.setRowLineHeight=X.setRowLineHeight??D.setRowLineHeight,this.setRowHeight=X.setRowHeight??D.setRowHeight,this.supportDynamicHeights=X.supportDynamicHeights??D.supportDynamicHeights,this.dnd=X.dnd??this.disposables.add(D.dnd),this.layout(X.initialSize?.height,X.initialSize?.width),X.scrollToActiveElement&&this._setupFocusObserver(I)}_setupFocusObserver(I){this.disposables.add((0,R.ko)(I,"focus",()=>{const H=(0,R.bq)();this.activeElement!==H&&H!==null&&(this.activeElement=H,this._scrollToActiveElement(this.activeElement,I))},!0))}_scrollToActiveElement(I,H){const Z=H.getBoundingClientRect(),G=I.getBoundingClientRect().top-Z.top;G<0&&this.setScrollTop(this.scrollTop+G)}updateOptions(I){I.paddingBottom!==void 0&&(this.paddingBottom=I.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),I.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(I.smoothScrolling?125:0),I.horizontalScrolling!==void 0&&(this.horizontalScrolling=I.horizontalScrolling);let H;if(I.scrollByPage!==void 0&&(H={...H??{},scrollByPage:I.scrollByPage}),I.mouseWheelScrollSensitivity!==void 0&&(H={...H??{},mouseWheelScrollSensitivity:I.mouseWheelScrollSensitivity}),I.fastScrollSensitivity!==void 0&&(H={...H??{},fastScrollSensitivity:I.fastScrollSensitivity}),H&&this.scrollableElement.updateOptions(H),I.paddingTop!==void 0&&I.paddingTop!==this.rangeMap.paddingTop){const Z=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),X=I.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=I.paddingTop,this.render(Z,Math.max(0,this.lastRenderTop+X),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(I){return new c(I)}splice(I,H,Z=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(I,H,Z)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(I,H,Z=[]){const X=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),G={start:I,end:I+H},Y=u.Q.intersect(X,G),j=new Map;for(let _e=Y.end-1;_e>=Y.start;_e--){const Qe=this.items[_e];if(Qe.dragStartDisposable.dispose(),Qe.checkedDisposable.dispose(),Qe.row){let je=j.get(Qe.templateId);je||(je=[],j.set(Qe.templateId,je));const ae=this.renderers.get(Qe.templateId);ae&&ae.disposeElement&&ae.disposeElement(Qe.element,_e,Qe.row.templateData,{height:Qe.size}),je.unshift(Qe.row)}Qe.row=null,Qe.stale=!0}const z={start:I+H,end:this.items.length},ie=u.Q.intersect(z,X),re=u.Q.relativeComplement(z,X),de=Z.map(_e=>({id:String(this.itemId++),element:_e,templateId:this.virtualDelegate.getTemplateId(_e),size:this.virtualDelegate.getHeight(_e),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(_e),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:C.jG.None,checkedDisposable:C.jG.None,stale:!1}));let le;I===0&&H>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,de),le=this.items,this.items=de):(this.rangeMap.splice(I,H,de),le=(0,A.V4)(this.items,I,H,de));const he=Z.length-H,we=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),xe=d(ie,he),Be=u.Q.intersect(we,xe);for(let _e=Be.start;_e<Be.end;_e++)this.updateItemInDOM(this.items[_e],_e);const M=u.Q.relativeComplement(xe,we);for(const _e of M)for(let Qe=_e.start;Qe<_e.end;Qe++)this.removeItemFromDOM(Qe);const Ve=re.map(_e=>d(_e,he)),Le=[{start:I,end:I+Z.length},...Ve].map(_e=>u.Q.intersect(we,_e)).reverse();for(const _e of Le)for(let Qe=_e.end-1;Qe>=_e.start;Qe--){const je=this.items[Qe],Ee=j.get(je.templateId)?.pop();this.insertItemInDOM(Qe,Ee)}for(const _e of j.values())for(const Qe of _e)this.cache.release(Qe);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),le.map(_e=>_e.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=(0,R.PG)((0,R.zk)(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let I=0;for(const H of this.items)typeof H.width<"u"&&(I=Math.max(I,H.width));this.scrollWidth=I,this.scrollableElement.setScrollDimensions({scrollWidth:I===0?0:I+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}
91rerender(){if(this.supportDynamicHeights){for(const I of this.items)I.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getVisibleRange(this.lastRenderTop,this.lastRenderHeight).start}element(I){return this.items[I].element}indexOf(I){return this.items.findIndex(H=>H.element===I)}domElement(I){const H=this.items[I].row;return H&&H.domNode}elementHeight(I){return this.items[I].size}elementTop(I){return this.rangeMap.positionAt(I)}indexAt(I){return this.rangeMap.indexAt(I)}indexAfter(I){return this.rangeMap.indexAfter(I)}layout(I,H){const Z={height:typeof I=="number"?I:(0,R.H4)(this.domNode)};if(this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,Z.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(Z),typeof H<"u"&&(this.renderWidth=H,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling){this.scrollableElement.setScrollDimensions({width:typeof H=="number"?H:(0,R.y6)(this.domNode)});const X=this.scrollableElement.getScrollPosition(),G=this.scrollableElement.getScrollDimensions(),Y=Math.max(0,G.scrollWidth-X.scrollLeft-this.renderWidth);this.domNode.style.setProperty("--list-scroll-right-offset",`${Math.max(Y-12,0)}px`)}}render(I,H,Z,X,G,Y=!1,j=!1){const z=this.getRenderRange(H,Z),ie=u.Q.relativeComplement(z,I).reverse(),re=u.Q.relativeComplement(I,z);if(Y){const de=u.Q.intersect(I,z);for(let le=de.start;le<de.end;le++)this.updateItemInDOM(this.items[le],le)}if(this.cache.transact(()=>{for(const de of re)for(let le=de.start;le<de.end;le++)this.removeItemFromDOM(le,j);for(const de of ie)for(let le=de.end-1;le>=de.start;le--)this.insertItemInDOM(le)}),X!==void 0&&(this.rowsContainer.style.left=`-${X}px`),this.rowsContainer.style.top=`-${H}px`,this.horizontalScrolling&&G!==void 0){this.rowsContainer.style.width=`${Math.max(G,this.renderWidth)}px`;const de=Math.max(0,G-(X??0)-this.renderWidth);this.domNode.style.setProperty("--list-scroll-right-offset",`${Math.max(de-12,0)}px`)}this.lastRenderTop=H,this.lastRenderHeight=Z}insertItemInDOM(I,H){const Z=this.items[I];if(!Z.row)if(H)Z.row=H,Z.stale=!0;else{const ie=this.cache.alloc(Z.templateId);Z.row=ie.row,Z.stale||=ie.isReusingConnectedDomNode}const X=this.accessibilityProvider.getRole(Z.element)||"listitem";Z.row.domNode.setAttribute("role",X);const G=this.accessibilityProvider.isChecked(Z.element),Y=ie=>ie==="mixed"?"mixed":String(!!ie);if(typeof G=="boolean"||G==="mixed")Z.row.domNode.setAttribute("aria-checked",Y(G));else if(G){const ie=re=>Z.row.domNode.setAttribute("aria-checked",Y(re));ie(G.value),Z.checkedDisposable=G.onDidChange(()=>ie(G.value))}if(Z.stale||!Z.row.domNode.parentElement){const ie=this.items.at(I+1)?.row?.domNode??null;(Z.row.domNode.parentElement!==this.rowsContainer||Z.row.domNode.nextElementSibling!==ie)&&this.rowsContainer.insertBefore(Z.row.domNode,ie),Z.stale=!1}this.updateItemInDOM(Z,I);const j=this.renderers.get(Z.templateId);if(!j)throw new Error(`No renderer found for template id ${Z.templateId}`);j?.renderElement(Z.element,I,Z.row.templateData,{height:Z.size});const z=this.dnd.getDragURI(Z.element);Z.dragStartDisposable.dispose(),Z.row.domNode.draggable=!!z,z&&(Z.dragStartDisposable=(0,R.ko)(Z.row.domNode,"dragstart",ie=>this.onDragStart(Z.element,z,ie))),this.horizontalScrolling&&(this.measureItemWidth(Z),this.eventuallyUpdateScrollWidth())}measureItemWidth(I){if(!I.row||!I.row.domNode)return;I.row.domNode.style.width="fit-content",I.width=(0,R.y6)(I.row.domNode);const H=(0,R.zk)(I.row.domNode).getComputedStyle(I.row.domNode);H.paddingLeft&&(I.width+=parseFloat(H.paddingLeft)),H.paddingRight&&(I.width+=parseFloat(H.paddingRight)),I.row.domNode.style.width=""}updateItemInDOM(I,H){I.row.domNode.style.top=`${this.elementTop(H)}px`,this.setRowHeight&&(I.row.domNode.style.height=`${I.size}px`),this.setRowLineHeight&&(I.row.domNode.style.lineHeight=`${I.size}px`),I.row.domNode.setAttribute("data-index",`${H}`),I.row.domNode.setAttribute("data-last-element",H===this.length-1?"true":"false"),I.row.domNode.setAttribute("data-parity",H%2===0?"even":"odd"),I.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvi
91der.getSetSize(I.element,H,this.length))),I.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(I.element,H))),I.row.domNode.setAttribute("id",this.getElementDomId(H)),I.row.domNode.classList.toggle("drop-target",I.dropTarget)}removeItemFromDOM(I,H){const Z=this.items[I];if(Z.dragStartDisposable.dispose(),Z.checkedDisposable.dispose(),Z.row){const X=this.renderers.get(Z.templateId);X&&X.disposeElement&&X.disposeElement(Z.element,I,Z.row.templateData,{height:Z.size,onScroll:H}),this.cache.release(Z.row),Z.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(I,H){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:I,reuseAnimation:H})}get scrollTop(){return this.getScrollTop()}set scrollTop(I){this.setScrollTop(I)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"click")).event,I=>this.toMouseEvent(I),this.disposables)}get onMouseDblClick(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"dblclick")).event,I=>this.toMouseEvent(I),this.disposables)}get onMouseMiddleClick(){return b.Jh.filter(b.Jh.map(this.disposables.add(new x.f(this.domNode,"auxclick")).event,I=>this.toMouseEvent(I),this.disposables),I=>I.browserEvent.button===1,this.disposables)}get onMouseDown(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"mousedown")).event,I=>this.toMouseEvent(I),this.disposables)}get onMouseOver(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"mouseover")).event,I=>this.toMouseEvent(I),this.disposables)}get onMouseOut(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"mouseout")).event,I=>this.toMouseEvent(I),this.disposables)}get onContextMenu(){return b.Jh.any(b.Jh.map(this.disposables.add(new x.f(this.domNode,"contextmenu")).event,I=>this.toMouseEvent(I),this.disposables),b.Jh.map(this.disposables.add(new x.f(this.domNode,T.B.Contextmenu)).event,I=>this.toGestureEvent(I),this.disposables))}get onTouchStart(){return b.Jh.map(this.disposables.add(new x.f(this.domNode,"touchstart")).event,I=>this.toTouchEvent(I),this.disposables)}get onTap(){return b.Jh.map(this.disposables.add(new x.f(this.rowsContainer,T.B.Tap)).event,I=>this.toGestureEvent(I),this.disposables)}toMouseEvent(I){const H=this.getItemIndexFromEventTarget(I.target||null),Z=typeof H>"u"?void 0:this.items[H],X=Z&&Z.element;return{browserEvent:I,index:H,element:X}}toTouchEvent(I){const H=this.getItemIndexFromEventTarget(I.target||null),Z=typeof H>"u"?void 0:this.items[H],X=Z&&Z.element;return{browserEvent:I,index:H,element:X}}toGestureEvent(I){const H=this.getItemIndexFromEventTarget(I.initialTarget||null),Z=typeof H>"u"?void 0:this.items[H],X=Z&&Z.element;return{browserEvent:I,index:H,element:X}}toDragEvent(I){const H=this.getItemIndexFromEventTarget(I.target||null),Z=typeof H>"u"?void 0:this.items[H],X=Z&&Z.element,G=this.getTargetSector(I,H);return{browserEvent:I,index:H,element:X,sector:G}}onScroll(I){try{const H=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(H,I.scrollTop,I.height,I.scrollLeft,I.scrollWidth,void 0,!0),this.supportDynamicHeights&&this._rerender(I.scrollTop,I.height,I.inSmoothScrolling)}catch(H){throw console.error("Got bad scroll event:",I),H}}onTouchChange(I){I.preventDefault(),I.stopPropagation(),this.scrollTop-=I.translationY}onDragStart(I,H,Z){if(!Z.dataTransfer)return;const X=this.dnd.getDragElements(I);Z.dataTransfer.effectAllowed="copyMove",Z.dataTransfer.setData(v.t.TEXT,H);let G;this.dnd.getDragLabel&&(G=this.dnd.getDragLabel(X,Z)),typeof G>"u"&&(G=String(X.length)),E(Z,this.domNode,G,[this.domId]),this.domNode.classList.add("dragging"),this.currentDragData=new k(X),h.CurrentDragAndDropData=new N(X),this.dnd.onDragStart?.(this.currentDragData,Z)}onPotentialSelectionStart(I){this.currentSelectionDisposable.dispose();const H=(0,R.YE)(this.domNode),Z=this.currentSelectionDisposable=new C.Cm,X=Z.add(new C.Cm);X.add((0,R.ko)(this.domNode,"selectstart",()=>{X.add((0,R.ko)(H,"mousemove",G=>{H.getSelection()?.isCollapsed===!1&&this.setupDragAndDropScrollTopAnimation(G)})),Z.add((0,C.s)(()=>{const G=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.currentSelectionBounds=void 0,this.render(G,this.lastRenderTop,this.lastRenderHeight,void 0,void 0)})),Z.add((0,R.ko)(H,"selectionchange",()=>{const G=H.getSelection();if(!G||G.isCollapsed){X.isDisposed&&Z.dispose();return}let Y=this.getIndexOfListElement(G.anchorNode),j=this.getIndexOfListElement(G.focusNode);Y!==void 0&&j!==void 0&&(j<Y&&([Y,j]=[j,Y]),this.currentSelectionBounds={start:Y,end:j})}))})),X.add((0,R.ko)(H,"mouseup",()=>
91{X.dispose(),this.teardownDragAndDropScrollTopAnimation(),H.getSelection()?.isCollapsed!==!1&&Z.dispose()}))}getIndexOfListElement(I){if(!(!I||!this.domNode.contains(I)))for(;I&&I!==this.domNode;){if(I.dataset?.index)return Number(I.dataset.index);I=I.parentElement}}onDragOver(I){if(I.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),h.CurrentDragAndDropData&&h.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(I.browserEvent),!I.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(h.CurrentDragAndDropData)this.currentDragData=h.CurrentDragAndDropData;else{if(!I.browserEvent.dataTransfer.types)return!1;this.currentDragData=new W}const H=this.dnd.onDragOver(this.currentDragData,I.element,I.index,I.sector,I.browserEvent);if(this.canDrop=typeof H=="boolean"?H:H.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;I.browserEvent.dataTransfer.dropEffect=typeof H!="boolean"&&H.effect?.type===0?"copy":"move";let Z;typeof H!="boolean"&&H.feedback?Z=H.feedback:typeof I.index>"u"?Z=[-1]:Z=[I.index],Z=(0,A.dM)(Z).filter(G=>G>=-1&&G<this.length).sort((G,Y)=>G-Y),Z=Z[0]===-1?[-1]:Z;let X=typeof H!="boolean"&&H.effect&&H.effect.position?H.effect.position:"drop-target";if(U(this.currentDragFeedback,Z)&&this.currentDragFeedbackPosition===X)return!0;if(this.currentDragFeedback=Z,this.currentDragFeedbackPosition=X,this.currentDragFeedbackDisposable.dispose(),Z[0]===-1)this.domNode.classList.add(X),this.rowsContainer.classList.add(X),this.currentDragFeedbackDisposable=(0,C.s)(()=>{this.domNode.classList.remove(X),this.rowsContainer.classList.remove(X)});else{if(Z.length>1&&X!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");X==="drop-target-after"&&Z[0]<this.length-1&&(Z[0]+=1,X="drop-target-before");for(const G of Z){const Y=this.items[G];Y.dropTarget=!0,Y.row?.domNode.classList.add(X)}this.currentDragFeedbackDisposable=(0,C.s)(()=>{for(const G of Z){const Y=this.items[G];Y.dropTarget=!1,Y.row?.domNode.classList.remove(X)}})}return!0}onDragLeave(I){this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=(0,g.EQ)(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&this.dnd.onDragLeave?.(this.currentDragData,I.element,I.index,I.browserEvent)}onDrop(I){if(!this.canDrop)return;const H=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,h.CurrentDragAndDropData=void 0,!(!H||!I.browserEvent.dataTransfer)&&(I.browserEvent.preventDefault(),H.update(I.browserEvent.dataTransfer),this.dnd.drop(H,I.element,I.index,I.sector,I.browserEvent))}onDragEnd(I){this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,h.CurrentDragAndDropData=void 0,this.dnd.onDragEnd?.(I)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=C.jG.None}setupDragAndDropScrollTopAnimation(I){if(!this.dragOverAnimationDisposable){const H=(0,R.cL)(this.domNode).top;this.dragOverAnimationDisposable=(0,R.i0)((0,R.zk)(this.domNode),this.animateDragAndDropScrollTop.bind(this,H))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=(0,g.EQ)(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=I.pageY}animateDragAndDropScrollTop(I){if(this.dragOverMouseY===void 0)return;const H=this.dragOverMouseY-I,Z=this.renderHeight-35;H<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(H-35))):H>Z&&(this.scrollTop+=Math.min(14,Math.floor(.3*(H-Z))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(I,H){if(H===void 0)return;const Z=I.offsetY/this.items[H].size,X=Math.floor(Z/.25);return(0,_.qE)(X,0,3)}getItemIndexFromEventTarget(I){const H=this.scrollableElement.getDomNode();let Z=I;for(;((0,R.sb)(Z)||(0,R.xZ)(Z))&&Z!==this.rowsContainer&&H.contains(Z);){const X=Z.getAttribute("data-index");if(X){const G=Number(X);if(!isNaN(G))return G}Z=Z.parentElement}}getVisibleRange(I,H){return{start:this.rangeMap.indexAt(I),end:this.rangeMap.indexAfter(I+H-1)}}getRenderRange(I,H){const Z=this.getVisibleRange(I,H);if(this.currentSelectionBounds){const X=this.rangeMap.count;Z.start=Math.min(Z.start,this.currentSelectionBounds.start,X),Z.end=Math.min(Math.max(Z.end,this.currentSelectionBounds.end+1),X)}return Z}_rerender(I,H,Z){const X=this.getRenderRange(I,H);let G,Y;I===this.elementTop(X.start)?(G=X.start,Y=0):X.end-X.start>1&&(G=X.start+1,Y=this.elementTop(G)-I);let j=0;for(;;){const z=this.getRenderRange(I,H);let ie=!1;for(let re=z.start;re<z.end;re++){const de=this.probeDynamicHeight(re);de!==0&&this.rangeMap.splice(re,1,[this.items[re]]),j+=de,ie=ie||de!==0}if(!ie){j!==0&&this.eventuallyUpdateScrollDimensions();const re=u.Q.relativeComplement(X,z);for(const le of re)for(let he=le.start;he<le.end;he++)this.items[he].row&&this.removeItemFromDOM(he);const de=u.Q.relativeComplement(z,X).reverse();for(const le of de)for(let he=le.end-1;he>=le.start;he--)this.insertItemInDOM(he);for(let le=z.start;le<z.end;le++)this.items[le].row&&this.updateItemInDOM(this.items[le],le);if(typeof G=="number"){const le=this.scrollable.getFutureScrollPosition().scrollTop-I,he=this.elementTop(G)-Y+le;this.setScrollTop(he,Z)}this._onDidChangeContentHeight.fire(this.contentHeight);return}}}probeDynamicHeight(I){const H=this.items[I],Z=this.probeDynamicHeightForItem(H,I);return Z>0&&this.virtualDelegate.setDynamicHeight?.(H.element,H.size),Z}
91probeDynamicHeightForItem(I,H){if(this.virtualDelegate.getDynamicHeight){const Y=this.virtualDelegate.getDynamicHeight(I.element);if(Y!==null){const j=I.size;return I.size=Y,I.lastDynamicHeightWidth=this.renderWidth,Y-j}}if(!I.hasDynamicHeight||I.lastDynamicHeightWidth===this.renderWidth||this.virtualDelegate.hasDynamicHeight&&!this.virtualDelegate.hasDynamicHeight(I.element))return 0;const Z=I.size;if(I.row)return I.row.domNode.style.height="",I.size=I.row.domNode.offsetHeight,I.size===0&&((0,R.QX)(I.row.domNode,(0,R.zk)(I.row.domNode).document.body)?console.warn("Measured item node at 0px- ensure that ListView is not display:none before measuring row height!",new Error().stack):console.warn("Measuring item node that is not in DOM! Add ListView to the DOM before measuring row height!",new Error().stack)),I.lastDynamicHeightWidth=this.renderWidth,I.size-Z;const{row:X}=this.cache.alloc(I.templateId);X.domNode.style.height="",this.rowsContainer.appendChild(X.domNode);const G=this.renderers.get(I.templateId);if(!G)throw new p.D7("Missing renderer for templateId: "+I.templateId);return G.renderElement(I.element,H,X.templateData),I.size=X.domNode.offsetHeight,G.disposeElement?.(I.element,H,X.templateData),I.lastDynamicHeightWidth=this.renderWidth,X.domNode.remove(),this.cache.release(X),I.size-Z}getElementDomId(I){return`${this.domId}_${I}`}dispose(){for(const I of this.items)if(I.dragStartDisposable.dispose(),I.checkedDisposable.dispose(),I.row){const H=this.renderers.get(I.row.templateId);H&&(H.disposeElement?.(I.element,-1,I.row.templateData,void 0),H.disposeTemplate(I.row.templateData))}this.items=[],this.domNode?.remove(),this.dragOverAnimationDisposable?.dispose(),this.disposables.dispose()}};ne.InstanceCount=0;let te=ne;S([L.B],te.prototype,"onMouseClick",null),S([L.B],te.prototype,"onMouseDblClick",null),S([L.B],te.prototype,"onMouseMiddleClick",null),S([L.B],te.prototype,"onMouseDown",null),S([L.B],te.prototype,"onMouseOver",null),S([L.B],te.prototype,"onMouseOut",null),S([L.B],te.prototype,"onContextMenu",null),S([L.B],te.prototype,"onTouchStart",null),S([L.B],te.prototype,"onTap",null)},36260:(St,We,e)=>{e.d(We,{VV:()=>x,o5:()=>R});function v(T){return T}class R{constructor(y,A){this.lastCache=void 0,this.lastArgKey=void 0,typeof y=="function"?(this._fn=y,this._computeKey=v):(this._fn=A,this._computeKey=y.getCacheKey)}get(y){const A=this._computeKey(y);return this.lastArgKey!==A&&(this.lastArgKey=A,this.lastCache=this._fn(y)),this.lastCache}}class x{get cachedValues(){return this._map}constructor(y,A){this._map=new Map,this._map2=new Map,typeof y=="function"?(this._fn=y,this._computeKey=v):(this._fn=A,this._computeKey=y.getCacheKey)}get(y){const A=this._computeKey(y);if(this._map2.has(A))return this._map2.get(A);const g=this._fn(y);return this._map.set(y,g),this._map2.set(A,g),g}}},36427:(St,We,e)=>{e.d(We,{q:()=>v});const v={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1}},36477:(St,We,e)=>{e.d(We,{u:()=>R});var v=e(82399);const R=(0,v.u1)("userInteractionService")},36651:(St,We,e)=>{var v=e(90028),R=e(10998),x=e(50946),T=e(84893),y=e(3765);const g=class g extends R.jG{constructor(b){super(),this.editor=b,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const b=T.k.get(this.editor);if(b&&this.editor.hasModel()){let C=this.editor.getOptions().get(105);C||(this.editor.isSimpleWidget?C=new v.Bc((0,y.kg)(1427,"Cannot edit in read-only input")):C=new v.Bc((0,y.kg)(1428,"Cannot edit in read-only editor"))),b.showMessage(C,this.editor.getPosition())}}};g.ID="editor.contrib.readOnlyMessageController";let A=g;(0,x.HW)(A.ID,A,2)},36811:(St,We,e)=>{e.d(We,{GM:()=>k,KL:()=>W,Kl:()=>p,Ob:()=>_,Ou:()=>D,XT:()=>S,Zb:()=>N,Zw:()=>E,bk:()=>h,dv:()=>a,wp:()=>U});var v=e(5915),R=e(58881),x=e(31531),T=e(3765),y=e(87676),A=e(18382),g=e(75962),L=e(73858),b=e(69227),C=e(82735),u=e(75712),i=e(10680),r=e(58687),d=e(94865),l=e(74707),o=e(11210);(0,y.x1)("diffEditor.move.border","#8b8b8b9c",(0,T.kg)(153,"The border color for text that got moved in the diff editor.")),(0,y.x1)("diffEditor.moveActive.border","#FFA500",(0,T.kg)(154,"The active border color for text that got moved in the diff editor.")),(0,y.x1)("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"}
91,(0,T.kg)(155,"The color of the shadow around unchanged region widgets."));const c=(0,o.pU)("diff-insert",v.W.add,(0,T.kg)(156,"Line decoration for inserts in the diff editor.")),a=(0,o.pU)("diff-remove",v.W.remove,(0,T.kg)(157,"Line decoration for removals in the diff editor.")),p=x.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+R.L.asClassName(c),marginClassName:"gutter-insert"}),_=x.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+R.L.asClassName(a),marginClassName:"gutter-delete"}),E=x.kI.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),S=x.kI.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),h=x.kI.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),D=x.kI.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),k=x.kI.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),N=x.kI.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),W=x.kI.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),U=x.kI.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"})},36813:(St,We,e)=>{e.d(We,{J:()=>y,h:()=>T});var v=e(73678),R=e(82399),x=e(96016);const T=(0,R.u1)("renameSymbolTrackerService");class y{constructor(){this._trackedWord=(0,x.FY)(this,void 0),this.trackedWord=this._trackedWord,this._trackedWord.set(void 0,void 0)}}},36887:(St,We,e)=>{var Be,M;var v=e(3765),R=e(44385),x=e(65958),T=e(78903),y=e(94327),A=e(10998),g=e(27992),L=e(13072),b=e(22467),C=e(85753),u=e(31540),i=e(46441),r=e(66638),d=e(50946),l=e(87301),o=e(28061),c=e(38122),a=e(90426),p=e(74403),_=e(66055),E=e(29849),S=e(37042),h=e(4647),D=e(18782),k=e(47317),N=function(Ve,Me,Le,_e){var Qe=arguments.length,je=Qe<3?Me:_e===null?_e=Object.getOwnPropertyDescriptor(Me,Le):_e,ae;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")je=Reflect.decorate(Ve,Me,Le,_e);else for(var Ee=Ve.length-1;Ee>=0;Ee--)(ae=Ve[Ee])&&(je=(Qe<3?ae(je):Qe>3?ae(Me,Le,je):ae(Me,Le))||je);return Qe>3&&je&&Object.defineProperty(Me,Le,je),je},W=function(Ve,Me){return function(Le,_e){Me(Le,_e,Ve)}};class U{constructor(){this.selector={language:"*"}}provideDocumentHighlights(Me,Le,_e){if(Me.isDisposed())return;const Qe=[],je=Me.getWordAtPosition({lineNumber:Le.lineNumber,column:Le.column});return je?Me.findMatches(je.word,!0,!1,!0,D.J3,!1).map(Ee=>({range:Ee.range,kind:k.Kb.Text})):Promise.resolve(Qe)}provideMultiDocumentHighlights(Me,Le,_e,Qe){if(Me.isDisposed())return;const je=new g.fT,ae=Me.getWordAtPosition({lineNumber:Le.lineNumber,column:Le.column});if(!ae)return Promise.resolve(je);for(const Ee of[Me,..._e]){if(Ee.isDisposed())continue;const Ue=Ee.findMatches(ae.word,!0,!1,!0,D.J3,!1).map($e=>({range:$e.range,kind:k.Kb.Text}));Ue&&je.set(Ee.uri,Ue)}return je}}let $=class extends A.jG{constructor(Me){super(),this._register(Me.documentHighlightProvider.register("*",new U)),this._register(Me.multiDocumentHighlightProvider.register("*",new U))}};$=N([W(0,E.u)],$);var te=function(Ve,Me,Le,_e){var Qe=arguments.length,je=Qe<3?Me:_e===null?_e=Object.getOwnPropertyDescriptor(Me,Le):_e,ae;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")je=Reflect.decorate(Ve,Me,Le,_e);else for(var Ee=Ve.length-1;Ee>=0;Ee--)(ae=Ve[Ee])&&(je=(Qe<3?ae(je):Qe>3?ae(Me,Le,je):ae(Me,Le))||je);return Qe>3&&je&&Object.defineProperty(Me,Le,je),je},ne=function(Ve,Me){return function(Le,_e){Me(Le,_e,Ve)}},V,I;const H=new u.N1("hasWordHighlights",!1);function Z(Ve,Me,Le,_e){const Qe=Ve.ordered(Me);return(0,x.$1)(Qe.map(je=>()=>Promise.resolve(je.provideDocumentHighlights(Me,Le,_e)).then(void 0,y.M_)),je=>je!=null).then(je=>{if(je){const ae=new g.fT;return ae.set(Me.uri,je),ae}return new g.fT})}function X(Ve,Me,Le,_e,Qe){const je=Ve.ordered(Me);return(0,x.$1)(je.map(ae=>()=>{const Ee=Qe.filter(Ie=>(0,_.vd)(Ie)).filter(Ie=>(0,p.f)(ae.selector,Ie.uri,Ie.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(ae.provideMultiDocumentHighlights(Me,Le,Ee,_e)).then(void 0,y.M_)}),ae=>ae!=null)}class G{constructor(Me,Le,_e){this._model=Me,this._selection=Le,this._wordSeparators=_e,this._wordRange=this._getCurrentWordRange(Me,Le),this._result=null}get result(){return this._result||(this._result=(0,x.SS)(Me=>this._compute(this._model,this._selection,this._wordSeparators,Me))),this._result}_getCurrentWordRange(Me,Le){const _e=Me.getWordAtPosition(Le.getPosition());return _e?new o.Q(Le.startLineNumber,_e.startColumn,Le.startLineNumber,_e.endColumn):null}cancel(){this.result.cancel()}}class Y extends G{constructor(Me,Le,_e,Qe){super(Me,Le,_e),this._providers=Qe}_compute(Me,Le,_e,Qe){return Z(this._providers,Me,Le.getPosition(),Qe).then(je=>je||new g.fT)}}class j extends G{constructor(Me,Le,_e,Qe,je){super(Me,Le,_e),this._providers=Qe,this._otherModels=je}_compute(Me,Le,_e,Qe){return X(this._providers,Me,Le.getPosition(),Qe,this._otherModels).then(je=>je||new g.fT)}}function z(Ve,Me,Le,_e){return new Y(Me,Le,_e,Ve)}function ie(Ve,Me,Le,_e,Qe){return new j(Me,Le,_e,Ve,Qe)}(0,d.ke)("_executeDocumentHighlights",async(Ve,Me,Le)=>{const _e=Ve.get(E.u);return(await Z(_e.documentHighlightProvider,Me,Le,T.XO.None))?.get(Me.uri)});let re=(Be=class{constructor(Me,Le,_e,Qe,je,ae,Ee,Ie){this.toUnhook=new A.Cm,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new g.fT,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,this.runDelayer=this.toUnhook.add(new x.ve(50)),this.editor=Me,this.providers=Le,this.multiDocumentProviders=_e,this.co
91deEditorService=ae,this.textModelService=je,this.configurationService=Ee,this.logService=Ie,this._hasWordHighlights=H.bindTo(Qe),this._ignorePositionChangeEvent=!1,this.occurrencesHighlightEnablement=this.editor.getOption(90),this.occurrencesHighlightDelay=this.configurationService.getValue("editor.occurrencesHighlightDelay"),this.model=this.editor.getModel(),this.toUnhook.add(Me.onDidChangeCursorPosition(Ue=>{this._ignorePositionChangeEvent||this.occurrencesHighlightEnablement!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(Ue)}).catch(y.dz)})),this.toUnhook.add(Me.onDidFocusEditorText(Ue=>{this.occurrencesHighlightEnablement!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}).catch(y.dz))})),this.toUnhook.add(Me.onDidChangeModelContent(Ue=>{(0,L.v$)(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(Me.onDidChangeModel(Ue=>{!Ue.newModelUrl&&Ue.oldModelUrl?this._stopSingular():V.query&&this._run()})),this.toUnhook.add(Me.onDidChangeConfiguration(Ue=>{const $e=this.editor.getOption(90);if(this.occurrencesHighlightEnablement!==$e)switch(this.occurrencesHighlightEnablement=$e,$e){case"off":this._stopAll();break;case"singleFile":this._stopAll(V.query?.modelInfo?.modelURI);break;case"multiFile":V.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",$e);break}})),this.toUnhook.add(this.configurationService.onDidChangeConfiguration(Ue=>{if(Ue.affectsConfiguration("editor.occurrencesHighlightDelay")){const $e=Ee.getValue("editor.occurrencesHighlightDelay");this.occurrencesHighlightDelay!==$e&&(this.occurrencesHighlightDelay=$e)}})),this.toUnhook.add(Me.onDidBlurEditorWidget(()=>{const Ue=this.codeEditorService.getFocusedCodeEditor();Ue?Ue.getModel()?.uri.scheme===L.ny.vscodeNotebookCell&&this.editor.getModel()?.uri.scheme!==L.ny.vscodeNotebookCell&&this._stopAll():this._stopAll()})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=void 0,V.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(Me){this.occurrencesHighlightEnablement!=="off"&&(this.runDelayer.cancel(),this.runDelayer.trigger(()=>{this._run(!1,Me)}).catch(y.dz))}stop(){this.occurrencesHighlightEnablement!=="off"&&this._stopAll()}_getSortedHighlights(){return this.decorations.getRanges().sort(o.Q.compareRangesUsingStarts)}moveNext(){const Me=this._getSortedHighlights(),_e=(Me.findIndex(je=>je.containsPosition(this.editor.getPosition()))+1)%Me.length,Qe=Me[_e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(Qe.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(Qe);const je=this._getWord();if(je){const ae=this.editor.getModel().getLineContent(Qe.startLineNumber);(0,R.xE)(`${ae}, ${_e+1} of ${Me.length} for '${je.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const Me=this._getSortedHighlights(),_e=(Me.findIndex(je=>je.containsPosition(this.editor.getPosition()))-1+Me.length)%Me.length,Qe=Me[_e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(Qe.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(Qe);const je=this._getWord();if(je){const ae=this.editor.getModel().getLineContent(Qe.startLineNumber);(0,R.xE)(`${ae}, ${_e+1} of ${Me.length} for '${je.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const Me=V.storedDecorationIDs.get(this.editor.getModel().uri);Me&&(this.editor.removeDecorations(Me),V.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(Me){const Le=this.codeEditorService.listCodeEditors(),_e=[];for(const Qe of Le){if(!Qe.hasModel()||(0,b.n4)(Qe.getModel().uri,Me))continue;const je=V.storedDecorationIDs.get(Qe.getModel().uri);if(!je)continue;Qe.removeDecorations(je),_e.push(Qe.getModel().uri);const ae=de.get(Qe);ae?.wordHighlighter&&ae.wordHighlighter.decorations.length>0&&(ae.wordHighlighter.decorations.clear(),ae.wordHighlighter.workerRequest=null,ae.wordHighlighter._hasWordHighlights.set(!1))}for(const Qe of _e)V.storedDecorationIDs.delete(Qe)}_stopSingular(){this._removeSingleDecorations(),this.editor.hasTextFocus()&&(this.editor.getModel()?.uri.scheme!==L.ny.vscodeNotebookCell&&V.query?.modelInfo?.modelURI.scheme!==L.ny.vscodeNotebookCell?(V.query=null,this._run()):V.query?.modelInfo&&(V.query.modelInfo=null)),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(Me){this._removeAllDecorations(Me),this.renderDecorationsTimer!==void 0&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=void 0),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(Me){if(this.occurrencesHighlightEnablement==="off"){this._stopAll();return}if(Me.source!=="api"&&Me.reason!==3){this._stopAll();return}this._run()}_getWord(){const Me=this.editor.getSelection(),Le=Me.startLineNumber,_e=Me.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:Le,column:_e})}getOtherModelsToHighlight(Me){if(!Me)return[];if(Me.uri.scheme===L.ny.vscodeNotebookCell){const je=[],ae=this.codeEditorService.listCodeEditors();for(const Ee of ae){const Ie=Ee.getModel();
91Ie&&Ie!==Me&&Ie.uri.scheme===L.ny.vscodeNotebookCell&&je.push(Ie)}return je}const _e=[],Qe=this.codeEditorService.listCodeEditors();for(const je of Qe){if(!(0,r.Np)(je))continue;const ae=je.getModel();ae&&Me===ae.modified&&_e.push(ae.modified)}if(_e.length)return _e;if(this.occurrencesHighlightEnablement==="singleFile")return[];for(const je of Qe){const ae=je.getModel();ae&&ae!==Me&&_e.push(ae)}return _e}async _run(Me,Le){if(this.editor.hasTextFocus()){const Qe=this.editor.getSelection();if(!Qe||Qe.startLineNumber!==Qe.endLineNumber){V.query=null,this._stopAll();return}const je=Qe.startColumn,ae=Qe.endColumn,Ee=this._getWord();if(!Ee||Ee.startColumn>je||Ee.endColumn<ae){V.query=null,this._stopAll();return}V.query={modelInfo:{modelURI:this.model.uri,selection:Qe}}}else if(!V.query){this._stopAll();return}if(this.lastCursorPositionChangeTime=new Date().getTime(),(0,b.n4)(this.editor.getModel().uri,V.query.modelInfo?.modelURI)){if(!Me){const Ee=this.decorations.getRanges();for(const Ie of Ee)if(Ie.containsPosition(this.editor.getPosition()))return}this._stopAll(Me?this.model.uri:void 0);const Qe=++this.workerRequestTokenId;this.workerRequestCompleted=!1;const je=this.getOtherModelsToHighlight(this.editor.getModel());if(!V.query||!V.query.modelInfo)return;const ae=await this.textModelService.createModelReference(V.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(ae.object.textEditorModel,V.query.modelInfo.selection,je),this.workerRequest?.result.then(Ee=>{Qe===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=Ee||[],this._beginRenderDecorations(Le??this.occurrencesHighlightDelay))},y.dz)}catch(Ee){this.logService.error("Unexpected error during occurrence request. Log: ",Ee)}finally{ae.dispose()}}else if(this.model.uri.scheme===L.ny.vscodeNotebookCell){const Qe=++this.workerRequestTokenId;if(this.workerRequestCompleted=!1,!V.query||!V.query.modelInfo)return;const je=await this.textModelService.createModelReference(V.query.modelInfo.modelURI);try{this.workerRequest=this.computeWithModel(je.object.textEditorModel,V.query.modelInfo.selection,[this.model]),this.workerRequest?.result.then(ae=>{Qe===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=ae||[],this._beginRenderDecorations(Le??this.occurrencesHighlightDelay))},y.dz)}catch(ae){this.logService.error("Unexpected error during occurrence request. Log: ",ae)}finally{je.dispose()}}}computeWithModel(Me,Le,_e){return _e.length?ie(this.multiDocumentProviders,Me,Le,this.editor.getOption(148),_e):z(this.providers,Me,Le,this.editor.getOption(148))}_beginRenderDecorations(Me){const Le=new Date().getTime(),_e=this.lastCursorPositionChangeTime+Me;Le>=_e?(this.renderDecorationsTimer=void 0,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},_e-Le)}renderDecorations(){this.renderDecorationsTimer=void 0;const Me=this.codeEditorService.listCodeEditors();for(const Le of Me){const _e=de.get(Le);if(!_e)continue;const Qe=[],je=Le.getModel()?.uri;if(je&&this.workerRequestValue.has(je)){const ae=V.storedDecorationIDs.get(je),Ee=this.workerRequestValue.get(je);if(Ee)for(const Ue of Ee)Ue.range&&Qe.push({range:Ue.range,options:(0,h.P)(Ue.kind)});let Ie=[];Le.changeDecorations(Ue=>{Ie=Ue.deltaDecorations(ae??[],Qe)}),V.storedDecorationIDs=V.storedDecorationIDs.set(je,Ie),Qe.length>0&&(_e.wordHighlighter?.decorations.set(Qe),_e.wordHighlighter?._hasWordHighlights.set(!0))}}this.workerRequest=null}dispose(){this._stopSingular(),this.toUnhook.dispose()}},V=Be,Be.storedDecorationIDs=new g.fT,Be.query=null,Be);re=V=te([ne(4,S.b),ne(5,l.T),ne(6,C.pG),ne(7,i.rr)],re);let de=(M=class extends A.jG{static get(Me){return Me.getContribution(I.ID)}constructor(Me,Le,_e,Qe,je,ae,Ee){super(),this._wordHighlighter=null;const Ie=()=>{Me.hasModel()&&!Me.getModel().isTooLargeForTokenization()&&Me.getModel().uri.scheme!==L.ny.accessibleView&&(this._wordHighlighter=new re(Me,_e.documentHighlightProvider,_e.multiDocumentHighlightProvider,Le,je,Qe,ae,Ee))};this._register(Me.onDidChangeModel(Ue=>{this._wordHighlighter&&(!Ue.newModelUrl&&Ue.oldModelUrl?.scheme!==L.ny.vscodeNotebookCell&&this.wordHighlighter?.stop(),this._wordHighlighter.dispose(),this._wordHighlighter=null),Ie()})),Ie()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){this._wordHighlighter?.moveNext()}moveBack(){this._wordHighlighter?.moveBack()}restoreViewState(Me){this._wordHighlighter&&Me&&this._wordHighlighter.restore(250)}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},I=M,M.ID="editor.contrib.wordHighlighter",M);de=I=te([ne(1,u.fN),ne(2,E.u),ne(3,l.T),ne(4,S.b),ne(5,C.pG),ne(6,i.rr)],de);class le extends d.ks{constructor(Me,Le){super(Le),this._isNext=Me}run(Me,Le){const _e=de.get(Le);_e&&(this._isNext?_e.moveNext():_e.moveBack())}}class he extends le{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:(0,v.aS)(1624,"Go to Next Symbol Highlight"),precondition:H,kbOpts:{kbExpr:c.R.editorTextFocus,primary:65,weight:100}})}}class we extends le{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:(0,v.aS)(1625,"Go to Previous Symbol Highlight"),precondition:H,kbOpts:{kbExpr:c.R.editorTextFocus,primary:1089,weight:100}})}}class xe extends d.ks{constructor(){super({id:"editor.action.wordHighlight.trigger",label:(0,v.aS)(1626,"Trigger Symbol Highlight"),precondition:void 0,kbOpts:{kbExpr:c.R.editorTextFocus,primary:0,weight:100}})}run(Me,Le){const _e=de.get(Le);_e&&_e.restoreViewState(!0)}}(0,d.HW)(de.ID,de,0),(0,d.Fl)(he),(0,d.Fl)(we),(0,d.Fl)(xe),(0,a.x)($)},36930:(St,We,e)=>{e.d(We,{Mh:()=>Yn,Gc:()=>Sn});var v=e(94327),R=e(90028),x=e(24594),T=e(94664),y=e(10998);function A(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let g=A();function L(ci){g=ci}const b=/[&<>"']/,C=new RegExp(b.source,"g"),u=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,i=new RegExp(u.source,"g"),r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},d=ci=>r[ci];function l(ci,ut){if(ut){if(b.test(ci))return ci.replace(C,d)}else if(u.test(ci))return ci.replace(i,d);return ci}const o=/(^|[^\[])\^/g;
91function c(ci,ut){let Rt=typeof ci=="string"?ci:ci.source;ut=ut||"";const xt={replace:(Ot,Qt)=>{let ai=typeof Qt=="string"?Qt:Qt.source;return ai=ai.replace(o,"$1"),Rt=Rt.replace(Ot,ai),xt},getRegex:()=>new RegExp(Rt,ut)};return xt}function a(ci){try{ci=encodeURI(ci).replace(/%25/g,"%")}catch{return null}return ci}const p={exec:()=>null};function _(ci,ut){const Rt=ci.replace(/\|/g,(Qt,ai,gi)=>{let Ki=!1,Zi=ai;for(;--Zi>=0&&gi[Zi]==="\\";)Ki=!Ki;return Ki?"|":" |"}),xt=Rt.split(/ \|/);let Ot=0;if(xt[0].trim()||xt.shift(),xt.length>0&&!xt[xt.length-1].trim()&&xt.pop(),ut)if(xt.length>ut)xt.splice(ut);else for(;xt.length<ut;)xt.push("");for(;Ot<xt.length;Ot++)xt[Ot]=xt[Ot].trim().replace(/\\\|/g,"|");return xt}function E(ci,ut,Rt){const xt=ci.length;if(xt===0)return"";let Ot=0;for(;Ot<xt&&ci.charAt(xt-Ot-1)===ut;)Ot++;return ci.slice(0,xt-Ot)}function S(ci,ut){if(ci.indexOf(ut[1])===-1)return-1;let Rt=0;for(let xt=0;xt<ci.length;xt++)if(ci[xt]==="\\")xt++;else if(ci[xt]===ut[0])Rt++;else if(ci[xt]===ut[1]&&(Rt--,Rt<0))return xt;return-1}function h(ci,ut,Rt,xt){const Ot=ut.href,Qt=ut.title?l(ut.title):null,ai=ci[1].replace(/\\([\[\]])/g,"$1");if(ci[0].charAt(0)!=="!"){xt.state.inLink=!0;const gi={type:"link",raw:Rt,href:Ot,title:Qt,text:ai,tokens:xt.inlineTokens(ai)};return xt.state.inLink=!1,gi}return{type:"image",raw:Rt,href:Ot,title:Qt,text:l(ai)}}function D(ci,ut){const Rt=ci.match(/^(\s+)(?:```)/);if(Rt===null)return ut;const xt=Rt[1];return ut.split(`
92`).map(Ot=>{const Qt=Ot.match(/^\s+/);if(Qt===null)return Ot;const[ai]=Qt;return ai.length>=xt.length?Ot.slice(xt.length):Ot}).join(`
93`)}class k{options;rules;lexer;constructor(ut){this.options=ut||g}space(ut){const Rt=this.rules.block.newline.exec(ut);if(Rt&&Rt[0].length>0)return{type:"space",raw:Rt[0]}}code(ut){const Rt=this.rules.block.code.exec(ut);if(Rt){const xt=Rt[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Rt[0],codeBlockStyle:"indented",text:this.options.pedantic?xt:E(xt,`
94`)}}}fences(ut){const Rt=this.rules.block.fences.exec(ut);if(Rt){const xt=Rt[0],Ot=D(xt,Rt[3]||"");return{type:"code",raw:xt,lang:Rt[2]?Rt[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Rt[2],text:Ot}}}heading(ut){const Rt=this.rules.block.heading.exec(ut);if(Rt){let xt=Rt[2].trim();if(/#$/.test(xt)){const Ot=E(xt,"#");(this.options.pedantic||!Ot||/ $/.test(Ot))&&(xt=Ot.trim())}return{type:"heading",raw:Rt[0],depth:Rt[1].length,text:xt,tokens:this.lexer.inline(xt)}}}hr(ut){const Rt=this.rules.block.hr.exec(ut);if(Rt)return{type:"hr",raw:E(Rt[0],`
95`)}}blockquote(ut){const Rt=this.rules.block.blockquote.exec(ut);if(Rt){let xt=E(Rt[0],`
96`).split(`
97`),Ot="",Qt="";const ai=[];for(;xt.length>0;){let gi=!1;const Ki=[];let Zi;for(Zi=0;Zi<xt.length;Zi++)if(/^ {0,3}>/.test(xt[Zi]))Ki.push(xt[Zi]),gi=!0;else if(!gi)Ki.push(xt[Zi]);else break;xt=xt.slice(Zi);const bi=Ki.join(`
98`),ot=bi.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
99    $1`).replace(/^ {0,3}>[ \t]?/gm,"");Ot=Ot?`${Ot}
100${bi}`:bi,Qt=Qt?`${Qt}
101${ot}`:ot;const ge=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(ot,ai,!0),this.lexer.state.top=ge,xt.length===0)break;const Ze=ai[ai.length-1];if(Ze?.type==="code")break;if(Ze?.type==="blockquote"){const at=Ze,Et=at.raw+`
102`+xt.join(`
103`),Ft=this.blockquote(Et);ai[ai.length-1]=Ft,Ot=Ot.substring(0,Ot.length-at.raw.length)+Ft.raw,Qt=Qt.substring(0,Qt.length-at.text.length)+Ft.text;break}else if(Ze?.type==="list"){const at=Ze,Et=at.raw+`
104`+xt.join(`
105`),Ft=this.list(Et);ai[ai.length-1]=Ft,Ot=Ot.substring(0,Ot.length-Ze.raw.length)+Ft.raw,Qt=Qt.substring(0,Qt.length-at.raw.length)+Ft.raw,xt=Et.substring(ai[ai.length-1].raw.length).split(`
106`);continue}}return{type:"blockquote",raw:Ot,tokens:ai,text:Qt}}}list(ut){let Rt=this.rules.block.list.exec(ut);if(Rt){let xt=Rt[1].trim();const Ot=xt.length>1,Qt={type:"list",raw:"",ordered:Ot,start:Ot?+xt.slice(0,-1):"",loose:!1,items:[]};xt=Ot?`\\d{1,9}\\${xt.slice(-1)}`:`\\${xt}`,this.options.pedantic&&(xt=Ot?xt:"[*+-]");const ai=new RegExp(`^( {0,3}${xt})((?:[	 ][^\\n]*)?(?:\\n|$))`);let gi=!1;for(;ut;){let Ki=!1,Zi="",bi="";if(!(Rt=ai.exec(ut))||this.rules.block.hr.test(ut))break;Zi=Rt[0],ut=ut.substring(Zi.length);let ot=Rt[2].split(`
107`,1)[0].replace(/^\t+/,qt=>" ".repeat(3*qt.length)),ge=ut.split(`
108`,1)[0],Ze=!ot.trim(),at=0;if(this.options.pedantic?(at=2,bi=ot.trimStart()):Ze?at=Rt[1].length+1:(at=Rt[2].search(/[^ ]/),at=at>4?1:at,bi=ot.slice(at),at+=Rt[1].length),Ze&&/^ *$/.test(ge)&&(Zi+=ge+`
109`,ut=ut.substring(ge.length+1),Ki=!0),!Ki){const qt=new RegExp(`^ {0,${Math.min(3,at-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),Li=new RegExp(`^ {0,${Math.min(3,at-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),Ni=new RegExp(`^ {0,${Math.min(3,at-1)}}(?:\`\`\`|~~~)`),xi=new RegExp(`^ {0,${Math.min(3,at-1)}}#`);for(;ut;){const Ci=ut.split(`
110`,1)[0];if(ge=Ci,this.options.pedantic&&(ge=ge.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),Ni.test(ge)||xi.test(ge)||qt.test(ge)||Li.test(ut))break;if(ge.search(/[^ ]/)>=at||!ge.trim())bi+=`
111`+ge.slice(at);else{if(Ze||ot.search(/[^ ]/)>=4||Ni.test(ot)||xi.test(ot)||Li.test(ot))break;bi+=`
112`+ge}!Ze&&!ge.trim()&&(Ze=!0),Zi+=Ci+`
113`,ut=ut.substring(Ci.length+1),ot=ge.slice(at)}}Qt.loose||(gi?Qt.loose=!0:/\n *\n *$/.test(Zi)&&(gi=!0));let Et=null,Ft;this.options.gfm&&(Et=/^\[[ xX]\] /.exec(bi),Et&&(Ft=Et[0]!=="[ ] ",bi=bi.replace(/^\[[ xX]\] +/,""))),Qt.items.push({type:"list_item",raw:Zi,task:!!Et,checked:Ft,loose:!1,text:bi,tokens:[]}),Qt.raw+=Zi}Qt.items[Qt.items.length-1].raw=Qt.items[Qt.items.length-1].raw.trimEnd(),Qt.items[Qt.items.length-1].text=Qt.items[Qt.items.length-1].text.trimEnd(),Qt.raw=Qt.raw.trimEnd();for(let Ki=0;Ki<Qt.items.length;Ki++)if(this.lexer.state.top=!1,Qt.items[Ki].tokens=this.lexer.blockTokens(Qt.items[Ki].text,[]),!Qt.loose){const Zi=Qt.items[Ki].tokens.filter(ot=>ot.type==="space"),bi=Zi.length>0&&Zi.some(ot=>/\n.*\n/.test(ot.raw));Qt.loose=bi}if(Qt.loose)for(let Ki=0;Ki<Qt.items.length;Ki++)Qt.items[Ki].loose=!0;return Qt}}html(ut){const Rt=this.rules.block.html.exec(ut);if(Rt)return{type:"html",block:!0,raw:Rt[0],pre:Rt[1]==="pre"||Rt[1]==="script"||Rt[1]==="style",text:Rt[0]}}def(ut){const Rt=this.rules.block.def.exec(ut);if(Rt){const xt=Rt[1].toLowerCase().replace(/\s+/g," "),Ot=Rt[2]?Rt[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",Qt=Rt[3]?Rt[3].substring(1,Rt[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Rt[3];return{type:"def",tag:xt,raw:Rt[0],href:Ot,title:Qt}}}table(ut){const Rt=this.rules.block.table.exec(ut);if(!Rt||!/[:|]/.test(Rt[2]))return;const xt=_(Rt[1]),Ot=Rt[2].replace(/^\||\| *$/g,"").split("|"),Qt=Rt[3]&&Rt[3].trim()?Rt[3].replace(/\n[ \t]*$/,"").split(`
114`):[],ai={type:"table",raw:Rt[0],header:[],align:[],rows:[]};if(xt.length===Ot.length){for(const gi of Ot)/^ *-+: *$/.test(gi)?ai.align.push("right"):/^ *:-+: *$/.test(gi)?ai.align.push("center"):/^ *:-+ *$/.test(gi)?ai.align.push("left"):ai.align.push(null);for(let gi=0;gi<xt.length;gi++)ai.header.push({text:xt[gi],tokens:this.lexer.inline(xt[gi]),header:!0,align:ai.align[gi]});for(const gi of Qt)ai.rows.push(_(gi,ai.header.length).map((Ki,Zi)=>({text:Ki,tokens:this.lexer.inline(Ki),header:!1,align:ai.align[Zi]})));return ai}}lheading(ut){const Rt=this.rules.block.lheading.exec(ut);if(Rt)return{type:"heading",raw:Rt[0],depth:Rt[2].charAt(0)==="="?1:2,text:Rt[1],tokens:this.lexer.inline(Rt[1])}}paragraph(ut){const Rt=this.rules.block.paragraph.exec(ut);if(Rt){const xt=Rt[1].charAt(Rt[1].length-1)===`
115`?Rt[1].slice(0,-1):Rt[1];return{type:"paragraph",raw:Rt[0],text:xt,tokens:this.lexer.inline(xt)}}}text(ut){const Rt=this.rules.block.text.exec(ut);if(Rt)return{type:"text",raw:Rt[0],text:Rt[0],tokens:this.lexer.inline(Rt[0])}}escape(ut){const Rt=this.rules.inline.escape.exec(ut);if(Rt)return{type:"escape",raw:Rt[0],text:l(Rt[1])}}tag(ut){const Rt=this.rules.inline.tag.exec(ut);if(Rt)return!this.lexer.state.inLink&&/^<a /i.test(Rt[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(Rt[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Rt[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Rt[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:Rt[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:Rt[0]}}link(ut){const Rt=this.rules.inline.link.exec(ut);if(Rt){const xt=Rt[2].trim();if(!this.options.pedantic&&/^</.test(xt)){if(!/>$/.test(xt))return;const ai=E(xt.slice(0,-1),"\\");if((xt.length-ai.length)%2===0)return}else{const ai=S(Rt[2],"()");if(ai>-1){const Ki=(Rt[0].indexOf("!")===0?5:4)+Rt[1].length+ai;Rt[2]=Rt[2].substring(0,ai),Rt[0]=Rt[0].substring(0,Ki).trim(),Rt[3]=""}}let Ot=Rt[2],Qt="";if(this.options.pedantic){const ai=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ot);ai&&(Ot=ai[1],Qt=ai[3])}else Qt=Rt[3]?Rt[3].slice(1,-1):"";return Ot=Ot.trim(),/^</.test(Ot)&&(this.options.pedantic&&!/>$/.test(xt)?Ot=Ot.slice(1):Ot=Ot.slice(1,-1)),h(Rt,{href:Ot&&Ot.replace(this.rules.inline.anyPunctuation,"$1"),title:Qt&&Qt.replace(this.rules.inline.anyPunctuation,"$1")},Rt[0],this.lexer)}}reflink(ut,Rt){let xt;if((xt=this.rules.inline.reflink.exec(ut))||(xt=this.rules.inline.nolink.exec(ut))){const Ot=(xt[2]||xt[1]).replace(/\s+/g," "),Qt=Rt[Ot.toLowerCase()];if(!Qt){const ai=xt[0].charAt(0);return{type:"text",raw:ai,text:ai}}return h(xt,Qt,xt[0],this.lexer)}}emStrong(ut,Rt,xt=""){let Ot=this.rules.inline.emStrongLDelim.exec(ut);if(!Ot||Ot[3]&&xt.match(/[\p{L}\p{N}]/u))return;if(!(Ot[1]||Ot[2]||"")||!xt||this.rules.inline.punctuation.exec(xt)){const ai=[...Ot[0]].length-1;let gi,Ki,Zi=ai,bi=0;const ot=Ot[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(ot.lastIndex=0,Rt=Rt.slice(-1*ut.length+ai);(Ot=ot.exec(Rt))!=null;){if(gi=Ot[1]||Ot[2]||Ot[3]||Ot[4]||Ot[5]||Ot[6],!gi)continue;if(Ki=[...gi].length,Ot[3]||Ot[4]){Zi+=Ki;continue}else if((Ot[5]||Ot[6])&&ai%3&&!((ai+Ki)%3)){bi+=Ki;continue}if(Zi-=Ki,Zi>0)continue;Ki=Math.min(Ki,Ki+Zi+bi);const ge=[...Ot[0]][0].length,Ze=ut.slice(0,ai+Ot.index+ge+Ki);
115if(Math.min(ai,Ki)%2){const Et=Ze.slice(1,-1);return{type:"em",raw:Ze,text:Et,tokens:this.lexer.inlineTokens(Et)}}const at=Ze.slice(2,-2);return{type:"strong",raw:Ze,text:at,tokens:this.lexer.inlineTokens(at)}}}}codespan(ut){const Rt=this.rules.inline.code.exec(ut);if(Rt){let xt=Rt[2].replace(/\n/g," ");const Ot=/[^ ]/.test(xt),Qt=/^ /.test(xt)&&/ $/.test(xt);return Ot&&Qt&&(xt=xt.substring(1,xt.length-1)),xt=l(xt,!0),{type:"codespan",raw:Rt[0],text:xt}}}br(ut){const Rt=this.rules.inline.br.exec(ut);if(Rt)return{type:"br",raw:Rt[0]}}del(ut){const Rt=this.rules.inline.del.exec(ut);if(Rt)return{type:"del",raw:Rt[0],text:Rt[2],tokens:this.lexer.inlineTokens(Rt[2])}}autolink(ut){const Rt=this.rules.inline.autolink.exec(ut);if(Rt){let xt,Ot;return Rt[2]==="@"?(xt=l(Rt[1]),Ot="mailto:"+xt):(xt=l(Rt[1]),Ot=xt),{type:"link",raw:Rt[0],text:xt,href:Ot,tokens:[{type:"text",raw:xt,text:xt}]}}}url(ut){let Rt;if(Rt=this.rules.inline.url.exec(ut)){let xt,Ot;if(Rt[2]==="@")xt=l(Rt[0]),Ot="mailto:"+xt;else{let Qt;do Qt=Rt[0],Rt[0]=this.rules.inline._backpedal.exec(Rt[0])?.[0]??"";while(Qt!==Rt[0]);xt=l(Rt[0]),Rt[1]==="www."?Ot="http://"+Rt[0]:Ot=Rt[0]}return{type:"link",raw:Rt[0],text:xt,href:Ot,tokens:[{type:"text",raw:xt,text:xt}]}}}inlineText(ut){const Rt=this.rules.inline.text.exec(ut);if(Rt){let xt;return this.lexer.state.inRawBlock?xt=Rt[0]:xt=l(Rt[0]),{type:"text",raw:Rt[0],text:xt}}}}const N=/^(?: *(?:\n|$))+/,W=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,U=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,te=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ne=/(?:[*+-]|\d{1,9}[.)])/,V=c(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,ne).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),I=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,H=/^[^\n]+/,Z=/(?!\s*\])(?:\\.|[^\[\]\\])+/,X=c(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",Z).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),G=c(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,ne).getRegex(),Y="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",j=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,z=c("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",j).replace("tag",Y).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ie=c(I).replace("hr",$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Y).getRegex(),de={blockquote:c(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ie).getRegex(),code:W,def:X,fences:U,heading:te,hr:$,html:z,lheading:V,list:G,newline:N,paragraph:ie,table:p,text:H},le=c("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Y).getRegex(),he
vendor: 5,327 bytes, lines 115-117
115={...de,table:le,paragraph:c(I).replace("hr",$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",le).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Y).getRegex()},we={...de,html:c(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",j).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:p,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:c(I).replace("hr",$).replace("heading",` *#{1,6} *[^
116]`).replace("lheading",V).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},xe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Be=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,M=/^( {2,}|\\)\n(?!\s*$)/,Ve=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Me="\\p{P}\\p{S}",Le=c(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Me).getRegex(),_e=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,Qe=c(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Me).getRegex(),je=c("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Me).getRegex(),ae=c("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Me).getRegex(),Ee=c(/\\([punct])/,"gu").replace(/punct/g,Me).getRegex(),Ie=c(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ue=c(j).replace("(?:-->|$)","-->").getRegex(),$e=c("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Ue).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ye=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ce=c(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",Ye).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),He=c(/^!?\[(label)\]\[(ref)\]/).replace("label",Ye).replace("ref",Z).getRegex(),Ke=c(/^!?\[(ref)\](?:\[\])?/).replace("ref",Z).getRegex(),qe=c("reflink|nolink(?!\\()","g").replace("reflink",He).replace("nolink",Ke).getRegex(),ht={_backpedal:p,anyPunctuation:Ee,autolink:Ie,blockSkip:_e,br:M,code:Be,del:p,emStrongLDelim:Qe,emStrongRDelimAst:je,emStrongRDelimUnd:ae,escape:xe,link:Ce,nolink:Ke,punctuation:Le,reflink:He,reflinkSearch:qe,tag:$e,text:Ve,url:p},Te={...ht,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",Ye).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ye).getRegex()},oe={...ht,escape:c(xe).replace("])","~|])").getRegex(),url:c(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},q={...oe,br:c(M).replace("{2,}","*").getRegex(),text:c(oe.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ue={normal:de,gfm:he,pedantic:we},J={normal:ht,gfm:oe,breaks:q,pedantic:Te};class ve{tokens;options;state;tokenizer;inlineQueue;constructor(ut){this.tokens=[],this.tokens.links=Object.create(null),this.options=ut||g,this.options.tokenizer=this.options.tokenizer||new k,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const Rt={block:ue.normal,inline:J.normal};this.options.pedantic?(Rt.block=ue.pedantic,Rt.inline=J.pedantic):this.options.gfm&&(Rt.block=ue.gfm,this.options.breaks?Rt.inline=J.breaks:Rt.inline=J.gfm),this.tokenizer.rules=Rt}static get rules(){return{block:ue,inline:J}}static lex(ut,Rt){return new ve(Rt).lex(ut)}static lexInline(ut,Rt){return new ve(Rt).inlineTokens(ut)}lex(ut){ut=ut.replace(/\r\n|\r/g,`
117`),this.blockTokens(ut,this.tokens);for(let Rt=0;
117Rt<this.inlineQueue.length;Rt++){const xt=this.inlineQueue[Rt];this.inlineTokens(xt.src,xt.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(ut,Rt=[],xt=!1){this.options.pedantic?ut=ut.replace(/\t/g,"    ").replace(/^ +$/gm,""):ut=ut.replace(/^( *)(\t+)/gm,(gi,Ki,Zi)=>Ki+"    ".repeat(Zi.length));let Ot,Qt,ai;for(;ut;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(gi=>(Ot=gi.call({lexer:this},ut,Rt))?(ut=ut.substring(Ot.raw.length),Rt.push(Ot),!0):!1))){if(Ot=this.tokenizer.space(ut)){ut=ut.substring(Ot.raw.length),Ot.raw.length===1&&Rt.length>0?Rt[Rt.length-1].raw+=`
118`:Rt.push(Ot);continue}if(Ot=this.tokenizer.code(ut)){ut=ut.substring(Ot.raw.length),Qt=Rt[Rt.length-1],Qt&&(Qt.type==="paragraph"||Qt.type==="text")?(Qt.raw+=`
119`+Ot.raw,Qt.text+=`
120`+Ot.text,this.inlineQueue[this.inlineQueue.length-1].src=Qt.text):Rt.push(Ot);continue}if(Ot=this.tokenizer.fences(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.heading(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.hr(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.blockquote(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.list(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.html(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.def(ut)){ut=ut.substring(Ot.raw.length),Qt=Rt[Rt.length-1],Qt&&(Qt.type==="paragraph"||Qt.type==="text")?(Qt.raw+=`
121`+Ot.raw,Qt.text+=`
122`+Ot.raw,this.inlineQueue[this.inlineQueue.length-1].src=Qt.text):this.tokens.links[Ot.tag]||(this.tokens.links[Ot.tag]={href:Ot.href,title:Ot.title});continue}if(Ot=this.tokenizer.table(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(Ot=this.tokenizer.lheading(ut)){ut=ut.substring(Ot.raw.length),Rt.push(Ot);continue}if(ai=ut,this.options.extensions&&this.options.extensions.startBlock){let gi=1/0;const Ki=ut.slice(1);let Zi;this.options.extensions.startBlock.forEach(bi=>{Zi=bi.call({lexer:this},Ki),typeof Zi=="number"&&Zi>=0&&(gi=Math.min(gi,Zi))}),gi<1/0&&gi>=0&&(ai=ut.substring(0,gi+1))}if(this.state.top&&(Ot=this.tokenizer.paragraph(ai))){Qt=Rt[Rt.length-1],xt&&Qt?.type==="paragraph"?(Qt.raw+=`
123`+Ot.raw,Qt.text+=`
124`+Ot.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Qt.text):Rt.push(Ot),xt=ai.length!==ut.length,ut=ut.substring(Ot.raw.length);continue}if(Ot=this.tokenizer.text(ut)){ut=ut.substring(Ot.raw.length),Qt=Rt[Rt.length-1],Qt&&Qt.type==="text"?(Qt.raw+=`
125`+Ot.raw,Qt.text+=`
126`+Ot.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Qt.text):Rt.push(Ot);continue}if(ut){const gi="Infinite loop on byte: "+ut.charCodeAt(0);if(this.options.silent){console.error(gi);break}else throw new Error(gi)}}return this.state.top=!0,Rt}inline(ut,Rt=[]){return this.inlineQueue.push({src:ut,tokens:Rt}),Rt}inlineTokens(ut,Rt=[]){let xt,Ot,Qt,ai=ut,gi,Ki,Zi;if(this.tokens.links){const bi=Object.keys(this.tokens.links);if(bi.length>0)for(;(gi=this.tokenizer.rules.inline.reflinkSearch.exec(ai))!=null;)bi.includes(gi[0].slice(gi[0].lastIndexOf("[")+1,-1))&&(ai=ai.slice(0,gi.index)+"["+"a".repeat(gi[0].length-2)+"]"+ai.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(gi=this.tokenizer.rules.inline.blockSkip.exec(ai))!=null;)ai=ai.slice(0,gi.index)+"["+"a".repeat(gi[0].length-2)+"]"+ai.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(gi=this.tokenizer.rules.inline.anyPunctuation.exec(ai))!=null;)ai=ai.slice(0,gi.index)+"++"+ai.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;ut;)if(Ki||(Zi=""),Ki=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(bi=>(xt=bi.call({lexer:this},ut,Rt))?(ut=ut.substring(xt.raw.length),Rt.push(xt),!0):!1))){if(xt=this.tokenizer.escape(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.tag(ut)){ut=ut.substring(xt.raw.length),Ot=Rt[Rt.length-1],Ot&&xt.type==="text"&&Ot.type==="text"?(Ot.raw+=xt.raw,Ot.text+=xt.text):Rt.push(xt);continue}if(xt=this.tokenizer.link(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.reflink(ut,this.tokens.links)){ut=ut.substring(xt.raw.length),Ot=
126Rt[Rt.length-1],Ot&&xt.type==="text"&&Ot.type==="text"?(Ot.raw+=xt.raw,Ot.text+=xt.text):Rt.push(xt);continue}if(xt=this.tokenizer.emStrong(ut,ai,Zi)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.codespan(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.br(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.del(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(xt=this.tokenizer.autolink(ut)){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(!this.state.inLink&&(xt=this.tokenizer.url(ut))){ut=ut.substring(xt.raw.length),Rt.push(xt);continue}if(Qt=ut,this.options.extensions&&this.options.extensions.startInline){let bi=1/0;const ot=ut.slice(1);let ge;this.options.extensions.startInline.forEach(Ze=>{ge=Ze.call({lexer:this},ot),typeof ge=="number"&&ge>=0&&(bi=Math.min(bi,ge))}),bi<1/0&&bi>=0&&(Qt=ut.substring(0,bi+1))}if(xt=this.tokenizer.inlineText(Qt)){ut=ut.substring(xt.raw.length),xt.raw.slice(-1)!=="_"&&(Zi=xt.raw.slice(-1)),Ki=!0,Ot=Rt[Rt.length-1],Ot&&Ot.type==="text"?(Ot.raw+=xt.raw,Ot.text+=xt.text):Rt.push(xt);continue}if(ut){const bi="Infinite loop on byte: "+ut.charCodeAt(0);if(this.options.silent){console.error(bi);break}else throw new Error(bi)}}return Rt}}class De{options;parser;constructor(ut){this.options=ut||g}space(ut){return""}code({text:ut,lang:Rt,escaped:xt}){const Ot=(Rt||"").match(/^\S*/)?.[0],Qt=ut.replace(/\n$/,"")+`
127`;return Ot?'<pre><code class="language-'+l(Ot)+'">'+(xt?Qt:l(Qt,!0))+`</code></pre>
128`:"<pre><code>"+(xt?Qt:l(Qt,!0))+`</code></pre>
129`}blockquote({tokens:ut}){return`<blockquote>
130${this.parser.parse(ut)}</blockquote>
131`}html({text:ut}){return ut}heading({tokens:ut,depth:Rt}){return`<h${Rt}>${this.parser.parseInline(ut)}</h${Rt}>
132`}hr(ut){return`<hr>
133`}list(ut){const Rt=ut.ordered,xt=ut.start;let Ot="";for(let gi=0;gi<ut.items.length;gi++){const Ki=ut.items[gi];Ot+=this.listitem(Ki)}const Qt=Rt?"ol":"ul",ai=Rt&&xt!==1?' start="'+xt+'"':"";return"<"+Qt+ai+`>
134`+Ot+"</"+Qt+`>
135`}listitem(ut){let Rt="";if(ut.task){const xt=this.checkbox({checked:!!ut.checked});ut.loose?ut.tokens.length>0&&ut.tokens[0].type==="paragraph"?(ut.tokens[0].text=xt+" "+ut.tokens[0].text,ut.tokens[0].tokens&&ut.tokens[0].tokens.length>0&&ut.tokens[0].tokens[0].type==="text"&&(ut.tokens[0].tokens[0].text=xt+" "+ut.tokens[0].tokens[0].text)):ut.tokens.unshift({type:"text",raw:xt+" ",text:xt+" "}):Rt+=xt+" "}return Rt+=this.parser.parse(ut.tokens,!!ut.loose),`<li>${Rt}</li>
136`}checkbox({checked:ut}){return"<input "+(ut?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:ut}){return`<p>${this.parser.parseInline(ut)}</p>
137`}table(ut){let Rt="",xt="";for(let Qt=0;Qt<ut.header.length;Qt++)xt+=this.tablecell(ut.header[Qt]);Rt+=this.tablerow({text:xt});let Ot="";for(let Qt=0;Qt<ut.rows.length;Qt++){const ai=ut.rows[Qt];xt="";for(let gi=0;gi<ai.length;gi++)xt+=this.tablecell(ai[gi]);Ot+=this.tablerow({text:xt})}return Ot&&(Ot=`<tbody>${Ot}</tbody>`),`<table>
138<thead>
139`+Rt+`</thead>
140`+Ot+`</table>
141`}tablerow({text:ut}){return`<tr>
142${ut}</tr>
143`}tablecell(ut){const Rt=this.parser.parseInline(ut.tokens),xt=ut.header?"th":"td";return(ut.align?`<${xt} align="${ut.align}">`:`<${xt}>`)+Rt+`</${xt}>
144`}strong({tokens:ut}){return`<strong>${this.parser.parseInline(ut)}</strong>`}em({tokens:ut}){return`<em>${this.parser.parseInline(ut)}</em>`}codespan({text:ut}){return`<code>${ut}</code>`}br(ut){return"<br>"}del({tokens:ut}){return`<del>${this.parser.parseInline(ut)}</del>`}link({href:ut,title:Rt,tokens:xt}){const Ot=this.parser.parseInline(xt),Qt=a(ut);if(Qt===null)return Ot;ut=Qt;let ai='<a href="'+ut+'"';return Rt&&(ai+=' title="'+Rt+'"'),ai+=">"+Ot+"</a>",ai}image({href:ut,title:Rt,text:xt}){const Ot=a(ut);if(Ot===null)return xt;ut=Ot;let Qt=`<img src="${ut}" alt="${xt}"`;return Rt&&(Qt+=` title="${Rt}"`),Qt+=">",Qt}text(ut){return"tokens"in ut&&ut.tokens?this.parser.parseInline(ut.tokens):ut.text}}class fe{strong({text:ut}){return ut}em({text:ut}){return ut}codespan({text:ut}){return ut}del({text:ut}){return ut}html({text:ut}){return ut}text({text:ut}){return ut}link({text:ut}){return""+ut}image({text:ut}){return""+ut}br(){return""}}class Se{options;renderer;textRenderer;constructor(ut){this.options=ut||g,this.options.renderer=this.options.renderer||new De,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new fe}static parse(ut,Rt){return new Se(Rt).parse(ut)}static parseInline(ut,Rt){return new Se(Rt).parseInline(ut)}parse(ut,Rt=!0){let xt="";for(let Ot=0;Ot<ut.length;Ot++){const Qt=ut[Ot];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Qt.type]){const gi=Qt,Ki=this.options.extensions.renderers[gi.type].call({parser:this},gi);if(Ki!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(gi.type)){xt+=Ki||"";continue}}const ai=Qt;switch(ai.type){case"space":{xt+=this.renderer.space(ai);continue}case"hr":{xt+=this.renderer.hr(ai);continue}case"heading":{xt+=this.renderer.heading(ai);continue}case"code":{xt+=this.renderer.code(ai);continue}case"table":{xt+=this.renderer.table(ai);continue}case"blockquote":{xt+=this.renderer.blockquote(ai);continue}case"list":{xt+=this.renderer.list(ai);continue}case"html":{xt+=this.renderer.html(ai);continue}case"paragraph":{xt+=this.renderer.paragraph(ai);continue}case"text":{let gi=ai,Ki=this.renderer.text(gi);for(;
144Ot+1<ut.length&&ut[Ot+1].type==="text";)gi=ut[++Ot],Ki+=`
145`+this.renderer.text(gi);Rt?xt+=this.renderer.paragraph({type:"paragraph",raw:Ki,text:Ki,tokens:[{type:"text",raw:Ki,text:Ki}]}):xt+=Ki;continue}default:{const gi='Token with "'+ai.type+'" type was not found.';if(this.options.silent)return console.error(gi),"";throw new Error(gi)}}}return xt}parseInline(ut,Rt){Rt=Rt||this.renderer;let xt="";for(let Ot=0;Ot<ut.length;Ot++){const Qt=ut[Ot];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[Qt.type]){const gi=this.options.extensions.renderers[Qt.type].call({parser:this},Qt);if(gi!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(Qt.type)){xt+=gi||"";continue}}const ai=Qt;switch(ai.type){case"escape":{xt+=Rt.text(ai);break}case"html":{xt+=Rt.html(ai);break}case"link":{xt+=Rt.link(ai);break}case"image":{xt+=Rt.image(ai);break}case"strong":{xt+=Rt.strong(ai);break}case"em":{xt+=Rt.em(ai);break}case"codespan":{xt+=Rt.codespan(ai);break}case"br":{xt+=Rt.br(ai);break}case"del":{xt+=Rt.del(ai);break}case"text":{xt+=Rt.text(ai);break}default:{const gi='Token with "'+ai.type+'" type was not found.';if(this.options.silent)return console.error(gi),"";throw new Error(gi)}}}return xt}}class pe{options;constructor(ut){this.options=ut||g}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(ut){return ut}postprocess(ut){return ut}processAllTokens(ut){return ut}}class Ae{defaults=A();options=this.setOptions;parse=this.parseMarkdown(ve.lex,Se.parse);parseInline=this.parseMarkdown(ve.lexInline,Se.parseInline);Parser=Se;Renderer=De;TextRenderer=fe;Lexer=ve;Tokenizer=k;Hooks=pe;constructor(...ut){this.use(...ut)}walkTokens(ut,Rt){let xt=[];for(const Ot of ut)switch(xt=xt.concat(Rt.call(this,Ot)),Ot.type){case"table":{const Qt=Ot;for(const ai of Qt.header)xt=xt.concat(this.walkTokens(ai.tokens,Rt));for(const ai of Qt.rows)for(const gi of ai)xt=xt.concat(this.walkTokens(gi.tokens,Rt));break}case"list":{const Qt=Ot;xt=xt.concat(this.walkTokens(Qt.items,Rt));break}default:{const Qt=Ot;this.defaults.extensions?.childTokens?.[Qt.type]?this.defaults.extensions.childTokens[Qt.type].forEach(ai=>{const gi=Qt[ai].flat(1/0);xt=xt.concat(this.walkTokens(gi,Rt))}):Qt.tokens&&(xt=xt.concat(this.walkTokens(Qt.tokens,Rt)))}}return xt}use(...ut){const Rt=this.defaults.extensions||{renderers:{},childTokens:{}};return ut.forEach(xt=>{const Ot={...xt};if(Ot.async=this.defaults.async||Ot.async||!1,xt.extensions&&(xt.extensions.forEach(Qt=>{if(!Qt.name)throw new Error("extension name required");if("renderer"in Qt){const ai=Rt.renderers[Qt.name];ai?Rt.renderers[Qt.name]=function(...gi){let Ki=Qt.renderer.apply(this,gi);return Ki===!1&&(Ki=ai.apply(this,gi)),Ki}:Rt.renderers[Qt.name]=Qt.renderer}if("tokenizer"in Qt){if(!Qt.level||Qt.level!=="block"&&Qt.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const ai=Rt[Qt.level];ai?ai.unshift(Qt.tokenizer):Rt[Qt.level]=[Qt.tokenizer],Qt.start&&(Qt.level==="block"?Rt.startBlock?Rt.startBlock.push(Qt.start):Rt.startBlock=[Qt.start]:Qt.level==="inline"&&(Rt.startInline?Rt.startInline.push(Qt.start):Rt.startInline=[Qt.start]))}"childTokens"in Qt&&Qt.childTokens&&(Rt.childTokens[Qt.name]=Qt.childTokens)}),Ot.extensions=Rt),xt.renderer){const Qt=this.defaults.renderer||new De(this.defaults);for(const ai in xt.renderer){if(!(ai in Qt))throw new Error(`renderer '${ai}' does not exist`);if(["options","parser"].includes(ai))continue;const gi=ai,Ki=xt.renderer[gi],Zi=Qt[gi];Qt[gi]=(...bi)=>{let ot=Ki.apply(Qt,bi);return ot===!1&&(ot=Zi.apply(Qt,bi)),ot||""}}Ot.renderer=Qt}if(xt.tokenizer){const Qt=this.defaults.tokenizer||new k(this.defaults);for(const ai in xt.tokenizer){if(!(ai in Qt))throw new Error(`tokenizer '${ai}' does not exist`);if(["options","rules","lexer"].includes(ai))continue;const gi=ai,Ki=xt.tokenizer[gi],Zi=Qt[gi];Qt[gi]=(...bi)=>{let ot=Ki.apply(Qt,bi);return ot===!1&&(ot=Zi.apply(Qt,bi)),ot}}Ot.tokenizer=Qt}if(xt.hooks){const Qt=this.defaults.hooks||new pe;for(const ai in xt.hooks){if(!(ai in Qt))throw new Error(`hook '${ai}' does not exist`);if(ai==="options")continue;const gi=ai,Ki=xt.hooks[gi],Zi=Qt[gi];pe.passThroughHooks.has(ai)?Qt[gi]=bi=>{if(this.defaults.async)return Promise.resolve(Ki.call(Qt,bi)).then(ge=>Zi.call(Qt,ge));const ot=Ki.call(Qt,bi);return Zi.call(Qt,ot)}:Qt[gi]=(...bi)=>{let ot=Ki.apply(Qt,bi);return ot===!1&&(ot=Zi.apply(Qt,bi)),ot}}Ot.hooks=Qt}if(xt.walkTokens){const Qt=this.defaults.walkTokens,ai=xt.walkTokens;Ot.walkTokens=function(gi){let Ki=[];return Ki.push(ai.call(this,gi)),Qt&&(Ki=Ki.concat(Qt.call(this,gi))),Ki}}this.defaults={...this.defaults,...Ot}}),this}setOptions(ut){return this.defaults={...this.defaults,...ut},this}lexer(ut,Rt){return ve.lex(ut,Rt??this.defaults)}parser(ut,Rt){return Se.parse(ut,Rt??this.defaults)}parseMarkdown(ut,Rt){return(Ot,Qt)=>{const ai={...Qt},gi={...this.defaults,...ai},Ki=this.onError(!!gi.silent,!!gi.async);if(this.defaults.async===!0&&ai.async===!1)return Ki(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof Ot>"u"||Ot===null)return Ki(new Error("marked(): input parameter is undefined or null"));if(typeof Ot!="string")return Ki(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(Ot)+", string expected"));if(gi.hooks&&(gi.hooks.options=gi),gi.async)return Promise.resolve(gi.hooks?gi.hooks.preprocess(Ot):Ot).then(Zi=>
145ut(Zi,gi)).then(Zi=>gi.hooks?gi.hooks.processAllTokens(Zi):Zi).then(Zi=>gi.walkTokens?Promise.all(this.walkTokens(Zi,gi.walkTokens)).then(()=>Zi):Zi).then(Zi=>Rt(Zi,gi)).then(Zi=>gi.hooks?gi.hooks.postprocess(Zi):Zi).catch(Ki);try{gi.hooks&&(Ot=gi.hooks.preprocess(Ot));let Zi=ut(Ot,gi);gi.hooks&&(Zi=gi.hooks.processAllTokens(Zi)),gi.walkTokens&&this.walkTokens(Zi,gi.walkTokens);let bi=Rt(Zi,gi);return gi.hooks&&(bi=gi.hooks.postprocess(bi)),bi}catch(Zi){return Ki(Zi)}}}onError(ut,Rt){return xt=>{if(xt.message+=`
146Please report this to https://github.com/markedjs/marked.`,ut){const Ot="<p>An error occurred:</p><pre>"+l(xt.message+"",!0)+"</pre>";return Rt?Promise.resolve(Ot):Ot}if(Rt)return Promise.reject(xt);throw xt}}}const Xe=new Ae;function dt(ci,ut){return Xe.parse(ci,ut)}dt.options=dt.setOptions=function(ci){return Xe.setOptions(ci),dt.defaults=Xe.defaults,L(dt.defaults),dt},dt.getDefaults=A,dt.defaults=g,dt.use=function(...ci){return Xe.use(...ci),dt.defaults=Xe.defaults,L(dt.defaults),dt},dt.walkTokens=function(ci,ut){return Xe.walkTokens(ci,ut)},dt.parseInline=Xe.parseInline,dt.Parser=Se,dt.parser=Se.parse,dt.Renderer=De,dt.TextRenderer=fe,dt.Lexer=ve,dt.lexer=ve.lex,dt.Tokenizer=k,dt.Hooks=pe,dt.parse=dt,dt.options,dt.setOptions,dt.use,dt.walkTokens,dt.parseInline;const gt=dt;Se.parse;const Bt=ve.lex;var _t=e(50180),ri=e(13072),Gt=e(71386),ei=e(18019),Zt=e(22467),pt=e(16844),Fe=e(37264),st=e(14333),vt=e(20921),Yt=e(87594),Si=e(9715),Bi=e(91818);function pi(ci){try{const ut=Fe.r.parse(ci);if(ut.scheme===ri.ny.file){const Rt=ut.fsPath,xt=ut.fragment;return(0,R.oO)(xt?`${Rt}#${xt}`:Rt)}}catch{}return""}const $i=Object.freeze({image:({href:ci,title:ut,text:Rt})=>{let xt=[],Ot=[];return ci&&({href:ci,dimensions:xt}=(0,R.nI)(ci),Ot.push(`src="${(0,R.oO)(ci)}"`)),Rt&&Ot.push(`alt="${(0,R.oO)(Rt)}"`),ut&&Ot.push(`title="${(0,R.oO)(ut)}"`),xt.length&&(Ot=Ot.concat(xt)),"<img "+Ot.join(" ")+">"},paragraph({tokens:ci}){return`<p>${this.parser.parseInline(ci)}</p>`},link({href:ci,title:ut,tokens:Rt}){let xt=this.parser.parseInline(Rt);if(typeof ci!="string")return"";ci===xt&&(xt=(0,R._W)(xt)),ut=typeof ut=="string"?(0,R.oO)((0,R._W)(ut)):"",ci=(0,R._W)(ci),!ut&&ci.startsWith(`${ri.ny.file}:`)&&(ut=pi(ci));const Ot=ci.startsWith(`${ri.ny.command}:`);return ci=ci.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),`<a href="${ci}" title="${ut||(Ot?"":ci)}" draggable="false">${xt}</a>`}});function fn(ci){return function(ut){const{tokens:Rt}=ut,xt=Rt[0];if(xt?.type!=="paragraph")return ci.call(this,ut);const Ot=xt.tokens;if(!Ot||Ot.length===0)return ci.call(this,ut);const Qt=Ot[0];if(Qt?.type!=="text")return ci.call(this,ut);const ai=/^\s*\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*?\n*/i,gi=Qt.raw.match(ai);if(!gi)return ci.call(this,ut);Qt.raw=Qt.raw.replace(ai,""),Qt.text=Qt.text.replace(ai,"");const Ki={note:"info",tip:"light-bulb",important:"comment",warning:"alert",caution:"stop"},Zi=gi[1],bi=Zi.charAt(0).toUpperCase()+Zi.slice(1).toLowerCase(),ot=Zi.toLowerCase(),ge=(0,Bi.s)({id:Ki[ot]}).outerHTML,Ze=this.parser.parse(Rt);return`<blockquote data-severity="${ot}"><p><span>${ge}${bi}</span>${Ze.substring(3)}</blockquote>
147`}}function Sn(ci,ut={},Rt){const xt=new y.Cm;let Ot=!1;const Qt=new Ae(...ut.markedExtensions??[]),{renderer:ai,codeBlocks:gi,syncCodeBlocks:Ki}=Dn(Qt,ut,ci),Zi=Qn(ci);let bi;if(ut.fillInIncompleteTokens){const at={...Qt.defaults,...ut.markedOptions,renderer:ai},Et=Qt.lexer(Zi,at),Ft=In(Et);bi=Qt.parser(Ft,at)}else bi=Qt.parse(Zi,{...ut?.markedOptions,renderer:ai,async:!1});ci.supportThemeIcons&&(bi=(0,Bi.n)(bi).map(Et=>typeof Et=="string"?Et:Et.outerHTML).join(""));const ot=document.createElement("div"),ge=ps(ci,ut.sanitizerConfig??{});(0,vt.D$)(ot,bi,ge),On(ci,ut,ot);let Ze;if(Rt?(Ze=Rt,(0,st.Ln)(Rt,...ot.childNodes)):Ze=ot,gi.length>0)Promise.all(gi).then(at=>{if(Ot)return;const Et=new Map(at),Ft=Ze.querySelectorAll("div[data-code]");for(const qt of Ft){const Li=Et.get(qt.dataset.code??"");Li&&(0,st.Ln)(qt,Li)}ut.asyncRenderCallback?.()});else if(Ki.length>0){const at=new Map(Ki),Et=Ze.querySelectorAll("div[data-code]");for(const Ft of Et){const qt=at.get(Ft.dataset.code??"");qt&&(0,st.Ln)(Ft,qt)}}if(ut.asyncRenderCallback)for(const at of Ze.getElementsByTagName("img")){const Et=xt.add((0,st.ko)(at,"load",()=>{Et.dispose(),ut.asyncRenderCallback()}))}if(ut.actionHandler){const at=Et=>{const Ft=new Si.P((0,st.zk)(Ze),Et);!Ft.leftButton&&!Ft.middleButton||rs(ci,ut,Ft)};xt.add((0,st.ko)(Ze,"click",at)),xt.add((0,st.ko)(Ze,"auxclick",at)),xt.add((0,st.ko)(Ze,"keydown",Et=>{const Ft=new Yt.Z(Et);
147!Ft.equals(10)&&!Ft.equals(3)||rs(ci,ut,Ft)}))}for(const at of[...Ze.getElementsByTagName("input")])if(at.attributes.getNamedItem("type")?.value==="checkbox")at.setAttribute("disabled","");else if(ut.sanitizerConfig?.replaceWithPlaintext){const Et=(0,vt.cZ)(at);Et?at.parentElement?.replaceChild(Et,at):at.remove()}else at.remove();return{element:Ze,dispose:()=>{Ot=!0,xt.dispose()}}}function On(ci,ut,Rt){for(const xt of Rt.querySelectorAll("img, audio, video, source")){const Ot=xt.getAttribute("src");if(Ot){let Qt=Ot;try{ci.baseUri&&(Qt=ms(Fe.r.from(ci.baseUri),Qt))}catch{}if(xt.setAttribute("src",Zn(ci,Qt,!0)),ut.sanitizerConfig?.remoteImageIsAllowed){const ai=Fe.r.parse(Qt);ai.scheme!==ri.ny.file&&ai.scheme!==ri.ny.data&&!ut.sanitizerConfig.remoteImageIsAllowed(ai)&&xt.replaceWith((0,st.$)("",void 0,xt.outerHTML))}}}for(const xt of Rt.querySelectorAll("a")){const Ot=xt.getAttribute("href");if(xt.setAttribute("href",""),!Ot||/^data:|javascript:/i.test(Ot)||/^command:/i.test(Ot)&&!ci.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(Ot))xt.replaceWith(...xt.childNodes);else{let Qt=Zn(ci,Ot,!1);ci.baseUri&&(Qt=ms(Fe.r.from(ci.baseUri),Ot)),xt.dataset.href=Qt}}}function Dn(ci,ut,Rt){const xt=new ci.Renderer(ut.markedOptions);xt.image=$i.image,xt.link=$i.link,xt.paragraph=$i.paragraph,Rt.supportAlertSyntax&&(xt.blockquote=fn(xt.blockquote));const Ot=[],Qt=[];return ut.codeBlockRendererSync?xt.code=({text:ai,lang:gi,raw:Ki})=>{const Zi=T.r.nextId(),bi=ut.codeBlockRendererSync(zn(gi),ai,Ki);return Qt.push([Zi,bi]),`<div class="code" data-code="${Zi}">${(0,pt.ih)(ai)}</div>`}:ut.codeBlockRenderer&&(xt.code=({text:ai,lang:gi})=>{const Ki=T.r.nextId(),Zi=ut.codeBlockRenderer(zn(gi),ai);return Ot.push(Zi.then(bi=>[Ki,bi])),`<div class="code" data-code="${Ki}">${(0,pt.ih)(ai)}</div>`}),Rt.supportHtml||(xt.html=({text:ai})=>ut.sanitizerConfig?.replaceWithPlaintext?(0,pt.ih)(ai):(Rt.isTrusted?ai.match(/^(<span[^>]+>)|(<\/\s*span>)$/):void 0)?ai:""),{renderer:xt,codeBlocks:Ot,syncCodeBlocks:Qt}}function Qn(ci){let ut=ci.value;return ut.length>1e5&&(ut=`${ut.substr(0,1e5)}\u2026`),ci.supportThemeIcons&&(ut=(0,x.sA)(ut)),ut}function rs(ci,ut,Rt){const xt=Rt.target.closest("a[data-href]");if((0,st.sb)(xt))try{let Ot=xt.dataset.href;Ot&&(ci.baseUri&&(Ot=ms(Fe.r.from(ci.baseUri),Ot)),ut.actionHandler?.(Ot,ci))}catch(Ot){(0,v.dz)(Ot)}finally{Rt.preventDefault(),Rt.stopPropagation()}}function us(ci,ut){let Rt;try{Rt=(0,_t.qg)(decodeURIComponent(ut))}catch{}return Rt?(Rt=(0,Gt.PI)(Rt,xt=>{if(ci.uris&&ci.uris[xt])return Fe.r.revive(ci.uris[xt])}),encodeURIComponent(JSON.stringify(Rt))):ut}function Zn(ci,ut,Rt){const xt=ci.uris&&ci.uris[ut];let Ot=Fe.r.revive(xt);return Rt?ut.startsWith(ri.ny.data+":")?ut:(Ot||(Ot=Fe.r.parse(ut)),ri.zl.uriToBrowserUri(Ot).toString(!0)):!Ot||Fe.r.parse(ut).toString()===Ot.toString()?ut:(Ot.query&&(Ot=Ot.with({query:us(ci,Ot.query)})),Ot.toString())}function zn(ci){if(!ci)return"";const ut=ci.split(/[\s+|:|,|\{|\?]/,1);return ut.length?ut[0]:ci}function ms(ci,ut){return/^\w[\w\d+.-]*:/.test(ut)?ut:ci.path.endsWith("/")?(0,Zt.o1)(ci,ut).toString():(0,Zt.o1)((0,Zt.pD)(ci),ut).toString()}function es(ci,ut,Rt={}){const xt=ps(ut,Rt);return(0,vt.pn)(ci,xt)}const Xn=Object.freeze([...vt.TT,"input"]),Ts=Object.freeze(["align","autoplay","alt","colspan","controls","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","target","title","type","width","start","checked","disabled","value","data-code","data-href","data-severity",{attributeName:"style",shouldKeep:(ci,ut)=>ci.tagName==="SPAN"&&ut.attrName==="style"?/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z0-9]+)+\));)?(border-radius:[0-9]+px;)?$/.test(ut.attrValue):!1},{attributeName:"class",shouldKeep:(ci,ut)=>ci.tagName==="SPAN"&&ut.attrName==="class"?/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(ut.attrValue):!1}]);function ps(ci,ut){const Rt=ci.isTrusted??!1,xt=[ri.ny.http,ri.ny.https,ri.ny.mailto,ri.ny.file,ri.ny.vscodeFileResource,ri.ny.vscodeRemote,ri.ny.vscodeRemoteResource,ri.ny.vscodeNotebookCell,ri.ny.internal];return Rt&&xt.push(ri.ny.command),ut.allowedLinkSchemes?.augment&&xt.push(...ut.allowedLinkSchemes.augment),{allowedTags:{override:ut.allowedTags?.override??Xn},allowedAttributes:{override:ut.allowedAttributes?.override??Ts},allowedLinkProtocols:{override:xt},allowRelativeLinkPaths:!!ci.baseUri,allowedMediaProtocols:{override:[ri.ny.http,ri.ny.https,ri.ny.data,ri.ny.file,ri.ny.vscodeFileResource,ri.ny.vscodeRemote,ri.ny.vscodeRemoteResource]},allowRelativeMediaPaths:!!ci.baseUri,replaceWithPlaintext:ut.replaceWithPlaintext}}
147function Yn(ci,ut){if(typeof ci=="string")return ci;let Rt=ci.value??"";Rt.length>1e5&&(Rt=`${Rt.substr(0,1e5)}\u2026`);const xt=Kn(),Ot=gt(Rt,{async:!1,renderer:xt});return es(Ot,{isTrusted:!1},{}).toString().replace(/&(#\d+|[a-zA-Z]+);/g,Qt=>zs.get(Qt)??Qt).trim()}const zs=new Map([["&quot;",'"'],["&nbsp;"," "],["&amp;","&"],["&#39;","'"],["&lt;","<"],["&gt;",">"]]);function Kn(){const ci=new De;return ci.code=({text:ut})=>(0,pt.ih)(ut),ci.blockquote=({text:ut})=>ut+`
148`,ci.html=ut=>"",ci.heading=function({tokens:ut}){return this.parser.parseInline(ut)+`
149`},ci.hr=()=>"",ci.list=function({items:ut}){return ut.map(Rt=>this.listitem(Rt)).join(`
150`)+`
151`},ci.listitem=({text:ut})=>ut+`
152`,ci.paragraph=function({tokens:ut}){return this.parser.parseInline(ut)+`
153`},ci.table=function({header:ut,rows:Rt}){return ut.map(xt=>this.tablecell(xt)).join(" ")+`
154`+Rt.map(xt=>xt.map(Ot=>this.tablecell(Ot)).join(" ")).join(`
155`)+`
156`},ci.tablerow=({text:ut})=>ut,ci.tablecell=function({tokens:ut}){return this.parser.parseInline(ut)},ci.strong=({text:ut})=>ut,ci.em=({text:ut})=>ut,ci.codespan=({text:ut})=>ut,ci.br=ut=>`
157`,ci.del=({text:ut})=>ut,ci.image=ut=>"",ci.text=({text:ut})=>ut,ci.link=({text:ut})=>ut,ci}function jt(ci){let ut="";return ci.forEach(Rt=>{ut+=Rt.raw}),ut}function $t(ci){if(ci.tokens)for(let ut=ci.tokens.length-1;ut>=0;ut--){const Rt=ci.tokens[ut];if(Rt.type==="text"){const xt=Rt.raw.split(`
158`),Ot=xt[xt.length-1];if(Ot.includes("`"))return Wi(ci);if(Ot.includes("**"))return Vi(ci);if(Ot.match(/\*\w/))return At(ci);if(Ot.match(/(^|\s)__\w/))return ui(ci);if(Ot.match(/(^|\s)_\w/))return Xt(ci);if(Ei(Ot)||zi(Ot)&&ci.tokens.slice(0,ut).some(Qt=>Qt.type==="text"&&Qt.raw.match(/\[[^\]]*$/))){const Qt=ci.tokens.slice(ut+1);return Qt[0]?.type==="link"&&Qt[1]?.type==="text"&&Qt[1].raw.match(/^ *"[^"]*$/)||Ot.match(/^[^"]* +"[^"]*$/)?Mi(ci):li(ci)}else if(Ot.match(/(^|\s)\[\w*[^\]]*$/))return vi(ci)}}}function Ei(ci){return!!ci.match(/(^|\s)\[.*\]\(\w*/)}function zi(ci){return!!ci.match(/^[^\[]*\]\([^\)]*$/)}function hn(ci){const ut=ci.items[ci.items.length-1],Rt=ut.tokens?ut.tokens[ut.tokens.length-1]:void 0,xt=Zi=>{const ot=Zi.items.at(-1)?.tokens.at(-1);return ot?.type==="heading"||ot?.type==="list"&&xt(ot)};let Ot;if(Rt?.type==="text"&&!("inRawBlock"in ut))Ot=$t(Rt);else if(xt(ci)){const Zi=Bt(ci.raw.trim()+" &nbsp;")[0];return Zi.type!=="list"?void 0:Zi}if(!Ot||Ot.type!=="paragraph")return;const Qt=jt(ci.items.slice(0,-1)),ai=ut.raw.match(/^(\s*(-|\d+\.|\*) +)/)?.[0];if(!ai)return;const gi=ai+jt(ut.tokens.slice(0,-1))+Ot.raw,Ki=Bt(Qt+gi)[0];if(Ki.type==="list")return Ki}function wn(ci,ut){if(ci.raw.match(/-\s*$/))return Bt(ut+" &nbsp;")}const en=3;function In(ci){for(let ut=0;ut<en;ut++){const Rt=Bn(ci);if(Rt)ci=Rt;else break}return ci}function Bn(ci){let ut,Rt;for(ut=0;ut<ci.length;ut++){const gi=ci[ut];if(gi.type==="paragraph"&&gi.raw.match(/(\n|^)\|/)){Rt=Nn(ci.slice(ut));break}}let xt=ci.length-1;for(;xt>=0&&(ci[xt].type==="space"||ci[xt].type==="html");)xt--;const Ot=xt>=0?ci[xt]:void 0,Qt=ci.slice(xt+1);if(!Rt&&Ot?.type==="list"){const gi=hn(Ot);gi&&(Rt=[gi,...Qt],ut=xt)}if(!Rt&&Ot?.type==="paragraph"){const gi=$t(Ot);gi&&(Rt=[gi,...Qt],ut=xt)}if(Rt){const gi=[...ci.slice(0,ut),...Rt];return gi.links=ci.links,gi}const ai=ci.at(-1);if(ai?.type==="heading"){const gi=wn(ai,jt(ci));if(gi)return gi}return null}function Wi(ci){return Wt(ci,"`")}function At(ci){return Wt(ci,"*")}function Xt(ci){return Wt(ci,"_")}function li(ci){return Wt(ci,")",!1)}function Mi(ci){return Wt(ci,'")',!1)}function vi(ci){return Wt(ci,"](https://microsoft.com)",!1)}function Vi(ci){return Wt(ci,"**")}function ui(ci){return Wt(ci,"__")}function Wt(ci,ut,Rt=!0){const xt=jt(Array.isArray(ci)?ci:[ci]),Ot=Rt?xt.trimEnd():xt;return Bt(Ot+ut)[0]}function Nn(ci){const ut=jt(ci),Rt=ut.split(`
159`);let xt,Ot=!1;for(let Qt=0;Qt<Rt.length;Qt++){const ai=Rt[Qt].trim();if(typeof xt>"u"&&ai.match(/^\s*\|/)){const gi=ai.match(/(\|[^\|]+)(?=\||$)/g);gi&&(xt=gi.length)}else if(typeof xt=="number")if(ai.match(/^\s*\|/)){if(Qt!==Rt.length-1)return;Ot=!0}else return}if(typeof xt=="number"&&xt>0){const Qt=Ot?Rt.slice(0,-1).join(`
160`):ut,ai=!!Qt.match(/\|\s*$/),gi=Qt+(ai?"":"|")+`
161|${" --- |".repeat(xt)}
161`;return Bt(gi)}}},37042:(St,We,e)=>{e.d(We,{b:()=>R});var v=e(82399);const R=(0,v.u1)("textModelService")},37043:(St,We,e)=>{e.d(We,{M:()=>x});var v=e(2106);class R{constructor(){this._onDidChange=new v.vl,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}const x=new R},37264:(St,We,e)=>{e.d(We,{I:()=>a,r:()=>i});var v=e(18019),R=e(63339);const x=/^\w[\w\d+.-]*$/,T=/^\//,y=/^\/\//;function A(h,D){if(!h.scheme&&D)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${h.authority}", path: "${h.path}", query: "${h.query}", fragment: "${h.fragment}"}`);if(h.scheme&&!x.test(h.scheme)){const k=[...h.scheme.matchAll(/[^\w\d+.-]/gu)],N=k.length>0?` Found '${k[0][0]}' at index ${k[0].index} (${k.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${N} (len:${h.scheme.length})`)}if(h.path){if(h.authority){if(!T.test(h.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(y.test(h.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function g(h,D){return!h&&!D?"file":h}function L(h,D){switch(h){case"https":case"http":case"file":D?D[0]!==C&&(D=C+D):D=C;break}return D}const b="",C="/",u=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class i{static isUri(D){return D instanceof i?!0:!D||typeof D!="object"?!1:typeof D.authority=="string"&&typeof D.fragment=="string"&&typeof D.path=="string"&&typeof D.query=="string"&&typeof D.scheme=="string"&&typeof D.fsPath=="string"&&typeof D.with=="function"&&typeof D.toString=="function"}constructor(D,k,N,W,U,$=!1){typeof D=="object"?(this.scheme=D.scheme||b,this.authority=D.authority||b,this.path=D.path||b,this.query=D.query||b,this.fragment=D.fragment||b):(this.scheme=g(D,$),this.authority=k||b,this.path=L(this.scheme,N||b),this.query=W||b,this.fragment=U||b,A(this,$))}get fsPath(){return a(this,!1)}with(D){if(!D)return this;let{scheme:k,authority:N,path:W,query:U,fragment:$}=D;return k===void 0?k=this.scheme:k===null&&(k=b),N===void 0?N=this.authority:N===null&&(N=b),W===void 0?W=this.path:W===null&&(W=b),U===void 0?U=this.query:U===null&&(U=b),$===void 0?$=this.fragment:$===null&&($=b),k===this.scheme&&N===this.authority&&W===this.path&&U===this.query&&$===this.fragment?this:new d(k,N,W,U,$)}static parse(D,k=!1){const N=u.exec(D);return N?new d(N[2]||b,S(N[4]||b),S(N[5]||b),S(N[7]||b),S(N[9]||b),k):new d(b,b,b,b,b)}static file(D){let k=b;if(R.uF&&(D=D.replace(/\\/g,C)),D[0]===C&&D[1]===C){const N=D.indexOf(C,2);N===-1?(k=D.substring(2),D=C):(k=D.substring(2,N),D=D.substring(N)||C)}return new d("file",k,D,b,b)}static from(D,k){return new d(D.scheme,D.authority,D.path,D.query,D.fragment,k)}static joinPath(D,...k){if(!D.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${D.toString()}`);let N;return R.uF&&D.scheme==="file"?N=i.file(v.IN.join(a(D,!0),...k)).path:N=v.SA.join(D.path,...k),D.with({path:N})}toString(D=!1){return p(this,D)}toJSON(){return this}static revive(D){if(D){if(D instanceof i)return D;{const k=new d(D);return k._formatted=D.external??null,k._fsPath=D._sep===r?D.fsPath??null:null,k}}else return D}}const r=R.uF?1:void 0;class d extends i{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=a(this,!1)),this._fsPath}toString(D=!1){return D?p(this,!0):(this._formatted||(this._formatted=p(this,!1)),this._formatted)}toJSON(){const D={$mid:1};return this._fsPath&&(D.fsPath=this._fsPath,D._sep=r),this._formatted&&(D.external=this._formatted),this.path&&(D.path=this.path),this.scheme&&(D.scheme=this.scheme),this.authority&&(D.authority=this.authority),this.query&&(D.query=this.query),this.fragment&&(D.fragment=this.fragment),D}}const l={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function o(h,D,k){let N,W=-1;for(let U=0;U<h.length;
161U++){const $=h.charCodeAt(U);if($>=97&&$<=122||$>=65&&$<=90||$>=48&&$<=57||$===45||$===46||$===95||$===126||D&&$===47||k&&$===91||k&&$===93||k&&$===58)W!==-1&&(N+=encodeURIComponent(h.substring(W,U)),W=-1),N!==void 0&&(N+=h.charAt(U));else{N===void 0&&(N=h.substr(0,U));const te=l[$];te!==void 0?(W!==-1&&(N+=encodeURIComponent(h.substring(W,U)),W=-1),N+=te):W===-1&&(W=U)}}return W!==-1&&(N+=encodeURIComponent(h.substring(W))),N!==void 0?N:h}function c(h){let D;for(let k=0;k<h.length;k++){const N=h.charCodeAt(k);N===35||N===63?(D===void 0&&(D=h.substr(0,k)),D+=l[N]):D!==void 0&&(D+=h[k])}return D!==void 0?D:h}function a(h,D){let k;return h.authority&&h.path.length>1&&h.scheme==="file"?k=`//${h.authority}${h.path}`:h.path.charCodeAt(0)===47&&(h.path.charCodeAt(1)>=65&&h.path.charCodeAt(1)<=90||h.path.charCodeAt(1)>=97&&h.path.charCodeAt(1)<=122)&&h.path.charCodeAt(2)===58?D?k=h.path.substr(1):k=h.path[1].toLowerCase()+h.path.substr(2):k=h.path,R.uF&&(k=k.replace(/\//g,"\\")),k}function p(h,D){const k=D?c:o;let N="",{scheme:W,authority:U,path:$,query:te,fragment:ne}=h;if(W&&(N+=W,N+=":"),(U||W==="file")&&(N+=C,N+=C),U){let V=U.indexOf("@");if(V!==-1){const I=U.substr(0,V);U=U.substr(V+1),V=I.lastIndexOf(":"),V===-1?N+=k(I,!1,!1):(N+=k(I.substr(0,V),!1,!1),N+=":",N+=k(I.substr(V+1),!1,!0)),N+="@"}U=U.toLowerCase(),V=U.lastIndexOf(":"),V===-1?N+=k(U,!1,!0):(N+=k(U.substr(0,V),!1,!0),N+=U.substr(V))}if($){if($.length>=3&&$.charCodeAt(0)===47&&$.charCodeAt(2)===58){const V=$.charCodeAt(1);V>=65&&V<=90&&($=`/${String.fromCharCode(V+32)}:${$.substr(3)}`)}else if($.length>=2&&$.charCodeAt(1)===58){const V=$.charCodeAt(0);V>=65&&V<=90&&($=`${String.fromCharCode(V+32)}:${$.substr(2)}`)}N+=k($,!0,!1)}return te&&(N+="?",N+=k(te,!1,!1)),ne&&(N+="#",N+=D?ne:o(ne,!1,!1)),N}function _(h){try{return decodeURIComponent(h)}catch{return h.length>3?h.substr(0,3)+_(h.substr(3)):h}}const E=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function S(h){return h.match(E)?h.replace(E,D=>_(D)):h}},37283:(St,We,e)=>{e.d(We,{O:()=>b});var v=e(88846),R=e(10998),x=e(63339),T=e(54324),y=e(15910),A=e(98613),g=function(C,u,i,r){var d=arguments.length,l=d<3?u:r===null?r=Object.getOwnPropertyDescriptor(u,i):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(C,u,i,r);else for(var c=C.length-1;c>=0;c--)(o=C[c])&&(l=(d<3?o(l):d>3?o(u,i,l):o(u,i))||l);return d>3&&l&&Object.defineProperty(u,i,l),l};let L=0;class b extends R.jG{get cacheKey(){return`${this.fontFamily}_${this.fontSize}px`}constructor(u,i,r,d){super(),this.fontSize=u,this.fontFamily=i,this.devicePixelRatio=r,this._decorationStyleCache=d,this.id=L++,this._workGlyph={source:null,boundingBox:{left:0,bottom:0,right:0,top:0},originOffset:{x:0,y:0},fontBoundingBoxAscent:0,fontBoundingBoxDescent:0},this._workGlyphConfig={chars:void 0,tokenMetadata:0,decorationStyleSetId:0},this._antiAliasing=x.zx?"greyscale":"subpixel";const l=Math.ceil(this.fontSize*r);this._canvas=new OffscreenCanvas(l*3,l*3),this._ctx=(0,A.HS)(this._canvas.getContext("2d",{willReadFrequently:!0,alpha:this._antiAliasing==="greyscale"})),this._ctx.textBaseline="top",this._ctx.fillStyle="#FFFFFF",this._ctx.font=`${l}px ${this.fontFamily}`,this._textMetrics=this._ctx.measureText("A")}rasterizeGlyph(u,i,r,d){return u===""?{source:this._canvas,boundingBox:{top:0,left:0,bottom:-1,right:-1},originOffset:{x:0,y:0},fontBoundingBoxAscent:0,fontBoundingBoxDescent:0}:this._workGlyphConfig.chars===u&&this._workGlyphConfig.tokenMetadata===i&&this._workGlyphConfig.decorationStyleSetId===r?this._workGlyph:(this._workGlyphConfig.chars=u,this._workGlyphConfig.tokenMetadata=i,this._workGlyphConfig.decorationStyleSetId=r,this._rasterizeGlyph(u,i,r,d))}_rasterizeGlyph(u,i,r,d){const l=Math.ceil(this.fontSize*this.devicePixelRatio),o=l*3;this._canvas.width!==o&&(this._canvas.width=o,this._canvas.height=o),this._ctx.save();const c=(i&15)/10,a=y.x.getBackground(i),p=d[a]??d[2],_=this._decorationStyleCache.getStyleSet(r);this._antiAliasing==="subpixel"?(this._ctx.fillStyle=p,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height)):this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height);
161const E=new T.fe(200),S=y.x.getFontStyle(i);S&1&&E.appendString("italic "),_?.bold!==void 0?_.bold&&E.appendString("bold "):S&2&&E.appendString("bold "),E.appendString(`${l}px ${this.fontFamily}`),this._ctx.font=E.build();const h=l,D=l;if(_?.color!==void 0?this._ctx.fillStyle=`#${_.color.toString(16).padStart(8,"0")}`:this._ctx.fillStyle=d[y.x.getForeground(i)],_?.opacity!==void 0&&(this._ctx.globalAlpha=_.opacity),this._ctx.textBaseline="top",this._ctx.fillText(u,h+c,D),_?.strikethrough){const N=Math.round(D-this._textMetrics.alphabeticBaseline*.65),W=_?.strikethroughThickness!==void 0?Math.round(_.strikethroughThickness*this.devicePixelRatio):Math.max(1,Math.floor(l/10));_?.strikethroughColor!==void 0&&(this._ctx.fillStyle=`#${_.strikethroughColor.toString(16).padStart(8,"0")}`),this._ctx.fillRect(h,N-Math.floor(W/2),Math.ceil(this._textMetrics.width),W)}this._ctx.restore();const k=this._ctx.getImageData(0,0,this._canvas.width,this._canvas.height);if(this._antiAliasing==="subpixel"){const N=parseInt(p.substring(1,3),16),W=parseInt(p.substring(3,5),16),U=parseInt(p.substring(5,7),16);this._clearColor(k,N,W,U),this._ctx.putImageData(k,0,0)}return this._findGlyphBoundingBox(k,this._workGlyph.boundingBox),this._workGlyph.source=this._canvas,this._workGlyph.originOffset.x=this._workGlyph.boundingBox.left-h,this._workGlyph.originOffset.y=this._workGlyph.boundingBox.top-D,this._workGlyph.fontBoundingBoxAscent=this._textMetrics.fontBoundingBoxAscent,this._workGlyph.fontBoundingBoxDescent=this._textMetrics.fontBoundingBoxDescent,this._workGlyph}_clearColor(u,i,r,d){for(let l=0;l<u.data.length;l+=4)u.data[l]===i&&u.data[l+1]===r&&u.data[l+2]===d&&(u.data[l+3]=0)}_findGlyphBoundingBox(u,i){const r=this._canvas.height,d=this._canvas.width;let l=!1;for(let o=0;o<r;o++){for(let c=0;c<d;c++){const a=o*d*4+c*4+3;if(u.data[a]!==0){i.top=o,l=!0;break}}if(l)break}i.left=0,l=!1;for(let o=0;o<d;o++){for(let c=0;c<r;c++){const a=c*d*4+o*4+3;if(u.data[a]!==0){i.left=o,l=!0;break}}if(l)break}i.right=d,l=!1;for(let o=d-1;o>=i.left;o--){for(let c=0;c<r;c++){const a=c*d*4+o*4+3;if(u.data[a]!==0){i.right=o,l=!0;break}}if(l)break}i.bottom=i.top,l=!1;for(let o=r-1;o>=0;o--){for(let c=0;c<d;c++){const a=o*d*4+c*4+3;if(u.data[a]!==0){i.bottom=o,l=!0;break}}if(l)break}}getTextMetrics(u){return this._ctx.measureText(u)}}g([v.B],b.prototype,"cacheKey",null)},38122:(St,We,e)=>{e.d(We,{R:()=>x});var v=e(3765),R=e(31540),x;(function(T){T.editorSimpleInput=new R.N1("editorSimpleInput",!1,!0),T.editorTextFocus=new R.N1("editorTextFocus",!1,(0,v.kg)(714,"Whether the editor text has focus (cursor is blinking)")),T.focus=new R.N1("editorFocus",!1,(0,v.kg)(715,"Whether the editor or an editor widget has focus (e.g. focus is in the find widget)")),T.textInputFocus=new R.N1("textInputFocus",!1,(0,v.kg)(716,"Whether an editor or a rich text input has focus (cursor is blinking)")),T.readOnly=new R.N1("editorReadonly",!1,(0,v.kg)(717,"Whether the editor is read-only")),T.inDiffEditor=new R.N1("inDiffEditor",!1,(0,v.kg)(718,"Whether the context is a diff editor")),T.isEmbeddedDiffEditor=new R.N1("isEmbeddedDiffEditor",!1,(0,v.kg)(719,"Whether the context is an embedded diff editor")),T.inMultiDiffEditor=new R.N1("inMultiDiffEditor",!1,(0,v.kg)(720,"Whether the context is a multi diff editor")),T.multiDiffEditorAllCollapsed=new R.N1("multiDiffEditorAllCollapsed",void 0,(0,v.kg)(721,"Whether all files in multi diff editor are collapsed")),T.hasChanges=new R.N1("diffEditorHasChanges",!1,(0,v.kg)(722,"Whether the diff editor has changes")),T.comparingMovedCode=new R.N1("comparingMovedCode",!1,(0,v.kg)(723,"Whether a moved code block is selected for comparison")),T.accessibleDiffViewerVisible=new R.N1("accessibleDiffViewerVisible",!1,(0,v.kg)(724,"Whether the accessible diff viewer is visible")),T.diffEditorRenderSideBySideInlineBreakpointReached=new R.N1("diffEditorRenderSideBySideInlineBreakpointReached",!1,(0,v.kg)(725,"Whether the diff editor render side by side inline breakpoint is reached")),T.diffEditorInlineMode=new R.N1("diffEditorInlineMode",!1,(0,v.kg)(726,"Whether inline mode is active")),T.diffEditorOriginalWritable=new R.N1("diffEditorOriginalWritable",!1,(0,v.kg)(727,"Whether modified is writable in the diff editor")),T.diffEditorModifiedWritable=new R.N1("diffEditorModifiedWritable",!1,(0,v.kg)(728,"Whether modified is writable in the diff editor")),T.diffEditorOriginalUri=new R.N1("diffEditorOriginalUri","",(0,v.kg)(729,"The uri of the original document")),T.diffEditorModifiedUri=new R.N1("diffEditorModifiedUri","",(0,v.kg)(730,"The uri of the modified document")),T.columnSelection=new R.N1("editorColumnSelection",!1,(0,v.kg)(731,"Whether `editor.columnSelection` is enabled")),T.writable=T.readOnly.toNegated(),T.hasNonEmptySelection=new R.N1("editorHasSelection",!1,(0,v.kg)(732,"Whether the editor has text selected")),T.hasOnlyEmptySelection=T.hasNonEmptySelection.toNegated(),T.hasMultipleSelections=new R.N1("editorHasMultipleSelections",!1,
161(0,v.kg)(733,"Whether the editor has multiple selections")),T.hasSingleSelection=T.hasMultipleSelections.toNegated(),T.tabMovesFocus=new R.N1("editorTabMovesFocus",!1,(0,v.kg)(734,"Whether `Tab` will move focus out of the editor")),T.tabDoesNotMoveFocus=T.tabMovesFocus.toNegated(),T.isInEmbeddedEditor=new R.N1("isInEmbeddedEditor",!1,!0),T.canUndo=new R.N1("canUndo",!1,!0),T.canRedo=new R.N1("canRedo",!1,!0),T.hoverVisible=new R.N1("editorHoverVisible",!1,(0,v.kg)(735,"Whether the editor hover is visible")),T.hoverFocused=new R.N1("editorHoverFocused",!1,(0,v.kg)(736,"Whether the editor hover is focused")),T.stickyScrollFocused=new R.N1("stickyScrollFocused",!1,(0,v.kg)(737,"Whether the sticky scroll is focused")),T.stickyScrollVisible=new R.N1("stickyScrollVisible",!1,(0,v.kg)(738,"Whether the sticky scroll is visible")),T.standaloneColorPickerVisible=new R.N1("standaloneColorPickerVisible",!1,(0,v.kg)(739,"Whether the standalone color picker is visible")),T.standaloneColorPickerFocused=new R.N1("standaloneColorPickerFocused",!1,(0,v.kg)(740,"Whether the standalone color picker is focused")),T.isComposing=new R.N1("isComposing",!1,(0,v.kg)(741,"Whether the editor is in the composition mode")),T.inCompositeEditor=new R.N1("inCompositeEditor",void 0,(0,v.kg)(742,"Whether the editor is part of a larger editor (e.g. notebooks)")),T.notInCompositeEditor=T.inCompositeEditor.toNegated(),T.languageId=new R.N1("editorLangId","",(0,v.kg)(743,"The language identifier of the editor")),T.hasCompletionItemProvider=new R.N1("editorHasCompletionItemProvider",!1,(0,v.kg)(744,"Whether the editor has a completion item provider")),T.hasCodeActionsProvider=new R.N1("editorHasCodeActionsProvider",!1,(0,v.kg)(745,"Whether the editor has a code actions provider")),T.hasCodeLensProvider=new R.N1("editorHasCodeLensProvider",!1,(0,v.kg)(746,"Whether the editor has a code lens provider")),T.hasDefinitionProvider=new R.N1("editorHasDefinitionProvider",!1,(0,v.kg)(747,"Whether the editor has a definition provider")),T.hasDeclarationProvider=new R.N1("editorHasDeclarationProvider",!1,(0,v.kg)(748,"Whether the editor has a declaration provider")),T.hasImplementationProvider=new R.N1("editorHasImplementationProvider",!1,(0,v.kg)(749,"Whether the editor has an implementation provider")),T.hasTypeDefinitionProvider=new R.N1("editorHasTypeDefinitionProvider",!1,(0,v.kg)(750,"Whether the editor has a type definition provider")),T.hasHoverProvider=new R.N1("editorHasHoverProvider",!1,(0,v.kg)(751,"Whether the editor has a hover provider")),T.hasDocumentHighlightProvider=new R.N1("editorHasDocumentHighlightProvider",!1,(0,v.kg)(752,"Whether the editor has a document highlight provider")),T.hasDocumentSymbolProvider=new R.N1("editorHasDocumentSymbolProvider",!1,(0,v.kg)(753,"Whether the editor has a document symbol provider")),T.hasReferenceProvider=new R.N1("editorHasReferenceProvider",!1,(0,v.kg)(754,"Whether the editor has a reference provider")),T.hasRenameProvider=new R.N1("editorHasRenameProvider",!1,(0,v.kg)(755,"Whether the editor has a rename provider")),T.hasSignatureHelpProvider=new R.N1("editorHasSignatureHelpProvider",!1,(0,v.kg)(756,"Whether the editor has a signature help provider")),T.hasInlayHintsProvider=new R.N1("editorHasInlayHintsProvider",!1,(0,v.kg)(757,"Whether the editor has an inline hints provider")),T.hasDocumentFormattingProvider=new R.N1("editorHasDocumentFormattingProvider",!1,(0,v.kg)(758,"Whether the editor has a document formatting provider")),T.hasDocumentSelectionFormattingProvider=new R.N1("editorHasDocumentSelectionFormattingProvider",!1,(0,v.kg)(759,"Whether the editor has a document selection formatting provider")),T.hasMultipleDocumentFormattingProvider=new R.N1("editorHasMultipleDocumentFormattingProvider",!1,(0,v.kg)(760,"Whether the editor has multiple document formatting providers")),T.hasMultipleDocumentSelectionFormattingProvider=new R.N1("editorHasMultipleDocumentSelectionFormattingProvider",!1,(0,v.kg)(761,"Whether the editor has multiple document selection formatting providers")),T.selectionHasDiagnostics=new R.N1("editorSelectionHasDiagnostics",!1,(0,v.kg)(762,"Whether any diagnostic is present in the current editor selection"))})(x||(x={}))},38792:(St,We,e)=>{e.d(We,{Bm:()=>g,N2:()=>y,ZK:()=>b,zV:()=>L});var v=e(57955),R=e(49855),x=e(82460);let T;function y(C){T=C}let A;function g(C){A=C}class L{get TChange(){return null}reportChanges(){this.get()}read(u){return u?u.readObservable(this):this.get()}map(u,i,r=v.j.ofCaller()){const d=i===void 0?void 0:u,l=i===void 0?u:i;return T({owner:d,debugName:()=>{const o=(0,R.qQ)(l);if(o!==void 0)return o;const a=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(l.toString());if(a)return`${this.debugName}.${a[2]}`;if(!d)return`${this.debugName} (mapped)`},debugReferenceFn:l},o=>l(this.read(o),o),r)}flatten(){return T({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},u=>this.read(u).read(u))}recomputeInitiallyAndOnChange(u,i){return u.add(A(this,i)),this}}class b extends L{constructor(u){super(),this._observers=new Set,(0,x.t)()?.handleObservableCreated(this,u)}addObserver(u){const i=this._observers.size;this._observers.add(u),i===0&&this.onFirstObserverAdded(),i!==this._observers.size&&(0,x.t)()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(u){const i=this._observers.delete(u);i&&this._observers.size===0&&this.onLastObserverRemoved(),i&&(0,x.t)()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}}},38801:(St,We,e)=>{e.d(We,{Pj:()=>D,jX:()=>k,vg:()=>W,_V:()=>ne});var v=e(13338),R=e(78903),x=e(94327),T=e(17954),y=e(85525),A=e(79359),g=e(37264),L=e(62105),b=e(66638),C=e(15365),u=e(28061),i=e(93702),r=e(90304),d=e(37042),l=e(55406),o=e(82096);class c{constructor(X){this.value=X,this._lower=X.toLowerCase()}static toKey(X){return typeof X=="string"?X.toLowerCase():X._lower}}class a{constructor(X){if(this._set=new Set,X)for(const G of X)this.add(G)}add(X){this._set.add(c.toKey(X))}has(X){return this._set.has(c.toKey(X))}}var p=e(82399),_=e(29849),E=e(46441),S=e(71285);function h(Z,X,G){const Y=[],j=new a,z=Z.ordered(G);for(const re of z)Y.push(re),re.extensionId&&j.add(re.extensionId);const ie=X.ordered(G);for(const re of ie){if(re.extensionId){if(j.has(re.extensionId))continue;j.add(re.extensionId)}Y.push({displayName:re.displayName,extensionId:re.extensionId,provideDocumentFormattingEdits(de,le,he){return re.provideDocumentRangeFormattingEdits(de,de.getFullModelRange(),le,he)}})}return Y}const H=class H{static setFormatterSelector(X){return{dispose:H._selectors.unshift(X)}}static async select(X,G,Y,j){if(X.length===0)return;const z=T.f.first(H._selectors);if(z)return await z(X,G,Y,j)}};H._selectors=new y.w;let D=H;async function k(Z,X,G,Y,j,z,ie){const re=Z.get(p._Y),{documentRangeFormattingEditProvider:de}=Z.get(_.u),le=(0,b.z9)(X)?X.getModel():X,he=de.ordered(le),we=await D.select(he,le,Y,2);we&&(j.report(we),await re.invokeFunction(N,we,X,G,z,ie))}async function N(Z,X,G,Y,j,z){const ie=Z.get(r.w),re=Z.get(E.rr),de=Z.get(S.Nt);let le,he;(0,b.z9)(G)?(le=G.getModel(),he=new L.gI(G,5,void 0,j)):(le=G,he=new L.ER(G,j));const we=[];let xe=0;for(const Le of(0,v._j)(Y).sort(u.Q.compareRangesUsingStarts))xe>0&&u.Q.areIntersectingOrTouching(we[xe-1],Le)?we[xe-1]=u.Q.fromPositions(we[xe-1].getStartPosition(),Le.getEndPosition()):xe=we.push(Le);const Be=async Le=>{re.trace("[format][provideDocumentRangeFormattingEdits] (request)",X.extensionId?.value,Le);const _e=await X.provideDocumentRangeFormattingEdits(le,Le,le.getFormattingOptions(),he.token)||[];return re.trace("[format][provideDocumentRangeFormattingEdits] (response)",X.extensionId?.value,_e),_e},M=(Le,_e)=>{if(!Le.length||!_e.length)return!1;const Qe=Le.reduce((je,ae)=>
161u.Q.plusRange(je,ae.range),Le[0].range);if(!_e.some(je=>u.Q.intersectRanges(Qe,je.range)))return!1;for(const je of Le)for(const ae of _e)if(u.Q.intersectRanges(je.range,ae.range))return!0;return!1},Ve=[],Me=[];try{if(typeof X.provideDocumentRangesFormattingEdits=="function"){re.trace("[format][provideDocumentRangeFormattingEdits] (request)",X.extensionId?.value,we);const Le=await X.provideDocumentRangesFormattingEdits(le,we,le.getFormattingOptions(),he.token)||[];re.trace("[format][provideDocumentRangeFormattingEdits] (response)",X.extensionId?.value,Le),Me.push(Le)}else{for(const Le of we){if(he.token.isCancellationRequested)return!0;Me.push(await Be(Le))}for(let Le=0;Le<we.length;++Le)for(let _e=Le+1;_e<we.length;++_e){if(he.token.isCancellationRequested)return!0;if(M(Me[Le],Me[_e])){const Qe=u.Q.plusRange(we[Le],we[_e]),je=await Be(Qe);we.splice(_e,1),we.splice(Le,1),we.push(Qe),Me.splice(_e,1),Me.splice(Le,1),Me.push(je),Le=0,_e=0}}}for(const Le of Me){if(he.token.isCancellationRequested)return!0;const _e=await ie.computeMoreMinimalEdits(le.uri,Le);_e&&Ve.push(..._e)}if(he.token.isCancellationRequested)return!0}finally{he.dispose()}if(Ve.length===0)return!1;if((0,b.z9)(G))l.c.execute(G,Ve,!0),G.revealPositionInCenterIfOutsideViewport(G.getPosition(),1);else{const[{range:Le}]=Ve,_e=new i.L(Le.startLineNumber,Le.startColumn,Le.endLineNumber,Le.endColumn);le.pushEditOperations([_e],Ve.map(Qe=>({text:Qe.text,range:u.Q.lift(Qe.range),forceMoveMarkers:!0})),Qe=>{for(const{range:je}of Qe)if(u.Q.areIntersectingOrTouching(je,_e))return[new i.L(je.startLineNumber,je.startColumn,je.endLineNumber,je.endColumn)];return null})}return de.playSignal(S.Rh.format,{userGesture:z}),!0}async function W(Z,X,G,Y,j,z){const ie=Z.get(p._Y),re=Z.get(_.u),de=(0,b.z9)(X)?X.getModel():X,le=h(re.documentFormattingEditProvider,re.documentRangeFormattingEditProvider,de),he=await D.select(le,de,G,1);he&&(Y.report(he),await ie.invokeFunction(U,he,X,G,j,z))}async function U(Z,X,G,Y,j,z){const ie=Z.get(r.w),re=Z.get(S.Nt);let de,le;(0,b.z9)(G)?(de=G.getModel(),le=new L.gI(G,5,void 0,j)):(de=G,le=new L.ER(G,j));let he;try{const we=await X.provideDocumentFormattingEdits(de,de.getFormattingOptions(),le.token);if(he=await ie.computeMoreMinimalEdits(de.uri,we),le.token.isCancellationRequested)return!0}finally{le.dispose()}if(!he||he.length===0)return!1;if((0,b.z9)(G))l.c.execute(G,he,Y!==2),Y!==2&&G.revealPositionInCenterIfOutsideViewport(G.getPosition(),1);else{const[{range:we}]=he,xe=new i.L(we.startLineNumber,we.startColumn,we.endLineNumber,we.endColumn);de.pushEditOperations([xe],he.map(Be=>({text:Be.text,range:u.Q.lift(Be.range),forceMoveMarkers:!0})),Be=>{for(const{range:M}of Be)if(u.Q.areIntersectingOrTouching(M,xe))return[new i.L(M.startLineNumber,M.startColumn,M.endLineNumber,M.endColumn)];return null})}return re.playSignal(S.Rh.format,{userGesture:z}),!0}async function $(Z,X,G,Y,j,z){const ie=X.documentRangeFormattingEditProvider.ordered(G);for(const re of ie){const de=await Promise.resolve(re.provideDocumentRangeFormattingEdits(G,Y,j,z)).catch(x.M_);if((0,v.EI)(de))return await Z.computeMoreMinimalEdits(G.uri,de)}}async function te(Z,X,G,Y,j){const z=h(X.documentFormattingEditProvider,X.documentRangeFormattingEditProvider,G);for(const ie of z){const re=await Promise.resolve(ie.provideDocumentFormattingEdits(G,Y,j)).catch(x.M_);if((0,v.EI)(re))return await Z.computeMoreMinimalEdits(G.uri,re)}}function ne(Z,X,G,Y,j,z,ie){const re=X.onTypeFormattingEditProvider.ordered(G);return re.length===0||re[0].autoFormatTriggerCharacters.indexOf(j)<0?Promise.resolve(void 0):Promise.resolve(re[0].provideOnTypeFormattingEdits(G,Y,j,z,ie)).catch(x.M_).then(de=>Z.computeMoreMinimalEdits(G.uri,de))}function V(Z){const X=Z;return!!X&&typeof X=="object"&&typeof X.tabSize=="number"&&typeof X.insertSpaces=="boolean"}o.w.registerCommand("_executeFormatRangeProvider",async function(Z,...X){const[G,Y,j]=X;(0,A.j)(g.r.isUri(G)),(0,A.j)(u.Q.isIRange(Y));const z=Z.get(d.b),ie=Z.get(r.w),re=Z.get(_.u),de=await z.createModelReference(G);try{return $(ie,re,de.object.textEditorModel,u.Q.lift(Y),I(j,de),R.XO.None)}finally{de.dispose()}}),o.w.registerCommand("_executeFormatDocumentProvider",async function(Z,...X){const[G,Y]=X;(0,A.j)(g.r.isUri(G));const j=Z.get(d.b),z=Z.get(r.w),ie=Z.get(_.u),re=await j.createModelReference(G);try{return te(z,ie,re.object.textEditorModel,I(Y,re),R.XO.None)}finally{re.dispose()}}),o.w.registerCommand("_executeFormatOnTypeProvider",async function(Z,...X){const[G,Y,j,z]=X;(0,A.j)(g.r.isUri(G)),(0,A.j)(C.y.isIPosition(Y)),(0,A.j)(typeof j=="string");const ie=Z.get(d.b),re=Z.get(r.w),de=Z.get(_.u),le=await ie.createModelReference(G);try{return ne(re,de,le.object.textEditorModel,C.y.lift(Y),j,I(z,le),R.XO.None)}finally{le.dispose()}});function I(Z,X){let G;if(V(Z))G=Z;else{const Y=X.object.textEditorModel.getOptions();G={tabSize:Y.tabSize,insertSpaces:Y.insertSpaces}}return G}},38803:(St,We,e)=>{e.d(We,{$D:()=>R,I_:()=>T,To:()=>x,Ym:()=>y});var v=e(82399);const R=(0,v.u1)("undoRedoService");class x{constructor(b,C){this.resource=b,this.elements=C}}const A=class A{constructor(){this.id=A._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};A._ID=0,A.None=new A;let T=A;const g=class g{constructor(){this.id=g._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}};g._ID=0,g.None=new g;let y=g},39084:(St,We,e)=>{e.d(We,{XL:()=>r,fL:()=>u,YY:()=>C,PO:()=>i,Rn:()=>L});var v=e(94327),R=e(8897),x=e(2106),T=e(10998);function y(d){const l=new Error("BugIndicatingErrorRecovery: "+d);(0,v.dz)(l),console.error("recovered from an error that indicates a bug",l)}var A=e(49855),g=e(82460);function L(d,l){const o=new r(d,l);try{d(o)}finally{o.finish()}}let b;function C(d){if(b)d(b);else{const l=new r(d,void 0);b=l;try{d(l)}finally{l.finish(),b=void 0}}}async function u(d,l){const o=new r(d,l);try{await d(o)}finally{o.finish()}}function i(d,l,o){d?l(d):L(l,o)}
161class r{constructor(l,o){this._fn=l,this._getDebugName=o,this._updatingObservers=[],(0,g.t)()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():(0,A.qQ)(this._fn)}updateObserver(l,o){if(!this._updatingObservers){y("Transaction already finished!"),L(c=>{c.updateObserver(l,o)});return}this._updatingObservers.push({observer:l,observable:o}),l.beginUpdate(o)}finish(){const l=this._updatingObservers;if(!l){y("transaction.finish() has already been called!");return}for(let o=0;o<l.length;o++){const{observer:c,observable:a}=l[o];c.endUpdate(a)}this._updatingObservers=null,(0,g.t)()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}}},39331:(St,We,e)=>{e.d(We,{Ef:()=>r,WL:()=>L,q6:()=>i,wm:()=>u});var v=e(13338),R=e(87110),x=e(94327),T=e(80816),y=e(15365),A=e(28061),g=e(54159);class L{static inverse(o,c,a){const p=[];let _=1,E=1;for(const h of o){const D=new L(new T.M(_,h.original.startLineNumber),new T.M(E,h.modified.startLineNumber));D.modified.isEmpty||p.push(D),_=h.original.endLineNumberExclusive,E=h.modified.endLineNumberExclusive}const S=new L(new T.M(_,c+1),new T.M(E,a+1));return S.modified.isEmpty||p.push(S),p}static clip(o,c,a){const p=[];for(const _ of o){const E=_.original.intersect(c),S=_.modified.intersect(a);E&&!E.isEmpty&&S&&!S.isEmpty&&p.push(new L(E,S))}return p}constructor(o,c){this.original=o,this.modified=c}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new L(this.modified,this.original)}join(o){return new L(this.original.join(o.original),this.modified.join(o.modified))}toRangeMapping(){const o=this.original.toInclusiveRange(),c=this.modified.toInclusiveRange();if(o&&c)return new i(o,c);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new x.D7("not a valid diff");return new i(new A.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new A.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new i(new A.Q(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new A.Q(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(o,c){if(C(this.original.endLineNumberExclusive,o)&&C(this.modified.endLineNumberExclusive,c))return new i(new A.Q(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new A.Q(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new i(A.Q.fromPositions(new y.y(this.original.startLineNumber,1),b(new y.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),o)),A.Q.fromPositions(new y.y(this.modified.startLineNumber,1),b(new y.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),c)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new i(A.Q.fromPositions(b(new y.y(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),o),b(new y.y(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),o)),A.Q.fromPositions(b(new y.y(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),c),b(new y.y(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),c)));throw new x.D7}}function b(l,o){if(l.lineNumber<1)return new y.y(1,1);if(l.lineNumber>o.length)return new y.y(o.length,o[o.length-1].length+1);const c=o[l.lineNumber-1];return l.column>c.length+1?new y.y(l.lineNumber,c.length+1):l}function C(l,o){return l>=1&&l<=o.length}class u extends L{static fromRangeMappings(o){const c=T.M.join(o.map(p=>T.M.fromRangeInclusive(p.originalRange))),a=T.M.join(o.map(p=>T.M.fromRangeInclusive(p.modifiedRange)));return new u(c,a,o)}constructor(o,c,a){super(o,c),this.innerChanges=a}flip(){return new u(this.modified,this.original,this.innerChanges?.map(o=>o.flip()))}withInnerChangesFromLineRanges(){return new u(this.original,this.modified,[this.toRangeMapping()])}}class i{static fromEdit(o){const c=o.getNewRanges();return o.replacements.map((p,_)=>new i(p.range,c[_]))}static assertSorted(o){for(let c=1;c<o.length;c++){const a=o[c-1],p=o[c];if(!(a.originalRange.getEndPosition().isBeforeOrEqual(p.originalRange.getStartPosition())&&a.modifiedRange.getEndPosition().isBeforeOrEqual(p.modifiedRange.getStartPosition())))throw new x.D7("Range mappings must be sorted")}}constructor(o,c){this.originalRange=o,this.modifiedRange=c}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new i(this.modifiedRange,this.originalRange)}toTextEdit(o){const c=o.getValueOfRange(this.modifiedRange);return new g.W(this.originalRange,c)}}function r(l,o,c,a=!1){const p=[];for(const _ of(0,v.n)(l.map(E=>
161d(E,o,c)),(E,S)=>E.original.intersectsOrTouches(S.original)||E.modified.intersectsOrTouches(S.modified))){const E=_[0],S=_[_.length-1];p.push(new u(E.original.join(S.original),E.modified.join(S.modified),_.map(h=>h.innerChanges[0])))}return(0,R.Ft)(()=>!a&&p.length>0&&(p[0].modified.startLineNumber!==p[0].original.startLineNumber||c.length.lineCount-p[p.length-1].modified.endLineNumberExclusive!==o.length.lineCount-p[p.length-1].original.endLineNumberExclusive)?!1:(0,R.Xo)(p,(_,E)=>E.original.startLineNumber-_.original.endLineNumberExclusive===E.modified.startLineNumber-_.modified.endLineNumberExclusive&&_.original.endLineNumberExclusive<E.original.startLineNumber&&_.modified.endLineNumberExclusive<E.modified.startLineNumber)),p}function d(l,o,c){let a=0,p=0;l.modifiedRange.endColumn===1&&l.originalRange.endColumn===1&&l.originalRange.startLineNumber+a<=l.originalRange.endLineNumber&&l.modifiedRange.startLineNumber+a<=l.modifiedRange.endLineNumber&&(p=-1),l.modifiedRange.startColumn-1>=c.getLineLength(l.modifiedRange.startLineNumber)&&l.originalRange.startColumn-1>=o.getLineLength(l.originalRange.startLineNumber)&&l.originalRange.startLineNumber<=l.originalRange.endLineNumber+p&&l.modifiedRange.startLineNumber<=l.modifiedRange.endLineNumber+p&&(a=1);const _=new T.M(l.originalRange.startLineNumber+a,l.originalRange.endLineNumber+1+p),E=new T.M(l.modifiedRange.startLineNumber+a,l.modifiedRange.endLineNumber+1+p);return new u(_,E,[l])}},39504:(St,We,e)=>{e.d(We,{U:()=>o,h:()=>l});var v=e(14333),R=e(27969),x=e(78903),T=e(9223),y=e(28061),A=e(37042),g=e(95976),L=e(70228),b=e(58067),C=e(82096),u=e(31540),i=e(52348),r=e(82399),d=e(29879);async function l(c,a,p,_){const E=c.get(A.b),S=c.get(i.Z),h=c.get(C.d),D=c.get(r._Y),k=c.get(d.Ot);if(await _.item.resolve(x.XO.None),!_.part.location)return;const N=_.part.location,W=[],U=new Set(b.ZG.getMenuItems(b.D8.EditorContext).map(te=>(0,b.is)(te)?te.command.id:(0,T.b)()));for(const te of g.bn.all())U.has(te.desc.id)&&W.push(new R.rc(te.desc.id,b.Xe.label(te.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const ne=await E.createModelReference(N.uri);try{const V=new g.QS(ne.object.textEditorModel,y.Q.getStartPosition(N.range)),I=_.item.anchor.range;await D.invokeFunction(te.runEditorCommand.bind(te),a,V,I)}finally{ne.dispose()}}));if(_.part.command){const{command:te}=_.part;W.push(new R.wv),W.push(new R.rc(te.id,te.title,void 0,!0,async()=>{try{await h.executeCommand(te.id,...te.arguments??[])}catch(ne){k.notify({severity:d.AI.Error,source:_.item.provider.displayName,message:ne})}}))}const $=a.getOption(144);S.showContextMenu({domForShadowRoot:$?a.getDomNode()??void 0:void 0,getAnchor:()=>{const te=(0,v.BK)(p);return{x:te.left,y:te.top+te.height+8}},getActions:()=>W,onHide:()=>{a.focus()},autoSelectFirstItem:!0})}async function o(c,a,p,_){const S=await c.get(A.b).createModelReference(_.uri);await p.invokeWithinContext(async h=>{const D=a.hasSideBySideModifier,k=h.get(u.fN),N=L.x2.inPeekEditor.getValue(k),W=!D&&p.getOption(101)&&!N;return new g.mR({openToSide:D,openInPeek:W,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(h,new g.QS(S.object.textEditorModel,y.Q.getStartPosition(_.range)),y.Q.lift(_.range))}),S.dispose()}},39587:(St,We,e)=>{e.d(We,{t:()=>R});var v=e(53720);const R={RESOURCES:"ResourceURLs",TEXT:v.K.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"}},39603:(St,We,e)=>{e.d(We,{A:()=>T});var v=e(9871);let R;const x=globalThis.vscode;if(typeof x<"u"&&typeof x.context<"u"){const y=x.context.configuration();if(y)R=y.product;else throw new Error("Sandbox: unable to resolve product configuration from preload script.")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(R=globalThis._VSCODE_PRODUCT_JSON,v._K.VSCODE_DEV&&Object.assign(R,{nameShort:`${R.nameShort} Dev`,nameLong:`${R.nameLong} Dev`,dataFolderName:`${R.dataFolderName}-dev`,serverDataFolderName:R.serverDataFolderName?`${R.serverDataFolderName}-dev`:void 0}),!R.version){const y=globalThis._VSCODE_PACKAGE_JSON;Object.assign(R,{version:y.version})}}else R={},Object.keys(R).length===0&&Object.assign(R,{version:"1.104.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"
161code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GitHub Enterprise"}},providerScopes:[]}});var T=R},39619:(St,We,e)=>{e.d(We,{FW:()=>A,Zv:()=>R,dG:()=>T,z5:()=>g});var v=e(94327);function R(L,b){if(typeof L=="number"){if(L===0)return null;const C=(L&65535)>>>0,u=(L&4294901760)>>>16;return u!==0?new y([x(C,b),x(u,b)]):new y([x(C,b)])}else{const C=[];for(let u=0;u<L.length;u++)C.push(x(L[u],b));return new y(C)}}function x(L,b){const C=!!(L&2048),u=!!(L&256),i=b===2?u:C,r=!!(L&1024),d=!!(L&512),l=b===2?C:u,o=L&255;return new T(i,r,d,l,o)}class T{constructor(b,C,u,i,r){this.ctrlKey=b,this.shiftKey=C,this.altKey=u,this.metaKey=i,this.keyCode=r}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}}class y{constructor(b){if(b.length===0)throw(0,v.Qg)("chords");this.chords=b}}class A{constructor(b,C,u,i,r,d){this.ctrlKey=b,this.shiftKey=C,this.altKey=u,this.metaKey=i,this.keyLabel=r,this.keyAriaLabel=d}}class g{}},39723:(St,We,e)=>{e.d(We,{wZ:()=>L,zL:()=>g,yf:()=>C,UW:()=>u,Md:()=>r});var v=e(3765),R=e(16844),x=e(54324),T=e(45561);class y{constructor(W,U,$,te){this.endIndex=W,this.type=U,this.metadata=$,this.containsRTL=te,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}var A=e(66055);class g{get isLTR(){return!this.containsRTL&&this.textDirection!==A.z4.RTL}constructor(W,U,$,te,ne,V,I,H,Z,X,G,Y,j,z,ie,re,de,le,he,we,xe,Be=!1){this.useMonospaceOptimizations=W,this.canUseHalfwidthRightwardsArrow=U,this.lineContent=$,this.continuesWithWrappedLine=te,this.isBasicASCII=ne,this.containsRTL=V,this.fauxIndentLength=I,this.lineTokens=H,this.lineDecorations=Z.sort(T.d.compare),this.tabSize=X,this.startVisibleColumn=G,this.spaceWidth=Y,this.stopRenderingLineAfter=ie,this.renderWhitespace=re==="all"?4:re==="boundary"?1:re==="selection"?2:re==="trailing"?3:0,this.renderControlCharacters=de,this.fontLigatures=le,this.selectionsOnLine=he&&he.sort((Me,Le)=>Me.start<Le.start?-1:1),this.renderNewLineWhenEmpty=Be,this.textDirection=we,this.verticalScrollbarSize=xe;const M=Math.abs(z-Y),Ve=Math.abs(j-Y);M<Ve?(this.renderSpaceWidth=z,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=j,this.renderSpaceCharCode=183)}sameSelection(W){if(this.selectionsOnLine===null)return W===null;if(W===null||W.length!==this.selectionsOnLine.length)return!1;for(let U=0;U<this.selectionsOnLine.length;U++)if(!this.selectionsOnLine[U].equals(W[U]))return!1;return!0}equals(W){return this.useMonospaceOptimizations===W.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===W.canUseHalfwidthRightwardsArrow&&this.lineContent===W.lineContent&&this.continuesWithWrappedLine===W.continuesWithWrappedLine&&this.isBasicASCII===W.isBasicASCII&&this.containsRTL===W.containsRTL&&this.fauxIndentLength===W.fauxIndentLength&&this.tabSize===W.tabSize&&this.startVisibleColumn===W.startVisibleColumn&&this.spaceWidth===W.spaceWidth&&this.renderSpaceWidth===W.renderSpaceWidth&&this.renderSpaceCharCode===W.renderSpaceCharCode&&this.stopRenderingLineAfter===W.stopRenderingLineAfter&&this.renderWhitespace===W.renderWhitespace&&this.renderControlCharacters===W.renderControlCharacters&&this.fontLigatures===W.fontLigatures&&T.d.equalsArr(this.lineDecorations,W.lineDecorations)&&this.lineTokens.equals(W.lineTokens)&&this.sameSelection(W.selectionsOnLine)&&this.textDirection===W.textDirection&&this.verticalScrollbarSize===W.verticalScrollbarSize&&this.renderNewLineWhenEmpty===W.renderNewLineWhenEmpty}}class L{constructor(W,U){this.partIndex=W,this.charIndex=U}}class b{static getPartIndex(W){return(W&4294901760)>>>16}static getCharIndex(W){return(W&65535)>>>0}constructor(W,U){this.length=W,this._data=new Uint32Array(this.length),this._horizontalOffset=new 
161Uint32Array(this.length)}setColumnInfo(W,U,$,te){const ne=(U<<16|$<<0)>>>0;this._data[W-1]=ne,this._horizontalOffset[W-1]=te}getHorizontalOffset(W){return this._horizontalOffset.length===0?0:this._horizontalOffset[W-1]}charOffsetToPartData(W){return this.length===0?0:W<0?this._data[0]:W>=this.length?this._data[this.length-1]:this._data[W]}getDomPosition(W){const U=this.charOffsetToPartData(W-1),$=b.getPartIndex(U),te=b.getCharIndex(U);return new L($,te)}getColumn(W,U){return this.partDataToCharOffset(W.partIndex,U,W.charIndex)+1}partDataToCharOffset(W,U,$){if(this.length===0)return 0;const te=(W<<16|$<<0)>>>0;let ne=0,V=this.length-1;for(;ne+1<V;){const ie=ne+V>>>1,re=this._data[ie];if(re===te)return ie;re>te?V=ie:ne=ie}if(ne===V)return ne;const I=this._data[ne],H=this._data[V];if(I===te)return ne;if(H===te)return V;const Z=b.getPartIndex(I),X=b.getCharIndex(I),G=b.getPartIndex(H);let Y;Z!==G?Y=U:Y=b.getCharIndex(H);const j=$-X,z=Y-$;return j<=z?ne:V}}class C{constructor(W,U){this._renderLineOutputBrand=void 0,this.characterMapping=W,this.containsForeignElements=U}}function u(N,W){if(N.lineContent.length===0){if(N.lineDecorations.length>0){W.appendString("<span>");let U=0,$=0,te=0;for(const V of N.lineDecorations)(V.type===1||V.type===2)&&(W.appendString('
161<span class="'),W.appendString(V.className),W.appendString('"></span>'),V.type===1&&(te|=1,U++),V.type===2&&(te|=2,$++));W.appendString("</span>");const ne=new b(1,U+$);return ne.setColumnInfo(1,U,0,0),new C(ne,te)}return N.renderNewLineWhenEmpty?W.appendString(`<span><span>
162</span></span>`):W.appendString("<span><span></span></span>"),new C(new b(0,0),0)}return h(l(N),W)}class i{constructor(W,U,$){this.characterMapping=W,this.html=U,this.containsForeignElements=$}}function r(N){const W=new x.fe(1e4),U=u(N,W);return new i(U.characterMapping,W.build(),U.containsForeignElements)}class d{constructor(W,U,$,te,ne,V,I,H,Z,X,G,Y,j,z,ie){this.fontIsMonospace=W,this.canUseHalfwidthRightwardsArrow=U,this.lineContent=$,this.len=te,this.isOverflowing=ne,this.overflowingCharCount=V,this.parts=I,this.containsForeignElements=H,this.fauxIndentLength=Z,this.tabSize=X,this.startVisibleColumn=G,this.spaceWidth=Y,this.renderSpaceCharCode=j,this.renderWhitespace=z,this.renderControlCharacters=ie}}function l(N){const W=N.lineContent;let U,$,te;N.stopRenderingLineAfter!==-1&&N.stopRenderingLineAfter<W.length?(U=!0,$=W.length-N.stopRenderingLineAfter,te=N.stopRenderingLineAfter):(U=!1,$=0,te=W.length);let ne=o(W,N.containsRTL,N.lineTokens,N.fauxIndentLength,te);N.renderControlCharacters&&!N.isBasicASCII&&(ne=_(W,ne)),(N.renderWhitespace===4||N.renderWhitespace===1||N.renderWhitespace===2&&N.selectionsOnLine||N.renderWhitespace===3&&!N.continuesWithWrappedLine)&&(ne=E(N,W,te,ne));let V=0;if(N.lineDecorations.length>0){for(let I=0,H=N.lineDecorations.length;I<H;I++){const Z=N.lineDecorations[I];Z.type===3||Z.type===1?V|=1:Z.type===2&&(V|=2)}ne=S(W,te,ne,N.lineDecorations)}return N.containsRTL?ne=a(W,ne):ne=c(W,ne,!N.isBasicASCII||N.fontLigatures),new d(N.useMonospaceOptimizations,N.canUseHalfwidthRightwardsArrow,W,te,U,$,ne,V,N.fauxIndentLength,N.tabSize,N.startVisibleColumn,N.spaceWidth,N.renderSpaceCharCode,N.renderWhitespace,N.renderControlCharacters)}function o(N,W,U,$,te){const ne=[];let V=0;$>0&&(ne[V++]=new y($,"",0,!1));let I=$;for(let H=0,Z=U.getCount();H<Z;H++){const X=U.getEndOffset(H);if(X<=$)continue;const G=U.getClassName(H);if(X>=te){const j=W?(0,R.E_)(N.substring(I,te)):!1;ne[V++]=new y(te,G,0,j);break}const Y=W?(0,R.E_)(N.substring(I,X)):!1;ne[V++]=new y(X,G,0,Y),I=X}return ne}function c(N,W,U){let $=0;const te=[];let ne=0;if(U)for(let V=0,I=W.length;V<I;V++){const H=W[V],Z=H.endIndex;if($+50<Z){const X=H.type,G=H.metadata,Y=H.containsRTL;let j=-1,z=$;for(let ie=$;ie<Z;ie++)N.charCodeAt(ie)===32&&(j=ie),j!==-1&&ie-z>=50&&(te[ne++]=new y(j+1,X,G,Y),z=j+1,j=-1);z!==Z&&(te[ne++]=new y(Z,X,G,Y))}else te[ne++]=H;$=Z}else for(let V=0,I=W.length;V<I;V++){const H=W[V],Z=H.endIndex,X=Z-$;if(X>50){const G=H.type,Y=H.metadata,j=H.containsRTL,z=Math.ceil(X/50);for(let ie=1;ie<z;ie++){const re=$+ie*50;te[ne++]=new y(re,G,Y,j)}te[ne++]=new y(Z,G,Y,j)}else te[ne++]=H;$=Z}return te}function a(N,W){if(W.length===0)return W;const U=W[0];if(!U.containsRTL)return W;const $=U.endIndex;let te=0;for(let V=0;V<$;V++){const I=N.charCodeAt(V);if(I!==32&&I!==9){te=V;break}}if(te===0)return W;const ne=[];ne.push(new y(te,U.type,U.metadata,!1)),ne.push(new y($,U.type,U.metadata,U.containsRTL));for(let V=1;V<W.length;V++)ne.push(W[V]);return ne}function p(N){return N<32?N!==9:N===127||N>=8234&&N<=8238||N>=8294&&N<=8297||N>=8206&&N<=8207||N===1564}function _(N,W){const U=[];let $=new y(0,"",0,!1),te=0;for(const ne of W){const V=ne.endIndex;for(;te<V;te++){const I=N.charCodeAt(te);p(I)&&(te>$.endIndex&&($=new y(te,ne.type,ne.metadata,ne.containsRTL),U.push($)),$=new y(te+1,"mtkcontrol",ne.metadata,!1),U.push($))}te>$.endIndex&&($=new y(V,ne.type,ne.metadata,ne.containsRTL),U.push($))}return U}function E(N,W,U,$){const te=N.continuesWithWrappedLine,ne=N.fauxIndentLength,V=N.tabSize,I=N.startVisibleColumn,H=N.useMonospaceOptimizations,Z=N.selectionsOnLine,X=N.renderWhitespace===1,G=N.renderWhitespace===3,Y=N.renderSpaceWidth!==N.spaceWidth,j=[];let z=0,ie=0,re=$[ie].type,de=$[ie].containsRTL,le=$[ie].endIndex;const he=$.length;let we=!1,xe=(0,R.HG)(W),Be;xe===-1?(we=!0,xe=U,Be=U):Be=(0,R.lT)(W);let M=!1,Ve=0,Me=Z&&Z[Ve],Le=I%V;for(let Qe=ne;Qe<U;Qe++){const je=W.charCodeAt(Qe);Me&&Me.endExclusive<=Qe&&(Ve++,Me=Z&&Z[Ve]);let ae;if(Qe<xe||Qe>Be)ae=!0;else if(je===9)ae=!0;else if(je===32)if(X)if(M)ae=!0;else{const Ee=Qe+1<U?W.charCodeAt(Qe+1):0;ae=Ee===32||Ee===9}else ae=!0;else ae=!1;if(ae&&Z&&(ae=!!Me&&Me.start<=Qe&&Qe<Me.endExclusive),ae&&G&&(ae=we||Qe>Be),ae&&de&&Qe>=xe&&Qe<=Be&&(ae=!1),M){if(!ae||!H&&Le>=V){if(Y){const Ee=z>
1620?j[z-1].endIndex:ne;for(let Ie=Ee+1;Ie<=Qe;Ie++)j[z++]=new y(Ie,"mtkw",1,!1)}else j[z++]=new y(Qe,"mtkw",1,!1);Le=Le%V}}else(Qe===le||ae&&Qe>ne)&&(j[z++]=new y(Qe,re,0,de),Le=Le%V);for(je===9?Le=V:(0,R.ne)(je)?Le+=2:Le++,M=ae;Qe===le&&(ie++,ie<he);)re=$[ie].type,de=$[ie].containsRTL,le=$[ie].endIndex}let _e=!1;if(M)if(te&&X){const Qe=U>0?W.charCodeAt(U-1):0,je=U>1?W.charCodeAt(U-2):0;Qe===32&&je!==32&&je!==9||(_e=!0)}else _e=!0;if(_e)if(Y){const Qe=z>0?j[z-1].endIndex:ne;for(let je=Qe+1;je<=U;je++)j[z++]=new y(je,"mtkw",1,!1)}else j[z++]=new y(U,"mtkw",1,!1);else j[z++]=new y(U,re,0,de);return j}function S(N,W,U,$){$.sort(T.d.compare);const te=T.Bs.normalize(N,$),ne=te.length;let V=0;const I=[];let H=0,Z=0;for(let G=0,Y=U.length;G<Y;G++){const j=U[G],z=j.endIndex,ie=j.type,re=j.metadata,de=j.containsRTL;for(;V<ne&&te[V].startOffset<z;){const le=te[V];if(le.startOffset>Z&&(Z=le.startOffset,I[H++]=new y(Z,ie,re,de)),le.endOffset+1<=z)Z=le.endOffset+1,I[H++]=new y(Z,ie+" "+le.className,re|le.metadata,de),V++;else{Z=z,I[H++]=new y(Z,ie+" "+le.className,re|le.metadata,de);break}}z>Z&&(Z=z,I[H++]=new y(Z,ie,re,de))}const X=U[U.length-1].endIndex;if(V<ne&&te[V].startOffset===X)for(;V<ne&&te[V].startOffset===X;){const G=te[V];I[H++]=new y(Z,G.className,G.metadata,!1),V++}return I}function h(N,W){const U=N.fontIsMonospace,$=N.canUseHalfwidthRightwardsArrow,te=N.containsForeignElements,ne=N.lineContent,V=N.len,I=N.isOverflowing,H=N.overflowingCharCount,Z=N.parts,X=N.fauxIndentLength,G=N.tabSize,Y=N.startVisibleColumn,j=N.spaceWidth,z=N.renderSpaceCharCode,ie=N.renderWhitespace,re=N.renderControlCharacters,de=new b(V+1,Z.length);let le=!1,he=0,we=Y,xe=0,Be=0,M=0;W.appendString("<span>");for(let Ve=0,Me=Z.length;Ve<Me;Ve++){const Le=Z[Ve],_e=Le.endIndex,Qe=Le.type,je=Le.containsRTL,ae=ie!==0&&Le.isWhitespace(),Ee=ae&&!U&&(Qe==="mtkw"||!te),Ie=he===_e&&Le.isPseudoAfter();if(xe=0,W.appendString("<span "),je&&W.appendString('style="unicode-bidi:isolate" '),W.appendString('class="'),W.appendString(Ee?"mtkz":Qe),W.appendASCIICharCode(34),ae){let Ue=0;{let $e=he,Ye=we;for(;$e<_e;$e++){const He=(ne.charCodeAt($e)===9?G-Ye%G:1)|0;Ue+=He,$e>=X&&(Ye+=He)}}for(Ee&&(W.appendString(' style="width:'),W.appendString(String(j*Ue)),W.appendString('px"')),W.appendASCIICharCode(62);he<_e;he++){de.setColumnInfo(he+1,Ve-M,xe,Be),M=0;const $e=ne.charCodeAt(he);let Ye,Ce;if($e===9){Ye=G-we%G|0,Ce=Ye,!$||Ce>1?W.appendCharCode(8594):W.appendCharCode(65515);for(let He=2;He<=Ce;He++)W.appendCharCode(160)}else Ye=2,Ce=1,W.appendCharCode(z),W.appendCharCode(8204);xe+=Ye,Be+=Ce,he>=X&&(we+=Ce)}}else for(W.appendASCIICharCode(62);he<_e;he++){de.setColumnInfo(he+1,Ve-M,xe,Be),M=0;const Ue=ne.charCodeAt(he);let $e=1,Ye=1;switch(Ue){case 9:$e=G-we%G,Ye=$e;for(let Ce=1;Ce<=$e;Ce++)W.appendCharCode(160);break;case 32:W.appendCharCode(160);break;case 60:W.appendString("&lt;");break;case 62:W.appendString("&gt;");break;case 38:W.appendString("&amp;");break;case 0:re?W.appendCharCode(9216):W.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:W.appendCharCode(65533);break;default:(0,R.ne)(Ue)&&Ye++,re&&Ue<32?W.appendCharCode(9216+Ue):re&&Ue===127?W.appendCharCode(9249):re&&p(Ue)?(W.appendString("[U+"),W.appendString(D(Ue)),W.appendString("]"),$e=8,Ye=$e):W.appendCharCode(Ue)}xe+=$e,Be+=Ye,he>=X&&(we+=Ye)}Ie?M++:M=0,he>=V&&!le&&Le.isPseudoAfter()&&(le=!0,de.setColumnInfo(he+1,Ve,xe,Be)),W.appendString("</span>")}return le||de.setColumnInfo(V+1,Z.length-1,xe,Be),I&&(W.appendString('
162<span class="mtkoverflow">'),W.appendString((0,v.kg)(832,"Show more ({0})",k(H))),W.appendString("</span>")),W.appendString("</span>"),new C(de,te)}function D(N){return N.toString(16).toUpperCase().padStart(4,"0")}function k(N){return N<1024?(0,v.kg)(833,"{0} chars",N):N<1024*1024?`${(N/1024).toFixed(1)} KB`:`${(N/1024/1024).toFixed(1)} MB`}},40708:(St,We,e)=>{e.d(We,{X:()=>c,U:()=>a});var v=e(14333),R=e(34061),x=e(61694),T=e(16831),y=e(13338),A=e(94901),g=e(2106),L=e(10998),b=e(62992),C=e(94513),u=e(79359);const i={separatorBorder:A.Q1.transparent};class r{set size(_){this._size=_}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(_,E){if(_!==this.visible){_?(this.size=(0,b.qE)(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof E=="number"?E:this.size,this.size=0),this.container.classList.toggle("visible",_);try{this.view.setVisible?.(_)}catch(S){console.error("Splitview: Failed to set visible view"),console.error(S)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){return this.view.proportionalLayout??!0}get snap(){return!!this.view.snap}set enabled(_){this.container.style.pointerEvents=_?"":"none"}constructor(_,E,S,h){this.container=_,this.view=E,this.disposable=h,this._cachedVisibleSize=void 0,typeof S=="number"?(this._size=S,this._cachedVisibleSize=void 0,_.classList.add("visible")):(this._size=0,this._cachedVisibleSize=S.cachedVisibleSize)}layout(_,E){this.layoutContainer(_);try{this.view.layout(this.size,_,E)}catch(S){console.error("Splitview: Failed to layout view"),console.error(S)}}dispose(){this.disposable.dispose()}}class d extends r{layoutContainer(_){this.container.style.top=`${_}px`,this.container.style.height=`${this.size}px`}}class l extends r{layoutContainer(_){this.container.style.left=`${_}px`,this.container.style.width=`${this.size}px`}}var o;(function(p){p[p.Idle=0]="Idle",p[p.Busy=1]="Busy"})(o||(o={}));var c;(function(p){p.Distribute={type:"distribute"};function _(h){return{type:"split",index:h}}p.Split=_;function E(h){return{type:"auto",index:h}}p.Auto=E;function S(h){return{type:"invisible",cachedVisibleSize:h}}p.Invisible=S})(c||(c={}));class a extends L.jG{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(_){for(const E of this.sashItems)E.sash.orthogonalStartSash=_;this._orthogonalStartSash=_}set orthogonalEndSash(_){for(const E of this.sashItems)E.sash.orthogonalEndSash=_;this._orthogonalEndSash=_}set startSnappingEnabled(_){this._startSnappingEnabled!==_&&(this._startSnappingEnabled=_,this.updateSashEnablement())}set endSnappingEnabled(_){this._endSnappingEnabled!==_&&(this._endSnappingEnabled=_,this.updateSashEnablement())}constructor(_,E={}){super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=o.Idle,this._onDidSashChange=this._register(new g.vl),this._onDidSashReset=this._register(new g.vl),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=E.orientation??0,this.inverseAltBehavior=E.inverseAltBehavior??!1,this.proportionalLayout=E.proportionalLayout??!0,this.getSashOrthogonalSize=E.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),_.appendChild(this.el),this.sashContainer=(0,v.BC)(this.el,(0,v.$)(".sash-container")),this.viewContainer=(0,v.$)(".split-view-container"),this.scrollable=this._register(new C.yE({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:h=>(0,v.PG)((0,v.zk)(this.el),h)})),this.scrollableElement=this._register(new T.oO(this.viewContainer,{vertical:this.orientation===0?E.scrollbarVisibility??1:2,horizontal:this.orientation===1?E.scrollbarVisibility??1:2},this.scrollable));const S=this._register(new R.f(this.viewContainer,"scroll")).event;this._register(S(h=>{const D=this.scrollableElement.getScrollPosition(),k=Math.abs(this.viewContainer.scrollLeft-D.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,N=Math.abs(this.viewContainer.scrollTop-D.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(k!==void 0||N!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:k,scrollTop:N})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(h=>{h.scrollTopChanged&&(this.viewContainer.scrollTop=h.scrollTop),h.scrollLeftChanged&&(this.viewContainer.scrollLeft=h.scrollLeft)})),(0,v.BC)(this.el,this.scrollableElement.getDomNode()),this.style(E.styles||i),E.descriptor&&(this.size=E.descriptor.size,E.descriptor.views.forEach((h,D)=>{const k=(0,u.b0)(h.visible)||h.visible?h.size:{type:"invisible",cachedVisibleSize:h.size},N=h.view;this.doAddView(N,k,D,!0)}),this._contentSize=this.viewItems.reduce((h,D)=>h+D.size,0),this.saveProportions())}
162style(_){_.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",_.separatorBorder.toString()))}addView(_,E,S=this.viewItems.length,h){this.doAddView(_,E,S,h)}layout(_,E){const S=Math.max(this.size,this._contentSize);if(this.size=_,this.layoutContext=E,this.proportions){let h=0;for(let D=0;D<this.viewItems.length;D++){const k=this.viewItems[D],N=this.proportions[D];typeof N=="number"?h+=N:_-=k.size}for(let D=0;D<this.viewItems.length;D++){const k=this.viewItems[D],N=this.proportions[D];typeof N=="number"&&h>0&&(k.size=(0,b.qE)(Math.round(N*_/h),k.minimumSize,k.maximumSize))}}else{const h=(0,y.y1)(this.viewItems.length),D=h.filter(N=>this.viewItems[N].priority===1),k=h.filter(N=>this.viewItems[N].priority===2);this.resize(this.viewItems.length-1,_-S,void 0,D,k)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(_=>_.proportionalLayout&&_.visible?_.size/this._contentSize:void 0))}onSashStart({sash:_,start:E,alt:S}){for(const N of this.viewItems)N.enabled=!1;const h=this.sashItems.findIndex(N=>N.sash===_),D=(0,L.qE)((0,v.ko)(this.el.ownerDocument.body,"keydown",N=>k(this.sashDragState.current,N.altKey)),(0,v.ko)(this.el.ownerDocument.body,"keyup",()=>k(this.sashDragState.current,!1))),k=(N,W)=>{const U=this.viewItems.map(I=>I.size);let $=Number.NEGATIVE_INFINITY,te=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(W=!W),W)if(h===this.sashItems.length-1){const H=this.viewItems[h];$=(H.minimumSize-H.size)/2,te=(H.maximumSize-H.size)/2}else{const H=this.viewItems[h+1];$=(H.size-H.maximumSize)/2,te=(H.size-H.minimumSize)/2}let ne,V;if(!W){const I=(0,y.y1)(h,-1),H=(0,y.y1)(h+1,this.viewItems.length),Z=I.reduce((de,le)=>de+(this.viewItems[le].minimumSize-U[le]),0),X=I.reduce((de,le)=>de+(this.viewItems[le].viewMaximumSize-U[le]),0),G=H.length===0?Number.POSITIVE_INFINITY:H.reduce((de,le)=>de+(U[le]-this.viewItems[le].minimumSize),0),Y=H.length===0?Number.NEGATIVE_INFINITY:H.reduce((de,le)=>de+(U[le]-this.viewItems[le].viewMaximumSize),0),j=Math.max(Z,Y),z=Math.min(G,X),ie=this.findFirstSnapIndex(I),re=this.findFirstSnapIndex(H);if(typeof ie=="number"){const de=this.viewItems[ie],le=Math.floor(de.viewMinimumSize/2);ne={index:ie,limitDelta:de.visible?j-le:j+le,size:de.size}}if(typeof re=="number"){const de=this.viewItems[re],le=Math.floor(de.viewMinimumSize/2);V={index:re,limitDelta:de.visible?z+le:z-le,size:de.size}}}this.sashDragState={start:N,current:N,index:h,sizes:U,minDelta:$,maxDelta:te,alt:W,snapBefore:ne,snapAfter:V,disposable:D}};k(E,S)}onSashChange({current:_}){const{index:E,start:S,sizes:h,alt:D,minDelta:k,maxDelta:N,snapBefore:W,snapAfter:U}=this.sashDragState;this.sashDragState.current=_;const $=_-S,te=this.resize(E,$,h,void 0,void 0,k,N,W,U);if(D){const ne=E===this.sashItems.length-1,V=this.viewItems.map(Y=>Y.size),I=ne?E:E+1,H=this.viewItems[I],Z=H.size-H.maximumSize,X=H.size-H.minimumSize,G=ne?E-1:E+1;this.resize(G,-te,V,void 0,void 0,Z,X)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(_){this._onDidSashChange.fire(_),this.sashDragState.disposable.dispose(),this.saveProportions();for(const E of this.viewItems)E.enabled=!0}onViewChange(_,E){const S=this.viewItems.indexOf(_);S<0||S>=this.viewItems.length||(E=typeof E=="number"?E:_.size,E=(0,b.qE)(E,_.minimumSize,_.maximumSize),this.inverseAltBehavior&&S>0?(this.resize(S-1,Math.floor((_.size-E)/2)),this.distributeEmptySpace(),this.layoutViews()):(_.size=E,this.relayout([S],void 0)))}resizeView(_,E){if(!(_<0||_>=this.viewItems.length)){if(this.state!==o.Idle)throw new Error("Cant modify splitview");this.state=o.Busy;try{const S=(0,y.y1)(this.viewItems.length).filter(N=>N!==_),h=[...S.filter(N=>this.viewItems[N].priority===1),_],D=S.filter(N=>this.viewItems[N].priority===2),k=this.viewItems[_];E=Math.round(E),E=(0,b.qE)(E,k.minimumSize,Math.min(k.maximumSize,this.size)),k.size=E,this.relayout(h,D)}finally{this.state=o.Idle}}}distributeViewSizes(){const _=[];let E=0;for(const N of this.viewItems)N.maximumSize-N.minimumSize>0&&(_.push(N),E+=N.size);const S=Math.floor(E/_.length);for(const N of _)N.size=(0,b.qE)(S,N.minimumSize,N.maximumSize);const h=(0,y.y1)(this.viewItems.length),D=h.filter(N=>this.viewItems[N].priority===1),k=h.filter(N=>this.viewItems[N].priority===2);this.relayout(D,k)}getViewSize(_){return _<0||_>=this.viewItems.length?-1:this.viewItems[_].size}doAddView(_,E,S=this.viewItems.length,h){if(this.state!==o.Idle)throw new Error("Cant modify splitview");this.state=o.Busy;try{const D=(0,v.$)(".split-view-view");S===this.viewItems.length?this.viewContainer.appendChild(D):this.viewContainer.insertBefore(D,this.viewContainer.children.item(S));const k=_.onDidChange(ne=>this.onViewChange($,ne)),N=(0,L.s)(()=>D.remove()),W=(0,L.qE)(k,N);let U;typeof E=="number"?U=E:(E.type==="auto"&&(this.areViewsDistributed()?E={type:"distribute"}:E={type:"split",index:E.index}),E.type==="split"?U=this.getViewSize(E.index)/2:E.type==="invisible"?U={cachedVisibleSize:E.cachedVisibleSize}:U=_.minimumSize);const $=this.orientation===0?new d(D,_,U,W):new l(D,_,U,W);if(this.viewItems.splice(S,0,$),this.viewItems.length>1){const ne={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},V=this.orientation===0?new x.m(this.sashContainer,{getHorizontalSashTop:de=>this.getSashPosition(de),getHorizontalSashWidth:this.getSashOrthogonalSize},{...ne,orientation:1}):new x.m(this.sashContainer,{getVerticalSashLeft:de=>this.getSashPosition(de),getVerticalSashHeight:this.getSashOrthogonalSize},{...ne,orientation:0}),I=this.orientation===0?de=>({sash:V,start:de.startY,current:de.currentY,alt:de.altKey}):de=>({sash:V,start:de.startX,current:de.currentX,alt:de.altKey}),Z=g.Jh.map(V.onDidStart,I)(this.onSashStart,this),G=g.Jh.map(V.onDidChange,I)(this.onSashChange,this),j=g.Jh.map(V.onDidEnd,()=>this.sashItems.findIndex(de=>de.sash===V))(this.onSashEnd,this),z=V.onDidReset(()=>{const de=this.sashItems.findIndex(Be=>Be.sash===V),le=(0,y.y1)(de,-1),he=(0,y.y1)(de+1,this.viewItems.length),we=this.findFirstSnapIndex(le),xe=this.findFirstSnapIndex(he);typeof we=="number"&&!this.viewItems[we].visible||typeof xe=="number"&&!this.viewItems[xe].visible||this._onDidSashReset.fire(de)}),ie=(0,L.qE)(Z,G,j,z,V),re={sash:V,disposable:ie};this.sashItems.splice(S-1,0,re)}D.appendChild(_.element);let te;typeof E!="number"&&E.type==="split"&&(te=[E.index]),h||this.relayout([S],te),!h&&typeof E!="number"&&E.type==="distribute"&&this.distributeViewSizes()}finally{this.state=o.Idle}}relayout(_,E){const S=this.viewItems.reduce((h,D)=>h+D.size,0);this.resize(this.viewItems.length-1,this.size-S,void 0,_,E),this.distributeEmptySp
162ace(),this.layoutViews(),this.saveProportions()}resize(_,E,S=this.viewItems.map($=>$.size),h,D,k=Number.NEGATIVE_INFINITY,N=Number.POSITIVE_INFINITY,W,U){if(_<0||_>=this.viewItems.length)return 0;const $=(0,y.y1)(_,-1),te=(0,y.y1)(_+1,this.viewItems.length);if(D)for(const re of D)(0,y._A)($,re),(0,y._A)(te,re);if(h)for(const re of h)(0,y.r7)($,re),(0,y.r7)(te,re);const ne=$.map(re=>this.viewItems[re]),V=$.map(re=>S[re]),I=te.map(re=>this.viewItems[re]),H=te.map(re=>S[re]),Z=$.reduce((re,de)=>re+(this.viewItems[de].minimumSize-S[de]),0),X=$.reduce((re,de)=>re+(this.viewItems[de].maximumSize-S[de]),0),G=te.length===0?Number.POSITIVE_INFINITY:te.reduce((re,de)=>re+(S[de]-this.viewItems[de].minimumSize),0),Y=te.length===0?Number.NEGATIVE_INFINITY:te.reduce((re,de)=>re+(S[de]-this.viewItems[de].maximumSize),0),j=Math.max(Z,Y,k),z=Math.min(G,X,N);let ie=!1;if(W){const re=this.viewItems[W.index],de=E>=W.limitDelta;ie=de!==re.visible,re.setVisible(de,W.size)}if(!ie&&U){const re=this.viewItems[U.index],de=E<U.limitDelta;ie=de!==re.visible,re.setVisible(de,U.size)}if(ie)return this.resize(_,E,S,h,D,k,N);E=(0,b.qE)(E,j,z);for(let re=0,de=E;re<ne.length;re++){const le=ne[re],he=(0,b.qE)(V[re]+de,le.minimumSize,le.maximumSize),we=he-V[re];de-=we,le.size=he}for(let re=0,de=E;re<I.length;re++){const le=I[re],he=(0,b.qE)(H[re]-de,le.minimumSize,le.maximumSize),we=he-H[re];de+=we,le.size=he}return E}distributeEmptySpace(_){const E=this.viewItems.reduce((N,W)=>N+W.size,0);let S=this.size-E;const h=(0,y.y1)(this.viewItems.length-1,-1),D=h.filter(N=>this.viewItems[N].priority===1),k=h.filter(N=>this.viewItems[N].priority===2);for(const N of k)(0,y._A)(h,N);for(const N of D)(0,y.r7)(h,N);typeof _=="number"&&(0,y.r7)(h,_);for(let N=0;S!==0&&N<h.length;N++){const W=this.viewItems[h[N]],U=(0,b.qE)(W.size+S,W.minimumSize,W.maximumSize),$=U-W.size;S-=$,W.size=U}}layoutViews(){this._contentSize=this.viewItems.reduce((E,S)=>E+S.size,0);let _=0;for(const E of this.viewItems)E.layout(_,this.layoutContext),_+=E.size;this.sashItems.forEach(E=>E.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let _=!1;const E=this.viewItems.map(W=>_=W.size-W.minimumSize>0||_);_=!1;const S=this.viewItems.map(W=>_=W.maximumSize-W.size>0||_),h=[...this.viewItems].reverse();_=!1;const D=h.map(W=>_=W.size-W.minimumSize>0||_).reverse();_=!1;const k=h.map(W=>_=W.maximumSize-W.size>0||_).reverse();let N=0;for(let W=0;W<this.sashItems.length;W++){const{sash:U}=this.sashItems[W],$=this.viewItems[W];N+=$.size;const te=!(E[W]&&k[W+1]),ne=!(S[W]&&D[W+1]);if(te&&ne){const V=(0,y.y1)(W,-1),I=(0,y.y1)(W+1,this.viewItems.length),H=this.findFirstSnapIndex(V),Z=this.findFirstSnapIndex(I),X=typeof H=="number"&&!this.viewItems[H].visible,G=typeof Z=="number"&&!this.viewItems[Z].visible;X&&D[W]&&(N>0||this.startSnappingEnabled)?U.state=1:G&&E[W]&&(N<this._contentSize||this.endSnappingEnabled)?U.state=2:U.state=0}else te&&!ne?U.state=1:!te&&ne?U.state=2:U.state=3}}getSashPosition(_){let E=0;for(let S=0;S<this.sashItems.length;S++)if(E+=this.viewItems[S].size,this.sashItems[S].sash===_)return E;return 0}findFirstSnapIndex(_){for(const E of _){const S=this.viewItems[E];if(S.visible&&S.snap)return E}for(const E of _){const S=this.viewItems[E];if(S.visible&&S.maximumSize-S.minimumSize>0)return;if(!S.visible&&S.snap)return E}}areViewsDistributed(){let _,E;for(const S of this.viewItems)if(_=_===void 0?S.size:Math.min(_,S.size),E=E===void 0?S.size:Math.max(E,S.size),E-_>2)return!1;return!0}dispose(){this.sashDragState?.disposable.dispose(),(0,L.AS)(this.viewItems),this.viewItems=[],this.sashItems.forEach(_=>_.disposable.dispose()),this.sashItems=[],super.dispose()}}},40865:(St,We,e)=>{e.d(We,{K:()=>Y});var v=e(23029),R=e(4770),x=e(14333),T=e(45222),y=e(94901),A=e(10998),g=e(10176),L=e(2106);const b=x.$;class C extends A.jG{constructor(z,ie,re){super(),this.model=ie,this.pixelRatio=re,this._onDidChange=this._register(new L.vl),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new L.vl),this.onColorFlushed=this._onColorFlushed.event,this._domNo
162de=b(".saturation-wrap"),(0,x.BC)(z,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",(0,x.BC)(this._domNode,this._canvas),this.selection=b(".saturation-selection"),(0,x.BC)(this._domNode,this.selection),this.layout(),this._register((0,x.ko)(this._domNode,x.Bx.POINTER_DOWN,de=>this.onPointerDown(de))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(z){if(!z.target||!(z.target instanceof Element))return;this.monitor=this._register(new g._);const ie=(0,x.BK)(this._domNode);z.target!==this.selection&&this.onDidChangePosition(z.offsetX,z.offsetY),this.monitor.startMonitoring(z.target,z.pointerId,z.buttons,de=>this.onDidChangePosition(de.pageX-ie.left,de.pageY-ie.top),()=>null);const re=(0,x.ko)(z.target.ownerDocument,x.Bx.POINTER_UP,()=>{this._onColorFlushed.fire(),re.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(z,ie){const re=Math.max(0,Math.min(1,z/this.width)),de=Math.max(0,Math.min(1,1-ie/this.height));this.paintSelection(re,de),this._onDidChange.fire({s:re,v:de})}
162layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const z=this.model.color.hsva;this.paintSelection(z.s,z.v)}paint(){const z=this.model.color.hsva,ie=new y.Q1(new y.$J(z.h,1,1,1)),re=this._canvas.getContext("2d"),de=re.createLinearGradient(0,0,this._canvas.width,0);de.addColorStop(0,"rgba(255, 255, 255, 1)"),de.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),de.addColorStop(1,"rgba(255, 255, 255, 0)");const le=re.createLinearGradient(0,0,0,this._canvas.height);le.addColorStop(0,"rgba(0, 0, 0, 0)"),le.addColorStop(1,"rgba(0, 0, 0, 1)"),re.rect(0,0,this._canvas.width,this._canvas.height),re.fillStyle=y.Q1.Format.CSS.format(ie),re.fill(),re.fillStyle=de,re.fill(),re.fillStyle=le,re.fill()}paintSelection(z,ie){this.selection.style.left=`${z*this.width}px`,this.selection.style.top=`${this.height-ie*this.height}px`}onDidChangeColor(z){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const ie=z.hsva;this.paintSelection(ie.s,ie.v)}}class u extends A.jG{constructor(z){super(),this._onClicked=this._register(new L.vl),this.onClicked=this._onClicked.event,this._button=(0,x.BC)(z,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register((0,x.ko)(this._button,x.Bx.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}const i=x.$;class r extends A.jG{constructor(z,ie,re){super(),this.model=ie,this._onDidChange=this._register(new L.vl),this.onDidChange=this._onDidChange.event,this._onColorFlushed=this._register(new L.vl),this.onColorFlushed=this._onColorFlushed.event,re==="standalone"?(this.domNode=(0,x.BC)(z,i(".standalone-strip")),this.overlay=(0,x.BC)(this.domNode,i(".standalone-overlay"))):(this.domNode=(0,x.BC)(z,i(".strip")),this.overlay=(0,x.BC)(this.domNode,i(".overlay"))),this.slider=(0,x.BC)(this.domNode,i(".slider")),this.slider.style.top="0px",this._register((0,x.ko)(this.domNode,x.Bx.POINTER_DOWN,de=>this.onPointerDown(de))),this._register(ie.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const z=this.getValue(this.model.color);this.updateSliderPosition(z)}onDidChangeColor(z){const ie=this.getValue(z);this.updateSliderPosition(ie)}onPointerDown(z){if(!z.target||!(z.target instanceof Element))return;const ie=this._register(new g._),re=(0,x.BK)(this.domNode);this.domNode.classList.add("grabbing"),z.target!==this.slider&&this.onDidChangeTop(z.offsetY),ie.startMonitoring(z.target,z.pointerId,z.buttons,le=>this.onDidChangeTop(le.pageY-re.top),()=>null);const de=(0,x.ko)(z.target.ownerDocument,x.Bx.POINTER_UP,()=>{this._onColorFlushed.fire(),de.dispose(),ie.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(z){const ie=Math.max(0,Math.min(1,1-z/this.height));this.updateSliderPosition(ie),this._onDidChange.fire(ie)}updateSliderPosition(z){this.slider.style.top=`${(1-z)*this.height}px`}}class d extends r{constructor(z,ie,re){super(z,ie,re),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(z){super.onDidChangeColor(z);const{r:ie,g:re,b:de}=z.rgba,le=new y.Q1(new y.bU(ie,re,de,1)),he=new y.Q1(new y.bU(ie,re,de,0));this.overlay.style.background=`linear-gradient(to bottom, ${le} 0%, ${he} 100%)`}getValue(z){return z.hsva.a}}class l extends r{constructor(z,ie,re){super(z,ie,re),this.domNode.classList.add("hue-strip")}getValue(z){return 1-z.hsva.h/360}}const o=x.$;class c extends A.jG{constructor(z,ie,re,de){super(),this.model=ie,this.pixelRatio=re,this._insertButton=null,this._domNode=o(".colorpicker-body"),(0,x.BC)(z,this._domNode),this._saturationBox=new C(this._domNo
162de,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new d(this._domNode,this.model,de),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new l(this._domNode,this.model,de),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),de==="standalone"&&(this._insertButton=this._register(new u(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:z,v:ie}){const re=this.model.color.hsva;this.model.color=new y.Q1(new y.$J(re.h,z,ie,re.a))}onDidOpacityChange(z){const ie=this.model.color.hsva;this.model.color=new y.Q1(new y.$J(ie.h,ie.s,ie.v,z))}onDidHueChange(z){const ie=this.model.color.hsva,re=(1-z)*360;this.model.color=new y.Q1(new y.$J(re===360?0:re,ie.s,ie.v,ie.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}var a=e(3765),p=e(87676),_=e(18382),E=e(75962),S=e(73858),h=e(69227),D=e(82735),k=e(75712),N=e(10680),W=e(58687),U=e(948
16265),$=e(74707),te=e(11210),ne=e(58881),V=e(5915);const I=x.$;class H extends A.jG{constructor(z){super(),this._onClicked=this._register(new L.vl),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),(0,x.BC)(z,this._button);const ie=document.createElement("div");ie.classList.add("close-button-inner-div"),(0,x.BC)(this._button,ie),(0,x.BC)(ie,I(".button"+ne.L.asCSSSelector((0,te.pU)("color-picker-close",V.W.close,(0,a.kg)(921,"Icon to close the color picker"))))).classList.add("close-icon"),this._register((0,x.ko)(this._button,x.Bx.CLICK,()=>{this._onClicked.fire()}))}}const Z=x.$;class X extends A.jG{constructor(z,ie,re,de){super(),this.model=ie,this.type=de,this._closeButton=null,this._domNode=Z(".colorpicker-header"),(0,x.BC)(z,this._domNode),this._pickedColorNode=(0,x.BC)(this._domNode,Z(".picked-color")),(0,x.BC)(this._pickedColorNode,Z("span.codicon.codicon-color-mode")),this._pickedColorPresentation=(0,x.BC)(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const le=(0,a.kg)(922,"Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",le),this._originalColorNode=(0,x.BC)(this._domNo
162de,Z(".original-color")),this._originalColorNode.style.backgroundColor=y.Q1.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=re.getColorTheme().getColor(S.Wf)||y.Q1.white,this._register(re.onDidColorThemeChange(he=>{this.backgroundColor=he.getColor(S.Wf)||y.Q1.white})),this._register((0,x.ko)(this._pickedColorNode,x.Bx.CLICK,()=>this.model.selectNextColorPresentation())),this._register((0,x.ko)(this._originalColorNode,x.Bx.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(ie.onDidChangeColor(this.onDidChangeColor,this)),this._register(ie.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=y.Q1.Format.CSS.format(ie.color)||"",this._pickedColorNode.classList.toggle("light",ie.color.rgba.a<.5?this.backgroundColor.isLighter():ie.color.isLighter()),this.onDidChangeColor(this.model.color),this.type==="standalone"&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new H(this._domNo
162de)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(z){this._pickedColorNode.style.backgroundColor=y.Q1.Format.CSS.format(z)||"",this._pickedColorNode.classList.toggle("light",z.rgba.a<.5?this.backgroundColor.isLighter():z.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}const G=x.$;class Y extends T.x{constructor(z,ie,re,de,le){super(),this.model=ie,this.pixelRatio=re,this._register(R.c.getInstance((0,x.zk)(z)).onDidChange(()=>this.layout())),this._domNode=G(".colorpicker-widget"),z.appendChild(this._domNode),this.header=this._register(new X(this._domNode,this.model,de,le)),this.body=this._register(new c(this._domNode,this.model,this.pixelRatio,le))}layout(){this.body.layout()}get domNode(){return this._domNode}}},40947:(St,We,e)=>{e.d(We,{CG:()=>R,gO:()=>y});var v=e(63339);function R(A,g){if(v.HZ)return!1;const L=x(A,g),b=A.getValue("window");return b?.menuStyle==="native"?!(!v.zx&&!L):b?.menuStyle==="custom"?!1:L}function x(A,g){return g||(g=T(A)),g==="native"}function T(A){if(v.HZ)return"custom";const g=A.getValue("window");if(g){if(v.zx&&g.nativeTabs===!0||v.zx&&g.nativeFullScreen===!1)return"native";const C=g.titleBarStyle;if(C==="native"||C==="custom")return C}return"custom"}function y(A){if(v.HZ||v.zx||T(A)==="native")return"native";const L=A.getValue("window")?.controlsStyle;return L==="custom"||L==="hidden"?L:"native"}},41106:(St,We,e)=>{e.d(We,{T:()=>r});var v=e(14333),R=e(4770),x=e(2106),T=e(10998),y=e(25837);class A{constructor(l,o){this.chr=l,this.type=o,this.width=0}fulfill(l){this.width=l}}class g{constructor(l,o){this._bareFontInfo=l,this._requests=o,this._container=null,this._testElements=null}read(l){this._createDomElements(),l.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){const l=document.createElement("div");l.style.position="absolute",l.style.top="-50000px",l.style.width="50000px";const o=document.createElement("div");(0,y.M)(o,this._bareFontInfo),l.appendChild(o);const c=document.createElement("div");(0,y.M)(c,this._bareFontInfo),c.style.fontWeight="bold",l.appendChild(c);const a=document.createElement("div");(0,y.M)(a,this._bareFontInfo),a.style.fontStyle="italic",l.appendChild(a);const p=[];for(const _ of this._requests){let E;_.type===0&&(E=o),_.type===2&&(E=c),_.type===1&&(E=a),E.appendChild(document.createElement("br"));const S=document.createElement("span");g._render(S,_),E.appendChild(S),p.push(S)}this._container=l,this._testElements=p}static _render(l,o){if(o.chr===" "){let c="\xA0";for(let a=0;a<8;a++)c+=c;l.innerText=c}else{let c=o.chr;for(let a=0;a<8;a++)c+=c;l.textContent=c}}_readFromDomElements(){for(let l=0,o=this._requests.length;l<o;l++){const c=this._requests[l],a=this._testElements[l];c.fulfill(a.offsetWidth/256)}}}function L(d,l,o){new g(l,o).read(d)}var b=e(66476),C=e(28060);class u extends T.jG{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new x.vl),this.onDidChange=this._onDidChange.event}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(l){const o=(0,v.Q2)(l);let c=this._cache.get(o);return c||(c=new i,this._cache.set(o,c)),c}_writeToCache(l,o,c){this._ensureCache(l).put(o,c),!c.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=l.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(l)},5e3))}_evictUntrustedReadings(l){const o=this._ensureCache(l),c=o.getValues();let a=!1;for(const p of c)p.isTrusted||(a=!0,o.remove(p));a&&this._onDidChange.fire()}readFontInfo(l,o){const c=this._ensureCache(l);if(!c.has(o)){let a=this._actualReadFontInfo(l,o);(a.typicalHalfwidthCharacterWidth<=2||a.typicalFullwidthCharacterWidth<=2||a.spaceWidth<=2||a.maxDigitWidth<=2)&&(a=new C.YJ({pixelRatio:R.c.getInstance(l).value,fontFamily:a.fontFamily,fontWeight:a.fontWeight,fontSize:a.fontSize,fontFeatureSettings:a.fontFeatureSettings,fontVariationSettings:a.fontVariationSettings,lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,isMonospace:a.isMonospace,typicalHalfwidthCharacterWidth:Math.max(a.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(a.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:a.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(a.spaceWidth,5),middotWidth:Math.max(a.middotWidth,5),wsmiddotWidth:Math.max(a.wsmiddotWidth,5),maxDigitWidth:Math.max(a.maxDigitWidth,5)},!1)),this._writeToCache(l,o,a)}return c.get(o)}_createRequest(l,o,c,a){const p=new A(l,o);return c.push(p),a?.push(p),p}_actualReadFontInfo(l,o){const c=[],a=[],p=this._createRequest("n",0,c,a),_=this._createRequest("\uFF4D",0,c,null),E=this._createRequest(" ",0,c,a),S=this._createRequest("0",0,c,a),h=this._createRequest("1",0,c,a),D=this._createRequest("2",0,c,a),k=this._createRequest("3",0,c,a),N=this._createRequest("4",0,c,a),W=this._createRequest("5",0,c,a),U=this._createRequest("6",0,c,a),$=this._createRequest("7",0,c,a),te=this._createRequest("8",0,c,a),ne=this._createRequest("9",0,c,a),V=this._createRequest("\u2192",0,c,a),I=this._createRequest("\uFFEB",0,c,null),H=this._createRequest("\xB7",0,c,a),Z=this._createRequest("\u2E31",0,c,null),X="|/-_ilm%";for(let ie=0,re=X.length;ie<re;ie++)this._createRequest(X.charAt(ie),0,c,a),this._createRequest(X.charAt(ie),1,c,a),this._createRequest(X.charAt(ie),2,c,a);L(l,o,c);const G=Math.max(S.width,h.width,D.width,k.width,N.width,W.width,U.width,$.width,te.width,ne.width);let Y=o.fontFeatureSettings===b.Bc.OFF;const j=a[0].width;for(let ie=1,re=a.length;Y&&ie<re;ie++){const de=j-a[ie].width;if(de<-.001||de>.001){Y=!1;break}}let z=!0;return Y&&I.width!==j&&(z=!1),I.width>V.width&&(z=!1),new C.YJ({pixelRatio:R.c.getInstance(l).value,fontFamily:o.fontFamily,fontWeight:o.fontWeight,fontSize:o.fontSize,fontFeatureSettings:o.fontFeatureSettings,fontVariationSettings:o.fontVariationSettings,lineHeight:o.lineHeight,letterSpacing:o.letterSpacing,isMonospace:Y,typicalHalfwidthCharacterWidth:p.width,typicalFullwidthCharacterWidth:_.width,canUseHalfwidthRightwardsArrow:z,spaceWi
162dth:E.width,middotWidth:H.width,wsmiddotWidth:Z.width,maxDigitWidth:G},!0)}}class i{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(l){const o=l.getId();return!!this._values[o]}get(l){const o=l.getId();return this._values[o]}put(l,o){const c=l.getId();this._keys[c]=l,this._values[c]=o}remove(l){const o=l.getId();delete this._keys[o],delete this._values[o]}getValues(){return Object.keys(this._keys).map(l=>this._values[l])}}const r=new u},41504:(St,We,e)=>{e.d(We,{J:()=>x,U:()=>R});var v=e(82399);const R=(0,v.u1)("textResourceConfigurationService"),x=(0,v.u1)("textResourcePropertiesService")},41672:(St,We,e)=>{e.d(We,{Y:()=>i});var v=e(16844),R=e(62549),x=e(28061),T=e(93702),y=e(80794),A=e(52394),g=function(r,d,l,o){var c=arguments.length,a=c<3?d:o===null?o=Object.getOwnPropertyDescriptor(d,l):o,p;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(r,d,l,o);else for(var _=r.length-1;_>=0;_--)(p=r[_])&&(a=(c<3?p(a):c>3?p(d,l,a):p(d,l))||a);return c>3&&a&&Object.defineProperty(d,l,a),a},L=function(r,d){return function(l,o){d(l,o,r)}},b;const C=Object.create(null);function u(r,d){if(d<=0)return"";C[r]||(C[r]=["",r]);const l=C[r];for(let o=l.length;o<=d;o++)l[o]=l[o-1]+r;return l[d]}let i=b=class{static unshiftIndent(d,l,o,c,a){const p=R.A.visibleColumnFromColumn(d,l,o);if(a){const _=u(" ",c),S=R.A.prevIndentTabStop(p,c)/c;return u(_,S)}else{const _="	",S=R.A.prevRenderTabStop(p,o)/o;return u(_,S)}}static shiftIndent(d,l,o,c,a){const p=R.A.visibleColumnFromColumn(d,l,o);if(a){const _=u(" ",c),S=R.A.nextIndentTabStop(p,c)/c;return u(_,S)}else{const _="	",S=R.A.nextRenderTabStop(p,o)/o;return u(_,S)}}constructor(d,l,o){this._languageConfigurationService=o,this._opts=l,this._selection=d,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(d,l,o){this._useLastEditRangeForCursorEndPosition?d.addTrackedEditOperation(l,o):d.addEditOperation(l,o)}getEditOperations(d,l){const o=this._selection.startLineNumber;let c=this._selection.endLineNumber;this._selection.endColumn===1&&o!==c&&(c=c-1);const{tabSize:a,indentSize:p,insertSpaces:_}=this._opts,E=o===c;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(d.getLineContent(o))&&(this._useLastEditRangeForCursorEndPosition=!0);let S=0,h=0;for(let D=o;D<=c;D++,S=h){h=0;const k=d.getLineContent(D);let N=(0,v.HG)(k);if(this._opts.isUnshift&&(k.length===0||N===0)||!E&&!this._opts.isUnshift&&k.length===0)continue;if(N===-1&&(N=k.length),D>1&&R.A.visibleColumnFromColumn(k,N+1,a)%p!==0&&d.tokenization.isCheapToTokenize(D-1)){const $=(0,y.h)(this._opts.autoIndent,d,new x.Q(D-1,d.getLineMaxColumn(D-1),D-1,d.getLineMaxColumn(D-1)),this._languageConfigurationService);if($){if(h=S,$.appendText)for(let te=0,ne=$.appendText.length;te<ne&&h<p&&$.appendText.charCodeAt(te)===32;te++)h++;$.removeText&&(h=Math.max(0,h-$.removeText));for(let te=0;te<h&&!(N===0||k.charCodeAt(N-1)!==32);te++)N--}}if(this._opts.isUnshift&&N===0)continue;let W;this._opts.isUnshift?W=b.unshiftIndent(k,N+1,a,p,_):W=b.shiftIndent(k,N+1,a,p,_),this._addEditOperation(l,new x.Q(D,1,D,N+1),W),D===o&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=N+1)}}else{!this._opts.isUnshift&&this._selection.isEmpty()&&d.getLineLength(o)===0&&(this._useLastEditRangeForCursorEndPosition=!0);const S=_?u(" ",p):"	";for(let h=o;h<=c;h++){const D=d.getLineContent(h);let k=(0,v.HG)(D);if(!(this._opts.isUnshift&&(D.length===0||k===0))&&!(!E&&!this._opts.isUnshift&&D.length===0)&&(k===-1&&(k=D.length),!(this._opts.isUnshift&&k===0)))if(this._opts.isUnshift){k=Math.min(k,p);for(let N=0;N<k;N++)if(D.charCodeAt(N)===9){k=N+1;break}this._addEditOperation(l,new x.Q(h,1,h,k+1),"")}else this._addEditOperation(l,new x.Q(h,1,h,1),S),h===o&&!this._selection.isEmpty()&&(this._selectionStartColumnStaysPut=this._selection.startColumn===1)}}this._selectionId=l.trackSelection(this._selection)}computeCursorState(d,l){if(this._useLastEditRangeForCursorEndPosition){const c=l.getInverseEditOperations()[0];return new T.L(c.range.endLineNumber,c.range.endColumn,c.range.endLineNumber,c.range.endColumn)}const o=l.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){const c=this._selection.startColumn;return o.startColumn<=c?o:o.getDirection()===0?new T.L(o.startLineNumber,c,o.endLineNumber,o.endColumn):new T.L(o.endLineNumber,o.endColumn,o.startLineNumber,c)}return o}};i=b=g([L(2,A.JZ)],i)},41683:(St,We,e)=>{e.d(We,{H5:()=>y,Vn:()=>A,kI:()=>T});var v=e(28061),R=e(15365),x=e(71043);class T{constructor(L,b,C){this.range=L,this.inlineClassName=b,this.type=C}}class y{constructor(L,b,C){this.context=L,this.model=b,this.coordinatesConverter=C,this._decorationsCache=Object.create(null)}getInlineDecorations(L){const b=new v.Q(L,1,L,this.model.getLineMaxColumn(L)),C=this.coordinatesConverter.convertModelRangeToViewRange(b);return this.getDecorations(C,!1,!1).inlineDecorations}getDecorations(L,b,C){const u=this.context.getModelDecorations(L,b,C),i=L.startLineNumber,r=L.endLineNumber,d=[];let l=0;const o=[],c=[];for(let a=i;a<=r;a++)o[a-i]=[],c[a-i]=!1;for(let a=0,p=u.length;a<p;a++){const _=u[a],E=_.options;if(!(0,x.GN)(this.model,_))continue;const S=this._getOrCreateViewModelDecoration(_),h=S.range;if(d[l++]=S,E.inlineClassName){const D=new T(h,E.inlineClassName,E.inlineClassNameAffectsLetterSpacing?3:0),k=Math.max(i,h.startLineNumber),N=Math.min(r,h.endLineNumber);for(let W=k;W<=N;W++)o[W-i].push(D),E.affectsFont&&(c[W-i]=!0)}if(E.beforeContentClassName&&i<=h.startLineNumber&&h.startLineNumber<=r){const D=new T(new v.Q(h.startLineNumber,h.startColumn,h.startLineNumber,h.startColumn),E.beforeContentClassName,1);o[h.startLineNumber-i].push(D),E.affectsFont&&(c[h.startLineNumber-i]=!0)}if(E.afterContentClassName&&i<=h.endLineNumber&&h.endLineNumber<=r){const D=new T(new v.Q(h.endLineNumber,h.endColumn,h.endLineNumber,h.endColumn),E.afterContentClassName,2);o[h.endLineNumber-i].push(D),E.affectsFont&&(c[h.endLineNumber-i]=!0)}}return{decorations:d,inlineDecorations:o,hasVariableFonts:c}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(L){const b=L.id;let C=this._decorationsCache[b];if(!C){const u=L.range,i=L.options;let r;if(i.isWholeLine){const d=this.coordinatesConverter.convertModelPositionToViewPosition(new R.y(u.startLineNumber,1),0,!1,!0),l=this.coordinatesConverter.convertModelPositionToViewPosition(new R.y(u.endLineNumber,this.model.getLineMaxColumn(u.endLineNumber)),1);r=new v.Q(d.lineNumber,d.column,l.lineNumber,l.column)}else r=this.coordinatesConverter.convertModelRangeToViewRange(u,1);C=new x.vo(r,i),this._decorationsCache[b]=C}return C}}class A{constructor(L){this.context=L}getInlineDecorations(L){const b=this.context.getInjectionOffsets(L);if(!b)return[];const C=[];let u=0,i=0;const r=this.context.getInjectionOptions(L),d=this.context.getBreakOffsets(L);for(let l=0;l<d.length;l++){const o=new Array;C[l]=o;const c=l>0?d[l-1]:0,a=d[l];for(;i<b.length;){const p=r[i].content.length,_=b[i]+u,E=_+p;if(_>a)break;if(c<E){const S=r[i];if(S.inlineClassName){const h=this.context.getWrappedTextIndentLength(L),D=l>0?h:0,k=D+Math.max(_-c,0),N=D+Math.min(E-c,a-c);if(k!==N){const W=this.context.getBaseViewLineNumber(L)+l,U=new v.Q(W,k+1,W,N+1),$=S.inlineClassNameAffectsLetterSpacing?3:0;o.push(new T(U,S.inlineClassName,$))}}}if(E<=a)u+=p,i++;else break}}return C}}},41807:(St,We,e)=>{e.d(We,{b:()=>x,o:()=>T});var v=e(73678),R=e(47624);function x(y,A){return y}function T(y){return(0,R.l)(y)}},42080:(St,We,e)=>{e.r(We),e.d(We,{conf:()=>v,language:()=>R});const v={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},R={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ABORT","ABSOLUTE","ACTION","ADA","ADD","AFTER","ALL","ALLOCATE","ALTER","ALWAYS","ANALYZE","AND","ANY","ARE","AS","ASC","ASSERTION","AT","ATTACH","AUTHORIZATION","AUTOINCREMENT","AVG","BACKUP","BEFORE","BEGIN","BETWEEN","BIT","BIT_LENGTH","BOTH","BREAK","BROWSE","BULK","BY","CASCADE","CASCADED","CASE","CAST","CATALOG","CHAR","CHARACTER","CHARACTER_LENGTH","CHAR_LENGTH","CHECK","CHECKPOINT","CLOSE","CLUSTERED","COALESCE","COLLATE","COLLATION","COLUMN","COMMIT","COMPUTE","CONFLICT","CONNECT","CONNECTION","CONSTRAINT","CONSTRAINTS","CONTAINS","CONTAINSTABLE","CONTINUE","CONVERT","CORRESPONDING","COUNT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DATABASE","DATE","DAY","DBCC","DEALLOCATE","DEC","DECIMAL","DECLARE","DEFAULT","DEFERRABLE","DEFERRED","DELETE","DENY","DESC","DESCRIBE","DESCRIPTOR","DETACH","DIAGNOSTICS","DISCONNECT","DISK","DISTINCT","DISTRIBUTED","DO","DOMAIN","DOUBLE","DROP","DUMP","EACH","ELSE","END","END-EXEC","ERRLVL","ESCAPE","EXCEPT","EXCEPTION","EXCLUDE","EXCLUSIVE","EXEC","EXECUTE","EXISTS","EXIT","EXPLAIN","EXT
162ERNAL","EXTRACT","FAIL","FALSE","FETCH","FILE","FILLFACTOR","FILTER","FIRST","FLOAT","FOLLOWING","FOR","FOREIGN","FORTRAN","FOUND","FREETEXT","FREETEXTTABLE","FROM","FULL","FUNCTION","GENERATED","GET","GLOB","GLOBAL","GO","GOTO","GRANT","GROUP","GROUPS","HAVING","HOLDLOCK","HOUR","IDENTITY","IDENTITYCOL","IDENTITY_INSERT","IF","IGNORE","IMMEDIATE","IN","INCLUDE","INDEX","INDEXED","INDICATOR","INITIALLY","INNER","INPUT","INSENSITIVE","INSERT","INSTEAD","INT","INTEGER","INTERSECT","INTERVAL","INTO","IS","ISNULL","ISOLATION","JOIN","KEY","KILL","LANGUAGE","LAST","LEADING","LEFT","LEVEL","LIKE","LIMIT","LINENO","LOAD","LOCAL","LOWER","MATCH","MATERIALIZED","MAX","MERGE","MIN","MINUTE","MODULE","MONTH","NAMES","NATIONAL","NATURAL","NCHAR","NEXT","NO","NOCHECK","NONCLUSTERED","NONE","NOT","NOTHING","NOTNULL","NULL","NULLIF","NULLS","NUMERIC","OCTET_LENGTH","OF","OFF","OFFSET","OFFSETS","ON","ONLY","OPEN","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","OPTION","OR","ORDER","OTHERS","OUTER","OUTPUT","OVER","OVERLAPS","PAD","PARTIAL","PARTITION","PASCAL","PERCENT","PIVOT","PLAN","POSITION","PRAGMA","PRECEDING","PRECISION","PREPARE","PRESERVE","PRIMARY","PRINT","PRIOR","PRIVILEGES","PROC","PROCEDURE","PUBLIC","QUERY","RAISE","RAISERROR","RANGE","READ","READTEXT","REAL","RECONFIGURE","RECURSIVE","REFERENCES","REGEXP","REINDEX","RELATIVE","RELEASE","RENAME","REPLACE","REPLICATION","RESTORE","RESTRICT","RETURN","RETURNING","REVERT","REVOKE","RIGHT","ROLLBACK","ROW","ROWCOUNT","ROWGUIDCOL","ROWS","RULE","SAVE","SAVEPOINT","SCHEMA","SCROLL","SECOND","SECTION","SECURITYAUDIT","SELECT","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","SESSION","SESSION_USER","SET","SETUSER","SHUTDOWN","SIZE","SMALLINT","SOME","SPACE","SQL","SQLCA","SQLCODE","SQLERROR","SQLSTATE","SQLWARNING","STATISTICS","SUBSTRING","SUM","SYSTEM_USER","TABLE","TABLESAMPLE","TEMP","TEMPORARY","TEXTSIZE","THEN","TIES","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TOP","TRAILING","TRAN","TRANSACTION","TRANSLATE","TRANSLATION","TRIGGER","TRIM","TRUE","TRUNCATE","TRY_CONVERT","TSEQUAL","UNBOUNDED","UNION","UNIQUE","UNKNOWN","UNPIVOT","UPDATE","UPDATETEXT","UPPER","USAGE","USE","USER","USING","VACUUM","VALUE","VALUES","VARCHAR","VARYING","VIEW","VIRTUAL","WAITFOR","WHEN","WHENEVER","WHERE","WHILE","WINDOW","WITH","WITHIN GROUP","WITHOUT","WORK","WRITE","WRITETEXT","YEAR","ZONE"],operators:["ALL","AND","ANY","BETWEEN","EXISTS","IN","LIKE","NOT","OR","SOME","EXCEPT","INTERSECT","UNION","APPLY","CROSS","FULL","INNER","JOIN","LEFT","OUTER","RIGHT","CONTAINS","FREETEXT","IS","NULL","PIVOT","UNPIVOT","MATCHED"],builtinFunctions:["AVG","CHECKSUM_AGG","COUNT","COUNT_BIG","GROUPING","GROUPING_ID","MAX","MIN","SUM","STDEV","STDEVP","VAR","VARP","CUME_DIST","FIRST_VALUE","LAG","LAST_VALUE","LEAD","PERCENTILE_CONT","PERCENTILE_DISC","PERCENT_RANK","COLLATE","COLLATIONPROPERTY","TERTIARY_WEIGHTS","FEDERATION_FILTERING_VALUE","CAST","CONVERT","PARSE","TRY_CAST","TRY_CONVERT","TRY_PARSE","ASYMKEY_ID","ASYMKEYPROPERTY","CERTPROPERTY","CERT_ID","CRYPT_GEN_RANDOM","DECRYPTBYASYMKEY","DECRYPTBYCERT","DECRYPTBYKEY","DECRYPTBYKEYAUTOASYMKEY","DECRYPTBYKEYAUTOCERT","DECRYPTBYPASSPHRASE","ENCRYPTBYASYMKEY","ENCRYPTBYCERT","ENCRYPTBYKEY","ENCRYPTBYPASSPHRASE","HASHBYTES","IS_OBJECTSIGNED","KEY_GUID","KEY_ID","KEY_NAME","SIGNBYASYMKEY","SIGNBYCERT","SYMKEYPROPERTY","VERIFYSIGNEDBYCERT","VERIFYSIGNEDBYASYMKEY","CURSOR_STATUS","DATALENGTH","IDENT_CURRENT","IDENT_INCR","IDENT_SEED","IDENTITY","SQL_VARIANT_PROPERTY","CURRENT_TIMESTAMP","DATEADD","DATEDIFF","DATEFROMPARTS","DATENAME","DATEPART","DATETIME2FROMPARTS","DATETIMEFROMPARTS","DATETIMEOFFSETFROMPARTS","DAY","EOMONTH","GETDATE","GETUTCDATE","ISDATE","MONTH","SMALLDATETIMEFROMPARTS","SWITCHOFFSET","SYSDATETIME","SYSDATETIMEOFFSET","SYSUTCDATETIME","TIMEFROMPARTS","TODATETIMEOFFSET","YEAR","CHOOSE","COALESCE","IIF","NULLIF","ABS","ACOS","ASIN","ATAN","ATN2","CEILING","COS","COT","DEGREES","EXP","FLOOR","LOG","LOG10","PI","POWER","RADIANS","RAND","ROUND","SIGN","SIN","SQRT","SQUARE","TAN","APP_NAME","APPLOCK_MODE","APPLOCK_TEST","ASSEMBLYPROPERTY","COL_LENGTH","COL_NAME","COLUMNPROPERTY","DATABASE_PRINCIPAL_ID","DATABASEPROPERTYEX","DB_ID","DB_NAME","FILE_ID","FILE_IDEX","FILE_NAME","FILEGROUP_ID","FILEGROUP_NAME","FILEGROUPPROPERTY","FILEPROPERTY","FULLTEXTCATALOGPROPERTY","FULLTEXTSERVICEPROPERTY","INDEX_COL","INDEXKEY_PROPERTY","INDEXPROPERTY","OBJECT_DEFINITION","OBJECT_ID","OBJECT_NAME","OBJECT_SCHEMA_NAME","OBJECTPROPERTY","OBJECTPROPERTYEX","ORIGINAL_DB_NAME","PARSENAME","SCHEMA_ID","SCHEMA_NAME","SCOPE_IDENTITY","SERVERPROPERTY","STATS_DATE","TYPE_ID","TYPE_NAME","TYPEPROPERTY","DENSE_RANK","NTILE","RANK","ROW_NUMBER","PUBLISHINGSERVERNAME","OPENDATASOURCE","OPENQUERY","OPENROWSET","OPENXML","CERTENCODED","CERTPRIVATEKEY","CURRENT_USER","HAS_DBACCESS","HAS_PERMS_BY_NAME","IS_MEMBER","IS_ROLEMEMBER","IS_SRVROLEMEMBER","LOGINPROPERTY","ORIGINAL_LOGIN","PERMISSIONS","PWDENCRYPT","PWDCOMPARE","SESSION_USER","SESSIONPROPERTY","SUSER_ID","SUSER_NAME","SUSER_SID","SUSER_SNAME","SYSTEM_USER","USER","USER_ID","USER_NAME","ASCII","CHAR","CHARINDEX","CONCAT","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","NCHAR","PATINDEX","QUOTENAME","REPLACE","REPLICATE","REVERSE","RIGHT","RTRIM","SOUNDEX","SPACE","STR","STUFF","SUBSTRING","UNICODE","UPPER","BINARY_CHECKSUM","CHECKSUM","CONNECTIONPROPERTY","CONTEXT_INFO","CURRENT_REQUEST_ID","ERROR_LINE","ERROR_NUMBER","ERROR_MESSAGE","ERROR_PROCEDURE","ERROR_SEVERITY","ERROR_STATE","FORMATMESSAGE","GETANSINULL","GET_FILESTREAM_TRANSACTION_CONTEXT","HOST_ID","HOST_NAME","ISNULL","ISNUMERIC","MIN_ACTIVE_ROWVERSION","NEWID","NEWSEQUENTIALID","ROWCOUNT_BIG","XACT_STATE","TEXTPTR","TEXTVALID","COLUMNS_UPDATED","EVENTDATA","TRIGGER_NESTLEVEL","UPDATE","CHANGETABLE","CHANGE_TRACKING_CONTEXT","CHANGE_TRACKING_CURRENT_VERSION","CHANGE_TRACKING_IS_COLUMN_IN_MASK","CHANGE_TRACKING_MIN_VALID_VERSION","CONTAINSTABLE","FREETEXTTABLE","SEMANTICKEYPHRASETABLE","SEMANTICSIMILARITYDETAILSTABLE","SEMANTICSIMILARITYTABLE","FILETABLEROOTPATH","GETFILENAMESPACEPATH","GETPATHLOCATOR","PATHNAME","GET_TRANSMISSION_STATUS"],builtinVariables:["@@DATEFIRST","@@DBTS","@@LANGID","@@LANGUAGE","@@LOCK_TIMEOUT","@@MAX_CONNECTIONS","@@MAX_PRECISION","@@NESTLEVEL","@@OPTIONS","@@REMSERVER","@@SERVERNAME","@@SERVICENAME","@@SPID","@@TEXTSIZE","@@VERSION","@@CURSOR_ROWS","@@FETCH_STATUS","@@DATEFIRST","@@PROCID","@@ERROR","@@IDENTITY","@@ROWCOUNT","@@TRANCOUNT","@@CONNECTIONS","@@CPU_BUSY","@@IDLE","@@IO_BUSY","@@PACKET_ERRORS","@@PACK_RECEIVED","@@PACK_SENT","@@TIMETICKS","@@TOTAL_ERRORS","@@TOTAL_READ","@@TOTAL_WRITE"],pseudoColumns:["$ACTION","$IDENTITY","$ROWGUID","$PARTITION"],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@pseudoColumns"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"c
162omment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],pseudoColumns:[[/[$][A-Za-z_][\w@#$]*/,{cases:{"@pseudoColumns":"predefined","@default":"identifier"}}]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/\[/,{token:"identifier.quote",next:"@bracketedIdentifier"}],[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],bracketedIdentifier:[[/[^\]]+/,"identifier"],[/]]/,"identifier"],[/]/,{token:"identifier.quote",next:"@pop"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/BEGIN\s+(DISTRIBUTED\s+)?TRAN(SACTION)?\b/i,"keyword"],[/BEGIN\s+TRY\b/i,{token:"keyword.try"}],[/END\s+TRY\b/i,{token:"keyword.try"}],[/BEGIN\s+CATCH\b/i,{token:"keyword.catch"}],[/END\s+CATCH\b/i,{token:"keyword.catch"}],[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}}},42783:(St,We,e)=>{e.d(We,{A5:()=>V,Ah:()=>I,DD:()=>h,DO:()=>Z,EI:()=>_,Gn:()=>v,H_:()=>de,Ic:()=>H,Io:()=>T,KU:()=>E,Kb:()=>C,M$:()=>o,OV:()=>$,QP:()=>y,Qj:()=>g,R3:()=>N,SB:()=>j,U7:()=>he,VW:()=>a,VX:()=>W,WA:()=>ie,WU:()=>d,XR:()=>Y,YT:()=>te,ZS:()=>l,_E:()=>x,cj:()=>D,dE:()=>ne,d_:()=>k,e0:()=>u,h5:()=>L,hS:()=>U,hW:()=>X,jT:()=>z,kK:()=>xe,kf:()=>r,l:()=>c,m9:()=>we,of:()=>b,ok:()=>R,ov:()=>G,p2:()=>i,qw:()=>S,r4:()=>p,t7:()=>A,tJ:()=>Be,v0:()=>re,z4:()=>le});var v;(function(M){M[M.Unknown=0]="Unknown",M[M.Disabled=1]="Disabled",M[M.Enabled=2]="Enabled"})(v||(v={}));var R;(function(M){M[M.Invoke=1]="Invoke",M[M.Auto=2]="Auto"})(R||(R={}));var x;(function(M){M[M.None=0]="None",M[M.KeepWhitespace=1]="KeepWhitespace",M[M.InsertAsSnippet=4]="InsertAsSnippet"})(x||(x={}));var T;(function(M){M[M.Method=0]="Method",M[M.Function=1]="Function",M[M.Constructor=2]="Constructor",M[M.Field=3]="Field",M[M.Variable=4]="Variable",M[M.Class=5]="Class",M[M.Struct=6]="Struct",M[M.Interface=7]="Interface",M[M.Module=8]="Module",M[M.Property=9]="Property",M[M.Event=10]="Event",M[M.Operator=11]="Operator",M[M.Unit=12]="Unit",M[M.Value=13]="Value",M[M.Constant=14]="Constant",M[M.Enum=15]="Enum",M[M.EnumMember=16]="EnumMember",M[M.Keyword=17]="Keyword",M[M.Text=18]="Text",M[M.Color=19]="Color",M[M.File=20]="File",M[M.Reference=21]="Reference",M[M.Customcolor=22]="Customcolor",M[M.Folder=23]="Folder",M[M.TypeParameter=24]="TypeParameter",M[M.User=25]="User",M[M.Issue=26]="Issue",M[M.Tool=27]="Tool",M[M.Snippet=28]="Snippet"})(T||(T={}));var y;(function(M){M[M.Deprecated=1]="Deprecated"})(y||(y={}));var A;(function(M){M[M.Invoke=0]="Invoke",M[M.TriggerCharacter=1]="TriggerCharacter",M[M.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(A||(A={}));var g;(function(M){M[M.EXACT=0]="EXACT",M[M.ABOVE=1]="ABOVE",M[M.BELOW=2]="BELOW"})(g||(g={}));var L;(function(M){M[M.NotSet=0]="NotSet",M[M.ContentFlush=1]="ContentFlush",M[M.RecoverFromMarkers=2]="RecoverFromMarkers",M[M.Explicit=3]="Explicit",M[M.Paste=4]="Paste",M[M.Undo=5]="Undo",M[M.Redo=6]="Redo"})(L||(L={}));var b;(function(M){M[M.LF=1]="LF",M[M.CRLF=2]="CRLF"})(b||(b={}));var C;(function(M){M[M.Text=0]="Text",M[M.Read=1]="Read",M[M.Write=2]="Write"})(C||(C={}));var u;(function(M){M[M.None=0]="None",M[M.Keep=1]="Keep",M[M.Brackets=2]="Brackets",M[M.Advanced=3]="Advanced",M[M.Full=4]="Full"})(u||(u={}));var i;(function(M){M[M.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",M[M.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",M[M.accessibilitySupport=2]="accessibilitySupport",M[M.accessibilityPageSize=3]="accessibilityPageSize",M[M.allowOverflow=4]="allowOverflow",M[M.allowVariableLineHeights=5]="allowVariableLineHeights",M[M.allowVariableFonts=6]="allowVariableFonts",M[M.allowVariableFontsInAccessibilityMode=7]="allowVariableFontsInAccessibilityMode",M[M.ariaLabel=8]="ariaLabel",M[M.ariaRequired=9]="ariaRequired",M[M.autoClosingBrackets=10]="autoClosingBrackets",M[M.autoClosingComments=11]="autoClosingComments",M[M.screenReaderAnnounceInlineSuggestion=12]="screenReaderAnnounceInlineSuggestion",M[M.autoClosingDelete=13]="autoClosingDelete",M[M.autoClosingOvertype=14]="autoClosingOvertype",M[M.autoClosingQuotes=15]="autoClosingQuotes",M[M.autoIndent=16]="autoIndent",M[M.autoIndentOnPaste=17]="autoIndentOnPaste",M[M.autoIndentOnPasteWithinString=18]="autoIndentOnPasteWithinString",M[M.automaticLayout=19]="automaticLayout",M[M.autoSurround=20]="autoSurround",M[M.bracketPairColorization=21]="bracketPairColorization",M[M.guides=22]="guides",M[M.codeLens=23]="codeLens",M[M.codeLensFontFamily=24]="codeLensFontFamily",M[M.codeLensFontSize=25]="codeLensFontSize",M[M.colorDecorators=26]="colorDecorators",M[M.colorDecoratorsLimit=27]="colorDecoratorsLimit",M[M.columnSelection=28]="columnSelection",M[M.comments=29]="comments",M[M.contextmenu=30]="contextmenu",M[M.copyWithSyntaxHighlighting=31]="copyWithSyntaxHighlighting",M[M.cursorBlinking=32]="cursorBlinking",M[M.cursorSmoothCaretAnimation=33]="cursorSmoothCaretAnimation",M[M.cursorStyle=34]="cursorStyle",M[M.cursorSurroundingLines=35]="cursorSurroundingLines",M[M.cursorSurroundingLinesStyle=36]="cursorSurroundingLinesStyle",M[M.cursorWidth=37]="cursorWidth",M[M.cursorHeight=38]="cursorHeight",M[M.disableLayerHinting=39]="disableLayerHinting",M[M.disableMonospaceOptimizations=40]="disableMonospaceOptimizations",M[M.domReadOnly=41]="domReadOnly",M[M.dragAndDrop=42]="dragAndDrop",M[M.dropIntoEditor=43]="dropIntoEditor",M[M.editContext=44]="edit
162Context",M[M.emptySelectionClipboard=45]="emptySelectionClipboard",M[M.experimentalGpuAcceleration=46]="experimentalGpuAcceleration",M[M.experimentalWhitespaceRendering=47]="experimentalWhitespaceRendering",M[M.extraEditorClassName=48]="extraEditorClassName",M[M.fastScrollSensitivity=49]="fastScrollSensitivity",M[M.find=50]="find",M[M.fixedOverflowWidgets=51]="fixedOverflowWidgets",M[M.folding=52]="folding",M[M.foldingStrategy=53]="foldingStrategy",M[M.foldingHighlight=54]="foldingHighlight",M[M.foldingImportsByDefault=55]="foldingImportsByDefault",M[M.foldingMaximumRegions=56]="foldingMaximumRegions",M[M.unfoldOnClickAfterEndOfLine=57]="unfoldOnClickAfterEndOfLine",M[M.fontFamily=58]="fontFamily",M[M.fontInfo=59]="fontInfo",M[M.fontLigatures=60]="fontLigatures",M[M.fontSize=61]="fontSize",M[M.fontWeight=62]="fontWeight",M[M.fontVariations=63]="fontVariations",M[M.formatOnPaste=64]="formatOnPaste",M[M.formatOnType=65]="formatOnType",M[M.glyphMargin=66]="glyphMargin",M[M.gotoLocation=67]="gotoLocation",M[M.hideCursorInOverviewRuler=68]="hideCursorInOverviewRuler",M[M.hover=69]="hover",M[M.inDiffEditor=70]="inDiffEditor",M[M.inlineSuggest=71]="inlineSuggest",M[M.letterSpacing=72]="letterSpacing",M[M.lightbulb=73]="lightbulb",M[M.lineDecorationsWidth=74]="lineDecorationsWidth",M[M.lineHeight=75]="lineHeight",M[M.lineNumbers=76]="lineNumbers",M[M.lineNumbersMinChars=77]="lineNumbersMinChars",M[M.linkedEditing=78]="linkedEditing",M[M.links=79]="links",M[M.matchBrackets=80]="matchBrackets",M[M.minimap=81]="minimap",M[M.mouseStyle=82]="mouseStyle",M[M.mouseWheelScrollSensitivity=83]="mouseWheelScrollSensitivity",M[M.mouseWheelZoom=84]="mouseWheelZoom",M[M.multiCursorMergeOverlapping=85]="multiCursorMergeOverlapping",M[M.multiCursorModifier=86]="multiCursorModifier",M[M.mouseMiddleClickAction=87]="mouseMiddleClickAction",M[M.multiCursorPaste=88]="multiCursorPaste",M[M.multiCursorLimit=89]="multiCursorLimit",M[M.occurrencesHighlight=90]="occurrencesHighlight",M[M.occurrencesHighlightDelay=91]="occurrencesHighlightDelay",M[M.overtypeCursorStyle=92]="overtypeCursorStyle",M[M.overtypeOnPaste=93]="overtypeOnPaste",M[M.overviewRulerBorder=94]="overviewRulerBorder",M[M.overviewRulerLanes=95]="overviewRulerLanes",M[M.padding=96]="padding",M[M.pasteAs=97]="pasteAs",M[M.parameterHints=98]="parameterHints",M[M.peekWidgetDefaultFocus=99]="peekWidgetDefaultFocus",M[M.placeholder=100]="placeholder",M[M.definitionLinkOpensInPeek=101]="definitionLinkOpensInPeek",M[M.quickSuggestions=102]="quickSuggestions",M[M.quickSuggestionsDelay=103]="quickSuggestionsDelay",M[M.readOnly=104]="readOnly",M[M.readOnlyMessage=105]="readOnlyMessage",M[M.renameOnType=106]="renameOnType",M[M.renderRichScreenReaderContent=107]="renderRichScreenReaderContent",M[M.renderControlCharacters=108]="renderControlCharacters",M[M.renderFinalNewline=109]="renderFinalNewline",M[M.renderLineHighlight=110]="renderLineHighlight",M[M.renderLineHighlightOnlyWhenFocus=111]="renderLineHighlightOnlyWhenFocus",M[M.renderValidationDecorations=112]="renderValidationDecorations",M[M.renderWhitespace=113]="renderWhitespace",M[M.revealHorizontalRightPadding=114]="revealHorizontalRightPadding",M[M.roundedSelection=115]="roundedSelection",M[M.rulers=116]="rulers",M[M.scrollbar=117]="scrollbar",M[M.scrollBeyondLastColumn=118]="scrollBeyondLastColumn",M[M.scrollBeyondLastLine=119]="scrollBeyondLastLine",M[M.scrollPredominantAxis=120]="scrollPredominantAxis",M[M.selectionClipboard=121]="selectionClipboard",M[M.selectionHighlight=122]="selectionHighlight",M[M.selectionHighlightMaxLength=123]="selectionHighlightMaxLength",M[M.selectionHighlightMultiline=124]="selectionHighlightMultiline",M[M.selectOnLineNumbers=125]="selectOnLineNumbers",M[M.showFoldingControls=126]="showFoldingControls",M[M.showUnused=127]="showUnused",M[M.snippetSuggestions=128]="snippetSuggestions",M[M.smartSelect=129]="smartSelect",M[M.smoothScrolling=130]="smoothScrolling",M[M.stickyScroll=131]="stickyScroll",M[M.stickyTabStops=132]="stickyTabStops",M[M.stopRenderingLineAfter=133]="stopRenderingLineAfter",M[M.suggest=134]="suggest",M[M.suggestFontSize=135]="suggestFontSize",M[M.suggestLineHeight=136]="suggestLineHeight",M[M.suggestOnTriggerCharacters=137]="suggestOnTriggerCharacters",M[M.suggestSelection=138]="suggestSelection",M[M.tabCompletion=139]="tabCompletion",M[M.tabIndex=140]="tabIndex",M[M.trimWhitespaceOnDelete=141]="trimWhitespaceOnDelete",M[M.unicodeHighlighting=142]="unicodeHighlighting",M[M.unusualLineTerminators=143]="unusualLineTerminators",M[M.useShadowDOM=144]="useShadowDOM",M[M.useTabStops=145]="useTabStops",M[M.wordBreak=146]="wordBreak",M[M.wordSegmenterLocales=147]="wordSegmenterLocales",M[M.wordSeparators=148]="wordSeparators",M[M.wordWrap=149]="wordWrap",M[M.wordWrapBreakAfterCharacters=150]="wordWrapBreakAfterCharacters",M[M.wordWrapBreakBeforeCharacters=151]="wordWrapBreakBeforeCharacters",M[M.wordWrapColumn=152]="wordWrapColumn",M[M.wordWrapOverride1=153]="wordWrapOverride1",M[M.wordWrapOverride2=154]="wordWrapOverride2",M[M.wrappingIndent=155]="wrappingIndent",M[M.wrappingStrategy=156]="wrappingStrategy",M[M.showDeprecated=157]="showDeprecated",M[M.inertialScroll=158]="inertialScroll",M[M.inlayHints=159]="inlayHints",M[M.wrapOnEscapedLineFeeds=160]="wrapOnEscapedLineFeeds",M[M.effectiveCursorStyle=161]="effectiveCursorStyle",M[M.editorClassName=162]="editorClassName",M[M.pixelRatio=163]="pixelRatio",M[M.tabFocusMode=164]="tabFocusMode",M[M.layoutInfo=165]="layoutInfo",M[M.wrappingInfo=166]="wrappingInfo",M[M.defaultColorDecorators=167]="defaultColorDecorators",M[M.colorDecoratorsActivatedOn=168]="colorDecoratorsActivatedOn",M[M.inlineCompletionsAccessibilityVerbose=169]="inlineCompletionsAccessibilityVerbose",M[M.effectiveEditContext=170]="effectiveEditContext",M[M.scrollOnMiddleClick=171]="scrollOnMiddleClick",M[M.effectiveAllowVariableFonts=172]="effectiveAllowVariableFonts",M[M.doubleClickSelectsBlock=173]="doubleClickSelectsBlock"})(i||(i={}));var r;(function(M){M[M.TextDefined=0]="TextDefined",M[M.LF=1]="LF",M[M.CRLF=2]="CRLF"})(r||(r={}));var d;(function(M){M[M.LF=0]="LF",M[M.CRLF=1]="CRLF"})(d||(d={}));var l;(function(M){M[M.Left=1]="Left",M[M.Center=2]="Center",M[M.Right=3]="Right"})(l||(l={}));var o;(function(M){M[M.Increase=0]="Increase",M[M.Decrease=1]="Decrease"})(o||(o={}));var c;(function(M){M[M.None=0]="None",M[M.Indent=1]="Indent",M[M.IndentOutdent=2]="IndentOutdent",M[M.Outdent=3]="Outdent"})(c||(c={}));var a;(function(M){M[M.Both=0]="Both",M[M.Right=1]="Right",M[M.Left=2]="Left",M[M.None=3]="None"})(a||(a={}));var p;(function(M){M[M.Type=1]="Type",M[M.Parameter=2]="Parameter"})(p||(p={}));var _;(function(M){M[M.Accepted=0]="Accepted",M[M.Rejected=1]="Rejected",M[M.Ignored=2]="Ignored"})(_||(_={}));var E;(function(M){M[M.Code=1]="Code",M[M.Label=2]="Label"})(E||(E={}));var S;(function(M){M[M.Automatic=0]="Automatic",M[M.Explicit=1]="Explicit"})(S||(S={}));var h;(function(M){M[M.DependsOnKbLayout=-1]="DependsOnKbLayout",M[M.Unknown=0]="Unknown",M[M.Backspace=1]="Backspace",M[M.Tab=2]="Tab",M[M.Enter=3]="Enter",M[M.Shift=4]="Shift",M[M.Ctrl=5]="Ctrl",M[M.Alt=6]="Alt",M[M.PauseBreak=7]="PauseBreak",M[M.CapsLock=8]="CapsLock",M[M.Escape=9]="Escape",M[M.Space
162=10]="Space",M[M.PageUp=11]="PageUp",M[M.PageDown=12]="PageDown",M[M.End=13]="End",M[M.Home=14]="Home",M[M.LeftArrow=15]="LeftArrow",M[M.UpArrow=16]="UpArrow",M[M.RightArrow=17]="RightArrow",M[M.DownArrow=18]="DownArrow",M[M.Insert=19]="Insert",M[M.Delete=20]="Delete",M[M.Digit0=21]="Digit0",M[M.Digit1=22]="Digit1",M[M.Digit2=23]="Digit2",M[M.Digit3=24]="Digit3",M[M.Digit4=25]="Digit4",M[M.Digit5=26]="Digit5",M[M.Digit6=27]="Digit6",M[M.Digit7=28]="Digit7",M[M.Digit8=29]="Digit8",M[M.Digit9=30]="Digit9",M[M.KeyA=31]="KeyA",M[M.KeyB=32]="KeyB",M[M.KeyC=33]="KeyC",M[M.KeyD=34]="KeyD",M[M.KeyE=35]="KeyE",M[M.KeyF=36]="KeyF",M[M.KeyG=37]="KeyG",M[M.KeyH=38]="KeyH",M[M.KeyI=39]="KeyI",M[M.KeyJ=40]="KeyJ",M[M.KeyK=41]="KeyK",M[M.KeyL=42]="KeyL",M[M.KeyM=43]="KeyM",M[M.KeyN=44]="KeyN",M[M.KeyO=45]="KeyO",M[M.KeyP=46]="KeyP",M[M.KeyQ=47]="KeyQ",M[M.KeyR=48]="KeyR",M[M.KeyS=49]="KeyS",M[M.KeyT=50]="KeyT",M[M.KeyU=51]="KeyU",M[M.KeyV=52]="KeyV",M[M.KeyW=53]="KeyW",M[M.KeyX=54]="KeyX",M[M.KeyY=55]="KeyY",M[M.KeyZ=56]="KeyZ",M[M.Meta=57]="Meta",M[M.ContextMenu=58]="ContextMenu",M[M.F1=59]="F1",M[M.F2=60]="F2",M[M.F3=61]="F3",M[M.F4=62]="F4",M[M.F5=63]="F5",M[M.F6=64]="F6",M[M.F
1627=65]="F7",M[M.F8=66]="F8",M[M.F9=67]="F9",M[M.F10=68]="F10",M[M.F11=69]="F11",M[M.F12=70]="F12",M[M.F13=71]="F13",M[M.F14=72]="F14",M[M.F15=73]="F15",M[M.F16=74]="F16",M[M.F17=75]="F17",M[M.F18=76]="F18",M[M.F19=77]="F19",M[M.F20=78]="F20",M[M.F21=79]="F21",M[M.F22=80]="F22",M[M.F23=81]="F23",M[M.F24=82]="F24",M[M.NumLock=83]="NumLock",M[M.ScrollLock=84]="ScrollLock",M[M.Semicolon=85]="Semicolon",M[M.Equal=86]="Equal",M[M.Comma=87]="Comma",M[M.Minus=88]="Minus",M[M.Period=89]="Period",M[M.Slash=90]="Slash",M[M.Backquote=91]="Backquote",M[M.BracketLeft=92]="BracketLeft",M[M.Backslash=93]="Backslash",M[M.BracketRight=94]="BracketRight",M[M.Quote=95]="Quote",M[M.OEM_8=96]="OEM_8",M[M.IntlBackslash=97]="IntlBackslash",M[M.Numpad0=98]="Numpad0",M[M.Numpad1=99]="Numpad1",M[M.Numpad2=100]="Numpad2",M[M.Numpad3=101]="Numpad3",M[M.Numpad4=102]="Numpad4",M[M.Numpad5=103]="Numpad5",M[M.Numpad6=104]="Numpad6",M[M.Numpad7=105]="Numpad7",M[M.Numpad8=106]="Numpad8",M[M.Numpad9=107]="Numpad9",M[M.NumpadMultiply=108]="NumpadMultiply",M[M.NumpadAdd=109]="NumpadAdd",M[M.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",M[M.NumpadSubtract=111]="NumpadSubtract",M[M.NumpadDecimal=112]="NumpadDecimal",M[M.NumpadDivide=113]="NumpadDivide",M[M.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",M[M.ABNT_C1=115]="ABNT_C1",M[M.ABNT_C2=116]="ABNT_C2",M[M.AudioVolumeMute=117]="AudioVolumeMute",M[M.AudioVolumeUp=118]="AudioVolumeUp",M[M.AudioVolumeDown=119]="AudioVolumeDown",M[M.BrowserSearch=120]="BrowserSearch",M[M.BrowserHome=121]="BrowserHome",M[M.BrowserBack=122]="BrowserBack",M[M.BrowserForward=123]="BrowserForward",M[M.MediaTrackNext=124]="MediaTrackNext",M[M.MediaTrackPrevious=125]="MediaTrackPrevious",M[M.MediaStop=126]="MediaStop",M[M.MediaPlayPause=127]="MediaPlayPause",M[M.LaunchMediaPlayer=128]="LaunchMediaPlayer",M[M.LaunchMail=129]="LaunchMail",M[M.LaunchApp2=130]="LaunchApp2",M[M.Clear=131]="Clear",M[M.MAX_VALUE=132]="MAX_VALUE"})(h||(h={}));var D;(function(M){M[M.Hint=1]="Hint",M[M.Info=2]="Info",M[M.Warning=4]="Warning",M[M.Error=8]="Error"})(D||(D={}));var k;(function(M){M[M.Unnecessary=1]="Unnecessary",M[M.Deprecated=2]="Deprecated"})(k||(k={}));var N;(function(M){M[M.Inline=1]="Inline",M[M.Gutter=2]="Gutter"})(N||(N={}));var W;(function(M){M[M.Normal=1]="Normal",M[M.Underlined=2]="Underlined"})(W||(W={}));var U;(function(M){M[M.UNKNOWN=0]="UNKNOWN",M[M.TEXTAREA=1]="TEXTAREA",M[M.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",M[M.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",M[M.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",M[M.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",M[M.CONTENT_TEXT=6]="CONTENT_TEXT",M[M.CONTENT_EMPTY=7]="CONTENT_EMPTY",M[M.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",M[M.CONTENT_WIDGET=9]="CONTENT_WIDGET",M[M.OVERVIEW_RULER=10]="OVERVIEW_RULER",M[M.SCROLLBAR=11]="SCROLLBAR",M[M.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",M[M.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(U||(U={}));var $;(function(M){M[M.AIGenerated=1]="AIGenerated"})($||($={}));var te;(function(M){M[M.Invoke=0]="Invoke",M[M.Automatic=1]="Automatic"})(te||(te={}));var ne;(function(M){M[M.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",M[M.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",M[M.TOP_CENTER=2]="TOP_CENTER"})(ne||(ne={}));var V;(function(M){M[M.Left=1]="Left",M[M.Center=2]="Center",M[M.Right=4]="Right",M[M.Full=7]="Full"})(V||(V={}));var I;(function(M){M[M.Word=0]="Word",M[M.Line=1]="Line",M[M.Suggest=2]="Suggest"})(I||(I={}));var H;(function(M){M[M.Left=0]="Left",M[M.Right=1]="Right",M[M.None=2]="None",M[M.LeftOfInjectedText=3]="LeftOfInjectedText",M[M.RightOfInjectedText=4]="RightOfInjectedText"})(H||(H={}));var Z;(function(M){M[M.Off=0]="Off",M[M.On=1]="On",M[M.Relative=2]="Relative",M[M.Interval=3]="Interval",M[M.Custom=4]="Custom"})(Z||(Z={}));var X;(function(M){M[M.None=0]="None",M[M.Text=1]="Text",M[M.Blocks=2]="Blocks"})(X||(X={}));var G;(function(M){M[M.Smooth=0]="Smooth",M[M.Immediate=1]="Immediate"})(G||(G={}));var Y;(function(M){M[M.Auto=1]="Auto",M[M.Hidden=2]="Hidden",M[M.Visible=3]="Visible"})(Y||(Y={}));var j;(function(M){M[M.LTR=0]="LTR",M[M.RTL=1]="RTL"})(j||(j={}));var z;(function(M){M.Off="off",M.OnCode="onCode",M.On="on"})(z||(z={}));var ie;(function(M){M[M.Invoke=1]="Invoke",M[M.TriggerCharacter=2]="TriggerCharacter",M[M.ContentChange=3]="ContentChange"})(ie||(ie={}));var re;(function(M){M[M.File=0]="File",M[M.Module=1]="Module",M[M.Namespace=2]="Namespace",M[M.Package=3]="Package",M[M.Class=4]="Class",M[M.Method=5]="Method",M[M.Property=6]="Property",M[M.Field=7]="Field",M[M.Constructor=8]="Constructor",M[M.Enum=9]="Enum",M[M.Interface=10]="Interface",M[M.Function=11]="Function",M[M.Variable=12]="Variable",M[M.Constant=13]="Constant",M[M.String=14]="String",M[M.Number=15]="Number",M[M.Boolean=16]="Boolean",M[M.Array=17]="Array",M[M.Object=18]="Object",M[M.Ke
162y=19]="Key",M[M.Null=20]="Null",M[M.EnumMember=21]="EnumMember",M[M.Struct=22]="Struct",M[M.Event=23]="Event",M[M.Operator=24]="Operator",M[M.TypeParameter=25]="TypeParameter"})(re||(re={}));var de;(function(M){M[M.Deprecated=1]="Deprecated"})(de||(de={}));var le;(function(M){M[M.LTR=0]="LTR",M[M.RTL=1]="RTL"})(le||(le={}));var he;(function(M){M[M.Hidden=0]="Hidden",M[M.Blink=1]="Blink",M[M.Smooth=2]="Smooth",M[M.Phase=3]="Phase",M[M.Expand=4]="Expand",M[M.Solid=5]="Solid"})(he||(he={}));var we;(function(M){M[M.Line=1]="Line",M[M.Block=2]="Block",M[M.Underline=3]="Underline",M[M.LineThin=4]="LineThin",M[M.BlockOutline=5]="BlockOutline",M[M.UnderlineThin=6]="UnderlineThin"})(we||(we={}));var xe;(function(M){M[M.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",M[M.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",M[M.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",M[M.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(xe||(xe={}));var Be;(function(M){M[M.None=0]="None",M[M.Same=1]="Same",M[M.Indent=2]="Indent",M[M.DeepIndent=3]="DeepIndent"})(Be||(Be={}))},42802:(St,We,e)=>{e.d(We,{$l:()=>y,Gs:()=>C,MB:()=>T,Sw:()=>L,bb:()=>g,gN:()=>A,mU:()=>i,pJ:()=>b});var v=e(63946);const R=typeof Buffer<"u";new v.d(()=>new Uint8Array(256));let x;class T{static wrap(d){return R&&!Buffer.isBuffer(d)&&(d=Buffer.from(d.buffer,d.byteOffset,d.byteLength)),new T(d)}constructor(d){this.buffer=d,this.byteLength=this.buffer.byteLength}toString(){return R?this.buffer.toString():(x||(x=new TextDecoder(void 0,{ignoreBOM:!0})),x.decode(this.buffer))}}function y(r,d){return r[d+0]<<0>>>0|r[d+1]<<8>>>0}function A(r,d,l){r[l+0]=d&255,d=d>>>8,r[l+1]=d&255}function g(r,d){return r[d]*2**24+r[d+1]*2**16+r[d+2]*2**8+r[d+3]}function L(r,d,l){r[l+3]=d,d=d>>>8,r[l+2]=d,d=d>>>8,r[l+1]=d,d=d>>>8,r[l]=d}function b(r,d){return r[d]}function C(r,d,l){r[l]=d}const u="0123456789abcdef";function i({buffer:r}){let d="";for(let l=0;l<r.length;l++){const o=r[l];d+=u[o>>>4],d+=u[o&15]}return d}},43067:(St,We,e)=>{var _e,Qe;var v=e(78903),R=e(94327),x=e(37264),T=e(58067),y=e(82096),A=e(50946),g=e(90426),L=e(46311),b=e(28654),C=e(98823),u=e(56307),i=e(10998),r=e(28061),d=e(47791),l=e(3802);const Le=class Le extends i.jG{constructor(ae){super(),this._editor=ae,this._register(ae.onMouseDown(Ee=>this.onMouseDown(Ee)))}dispose(){super.dispose()}onMouseDown(ae){const Ee=this._editor.getOption(168);if(Ee!=="click"&&Ee!=="clickAndHover"||!(0,l.a)(ae))return;const Ie=this._editor.getContribution(d.A.ID);if(!Ie||Ie.isColorPickerVisible)return;const Ue=ae.target.range;if(!Ue)return;const $e=new r.Q(Ue.startLineNumber,Ue.startColumn+1,Ue.endLineNumber,Ue.endColumn+1);Ie.showContentHover($e,1,1,!1)}};Le.ID="editor.contrib.colorContribution";let o=Le;var c=e(98349),a=e(3765),p=e(38122),_=e(31540),E=e(82399),S=e(23029),h=e(66654),D=e(56071),k=e(2106),N=e(29849),W=e(90304),U=e(89044),$=e(56449),te=e(40865),ne=e(14333),V=function(je,ae,Ee,Ie){var Ue=arguments.length,$e=Ue<3?ae:Ie===null?Ie=Object.getOwnPropertyDescriptor(ae,Ee):Ie,Ye;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$e=Reflect.decorate(je,ae,Ee,Ie);else for(var Ce=je.length-1;Ce>=0;Ce--)(Ye=je[Ce])&&($e=(Ue<3?Ye($e):Ue>3?Ye(ae,Ee,$e):Ye(ae,Ee))||$e);return Ue>3&&$e&&Object.defineProperty(ae,Ee,$e),$e},I=function(je,ae){return function(Ee,Ie){ae(Ee,Ie,je)}};class H{constructor(ae,Ee,Ie,Ue){this.owner=ae,this.range=Ee,this.model=Ie,this.provider=Ue}static fromBaseColor(ae,Ee){return new H(ae,Ee.range,Ee.model,Ee.provider)}}class Z extends i.jG{constructor(ae,Ee,Ie,Ue){super();const $e=ae.getModel(),Ye=Ie.model;this.color=Ie.model.color,this.colorPicker=this._register(new te.K(Ee.fragment,Ye,ae.getOption(163),Ue,"standalone")),this._register(Ye.onColorFlushed(Ce=>{this.color=Ce})),this._register(Ye.onDidChangeColor(Ce=>{(0,$.e2)($e,Ye,Ce,Ie.range,Ie)})),this._register(ae.onDidChangeModelContent(Ce=>{Ee.hide(),ae.focus()})),(0,$.e2)($e,Ye,this.color,Ie.range,Ie)}}let X=class{constructor(ae,Ee){this._editor=ae,this._themeService=Ee}async createColorHover(ae,Ee,Ie){if(!this._editor.hasModel()||!C.mn.get(this._editor))return null;const $e=await(0,b.jM)(Ie,this._editor.getModel(),v.XO.None);let Ye=null,Ce=null;for(const Te of $e){const oe=Te.colorInfo;r.Q.containsRange(oe.range,ae.range)&&(Ye=oe,Ce=Te.provider)}const He=Ye??ae,Ke=Ce??Ee,qe=!!Ye;return{colorHover:H.fromBaseColor(this,await(0,$.E0)(this._editor.getModel(),He,Ke)),foundInEditor:qe}}async updateEditorModel(ae){if(!this._editor.hasModel())return;const Ee=ae.model;let Ie=new r.Q(ae.range.startLineNumber,ae.range.startColumn,ae.range.endLineNumber,ae.range.endColumn);this._color&&(await(0,$.e2)(this._editor.getModel(),Ee,this._color,Ie,ae),Ie=(0,$.gi)(this._editor,Ie,Ee))}renderHoverParts(ae,Ee){if(!(Ee.length===0||!this._editor.hasModel()))return this._setMinimumDimensions(ae),this._renderedParts=new Z(this._editor,ae,Ee[0],this._themeService),this._renderedParts}_setMinimumDimensions(ae){const Ee=this._editor.getOption(75)+8;ae.setMinimumDimensions(new ne.fg(302,Ee))}get _color(){return this._renderedParts?.color}};X=V([I(1,U.Gy)],X);var G=e(90428),Y=function(je,ae,Ee,Ie){var Ue=arguments.length,$e=Ue<3?ae:Ie===null?Ie=Object.getOwnPropertyDescriptor(ae,Ee):Ie,Ye;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$e=Reflect.decorate(je,ae,Ee,Ie);else for(var Ce=je.length-1;Ce>=0;Ce--)(Ye=je[Ce])&&($e=(Ue<3?Ye($e):Ue>3?Ye(ae,Ee,$e):Ye(ae,Ee))||$e);return Ue>3&&$e&&Object.defineProperty(ae,Ee,$e),$e},j=function(je,ae){return function(Ee,Ie){ae(Ee,Ie,je)}},z;class ie{constructor(ae,Ee){this.value=ae,this.foundInEditor=Ee}}const re=8,de=22;let le=(_e=class extends i.jG{constructor(ae,Ee,Ie,Ue,$e,Ye,Ce,He){super(),this._editor=ae,this._standaloneColorPickerVisible=Ee,this._standaloneColorPickerFocused=Ie,this._keybindingService=$e,this._languageFeaturesService=Ye,this._editorWorkerService=Ce,this._hoverService=He,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new k.vl),this.onResult=this._onResult.event,this._renderedHoverParts=this._register(new i.HE),this._renderedStatusBar=this._register(new i.HE),this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=Ue.createInstance(X,this._editor),this._position=this._editor._getViewModel()?.getPrimaryCursorState().modelState.position;const Ke=this._editor.getSelection(),qe=Ke?{startLineNumber:Ke.startLineNumber,startColumn:Ke.startColumn,endLineNumber:Ke.endLineNumber,endColumn:Ke.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},ht=this._register((0,ne.w5)(this._body));this._register(ht.onDidBlur(Te=>{this.hide()})),this._register(ht.onDidFocus(Te=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(Te=>{const oe=Te.target.element?.classList;oe&&oe.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(Te=>{this._render(Te.value,Te.foundInEditor)})),this._start(qe),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return z.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const ae=this._editor.getOption(69).above;return{position:this._position,secondaryPosition:this._position,preference:ae?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(ae){const Ee=await this._computeAsync(ae);Ee&&this._onResult.fire(new ie(Ee.result,Ee.foundInEditor))}async _computeAsync(ae){if(!this._editor.hasModel())return null;const Ee={range:ae,color:{red:0,green:0,blue:0,alpha:1}},Ie=await this._standaloneColorPickerParticipant.createColorHover(Ee,new u.L(this._editorWorkerService),this._languageFeaturesService.colorProvider);return Ie?{result:Ie.colorHover,foundInEditor:Ie.foundInEditor}:null}_render(ae,Ee){const Ie=document.createDocumentFragment();this._renderedStatusBar.value=this._register(new h.L(this._keybindingService,this._hoverService));const Ue={fragment:Ie,statusBar:this._renderedStatusBar.value,onContentsChanged:()=>{},setMinimumDimensions:()=>{},hide:()=>this.hide(),focus:()=>this.focus()};if(this._colorHover=ae,this._renderedHoverParts.value=this._standaloneColorPickerParticipant.renderHoverParts(Ue,[ae]),!this._renderedHoverParts.value){this._renderedStatusBar.clear(),this._renderedHoverParts.clear();return}const $e=this._renderedHoverParts.value.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(Ie),$e.layout();const Ye=$e.body,Ce=Ye.saturationBox.domNode.clientWidth,He=Ye.domNode.clientWidth-Ce-de-re,Ke=$e.body.enterButton;Ke?.onClicked(()=>{this.updateEditor(),this.hide()});const qe=$e.header,ht=qe.pickedColorNode;ht.style.width=Ce+re+"px";const Te=qe.originalColorNode;Te.style.width=He+"px",$e.header.closeButton?.onClicked(()=>{this.hide()}),Ee&&(Ke&&(Ke.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(ae.range)),this._editor.layoutContentWidget(this)}},z=_e,_e.ID="editor.contrib.standaloneColorPickerWidget",_e);le=z=Y([j(3,E._Y),j(4,D.b),j(5,N.u),j(6,W.w),j(7,G.TN)],le);var he=function(je,ae,Ee,Ie){var Ue=arguments.length,$e=Ue<3?ae:Ie===null?Ie=Object.getOwnPropertyDescriptor(ae,Ee):Ie,Ye;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$e=Reflect.decorate(je,ae,Ee,Ie);else for(var Ce=je.length-1;Ce>=0;Ce--)(Ye=je[Ce])&&($e=(Ue<3?Ye($e):Ue>3?Ye(ae,Ee,$e):Ye(ae,Ee))||$e);return Ue>3&&$e&&Object.defineProperty(ae,Ee,$e),$e},we=function(je,ae){return function(Ee,Ie){ae(Ee,Ie,je)}},xe;let Be=(Qe=class extends i.jG{constructor(ae,Ee,Ie){super(),this._editor=ae,this._instantiationService=Ie,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=p.R.standaloneColorPickerVisible.bindTo(Ee),this._standaloneColorPickerFocused=p.R.standaloneColorPickerFocused.bindTo(Ee)}showOrFocus(){this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||this._standaloneColorPickerWidget?.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(le,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerWidget?.hide(),this._editor.focus()}insertColor(){this._standaloneColorPickerWidget?.updateEditor(),this.hide()}static get(ae){return ae.getContribution(xe.ID)}},xe=Qe,Qe.ID="editor.contrib.standaloneColorPickerController",Qe);Be=xe=he([we(1,_.fN),we(2,E._Y)],Be);class M extends A.qO{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...(0,a.aS)(925,"Show or Focus Standalone Color Picker"),mnemonicTitle:(0,a.kg)(924,"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:T.D8.CommandPalette}],metadata:{description:(0,a.aS)(926,"Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(ae,Ee){Be.get(Ee)?.showOrFocus()}}class Ve extends A.ks{constructor(){super({id:"editor.action.hideColorPicker",label:(0,a.aS)(927,"Hide the Color Picker"),precondition:p.R.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:(0,a.aS)(928,"Hide the standalone color picker.")}})}run(ae,Ee){Be.get(Ee)?.hide()}}class Me extends A.ks{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:(0,a.aS)(929,"Insert Color with Standalone Color Picker"),precondition:p.R.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:(0,a.aS)(930,"Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(ae,Ee){Be.get(Ee)?.insertColor()}}(0,A.Fl)(Ve),(0,A.Fl)(Me),(0,T.ug)(M),(0,A.HW)(o.ID,o,2),(0,A.HW)(Be.ID,Be,1),(0,A.HW)(C.mn.ID,C.mn,1),(0,g.x)(u.r),L.B2.register(c.r),y.w.registerCommand("_executeDocumentColorProvider",function(je,...ae){const[Ee]=ae;if(!(Ee instanceof x.r))throw(0,R.Qg)();const{model:Ie,colorProviderRegistry:Ue,defaultColorDecoratorsEnablement:$e}=(0,b.d1)(je,Ee);return(0,b.sN)(new b.sy,Ue,Ie,v.XO.None,$e)}),y.w.registerCommand("_executeColorPresentationProvider",function(je,...ae){const[Ee,Ie]=ae;if(!Ie)return;const{uri:Ue,range:$e}=Ie;if(!(Ue instanceof x.r)||!Array.isArray(Ee)||Ee.length!==4||!r.Q.isIRange($e))throw(0,R.Qg)();const{model:Ye,colorProviderRegistry:Ce,defaultColorDecoratorsEnablement:He}=(0,b.d1)(je,Ue),[Ke,qe,ht,Te]=Ee;return(0,b.sN)(new b.o5({range:$e,color:{red:Ke,green:qe,blue:ht,alpha:Te}}),Ce,Ye,v.XO.None,He)})},43117:(St,We,e)=>{var v=e(50946),R=e(3765),x=e(91178),T=e(58067),y=e(85753),A=e(31540),g=e(38122),L=e(30696);class b extends v.qO{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...(0,R.aS)(1498,"Toggle Editor Sticky Scroll"),mnemonicTitle:(0,R.kg)(1494,"&&Toggle Editor Sticky Scroll")},metadata:{description:(0,R.aS)(1499,"Toggle/enable the editor sticky 
162scroll which shows the nested scopes at the top of the viewport")},category:x.L.View,toggled:{condition:A.M$.equals("config.editor.stickyScroll.enabled",!0),title:(0,R.kg)(1495,"Sticky Scroll"),mnemonicTitle:(0,R.kg)(1496,"&&Sticky Scroll")},menu:[{id:T.D8.CommandPalette},{id:T.D8.MenubarAppearanceMenu,group:"4_editor",order:3},{id:T.D8.StickyScrollContext}]})}async runEditorCommand(c,a){const p=c.get(y.pG),_=!p.getValue("editor.stickyScroll.enabled"),E=L.n.get(a)?.isFocused();p.updateValue("editor.stickyScroll.enabled",_),E&&a.focus()}}const C=100;class u extends v.qO{constructor(){super({id:"editor.action.focusStickyScroll",title:{...(0,R.aS)(1500,"Focus Editor Sticky Scroll"),mnemonicTitle:(0,R.kg)(1497,"&&Focus Editor Sticky Scroll")},precondition:A.M$.and(A.M$.has("config.editor.stickyScroll.enabled"),g.R.stickyScrollVisible),menu:[{id:T.D8.CommandPalette}]})}runEditorCommand(c,a){L.n.get(a)?.focus()}}class i extends v.qO{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:(0,R.aS)(1501,"Select the next editor sticky scroll line"),precondition:g.R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:C,primary:18}})}runEditorCommand(c,a){L.n.get(a)?.focusNext()}}class r extends v.qO{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:(0,R.aS)(1502,"Select the previous sticky scroll line"),precondition:g.R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:C,primary:16}})}runEditorCommand(c,a){L.n.get(a)?.focusPrevious()}}class d extends v.qO{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:(0,R.aS)(1503,"Go to the focused sticky scroll line"),precondition:g.R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:C,primary:3}})}runEditorCommand(c,a){L.n.get(a)?.goToFocused()}}class l extends v.qO{constructor(){super({id:"editor.action.selectEditor",title:(0,R.aS)(1504,"Select Editor"),precondition:g.R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:C,primary:9}})}runEditorCommand(c,a){L.n.get(a)?.selectEditor()}}(0,v.HW)(L.n.ID,L.n,1),(0,T.ug)(b),(0,T.ug)(u),(0,T.ug)(r),(0,T.ug)(i),(0,T.ug)(d),(0,T.ug)(l)},43634:(St,We,e)=>{e.d(We,{gq:()=>M,LG:()=>Be});var v=e(68387),R=e(3765),x=e(58067),T=e(85753),y=e(72521),A=e(50946),g=e(66316),L=e(16844),b=e(23877),C=e(28061);class u{constructor(fe,Se,pe){this._selection=fe,this._cursors=Se,this._selectionId=null,this._trimInRegexesAndStrings=pe}getEditOperations(fe,Se){const pe=i(fe,this._cursors,this._trimInRegexesAndStrings);for(let Ae=0,Xe=pe.length;Ae<Xe;Ae++){const dt=pe[Ae];Se.addEditOperation(dt.range,dt.text)}this._selectionId=Se.trackSelection(this._selection)}computeCursorState(fe,Se){return Se.getTrackedSelection(this._selectionId)}}function i(De,fe,Se){fe.sort((gt,Bt)=>gt.lineNumber===Bt.lineNumber?gt.column-Bt.column:gt.lineNumber-Bt.lineNumber);for(let gt=fe.length-2;gt>=0;gt--)fe[gt].lineNumber===fe[gt+1].lineNumber&&fe.splice(gt,1);const pe=[];let Ae=0,Xe=0;const dt=fe.length;for(let gt=1,Bt=De.getLineCount();gt<=Bt;gt++){const _t=De.getLineContent(gt),ri=_t.length+1;let Gt=0;if(Xe<dt&&fe[Xe].lineNumber===gt&&(Gt=fe[Xe].column,Xe++,Gt===ri)||_t.length===0)continue;const ei=(0,L.lT)(_t);let Zt=0;if(ei===-1)Zt=1;else if(ei!==_t.length-1)Zt=ei+2;else continue;if(!Se){if(!De.tokenization.hasAccurateTokensForLine(gt))continue;const pt=De.tokenization.getLineTokens(gt),Fe=pt.getStandardTokenType(pt.findTokenIndexAtOffset(Zt));if(Fe===2||Fe===3)continue}Zt=Math.max(Gt,Zt),pe[Ae++]=b.k.delete(new C.Q(gt,Zt,gt,ri))}return pe}var r=e(15365),d=e(93702),l=e(62885),o=e(96137),c=e(38122),a=e(52394);class p{constructor(fe,Se,pe){this._selection=fe,this._isCopyingDown=Se,this._noop=pe||!1,this._selectionDirection=0,this._selectionId=null,this._startLineNumberDelta=0,this._endLineNumberDelta=0}getEditOperations(fe,Se){let pe=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,pe.startLineNumber<pe.endLineNumber&&pe.endColumn===1&&(this._endLineNumberDelta=1,pe=pe.setEndPosition(pe.endLineNumber-1,fe.getLineMaxColumn(pe.endLineNumber-1)));const Ae=[];for(let dt=pe.startLineNumber;dt<=pe.endLineNumber;dt++)Ae.push(fe.getLineContent(dt));const Xe=Ae.join(`
163`);Xe===""&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._noop?Se.addEditOperation(new C.Q(pe.endLineNumber,fe.getLineMaxColumn(pe.endLineNumber),pe.endLineNumber+1,1),pe.endLineNumber===fe.getLineCount()?"":`
164`):this._isCopyingDown?Se.addEditOperation(new C.Q(pe.startLineNumber,1,pe.startLineNumber,1),Xe+`
165`):Se.addEditOperation(new C.Q(pe.endLineNumber,fe.getLineMaxColumn(pe.endLineNumber),pe.endLineNumber,fe.getLineMaxColumn(pe.endLineNumber)),`
166`+Xe),this._selectionId=Se.trackSelection(pe),this._selectionDirection=this._selection.getDirection()}computeCursorState(fe,Se){let pe=Se.getTrackedSelection(this._selectionId);if(this._startLineNumberDelta!==0||this._endLineNumberDelta!==0){let Ae=pe.startLineNumber,Xe=pe.startColumn,dt=pe.endLineNumber,gt=pe.endColumn;this._startLineNumberDelta!==0&&(Ae=Ae+this._startLineNumberDelta,Xe=1),this._endLineNumberDelta!==0&&(dt=dt+this._endLineNumberDelta,gt=1),pe=d.L.createWithDirection(Ae,Xe,dt,gt,this._selectionDirection)}return pe}}var _=e(41672),E=e(49550),S=e(87747),h=e(70645),D=e(80794),k=function(De,fe,Se,pe){var Ae=arguments.length,Xe=Ae<3?fe:pe===null?pe=Object.getOwnPropertyDescriptor(fe,Se):pe,dt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Xe=
166Reflect.decorate(De,fe,Se,pe);else for(var gt=De.length-1;gt>=0;gt--)(dt=De[gt])&&(Xe=(Ae<3?dt(Xe):Ae>3?dt(fe,Se,Xe):dt(fe,Se))||Xe);return Ae>3&&Xe&&Object.defineProperty(fe,Se,Xe),Xe},N=function(De,fe){return function(Se,pe){fe(Se,pe,De)}};let W=class{constructor(fe,Se,pe,Ae){this._languageConfigurationService=Ae,this._selection=fe,this._isMovingDown=Se,this._autoIndent=pe,this._selectionId=null,this._moveEndLineSelectionShrink=!1}createVirtualModel(fe,Se,pe){return{tokenization:{getLineTokens:Ae=>fe.tokenization.getLineTokens(Se(Ae)),getLanguageId:()=>fe.getLanguageId(),getLanguageIdAtPosition:(Ae,Xe)=>fe.getLanguageIdAtPosition(Ae,Xe)},getLineContent:Ae=>{const Xe=pe?.(Ae);return Xe!==void 0?Xe:fe.getLineContent(Se(Ae))}}}getEditOperations(fe,Se){const pe=fe.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===pe){this._selectionId=Se.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=Se.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let Ae=this._selection;Ae.startLineNumber<Ae.endLineNumber&&Ae.endColumn===1&&(this._moveEndPositionDown=!0,Ae=Ae.setEndPosition(Ae.endLineNumber-1,fe.getLineMaxColumn(Ae.endLineNumber-1)));const{tabSize:Xe,indentSize:dt,insertSpaces:gt}=fe.getOptions(),Bt=this.buildIndentConverter(Xe,dt,gt);if(Ae.startLineNumber===Ae.endLineNumber&&fe.getLineMaxColumn(Ae.startLineNumber)===1){const _t=Ae.startLineNumber,ri=this._isMovingDown?_t+1:_t-1;fe.getLineMaxColumn(ri)===1?Se.addEditOperation(new C.Q(1,1,1,1),null):(Se.addEditOperation(new C.Q(_t,1,_t,1),fe.getLineContent(ri)),Se.addEditOperation(new C.Q(ri,1,ri,fe.getLineMaxColumn(ri)),null)),Ae=new d.L(ri,1,ri,1)}else{let _t,ri;if(this._isMovingDown){_t=Ae.endLineNumber+1,ri=fe.getLineContent(_t),Se.addEditOperation(new C.Q(_t-1,fe.getLineMaxColumn(_t-1),_t,fe.getLineMaxColumn(_t)),null);let Gt=ri;if(this.shouldAutoIndent(fe,Ae)){const ei=this.matchEnterRule(fe,Bt,Xe,_t,Ae.startLineNumber-1);if(ei!==null){const pt=(0,L.UU)(fe.getLineContent(_t)),Fe=ei+(0,S.c)(pt,Xe);Gt=(0,S.k)(Fe,Xe,gt)+this.trimStart(ri)}else{const pt=this.createVirtualModel(fe,st=>st===Ae.startLineNumber?_t:st),Fe=(0,h.$f)(this._autoIndent,pt,fe.getLanguageIdAtPosition(_t,1),Ae.startLineNumber,Bt,this._languageConfigurationService);if(Fe!==null){const st=(0,L.UU)(fe.getLineContent(_t)),vt=(0,S.c)(Fe,Xe),Yt=(0,S.c)(st,Xe);vt!==Yt&&(Gt=(0,S.k)(vt,Xe,gt)+this.trimStart(ri))}}Se.addEditOperation(new C.Q(Ae.startLineNumber,1,Ae.startLineNumber,1),Gt+`
167`);const Zt=this.matchEnterRuleMovingDown(fe,Bt,Xe,Ae.startLineNumber,_t,Gt);if(Zt!==null)Zt!==0&&this.getIndentEditsOfMovingBlock(fe,Se,Ae,Xe,gt,Zt);else{const pt=this.createVirtualModel(fe,st=>st===Ae.startLineNumber?_t:st>=Ae.startLineNumber+1&&st<=Ae.endLineNumber+1?st-1:st,st=>st===Ae.startLineNumber?Gt:void 0),Fe=(0,h.$f)(this._autoIndent,pt,fe.getLanguageIdAtPosition(_t,1),Ae.startLineNumber+1,Bt,this._languageConfigurationService);if(Fe!==null){const st=(0,L.UU)(fe.getLineContent(Ae.startLineNumber)),vt=(0,S.c)(Fe,Xe),Yt=(0,S.c)(st,Xe);if(vt!==Yt){const Si=vt-Yt;this.getIndentEditsOfMovingBlock(fe,Se,Ae,Xe,gt,Si)}}}}else Se.addEditOperation(new C.Q(Ae.startLineNumber,1,Ae.startLineNumber,1),Gt+`
168`)}else if(_t=Ae.startLineNumber-1,ri=fe.getLineContent(_t),Se.addEditOperation(new C.Q(_t,1,_t+1,1),null),Se.addEditOperation(new C.Q(Ae.endLineNumber,fe.getLineMaxColumn(Ae.endLineNumber),Ae.endLineNumber,fe.getLineMaxColumn(Ae.endLineNumber)),`
169`+ri),this.shouldAutoIndent(fe,Ae)){const Gt=this.createVirtualModel(fe,Zt=>Zt===_t?Ae.startLineNumber:Zt),ei=this.matchEnterRule(fe,Bt,Xe,Ae.startLineNumber,Ae.startLineNumber-2);if(ei!==null)ei!==0&&this.getIndentEditsOfMovingBlock(fe,Se,Ae,Xe,gt,ei);else{const Zt=(0,h.$f)(this._autoIndent,Gt,fe.getLanguageIdAtPosition(Ae.startLineNumber,1),_t,Bt,this._languageConfigurationService);if(Zt!==null){const pt=(0,L.UU)(fe.getLineContent(Ae.startLineNumber)),Fe=(0,S.c)(Zt,Xe),st=(0,S.c)(pt,Xe);if(Fe!==st){const vt=Fe-st;this.getIndentEditsOfMovingBlock(fe,Se,Ae,Xe,gt,vt)}}}}}this._selectionId=Se.trackSelection(Ae)}buildIndentConverter(fe,Se,pe){return{shiftIndent:Ae=>_.Y.shiftIndent(Ae,Ae.length+1,fe,Se,pe),unshiftIndent:Ae=>_.Y.unshiftIndent(Ae,Ae.length+1,fe,Se,pe)}}parseEnterResult(fe,Se,pe,Ae,Xe){if(Xe){let dt=Xe.indentation;Xe.indentAction===E.l.None||Xe.indentAction===E.l.Indent?dt=Xe.indentation+Xe.appendText:Xe.indentAction===E.l.IndentOutdent?dt=Xe.indentation:Xe.indentAction===E.l.Outdent&&(dt=Se.unshiftIndent(Xe.indentation)+Xe.appendText);const gt=fe.getLineContent(Ae);if(this.trimStart(gt).indexOf(this.trimStart(dt))>=0){const Bt=(0,L.UU)(fe.getLineContent(Ae));let _t=(0,L.UU)(dt);const ri=(0,h.Yb)(fe,Ae,this._languageConfigurationService);ri!==null&&ri&2&&(_t=Se.unshiftIndent(_t));const Gt=(0,S.c)(_t,pe),ei=(0,S.c)(Bt,pe);return Gt-ei}}return null}matchEnterRuleMovingDown(fe,Se,pe,Ae,Xe,dt){if((0,L.lT)(dt)>=0){const gt=fe.getLineMaxColumn(Xe),Bt=(0,D.h)(this._autoIndent,fe,new C.Q(Xe,gt,Xe,gt),this._languageConfigurationService);return this.parseEnterResult(fe,Se,pe,Ae,Bt)}else{let gt=Ae-1;for(;gt>=1;){const ri=fe.getLineContent(gt);if((0,L.lT)(ri)>=0)break;gt--}if(gt<1||Ae>fe.getLineCount())return null;const Bt=fe.getLineMaxColumn(gt),_t=(0,D.h)(this._autoIndent,fe,new C.Q(gt,Bt,gt,Bt),this._languageConfigurationService);return this.parseEnterResult(fe,Se,pe,Ae,_t)}}matchEnterRule(fe,Se,pe,Ae,Xe,dt){let gt=Xe;for(;gt>=1;){let ri;if(gt===Xe&&dt!==void 0?ri=dt:ri=fe.getLineContent(gt),(0,L.lT)(ri)>=0)break;gt--}if(gt<1||Ae>fe.getLineCount())return null;const Bt=fe.getLineMaxColumn(gt),_t=(0,D.h)(this._autoIndent,fe,new C.Q(gt,Bt,gt,Bt),this._languageConfigurationService);return this.parseEnterResult(fe,Se,pe,Ae,_t)}trimStart(fe){return fe.replace(/^\s+/,"")}shouldAutoIndent(fe,Se){if(this._autoIndent<4||!fe.tokenization.isCheapToTokenize(Se.startLineNumber))return!1;const pe=fe.getLanguageIdAtPosition(Se.startLineNumber,1),Ae=fe.getLanguageIdAtPosition(Se.endLineNumber,1);return!(pe!==Ae||this._languageConfigurationService.getLanguageConfiguration(pe).indentRulesSupport===null)}getIndentEditsOfMovingBlock(fe,Se,pe,Ae,Xe,dt){for(let gt=pe.startLineNumber;gt<=pe.endLineNumber;gt++){const Bt=fe.getLineContent(gt),_t=(0,L.UU)(Bt),Gt=(0,S.c)(_t,Ae)+dt,ei=(0,S.k)(Gt,Ae,Xe);ei!==_t&&(Se.addEditOperation(new C.Q(gt,1,gt,_t.length+1),ei),gt===pe.endLineNumber&&pe.endColumn<=_t.length+1&&ei===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(fe,Se){let pe=Se.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(pe=pe.setEndPosition(pe.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&pe.startLineNumber<pe.endLineNumber&&(pe=pe.setEndPosition(pe.endLineNumber,2)),pe}};W=k([N(3,a.JZ)],W);var U=e(42124);const Ke=class Ke{constructor(fe,Se){this.selection=fe,this.descending=Se,this.selectionId=null}getEditOperations(fe,Se){const pe=ne(fe,this.selection,this.descending);pe&&Se.addEditOperation(pe.range,pe.text),this.selectionId=Se.trackSelection(this.selection)}computeCursorState(fe,Se){return Se.getTrackedSelection(this.selectionId)}static canRun(fe,Se,pe){if(fe===null)return!1;const Ae=te(fe,Se,pe);if(!Ae)return!1;for(let Xe=0,dt=Ae.before.length;Xe<dt;Xe++)if(Ae.before[Xe]!==Ae.after[Xe])return!0;return!1}};Ke._COLLATOR=U.x.Collator();let $=Ke;function te(De,fe,Se){const pe=fe.startLineNumber;let Ae=fe.endLineNumber;if(fe.endColumn===1&&Ae--,pe>=Ae)return null;const Xe=[];for(let gt=pe;gt<=Ae;gt++)Xe.push(De.getLineContent(gt));let dt=Xe.slice(0);return dt.sort($._COLLATOR.value.compare),Se===!0&&(dt=dt.reverse()),{startLineNumber:pe,endLineNumber:Ae,before:Xe,after:dt}}function ne(De,fe,Se){const pe=te(De,fe,Se);return pe?b.k.replace(new C.Q(pe.startLineNumber,1,pe.endLineNumber,De.getLineMaxColumn(pe.endLineNumber)),pe.after.join(`
170`)):null}class V extends A.ks{constructor(fe,Se){super(Se),this.down=fe}run(fe,Se){if(!Se.hasModel())return;const pe=Se.getSelections().map((dt,gt)=>({selection:dt,index:gt,ignore:!1}));pe.sort((dt,gt)=>C.Q.compareRangesUsingStarts(dt.selection,gt.selection));let Ae=pe[0];for(let dt=1;dt<pe.length;dt++){const gt=pe[dt];Ae.selection.endLineNumber===gt.selection.startLineNumber&&(Ae.index<gt.index?gt.ignore=!0:(Ae.ignore=!0,Ae=gt))}const Xe=[];for(const dt of pe)Xe.push(new p(dt.selection,this.down,dt.ignore));Se.pushUndoStop(),Se.executeCommands(this.id,Xe),Se.pushUndoStop()}}class I extends V{constructor(){super(!1,{id:"editor.action.copyLine
170sUpAction",label:(0,R.aS)(1295,"Copy Line Up"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:x.D8.MenubarSelectionMenu,group:"2_line",title:(0,R.kg)(1290,"&&Copy Line Up"),order:1},canTriggerInlineEdits:!0})}}class H extends V{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:(0,R.aS)(1296,"Copy Line Down"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:x.D8.MenubarSelectionMenu,group:"2_line",title:(0,R.kg)(1291,"Co&&py Line Down"),order:2},canTriggerInlineEdits:!0})}}class Z extends A.ks{constructor(){super({id:"editor.action.duplicateSelection",label:(0,R.aS)(1297,"Duplicate Selection"),precondition:c.R.writable,menuOpts:{menuId:x.D8.MenubarSelectionMenu,group:"2_line",title:(0,R.kg)(1292,"&&Duplicate Selection"),order:5},canTriggerInlineEdits:!0})}run(fe,Se,pe){if(!Se.hasModel())return;const Ae=[],Xe=Se.getSelections(),dt=Se.getModel();for(const gt of Xe)if(gt.isEmpty())Ae.push(new p(gt,!0));else{const Bt=new d.L(gt.endLineNumber,gt.endColumn,gt.endLineNumber,gt.endColumn);Ae.push(new g.tA(Bt,dt.getValueInRange(gt)))}Se.pushUndoStop(),Se.executeCommands(this.id,Ae),Se.pushUndoStop()}}class X extends A.ks{constructor(fe,Se){super(Se),this.down=fe}run(fe,Se){const pe=fe.get(a.JZ),Ae=[],Xe=Se.getSelections()||[],dt=Se.getOption(16);for(const gt of Xe)Ae.push(new W(gt,this.down,dt,pe));Se.pushUndoStop(),Se.executeCommands(this.id,Ae),Se.pushUndoStop()}}class G extends X{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:(0,R.aS)(1298,"Move Line Up"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:x.D8.MenubarSelectionMenu,group:"2_line",title:(0,R.kg)(1293,"Mo&&ve Line Up"),order:3},canTriggerInlineEdits:!0})}}class Y extends X{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:(0,R.aS)(1299,"Move Line Down"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:x.D8.MenubarSelectionMenu,group:"2_line",title:(0,R.kg)(1294,"Move &&Line Down"),order:4},canTriggerInlineEdits:!0})}}class j extends A.ks{constructor(fe,Se){super(Se),this.descending=fe}run(fe,Se){if(!Se.hasModel())return;const pe=Se.getModel();let Ae=Se.getSelections();Ae.length===1&&Ae[0].isSingleLine()&&(Ae=[new d.L(1,1,pe.getLineCount(),pe.getLineMaxColumn(pe.getLineCount()))]);for(const dt of Ae)if(!$.canRun(Se.getModel(),dt,this.descending))return;const Xe=[];for(let dt=0,gt=Ae.length;dt<gt;dt++)Xe[dt]=new $(Ae[dt],this.descending);Se.pushUndoStop(),Se.executeCommands(this.id,Xe),Se.pushUndoStop()}}class z extends j{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:(0,R.aS)(1300,"Sort Lines Ascending"),precondition:c.R.writable,canTriggerInlineEdits:!0})}}class ie extends j{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:(0,R.aS)(1301,"Sort Lines Descending"),precondition:c.R.writable,canTriggerInlineEdits:!0})}}class re extends A.ks{constructor(){super({id:"editor.action.removeDuplicateLines",label:(0,R.aS)(1302,"Delete Duplicate Lines"),precondition:c.R.writable,canTriggerInlineEdits:!0})}run(fe,Se){if(!Se.hasModel())return;const pe=Se.getModel();if(pe.getLineCount()===1&&pe.getLineMaxColumn(1)===1)return;const Ae=[],Xe=[];let dt=0,gt=!0,Bt=Se.getSelections();Bt.length===1&&Bt[0].isSingleLine()&&(Bt=[new d.L(1,1,pe.getLineCount(),pe.getLineMaxColumn(pe.getLineCount()))],gt=!1);for(const _t of Bt){const ri=new Set,Gt=[];for(let Fe=_t.startLineNumber;Fe<=_t.endLineNumber;Fe++){const st=pe.getLineContent(Fe);ri.has(st)||(Gt.push(st),ri.add(st))}const ei=new d.L(_t.startLineNumber,1,_t.endLineNumber,pe.getLineMaxColumn(_t.endLineNumber)),Zt=_t.startLineNumber-dt,pt=new d.L(Zt,1,Zt+Gt.length-1,Gt[Gt.length-1].length+1);Ae.push(b.k.replace(ei,Gt.join(`
171`))),Xe.push(pt),dt+=_t.endLineNumber-_t.startLineNumber+1-Gt.length}Se.pushUndoStop(),Se.executeEdits(this.id,Ae,gt?Xe:void 0),Se.pushUndoStop()}}class de extends A.ks{constructor(){super({id:"editor.action.reverseLines",label:(0,R.aS)(1303,"Reverse lines"),prec
171ondition:c.R.writable,canTriggerInlineEdits:!0})}run(fe,Se){if(!Se.hasModel())return;const pe=Se.getModel(),Ae=Se.getSelections();let Xe=Ae;Xe.length===1&&Xe[0].isSingleLine()&&(Xe=[new d.L(1,1,pe.getLineCount(),pe.getLineMaxColumn(pe.getLineCount()))]);const dt=[],gt=[];for(let Bt=0;Bt<Xe.length;Bt++){const _t=Xe[Bt],ri=Ae[Bt];let Gt=_t.endLineNumber;_t.startLineNumber<_t.endLineNumber&&_t.endColumn===1&&Gt--;let ei=new C.Q(_t.startLineNumber,1,Gt,pe.getLineMaxColumn(Gt));Gt===pe.getLineCount()&&pe.getLineContent(ei.endLineNumber)===""&&(ei=ei.setEndPosition(ei.endLineNumber-1,pe.getLineMaxColumn(ei.endLineNumber-1)));const Zt=[];for(let vt=ei.endLineNumber;vt>=ei.startLineNumber;vt--)Zt.push(pe.getLineContent(vt));const pt=b.k.replace(ei,Zt.join(`
172`));dt.push(pt);const Fe=function(vt){return vt<=ei.endLineNumber?ei.endLineNumber-vt+ei.startLineNumber:vt},st=function(vt){if(vt.isEmpty())return new d.L(Fe(vt.positionLineNumber),vt.positionColumn,Fe(vt.positionLineNumber),vt.positionColumn);{const Yt=Fe(vt.selectionStartLineNumber),Si=Fe(vt.positionLineNumber),Bi=vt.selectionStartColumn,pi=vt.positionColumn;return new d.L(Yt,Bi,Si,pi)}};gt.push(st(ri))}Se.pushUndoStop(),Se.executeEdits(this.id,dt,gt),Se.pushUndoStop()}}const qe=class qe extends A.ks{constructor(){super({id:qe.ID,label:(0,R.aS)(1304,"Trim Trailing Whitespace"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:(0,v.m5)(2089,2102),weight:100}})}run(fe,Se,pe){let Ae=[];pe.reason==="auto-save"&&(Ae=(Se.getSelections()||[]).map(ri=>new r.y(ri.positionLineNumber,ri.positionColumn)));const Xe=Se.getSelection();if(Xe===null)return;const dt=fe.get(T.pG),gt=Se.getModel(),Bt=dt.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:gt?.getLanguageId(),resource:gt?.uri}),_t=new u(Xe,Ae,Bt);
172Se.pushUndoStop(),Se.executeCommands(this.id,[_t]),Se.pushUndoStop()}};qe.ID="editor.action.trimTrailingWhitespace";let le=qe;class he extends A.ks{constructor(){super({id:"editor.action.deleteLines",label:(0,R.aS)(1305,"Delete Line"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.textInputFocus,primary:3113,weight:100},canTriggerInlineEdits:!0})}run(fe,Se){if(!Se.hasModel())return;const pe=this._getLinesToRemove(Se),Ae=Se.getModel();if(Ae.getLineCount()===1&&Ae.getLineMaxColumn(1)===1)return;let Xe=0;const dt=[],gt=[];for(let Bt=0,_t=pe.length;Bt<_t;Bt++){const ri=pe[Bt];let Gt=ri.startLineNumber,ei=ri.endLineNumber,Zt=1,pt=Ae.getLineMaxColumn(ei);ei<Ae.getLineCount()?(ei+=1,pt=1):Gt>1&&(Gt-=1,Zt=Ae.getLineMaxColumn(Gt)),dt.push(b.k.replace(new d.L(Gt,Zt,ei,pt),"")),gt.push(new d.L(Gt-Xe,ri.positionColumn,Gt-Xe,ri.positionColumn)),Xe+=ri.endLineNumber-ri.startLineNumber+1}Se.pushUndoStop(),Se.executeEdits(this.id,dt,gt),Se.revealAllCursors(!0),Se.pushUndoStop()}_getLinesToRemove(fe){const Se=fe.getSelections().map(Xe=>{let dt=Xe.endLineNumber;return Xe.startLineNumber<Xe.endLineNumber&&Xe.endColumn===1&&(dt-=1),{startLineNumber:Xe.startLineNumber,selectionStartColumn:Xe.selectionStartColumn,endLineNumber:dt,positionColumn:Xe.positionColumn}});Se.sort((Xe,dt)=>Xe.startLineNumber===dt.startLineNumber?Xe.endLineNumber-dt.endLineNumber:Xe.startLineNumber-dt.startLineNumber);const pe=[];let Ae=Se[0];for(let Xe=1;Xe<Se.length;Xe++)Ae.endLineNumber+1>=Se[Xe].startLineNumber?Ae.endLineNumber=Se[Xe].endLineNumber:(pe.push(Ae),Ae=Se[Xe]);return pe.push(Ae),pe}}class we extends A.ks{constructor(){super({id:"editor.action.indentLines",label:(0,R.aS)(1306,"Indent Line"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:2142,weight:100},canTriggerInlineEdits:!0})}run(fe,Se){const pe=Se._getViewModel();pe&&(Se.pushUndoStop(),Se.executeCommands(this.id,o.T.indent(pe.cursorConfig,Se.getModel(),Se.getSelections())),Se.pushUndoStop())}}class xe extends A.ks{constructor(){super({id:"editor.action.outdentLines",label:(0,R.aS)(1307,"Outdent Line"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:2140,weight:100},canTriggerInlineEdits:!0})}run(fe,Se){y.Yh.Outdent.runEditorCommand(fe,Se,null)}}const ht=class ht extends A.ks{constructor(){super({id:ht.ID,label:(0,R.aS)(1308,"Insert Line Above"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:3075,weight:100},canTriggerInlineEdits:!0})}run(fe,Se){const pe=Se._getViewModel();pe&&(Se.pushUndoStop(),Se.executeCommands(this.id,l.AO.lineInsertBefore(pe.cursorConfig,Se.getModel(),Se.getSelections())))}};ht.ID="editor.action.insertLineBefore";let Be=ht;const Te=class Te extends A.ks{constructor(){super({id:Te.ID,label:(0,R.aS)(1309,"Insert Line Below"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:2051,weight:100},canTriggerInlineEdits:!0})}run(fe,Se){const pe=Se._getViewModel();pe&&(Se.pushUndoStop(),Se.executeCommands(this.id,l.AO.lineInsertAfter(pe.cursorConfig,Se.getModel(),Se.getSelections())))}};Te.ID="editor.action.insertLineAfter";let M=Te;class Ve extends A.ks{run(fe,Se){if(!Se.hasModel())return;const pe=Se.getSelection(),Ae=this._getRangesToDelete(Se),Xe=[];for(let Bt=0,_t=Ae.length-1;Bt<_t;Bt++){const ri=Ae[Bt],Gt=Ae[Bt+1];C.Q.intersectRanges(ri,Gt)===null?Xe.push(ri):Ae[Bt+1]=C.Q.plusRange(ri,Gt)}Xe.push(Ae[Ae.length-1]);const dt=this._getEndCursorState(pe,Xe),gt=Xe.map(Bt=>b.k.replace(Bt,""));Se.pushUndoStop(),Se.executeEdits(this.id,gt,dt),Se.pushUndoStop()}}class Me extends Ve{constructor(){super({id:"deleteAllLeft",label:(0,R.aS)(1310,"Delete All Left"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.textInputFocus,primary:0,mac:{primary:2049},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(fe,Se){let pe=null;const Ae=[];let Xe=0;return Se.forEach(dt=>{let gt;if(dt.endColumn===1&&Xe>0){const Bt=dt.startLineNumber-Xe;gt=new d.L(Bt,dt.startColumn,Bt,dt.startColumn)}else gt=new d.L(dt.startLineNumber,dt.startColumn,dt.startLineNumber,dt.startColumn);Xe+=dt.endLineNumber-dt.startLineNumber,dt.intersectRanges(fe)?pe=gt:Ae.push(gt)}),pe&&Ae.unshift(pe),Ae}_getRangesToDelete(fe){const Se=fe.getSelections();if(Se===null)return[];let pe=Se;const Ae=fe.getModel();return Ae===null?[]:(pe.sort(C.Q.compareRangesUsingStarts),pe=pe.map(Xe=>{if(Xe.isEmpty())if(Xe.startColumn===1){const dt=Math.max(1,Xe.startLineNumber-1),gt=Xe.startLineNumber===1?1:Ae.getLineLength(dt)+1;return new C.Q(dt,gt,Xe.startLineNumber,1)}else return new C.Q(Xe.startLineNumber,1,Xe.startLineNumber,Xe.startColumn);else return new C.Q(Xe.startLineNumber,1,Xe.endLineNumber,Xe.endColumn)}),pe)}}class Le extends Ve{constructor(){super({id:"deleteAllRight",label:(0,R.aS)(1311,"Delete All Right"),precondition:c.R.writable,kbOpts:{kbExpr:c.R.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100},canTriggerInlineEdits:!0})}_getEndCursorState(fe,Se){let pe=null;const Ae=[];for(let Xe=0,dt=Se.length,gt=0;Xe<dt;Xe++){const Bt=Se[Xe],_t=new d.L(Bt.startLineNumber-gt,Bt.startColumn,Bt.startLineNumber-gt,Bt.startColumn);Bt.intersectRanges(fe)?pe=_t:Ae.push(_t)}return pe&&Ae.unshift(pe),Ae}_getRangesToDelete(fe){const Se=fe.getModel();if(Se===null)return[];const pe=fe.getSelections();if(pe===null)return[];const Ae=pe.map(Xe=>{if(Xe.isEmpty()){const dt=Se.getLineMaxColumn(Xe.startLineNumber);return Xe.startColumn===dt?new C.Q(Xe.startLineNumber,Xe.startColumn,Xe.startLineNumber+1,1):new C.Q(Xe.startLineNumber,Xe.startColumn,Xe.startLineNumber,dt)}return Xe});return Ae.sort(C.Q.compareRangesUsingStarts),Ae}}class _e extends A.ks{constructor(){super({id:"editor.action.joinLines",label:(0,R.aS)(1312,"Join Lines"),prec
172ondition:c.R.writable,kbOpts:{kbExpr:c.R.editorTextFocus,primary:0,mac:{primary:296},weight:100},canTriggerInlineEdits:!0})}run(fe,Se){const pe=Se.getSelections();if(pe===null)return;let Ae=Se.getSelection();if(Ae===null)return;pe.sort(C.Q.compareRangesUsingStarts);const Xe=[],dt=pe.reduce((ei,Zt)=>ei.isEmpty()?ei.endLineNumber===Zt.startLineNumber?(Ae.equalsSelection(ei)&&(Ae=Zt),Zt):Zt.startLineNumber>ei.endLineNumber+1?(Xe.push(ei),Zt):new d.L(ei.startLineNumber,ei.startColumn,Zt.endLineNumber,Zt.endColumn):Zt.startLineNumber>ei.endLineNumber?(Xe.push(ei),Zt):new d.L(ei.startLineNumber,ei.startColumn,Zt.endLineNumber,Zt.endColumn));Xe.push(dt);const gt=Se.getModel();if(gt===null)return;const Bt=[],_t=[];let ri=Ae,Gt=0;for(let ei=0,Zt=Xe.length;ei<Zt;ei++){const pt=Xe[ei],Fe=pt.startLineNumber,st=1;let vt=0,Yt,Si;const Bi=gt.getLineLength(pt.endLineNumber)-pt.endColumn;if(pt.isEmpty()||pt.startLineNumber===pt.endLineNumber){const fn=pt.getStartPosition();fn.lineNumber<gt.getLineCount()?(Yt=Fe+1,Si=gt.getLineMaxColumn(Yt)):(Yt=fn.lineNumber,Si=gt.getLineMaxColumn(fn.lineNumber))}else Yt=pt.endLineNumber,Si=gt.getLineMaxColumn(Yt);let pi=gt.getLineContent(Fe);for(let fn=Fe+1;fn<=Yt;fn++){const Sn=gt.getLineContent(fn),On=gt.getLineFirstNonWhitespaceColumn(fn);if(On>=1){let Dn=!0;pi===""&&(Dn=!1),Dn&&(pi.charAt(pi.length-1)===" "||pi.charAt(pi.length-1)==="	")&&(Dn=!1,pi=pi.replace(/[\s\uFEFF\xA0]+$/g," "));const Qn=Sn.substr(On-1);pi+=(Dn?" ":"")+Qn,Dn?vt=Qn.length+1:vt=Qn.length}else vt=0}const $i=new C.Q(Fe,st,Yt,Si);if(!$i.isEmpty()){let fn;pt.isEmpty()?(Bt.push(b.k.replace($i,pi)),fn=new d.L($i.startLineNumber-Gt,pi.length-vt+1,Fe-Gt,pi.length-vt+1)):pt.startLineNumber===pt.endLineNumber?(Bt.push(b.k.replace($i,pi)),fn=new d.L(pt.startLineNumber-Gt,pt.startColumn,pt.endLineNumber-Gt,pt.endColumn)):(Bt.push(b.k.replace($i,pi)),fn=new d.L(pt.startLineNumber-Gt,pt.startColumn,pt.startLineNumber-Gt,pi.length-Bi)),C.Q.intersectRanges($i,Ae)!==null?ri=fn:_t.push(fn)}Gt+=$i.endLineNumber-$i.startLineNumber}_t.unshift(ri),Se.pushUndoStop(),Se.executeEdits(this.id,Bt,_t),Se.pushUndoStop()}}class Qe extends A.ks{constructor(){super({id:"editor.action.transpose",label:(0,R.aS)(1313,"Transpose Characters around the Cursor"),precondition:c.R.writable,canTriggerInlineEdits:!0})}run(fe,Se){const pe=Se.getSelections();if(pe===null)return;const Ae=Se.getModel();if(Ae===null)return;const Xe=[];for(let dt=0,gt=pe.length;dt<gt;dt++){const Bt=pe[dt];if(!Bt.isEmpty())continue;const _t=Bt.getStartPosition(),ri=Ae.getLineMaxColumn(_t.lineNumber);if(_t.column>=ri){if(_t.lineNumber===Ae.getLineCount())continue;const Gt=new C.Q(_t.lineNumber,Math.max(1,_t.column-1),_t.lineNumber+1,1),ei=Ae.getValueInRange(Gt).split("").reverse().join("");Xe.push(new g.iu(new d.L(_t.lineNumber,Math.max(1,_t.column-1),_t.lineNumber+1,1),ei))}else{const Gt=new C.Q(_t.lineNumber,Math.max(1,_t.column-1),_t.lineNumber,_t.column+1),ei=Ae.getValueInRange(Gt).split("").reverse().join("");Xe.push(new g.ui(Gt,ei,new d.L(_t.lineNumber,_t.column+1,_t.lineNumber,_t.column+1)))}}Se.pushUndoStop(),Se.executeCommands(this.id,Xe),Se.pushUndoStop()}}class je extends A.ks{run(fe,Se){const pe=Se.getSelections();if(pe===null)return;const Ae=Se.getModel();if(Ae===null)return;const Xe=Se.getOption(148),dt=[];for(const gt of pe)if(gt.isEmpty()){const Bt=gt.getStartPosition(),_t=Se.getConfiguredWordAtPosition(Bt);if(!_t)continue;const ri=new C.Q(Bt.lineNumber,_t.startColumn,Bt.lineNumber,_t.endColumn),Gt=Ae.getValueInRange(ri);dt.push(b.k.replace(ri,this._modifyText(Gt,Xe)))}else{const Bt=Ae.getValueInRange(gt);dt.push(b.k.replace(gt,this._modifyText(Bt,Xe)))}Se.pushUndoStop(),Se.executeEdits(this.id,dt),Se.pushUndoStop()}}class ae extends je{constructor(){super({id:"editor.action.transformToUppercase",label:(0,R.aS)(1314,"Transform to Uppercase"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){return fe.toLocaleUpperCase()}}class Ee extends je{constructor(){super({id:"editor.action.transformToLowercase",label:(0,R.aS)(1315,"Transform to Lowercase"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){return fe.toLocaleLowerCase()}}class Ie{constructor(fe,Se){this._pattern=fe,this._flags=Se,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch{}}return this._actual}isSupported(){return this.get()!==null}}const oe=class oe extends je{constructor(){super({id:"editor.action.transformToTitlecase",label:(0,R.aS)(1316,"Transform to Title Case"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){const pe=oe.titleBoundary.get();return pe?fe.toLocaleLowerCase().replace(pe,Ae=>Ae.toLocaleUpperCase()):fe}};oe.titleBoundary=new Ie("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");
172let Ue=oe;const q=class q extends je{constructor(){super({id:"editor.action.transformToSnakecase",label:(0,R.aS)(1317,"Transform to Snake Case"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){const pe=q.caseBoundary.get(),Ae=q.singleLetters.get();return!pe||!Ae?fe:fe.replace(pe,"$1_$2").replace(Ae,"$1_$2$3").toLocaleLowerCase()}};q.caseBoundary=new Ie("(\\p{Ll})(\\p{Lu})","gmu"),q.singleLetters=new Ie("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let $e=q;const ue=class ue extends je{constructor(){super({id:"editor.action.transformToCamelcase",label:(0,R.aS)(1318,"Transform to Camel Case"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){const pe=/\r\n|\r|\n/.test(fe)?ue.multiLineWordBoundary.get():ue.singleLineWordBoundary.get(),Ae=ue.validWordStart.get();if(!pe||!Ae)return fe;const Xe=fe.split(pe);return Xe.shift()?.replace(Ae,gt=>gt.toLocaleLowerCase())+Xe.map(gt=>gt.substring(0,1).toLocaleUpperCase()+gt.substring(1)).join("")}};ue.singleLineWordBoundary=new Ie("[_\\s-]+","gm"),ue.multiLineWordBoundary=new Ie("[_-]+","gm"),ue.validWordStart=new Ie("^(\\p{Lu}[^\\p{Lu}])","gmu");let Ye=ue;const J=class J extends je{constructor(){super({id:"editor.action.transformToPascalcase",label:(0,R.aS)(1319,"Transform to Pascal Case"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){const pe=J.wordBoundary.get(),Ae=J.wordBoundaryToMaintain.get(),Xe=J.upperCaseWordMatcher.get();return!pe||!Ae||!Xe?fe:fe.split(Ae).map(Bt=>Bt.split(pe)).flat().map(Bt=>{const _t=Bt.charAt(0).toLocaleUpperCase()+Bt.slice(1);return _t.length>1&&Xe.test(_t)?_t.charAt(0)+_t.slice(1).toLocaleLowerCase():_t}).join("")}};J.wordBoundary=new Ie("[_ \\t-]","gm"),J.wordBoundaryToMaintain=new Ie("(?<=\\.)","gm"),J.upperCaseWordMatcher=new Ie("^\\p{Lu}+$","mu");let Ce=J;const ve=class ve extends je{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(Se=>Se.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:(0,R.aS)(1320,"Transform to Kebab Case"),precondition:c.R.writable,canTriggerInlineEdits:!0})}_modifyText(fe,Se){const pe=ve.caseBoundary.get(),Ae=ve.singleLetters.get(),Xe=ve.underscoreBoundary.get();return!pe||!Ae||!Xe?fe:fe.replace(Xe,"$1-$3").replace(pe,"$1-$2").replace(Ae,"$1-$2").toLocaleLowerCase()}};ve.caseBoundary=new Ie("(\\p{Ll})(\\p{Lu})","gmu"),ve.singleLetters=new Ie("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),ve.underscoreBoundary=new Ie("(\\S)(_)(\\S)","gm");let He=ve;(0,A.Fl)(I),(0,A.Fl)(H),(0,A.Fl)(Z),(0,A.Fl)(G),(0,A.Fl)(Y),(0,A.Fl)(z),(0,A.Fl)(ie),(0,A.Fl)(re),(0,A.Fl)(le),(0,A.Fl)(he),(0,A.Fl)(we),(0,A.Fl)(xe),(0,A.Fl)(Be),(0,A.Fl)(M),(0,A.Fl)(Me),(0,A.Fl)(Le),(0,A.Fl)(_e),(0,A.Fl)(Qe),(0,A.Fl)(ae),(0,A.Fl)(Ee),(0,A.Fl)(de),$e.caseBoundary.isSupported()&&$e.singleLetters.isSupported()&&(0,A.Fl)($e),Ye.singleLineWordBoundary.isSupported()&&Ye.multiLineWordBoundary.isSupported()&&(0,A.Fl)(Ye),Ce.wordBoundary.isSupported()&&(0,A.Fl)(Ce),Ue.titleBoundary.isSupported()&&(0,A.Fl)(Ue),He.isSupported()&&(0,A.Fl)(He)},44023:(St,We,e)=>{e.d(We,{G5:()=>R,N8:()=>T,ke:()=>x});var v=e(82399);const R=(0,v.u1)("progressService"),y=class y{constructor(g){this.callback=g}report(g){this._value=g,this.callback(this._value)}};y.None=Object.freeze({report(){}});let x=y;const T=(0,v.u1)("editorProgressService")},44033:(St,We,e)=>{var G;e.d(We,{Rj:()=>X,lr:()=>H,qs:()=>V});var v=e(13338),R=e(65958),x=e(78903),T=e(69887),y=e(94327),A=e(14731),g=e(10998),L=e(53720),b=e(79359),C=e(9223),u=e(3765),i=e(3338),r=e(82096),d=e(85753),l=e(31540),o=e(82399),c=e(46441),a=e(44023),p=e(73027),_=e(98769),E=e(47317),S=e(29849),h=e(62105),D=e(99207),k=e(84893),N=e(50875),W=e(71469),U=e(18447),$=function(Y,j,z,ie){var re=arguments.length,de=re<3?j:ie===null?ie=Object.getOwnPropertyDescriptor(j,z):ie,le;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")de=Reflect.decorate(Y,j,z,ie);else for(var he=Y.length-1;he>=0;he--)(le=Y[he])&&(de=(re<3?le(de):re>3?le(j,z,de):le(j,z))||de);return re>3&&de&&Object.defineProperty(j,z,de),de},te=function(Y,j){return function(z,ie){j(z,ie,Y)}},ne;const V="editor.changePasteType",I="editor.pasteAs.preferences",H=new l.N1("pasteWidgetVisible",!1,(0,u.kg)(956,"Whether the paste widget is showing")),Z="application/vnd.code.copymetadata";let X=(G=class extends g.jG{static get(j){return j.getContribution(ne.ID)}constructor(j,z,ie,re,de,le,he,we,xe,Be){super(),this._logService=ie,this._bulkEditService=re,this._clipboardService=de,this._commandService=le,this._configService=he,this._languageFeaturesService=we,this._quickInputService=xe,this._progressService=Be,this._editor=j,this._register(j.onWillCopy(M=>this.handleCopy(M))),this._register(j.onWillCut(M=>this.handleCopy(M))),this._register(j.onWillPaste(M=>this.handlePaste(M))),this._pasteProgressManager=this._register(new D.I("pasteIntoEditor",j,z)),this._postPasteWidgetManager=this._register(z.createInstance(U.G,"pasteIntoEditor",j,H,{id:V,label:(0,u.kg)(957,"Show paste options...")},()=>ne._configureDefaultAction?[ne._configureDefaultAction]:[]))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}async pasteAs(j){this._logService.trace("CopyPasteController.pasteAs"),this._editor.focus();try{this._logService.trace("Before calling editor.action.clipboardPasteAction"),this._pasteAsActionContext={preferred:j},await this._commandService.executeCommand("editor.action.clipboardPasteAction")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(97).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(j){if(this._logService.trace("CopyPasteController#handleCopy"),!this._editor.hasTextFocus()||(this._clipboardService.clearInternalState?.(),!this.isPasteAsEnabled()))return;const z=this._editor.getModel(),ie=this._editor._getViewModel(),re=this._editor.getSelections();if(!z||!ie||!re?.length)return;const de={multicursorText:j.dataToCopy.multicursorText??null,pasteOnNewLine:j.dataToCopy.isFromEmptySelection,mode:null},le=this._languageFeaturesService.documentPasteEditProvider.ordered(z).filter(M=>!!M.prepareDocumentPaste);
172if(!le.length){this.setCopyMetadata(j.clipboardData,{defaultPastePayload:de});return}const he=new T.Vq,we=le.flatMap(M=>M.copyMimeTypes??[]),xe=(0,C.b)();this.setCopyMetadata(j.clipboardData,{id:xe,providerCopyMimeTypes:we,defaultPastePayload:de});const Be=le.map(M=>({providerMimeTypes:M.copyMimeTypes,operation:(0,R.SS)(Ve=>M.prepareDocumentPaste(z,j.dataToCopy.sourceRanges,he,Ve).catch(Me=>{console.error(Me)}))}));ne._currentCopyOperation?.operations.forEach(M=>M.operation.cancel()),ne._currentCopyOperation={handle:xe,operations:Be}}async handlePaste(j){if(this._logService.trace("CopyPasteController#handlePaste for id : ",j.metadata?.id),!this._editor.hasTextFocus())return;const z=j.toExternalVSDataTransfer();if(!z)return;z.delete(Z),k.k.get(this._editor)?.closeMessage(),this._currentPasteOperation?.cancel(),this._currentPasteOperation=void 0;const ie=this._editor.getModel(),re=this._editor.getSelections();if(!re?.length||!ie||this._editor.getOption(104)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const de=this.fetchCopyMetadata(j);this._logService.trace("CopyPasteController#handlePaste with metadata : ",de?.id," and text.length : ",j.clipboardData.getData("text/plain").length);const le=Array.from(j.clipboardData.files).map(xe=>xe.type),he=[...j.clipboardData.types,...le,...de?.providerCopyMimeTypes??[],L.K.uriList],we=this._languageFeaturesService.documentPasteEditProvider.ordered(ie).filter(xe=>{const Be=this._pasteAsActionContext?.preferred;return Be&&!this.providerMatchesPreference(xe,Be)?!1:xe.pasteMimeTypes?.some(M=>(0,T.Y)(M,he))});if(!we.length){this._pasteAsActionContext?.preferred&&(this.showPasteAsNoEditMessage(re,this._pasteAsActionContext.preferred),j.setHandled());return}j.setHandled(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,we,re,z,de):this.doPasteInline(we,re,z,de,j.browserEvent)}showPasteAsNoEditMessage(j,z){const ie="only"in z?z.only.value:"preferences"in z?z.preferences.length?z.preferences.map(re=>re.value).join(", "):(0,u.kg)(958,"empty"):z.providerId;k.k.get(this._editor)?.showMessage((0,u.kg)(959,"No paste edits for '{0}' found",ie),j[0].getStartPosition())}doPasteInline(j,z,ie,re,de){this._logService.trace("CopyPasteController#doPasteInline");const le=this._editor;if(!le.hasModel())return;const he=new h.gI(le,3,void 0),we=(0,R.SS)(async xe=>{const Be=this._editor;if(!Be.hasModel())return;const M=Be.getModel(),Ve=new g.Cm,Me=Ve.add(new x.Qi(xe));Ve.add(he.token.onCancellationRequested(()=>Me.cancel()));const Le=Me.token;try{if(await this.mergeInDataFromCopy(j,ie,re,Le),Le.isCancellationRequested)return;const _e=j.filter(ae=>this.isSupportedPasteProvider(ae,ie));if(!_e.length||_e.length===1&&_e[0]instanceof N.LR)return this.applyDefaultPasteHandler(ie,re,Le,de);const Qe={triggerKind:E.FX.Automatic},je=await this.getPasteEdits(_e,ie,M,z,Qe,Le);if(Ve.add(je),Le.isCancellationRequested)return;if(je.edits.length===1&&je.edits[0].provider instanceof N.LR)return this.applyDefaultPasteHandler(ie,re,Le,de);if(je.edits.length){const ae=Be.getOption(97).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(z,{activeEditIndex:this.getInitialActiveEditIndex(M,je.edits),allEdits:je.edits},ae,async(Ee,Ie)=>{if(!Ee.provider.resolveDocumentPasteEdit)return Ee;const Ue=Ee.provider.resolveDocumentPasteEdit(Ee,Ie),$e=new R.Zv,Ye=await this._pasteProgressManager.showWhile(z[0].getEndPosition(),(0,u.kg)(960,"Resolving paste edit for '{0}'. Click to cancel",Ee.title),(0,R.PK)(Promise.race([$e.p,Ue]),Ie),{cancel:()=>$e.cancel()},0);return Ye&&(Ee.insertText=Ye.insertText,Ee.additionalEdit=Ye.additionalEdit),Ee},Le)}await this.applyDefaultPasteHandler(ie,re,Le,de)}finally{Ve.dispose(),this._currentPasteOperation===we&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(z[0].getEndPosition(),(0,u.kg)(961,"Running paste handlers. Click to cancel and do basic paste"),we,{cancel:async()=>{we.cancel(),!he.token.isCancellationRequested&&await this.applyDefaultPasteHandler(ie,re,he.token,de)}}).finally(()=>{he.dispose()}),this._currentPasteOperation=we}showPasteAsPick(j,z,ie,re,de){this._logService.trace("CopyPasteController#showPasteAsPick");const le=(0,R.SS)(async he=>{const we=this._editor;if(!we.hasModel())return;const xe=we.getModel(),Be=new g.Cm,M=Be.add(new h.gI(we,3,void 0,he));try{if(await this.mergeInDataFromCopy(z,re,de,M.token),M.token.isCancellationRequested)return;let Ve=z.filter(je=>this.isSupportedPasteProvider(je,re,j));j&&(Ve=Ve.filter(je=>this.providerMatchesPreference(je,j)));const Me={triggerKind:E.FX.PasteAs,only:j&&"only"in j?j.only:void 0};let Le=Be.add(await this.getPasteEdits(Ve,re,xe,ie,Me,M.token));if(M.token.isCancellationRequested)return;if(j&&(Le={edits:Le.edits.filter(je=>"only"in j?j.only.contains(je.kind):"preferences"in j?j.preferences.some(ae=>ae.contains(je.kind)):j.providerId===je.provider.id),dispose:Le.dispose}),!Le.edits.length){j&&this.showPasteAsNoEditMessage(ie,j);return}let _e;if(j)_e=Le.edits.at(0);else{const je={id:"editor.pasteAs.default",label:(0,u.kg)(962,"Configure default paste action"),edit:void 0},ae=await this._quickInputService.pick([...Le.edits.map(Ee=>
172({label:Ee.title,description:Ee.kind?.value,edit:Ee})),...ne._configureDefaultAction?[(0,b.VT)({type:"separator"}),{label:ne._configureDefaultAction.label,edit:void 0}]:[]],{placeHolder:(0,u.kg)(963,"Select Paste Action")});if(ae===je){ne._configureDefaultAction?.run();return}_e=ae?.edit}if(!_e)return;const Qe=(0,W.v)(xe.uri,ie,_e);await this._bulkEditService.apply(Qe,{editor:this._editor})}finally{Be.dispose(),this._currentPasteOperation===le&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:(0,u.kg)(964,"Running paste handlers")},()=>le)}setCopyMetadata(j,z){this._logService.trace("CopyPasteController#setCopyMetadata new id : ",z.id),j.setData(Z,JSON.stringify(z))}fetchCopyMetadata(j){this._logService.trace("CopyPasteController#fetchCopyMetadata");const z=j.clipboardData.getData(Z);if(z)try{return JSON.parse(z)}catch{return}if(j.metadata)return{defaultPastePayload:{mode:j.metadata.mode,multicursorText:j.metadata.multicursorText??null,pasteOnNewLine:!!j.metadata.isFromEmptySelection}}}async mergeInDataFromCopy(j,z,ie,re){if(this._logService.trace("CopyPasteController#mergeInDataFromCopy with metadata : ",ie?.id),ie?.id&&ne._currentCopyOperation?.handle===ie.id){const de=ne._currentCopyOperation.operations.filter(he=>j.some(we=>we.pasteMimeTypes.some(xe=>(0,T.Y)(xe,he.providerMimeTypes)))).map(he=>he.operation),le=await Promise.all(de);if(re.isCancellationRequested)return;for(const he of le.reverse())if(he)for(const[we,xe]of he)z.replace(we,xe)}if(!z.has(L.K.uriList)){const de=await this._clipboardService.readResources();if(re.isCancellationRequested)return;de.length&&z.append(L.K.uriList,(0,T.gf)(T.jt.create(de)))}}async getPasteEdits(j,z,ie,re,de,le){const he=new g.Cm,we=await(0,R.PK)(Promise.all(j.map(async Be=>{try{const M=await Be.provideDocumentPasteEdits?.(ie,re,z,de,le);return M&&he.add(M),M?.edits?.map(Ve=>({...Ve,provider:Be}))}catch(M){(0,y.MB)(M)||console.error(M);return}})),le),xe=(0,v.Yc)(we??[]).flat().filter(Be=>!de.only||de.only.contains(Be.kind));return{edits:(0,W.H)(xe),dispose:()=>he.dispose()}}async applyDefaultPasteHandler(j,z,ie,re){const le=await(j.get(L.K.text)??j.get("text"))?.asString()??"";if(ie.isCancellationRequested)return;const he={clipboardEvent:re,text:le,pasteOnNewLine:z?.defaultPastePayload.pasteOnNewLine??!1,multicursorText:z?.defaultPastePayload.multicursorText??null,mode:null};this._logService.trace("CopyPasteController#applyDefaultPasteHandler for id : ",z?.id),this._editor.trigger("keyboard","paste",he)}isSupportedPasteProvider(j,z,ie){return j.pasteMimeTypes?.some(re=>z.matches(re))?!ie||this.providerMatchesPreference(j,ie):!1}providerMatchesPreference(j,z){return"only"in z?j.providedPasteEditKinds.some(ie=>z.only.contains(ie)):"preferences"in z?j.providedPasteEditKinds.some(ie=>z.preferences.some(re=>re.contains(ie))):j.id===z.providerId}getInitialActiveEditIndex(j,z){const ie=this._configService.getValue(I,{resource:j.uri});for(const re of Array.isArray(ie)?ie:[]){const de=new A.k(re),le=z.findIndex(he=>de.contains(he.kind));if(le>=0)return le}return 0}},ne=G,G.ID="editor.contrib.copyPasteActionController",G);X=ne=$([te(1,o._Y),te(2,c.rr),te(3,_.nu),te(4,i.h),te(5,r.d),te(6,d.pG),te(7,S.u),te(8,p.GK),te(9,a.G5)],X)},44385:(St,We,e)=>{e.d(We,{xE:()=>b,vr:()=>L,h5:()=>C});var v=e(14333);const R=2e4;let x,T,y,A,g;function L(i){x=document.createElement("div"),x.className="monaco-aria-container";const r=()=>{const l=document.createElement("div");return l.className="monaco-alert",l.setAttribute("role","alert"),l.setAttribute("aria-atomic","true"),x.appendChild(l),l};T=r(),y=r();const d=()=>{const l=document.createElement("div");return l.className="monaco-status",l.setAttribute("aria-live","polite"),l.setAttribute("aria-atomic","true"),x.appendChild(l),l};A=d(),g=d(),i.appendChild(x)}function b(i){x&&(T.textContent!==i?((0,v.w_)(y),u(T,i)):((0,v.w_)(T),u(y,i)))}function C(i){x&&(A.textContent!==i?((0,v.w_)(g),u(A,i)):((0,v.w_)(A),u(g,i)))}function u(i,r){(0,v.w_)(i),r.length>R&&(r=r.substr(0,R)),i.textContent=r,i.style.visibility="hidden",i.style.visibility="visible"}},44437:(St,We,e)=>{e.d(We,{r:()=>g});var v=e(13338),R=e(79359),x=e(3765);function T(L,b){return b&&(L.stack||L.stacktrace)?(0,x.kg)(33,"{0}: {1}",A(L),y(L.stack)||y(L.stacktrace)):A(L)}function y(L){return Array.isArray(L)?L.join(`
173`):L}
173function A(L){return L.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${L.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof L.code=="string"&&typeof L.errno=="number"&&typeof L.syscall=="string"?(0,x.kg)(34,"A system error occurred ({0})",L.message):L.message||(0,x.kg)(35,"An unknown error occurred. Please consult the log for more details.")}function g(L=null,b=!1){if(!L)return(0,x.kg)(36,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(L)){const C=(0,v.Yc)(L),u=g(C[0],b);return C.length>1?(0,x.kg)(37,"{0} ({1} errors in total)",u,C.length):u}if((0,R.Kg)(L))return L;if(L.detail){const C=L.detail;if(C.error)return T(C.error,b);if(C.exception)return T(C.exception,b)}return L.stack?T(L,b):L.message?L.message:(0,x.kg)(38,"An unknown error occurred. Please consult the log for more details.")}},44657:(St,We,e)=>{e.d(We,{W:()=>v});function v(R){let x=0,T=0,y=0,A=0;for(let g=0,L=R.length;g<L;g++){const b=R.charCodeAt(g);b===13?(x===0&&(T=g),x++,g+1<L&&R.charCodeAt(g+1)===10?(A|=2,g++):A|=3,y=g+1):b===10&&(A|=1,x===0&&(T=g),x++,y=g+1)}return x===0&&(T=R.length),[x,T,R.length-y,A]}},45222:(St,We,e)=>{e.d(We,{x:()=>A});var v=e(14333),R=e(87594),x=e(9715),T=e(30474),y=e(10998);class A extends y.jG{onclick(L,b){this._register((0,v.ko)(L,v.Bx.CLICK,C=>b(new x.P((0,v.zk)(L),C))))}onmousedown(L,b){this._register((0,v.ko)(L,v.Bx.MOUSE_DOWN,C=>b(new x.P((0,v.zk)(L),C))))}onmouseover(L,b){this._register((0,v.ko)(L,v.Bx.MOUSE_OVER,C=>b(new x.P((0,v.zk)(L),C))))}onmouseleave(L,b){this._register((0,v.ko)(L,v.Bx.MOUSE_LEAVE,C=>b(new x.P((0,v.zk)(L),C))))}onkeydown(L,b){this._register((0,v.ko)(L,v.Bx.KEY_DOWN,C=>b(new R.Z(C))))}onkeyup(L,b){this._register((0,v.ko)(L,v.Bx.KEY_UP,C=>b(new R.Z(C))))}oninput(L,b){this._register((0,v.ko)(L,v.Bx.INPUT,b))}onblur(L,b){this._register((0,v.ko)(L,v.Bx.BLUR,b))}onfocus(L,b){this._register((0,v.ko)(L,v.Bx.FOCUS,b))}ignoreGesture(L){return T.q.ignoreTarget(L)}}},45561:(St,We,e)=>{e.d(We,{Bs:()=>y,d:()=>R});var v=e(16844);class R{constructor(g,L,b,C){this.startColumn=g,this.endColumn=L,this.className=b,this.type=C,this._lineDecorationBrand=void 0}static _equals(g,L){return g.startColumn===L.startColumn&&g.endColumn===L.endColumn&&g.className===L.className&&g.type===L.type}static equalsArr(g,L){const b=g.length,C=L.length;if(b!==C)return!1;for(let u=0;u<b;u++)if(!R._equals(g[u],L[u]))return!1;return!0}static extractWrapped(g,L,b){if(g.length===0)return g;const C=L+1,u=b+1,i=b-L,r=[];let d=0;for(const l of g)l.endColumn<=C||l.startColumn>=u||(r[d++]=new R(Math.max(1,l.startColumn-C+1),Math.min(i+1,l.endColumn-C+1),l.className,l.type));return r}static filter(g,L,b,C){if(g.length===0)return[];const u=[];let i=0;for(let r=0,d=g.length;r<d;r++){const l=g[r],o=l.range;if(o.endLineNumber<L||o.startLineNumber>L||o.isEmpty()&&(l.type===0||l.type===3))continue;const c=o.startLineNumber===L?o.startColumn:b,a=o.endLineNumber===L?o.endColumn:C;u[i++]=new R(c,a,l.inlineClassName,l.type)}return u}static _typeCompare(g,L){const b=[2,0,1,3];return b[g]-b[L]}static compare(g,L){if(g.startColumn!==L.startColumn)return g.startColumn-L.startColumn;if(g.endColumn!==L.endColumn)return g.endColumn-L.endColumn;const b=R._typeCompare(g.type,L.type);return b!==0?b:g.className!==L.className?g.className<L.className?-1:1:0}}class x{constructor(g,L,b,C){this.startOffset=g,this.endOffset=L,this.className=b,this.metadata=C}}class T{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(g){let L=0;for(let b=0,C=g.length;b<C;b++)L|=g[b];return L}consumeLowerThan(g,L,b){for(;this.count>0&&this.stopOffsets[0]<g;){let C=0;for(;C+1<this.count&&this.stopOffsets[C]===this.stopOffsets[C+1];)C++;b.push(new x(L,this.stopOffsets[C],this.classNames.join(" "),T._metadata(this.metadata))),L=this.stopOffsets[C]+1,this.stopOffsets.splice(0,C+1),this.classNames.splice(0,C+1),this.metadata.splice(0,C+1),this.count-=C+1}return this.count>0&&L<g&&(b.push(new x(L,g-1,this.classNames.join(" "),T._metadata(this.metadata))),L=g),L}insert(g,L,b){if(this.count===0||this.stopOffsets[this.count-1]<=g)this.stopOffsets.push(g),this.classNames.push(L),this.metadata.push(b);else for(let C=0;C<this.count;
173C++)if(this.stopOffsets[C]>=g){this.stopOffsets.splice(C,0,g),this.classNames.splice(C,0,L),this.metadata.splice(C,0,b);break}this.count++}}class y{static normalize(g,L){if(L.length===0)return[];const b=[],C=new T;let u=0;for(let i=0,r=L.length;i<r;i++){const d=L[i];let l=d.startColumn,o=d.endColumn;const c=d.className,a=d.type===1?2:d.type===2?4:0;if(l>1){const E=g.charCodeAt(l-2);(0,v.pc)(E)&&l--}if(o>1){const E=g.charCodeAt(o-2);(0,v.pc)(E)&&o--}const p=l-1,_=o-2;u=C.consumeLowerThan(p,u,b),C.count===0&&(u=p),C.insert(_,c,a)}return C.consumeLowerThan(1073741824,u,b),b}}},45739:(St,We,e)=>{e.d(We,{S:()=>y,o:()=>T});var v=e(39603),R=e(79359);function x(){return v.A.defaultChatAgent?.completionsEnablementSetting}function T(A,g,L="*"){const b=x();return b?y(A.getValue(g,b),L):!1}function y(A,g="*"){return(0,R.Gv)(A)?typeof A[g]<"u"?!!A[g]:!!A["*"]:!1}},45907:(St,We,e)=>{var l;e.d(We,{g:()=>d});var v=e(10998),R=e(27992),x=e(46441),T=e(89044),y=e(94327),A=e(98613);class g{constructor(c,a){this._canvas=c,this._textureIndex=a,this._currentRow={x:0,y:0,h:0},this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=(0,A.HS)(this._canvas.getContext("2d",{willReadFrequently:!0}))}allocate(c){const a=c.boundingBox.right-c.boundingBox.left+1,p=c.boundingBox.bottom-c.boundingBox.top+1;if(a>this._canvas.width||p>this._canvas.height)throw new y.D7("Glyph is too large for the atlas page");if(c.boundingBox.right-c.boundingBox.left+1>this._canvas.width-this._currentRow.x&&(this._currentRow.x=0,this._currentRow.y+=this._currentRow.h,this._currentRow.h=1),this._currentRow.y+c.boundingBox.bottom-c.boundingBox.top+1>this._canvas.height)return;this._ctx.drawImage(c.source,c.boundingBox.left,c.boundingBox.top,a,p,this._currentRow.x,this._currentRow.y,a,p);const _={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:this._currentRow.x,y:this._currentRow.y,w:a,h:p,originOffsetX:c.originOffset.x,originOffsetY:c.originOffset.y,fontBoundingBoxAscent:c.fontBoundingBoxAscent,fontBoundingBoxDescent:c.fontBoundingBoxDescent};return this._currentRow.x+=a,this._currentRow.h=Math.max(this._currentRow.h,p),this._allocatedGlyphs.add(_),_}getUsagePreview(){const c=this._canvas.width,a=this._canvas.height,p=new OffscreenCanvas(c,a),_=(0,A.HS)(p.getContext("2d"));_.fillStyle="#808080",_.fillRect(0,0,c,a);const E=new Map,S=new Map;for(const h of this._allocatedGlyphs)E.set(h.y,Math.max(E.get(h.y)??0,h.h)),S.set(h.y,Math.max(S.get(h.y)??0,h.x+h.w));for(const h of this._allocatedGlyphs)_.fillStyle="#4040FF",_.fillRect(h.x,h.y,h.w,h.h),_.fillStyle="#FF0000",_.fillRect(h.x,h.y+h.h,h.w,E.get(h.y)-h.h);for(const[h,D]of S.entries())h!==this._currentRow.y&&(_.fillStyle="#FF0000",_.fillRect(D,h,c-D,E.get(h)));return p.convertToBlob()}getStats(){const c=this._canvas.width,a=this._canvas.height;let p=0,_=0;const E=c*a,S=new Map,h=new Map;for(const D of this._allocatedGlyphs)S.set(D.y,Math.max(S.get(D.y)??0,D.h)),h.set(D.y,Math.max(h.get(D.y)??0,D.x+D.w));for(const D of this._allocatedGlyphs)p+=D.w*D.h,_+=D.w*(S.get(D.y)-D.h);for(const[D,k]of h.entries())D!==this._currentRow.y&&(_+=(c-k)*S.get(D));return[`page${this._textureIndex}:`,`     Total: ${E} (${c}x${a})`,`      Used: ${p} (${(p/E*100).toPrecision(2)}%)`,`    Wasted: ${_} (${(_/E*100).toPrecision(2)}%)`,`Efficiency: ${(p/(p+_)*100).toPrecision(2)}%`].join(`
174`)}}var L=e(14333);class b{constructor(c,a,p){this._canvas=c,this._textureIndex=a,this._slabs=[],this._activeSlabsByDims=new R.QO,this._unusedRects=[],this._openRegionsByHeight=new Map,this._openRegionsByWidth=new Map,this._allocatedGlyphs=new Set,this._nextIndex=0,this._ctx=(0,A.HS)(this._canvas.getContext("2d",{willReadFrequently:!0})),this._slabW=Math.min(p?.slabW??64<<Math.max(Math.floor((0,L.fz)().devicePixelRatio)-1,0),this._canvas.width),this._slabH=Math.min(p?.slabH??this._slabW,this._canvas.height),this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}allocate(c){const a=c.boundingBox.right-c.boundingBox.left+1,p=c.boundingBox.bottom-c.boundingBox.top+1;if(a>this._canvas.width||p>this._canvas.height)throw new y.D7("Glyph is too large for the atlas page");if(a>this._slabW||p>this._slabH){if(this._allocatedGlyphs.size>0)return;let k=this._canvas.width;for(;a<k/2&&p<k/2;)k/=2;this._slabW=k,this._slabH=k,this._slabsPerRow=Math.floor(this._canvas.width/this._slabW),this._slabsPerColumn=Math.floor(this._canvas.height/this._slabH)}const _={w:a,h:p};let E=this._activeSlabsByDims.get(_.w,_.h);if(E){const k=Math.floor(this._slabW/E.entryW)*Math.floor(this._slabH/E.entryH);E.count>=k&&(E=void 0)}let S,h;if(!E)if(a<p){const k=this._openRegionsByWidth.get(a);if(k?.length)for(let N=k.length-1;N>=0;N--){const W=k[N];if(W.w>=a&&W.h>
174=p){S=W.x,h=W.y,a<W.w&&this._unusedRects.push({x:W.x+a,y:W.y,w:W.w-a,h:p}),W.y+=p,W.h-=p,W.h===0&&(N===k.length-1?k.pop():this._unusedRects.splice(N,1));break}}}else{const k=this._openRegionsByHeight.get(p);if(k?.length)for(let N=k.length-1;N>=0;N--){const W=k[N];if(W.w>=a&&W.h>=p){S=W.x,h=W.y,p<W.h&&this._unusedRects.push({x:W.x,y:W.y+p,w:a,h:W.h-p}),W.x+=a,W.w-=a,W.h===0&&(N===k.length-1?k.pop():this._unusedRects.splice(N,1));break}}}if(S===void 0||h===void 0){if(!E){if(this._slabs.length>=this._slabsPerRow*this._slabsPerColumn)return;E={x:Math.floor(this._slabs.length%this._slabsPerRow)*this._slabW,y:Math.floor(this._slabs.length/this._slabsPerRow)*this._slabH,entryW:_.w,entryH:_.h,count:0};const N=this._slabW%E.entryW,W=this._slabH%E.entryH;N&&C(this._openRegionsByWidth,N,{x:E.x+this._slabW-N,w:N,y:E.y,h:this._slabH-(W??0)}),W&&C(this._openRegionsByHeight,W,{x:E.x,w:this._slabW,y:E.y+this._slabH-W,h:W}),this._slabs.push(E),this._activeSlabsByDims.set(E,_.w,_.h)}const k=Math.floor(this._slabW/E.entryW);S=E.x+Math.floor(E.count%k)*E.entryW,h=E.y+Math.floor(E.count/k)*E.entryH,E.count++}this._ctx.drawImage(c.source,c.boundingBox.left,c.boundingBox.top,a,p,S,h,a,p);const D={pageIndex:this._textureIndex,glyphIndex:this._nextIndex++,x:S,y:h,w:a,h:p,originOffsetX:c.originOffset.x,originOffsetY:c.originOffset.y,fontBoundingBoxAscent:c.fontBoundingBoxAscent,fontBoundingBoxDescent:c.fontBoundingBoxDescent};return this._allocatedGlyphs.add(D),D}getUsagePreview(){const c=this._canvas.width,a=this._canvas.height,p=new OffscreenCanvas(c,a),_=(0,A.HS)(p.getContext("2d"));_.fillStyle="#808080",_.fillRect(0,0,c,a);let E=0,S=0,h=0;const D=64<<Math.floor((0,L.fz)().devicePixelRatio)-1,k=D;for(const W of this._slabs){let U=0,$=0;for(let V=0;V<W.count;V++)U+W.entryW>D&&(U=0,$+=W.entryH),_.fillStyle="#FF0000",_.fillRect(W.x+U,W.y+$,W.entryW,W.entryH),E+=W.entryW*W.entryH,U+=W.entryW;const te=Math.floor(D/W.entryW),ne=Math.floor(k/W.entryH);W.entryW*te*W.entryH*ne}for(const W of this._allocatedGlyphs)S+=W.w*W.h,_.fillStyle="#4040FF",_.fillRect(W.x,W.y,W.w,W.h);const N=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const W of N)_.fillStyle="#FF000088",_.fillRect(W.x,W.y,W.w,W.h),h+=W.w*W.h;return _.globalAlpha=.5,_.drawImage(this._canvas,0,0),_.globalAlpha=1,p.convertToBlob()}getStats(){const c=this._canvas.width,a=this._canvas.height;let p=0,_=0,E=0,S=0,h=0;const D=c*a,k=64<<Math.floor((0,L.fz)().devicePixelRatio)-1,N=k;for(const te of this._slabs){let ne=0,V=0;for(let X=0;X<te.count;X++)ne+te.entryW>k&&(ne=0,V+=te.entryH),p+=te.entryW*te.entryH,ne+=te.entryW;const I=Math.floor(k/te.entryW),H=Math.floor(N/te.entryH),Z=te.entryW*I*te.entryH*H;E+=k*N-Z}for(const te of this._allocatedGlyphs)_+=te.w*te.h;const W=Array.from(this._openRegionsByWidth.values()).flat().concat(Array.from(this._openRegionsByHeight.values()).flat());for(const te of W)h+=te.w*te.h;const U=E-h;S=p-(_-U);const $=_/(_+S+h);return[`page[${this._textureIndex}]:`,`     Total: ${D}px (${c}x${a})`,`      Used: ${_}px (${(_/D*100).toFixed(2)}%)`,`    Wasted: ${S}px (${(S/D*100).toFixed(2)}%)`,`Restricted: ${h}px (${(h/D*100).toFixed(2)}%) (hard to allocate)`,`Efficiency: ${$===1?"100":($*100).toFixed(2)}%`,`     Slabs: ${this._slabs.length} of ${Math.floor(this._canvas.width/k)*Math.floor(this._canvas.height/N)}`].join(`
175`)}}function C(o,c,a){let p=o.get(c);p||(p=[],o.set(c,p)),p.push(a)}var u=function(o,c,a,p){var _=arguments.length,E=_<3?c:p===null?p=Object.getOwnPropertyDescriptor(c,a):p,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(o,c,a,p);else for(var h=o.length-1;h>=0;h--)(S=o[h])&&(E=(_<3?S(E):_>3?S(c,a,E):S(c,a))||E);return _>3&&E&&Object.defineProperty(c,a,E),E},i=function(o,c){return function(a,p){c(a,p,o)}},r;let d=(l=class extends v.jG{get version(){return this._version}get usedArea(){return this._usedArea}get source(){return this._canvas}get glyphs(){return this._glyphInOrderSet.values()}constructor(c,a,p,_,E){switch(super(),this._logService=_,this._version=0,this._usedArea={left:0,top:0,right:0,bottom:0},this._glyphMap=new R.QO,this._glyphInOrderSet=new Set,this._canvas=new OffscreenCanvas(a,a),this._colorMap=E.getColorTheme(
175).tokenColorMap,p){case"shelf":this._allocator=new g(this._canvas,c);break;case"slab":this._allocator=new b(this._canvas,c);break;default:this._allocator=p(this._canvas,c);break}this._register((0,v.s)(()=>{this._canvas.width=1,this._canvas.height=1}))}getGlyph(c,a,p,_){return this._glyphMap.get(a,p,_,c.cacheKey)??this._createGlyph(c,a,p,_)}_createGlyph(c,a,p,_){if(this._glyphInOrderSet.size>=r.maximumGlyphCount)return;const E=c.rasterizeGlyph(a,p,_,this._colorMap),S=this._allocator.allocate(E);if(S!==void 0)return this._glyphMap.set(S,a,p,_,c.cacheKey),this._glyphInOrderSet.add(S),this._version++,this._usedArea.right=Math.max(this._usedArea.right,S.x+S.w-1),this._usedArea.bottom=Math.max(this._usedArea.bottom,S.y+S.h-1),this._logService.getLevel()===x.$b.Trace&&this._logService.trace("New glyph",{chars:a,tokenMetadata:p,decorationStyleSetId:_,rasterizedGlyph:E,glyph:S}),S}getUsagePreview(){return this._allocator.getUsagePreview()}getStats(){return this._allocator.getStats()}},r=l,l.maximumGlyphCount=5e3,l);d=r=u([i(3,x.rr),i(4,T.Gy)],d)},45933:(St,We,e)=>{e.d(We,{E6:()=>L,Hw:()=>x,YN:()=>R,gf:()=>y,n9:()=>A,oq:()=>T,tu:()=>b,vp:()=>g});var v=e(3765),R;(function(C){C.inspectTokensAction=(0,v.kg)(821,"Developer: Inspect Tokens")})(R||(R={}));var x;(function(C){C.gotoLineActionLabel=(0,v.kg)(822,"Go to Line/Column..."),C.gotoOffsetActionLabel=(0,v.kg)(823,"Go to Offset...")})(x||(x={}));var T;(function(C){C.helpQuickAccessActionLabel=(0,v.kg)(824,"Show all Quick Access Providers")})(T||(T={}));var y;(function(C){C.quickCommandActionLabel=(0,v.kg)(825,"Command Palette"),C.quickCommandHelp=(0,v.kg)(826,"Show And Run Commands")})(y||(y={}));var A;(function(C){C.quickOutlineActionLabel=(0,v.kg)(827,"Go to Symbol..."),C.quickOutlineByCategoryActionLabel=(0,v.kg)(828,"Go to Symbol by Category...")})(A||(A={}));var g;(function(C){C.editorViewAccessibleLabel=(0,v.kg)(829,"Editor content")})(g||(g={}));var L;(function(C){C.toggleHighContrast=(0,v.kg)(830,"Toggle High Contrast Theme")})(L||(L={}));var b;(function(C){C.bulkEditServiceSummary=(0,v.kg)(831,"Made {0} edits in {1} files")})(b||(b={}))},46311:(St,We,e)=>{e.d(We,{B2:()=>T,Ke:()=>x,hx:()=>v,mm:()=>R});class v{constructor(A,g,L,b){this.priority=A,this.range=g,this.initialMousePosX=L,this.initialMousePosY=b,this.type=1}equals(A){return A.type===1&&this.range.equalsRange(A.range)}canAdoptVisibleHover(A,g){return A.type===1&&g.lineNumber===this.range.startLineNumber}}class R{constructor(A,g,L,b,C,u){this.priority=A,this.owner=g,this.range=L,this.initialMousePosX=b,this.initialMousePosY=C,this.supportsMarkerHover=u,this.type=2}equals(A){return A.type===2&&this.owner===A.owner}canAdoptVisibleHover(A,g){return A.type===2&&this.owner===A.owner}}class x{constructor(A,g){this.renderedHoverParts=A,this.disposables=g}dispose(){for(const A of this.renderedHoverParts)A.dispose();this.disposables?.dispose()}}const T=new class{constructor(){this._participants=[]}register(A){this._participants.push(A)}getAll(){return this._participants}}},46441:(St,We,e)=>{e.d(We,{$b:()=>i,Cr:()=>a,DA:()=>S,Dk:()=>p,l8:()=>d,rr:()=>C,xd:()=>u});var v=e(2106),R=e(22344),x=e(10998),T=e(27992),y=e(22467),A=e(79359),g=e(37264),L=e(31540),b=e(82399);const C=(0,b.u1)("logService"),u=(0,b.u1)("loggerService");var i;(function(D){D[D.Off=0]="Off",D[D.Trace=1]="Trace",D[D.Debug=2]="Debug",D[D.Info=3]="Info",D[D.Warning=4]="Warning",D[D.Error=5]="Error"})(i||(i={}));const r=i.Info;function d(D,k){return D!==i.Off&&D<=k}function l(D){switch(D){case"debug":return console.debug;case"error":return console.error;case"info":return console.info;case"log":return console.log;case"warn":return console.warn}}function o(D,...k){try{l(D).apply(console,k)}finally{}}class c extends x.jG{constructor(){super(...arguments),this.level=r,this._onDidChangeLogLevel=this._register(new v.vl)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(k){this.level!==k&&(this.level=k,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(k){return d(this.level,k)}canLog(k){return this._store.isDisposed?!1:this.checkLogLevel(k)}}class a extends c{constructor(k=r,N=!0){super(),this.useColors=N,this.setLevel(k)}trace(k,...N){this.canLog(i.Trace)&&(this.useColors?o("log","%cTRACE","color: #888",k,...N):o("log",k,...N))}debug(k,...N){this.canLog(i.Debug)&&(this.useColors?o("log","%cDEBUG","background: #eee; color: #888",k,...N):o("log",k,...N))}info(k,...N){this.canLog(i.Info)&&(this.useColors?o("log","%c INFO","color: #33f",k,...N):o("log",k,...N))}warn(k,...N){this.canLog(i.Warning)&&(this.useColors?o("warn","%c WARN","color: #993",k,...N):o("log",k,...N))}error(k,...N){this.canLog(i.Error)&&(this.useColors?o("error","%c  ERR","color: #f33",k,...N):o("error",k,...N))}}class p extends c{constructor(k){super(),this.loggers=k,k.length&&this.setLevel(k[0].getLevel())}setLevel(k){for(const N of this.loggers)N.setLevel(k);super.setLevel(k)}trace(k,...N){for(const W of this.loggers)W.trace(k,...N)}debug(k,...N){for(const W of this.loggers)W.debug(k,...N)}info(k,...N){for(const W of this.loggers)W.info(k,...N)}warn(k,...N){for(const W of this.loggers)W.warn(k,...N)}error(k,...N){for(const W of this.loggers)W.error(k,...N)}dispose(){for(const k of this.loggers)k.dispose();super.dispose()}}class _ extends x.jG{constructor(k,N,W){if(super(),this.logLevel=k,this.logsHome=N,this._loggers=new T.fT,this._onDidChangeLoggers=this._register(new v.vl),this._onDidChangeVisibility=this._register(new v.vl),W)for(const U of W)this._loggers.set(U.resource,{logger:void 0,info:U})}getLoggerEntry(k){return(0,A.Kg)(k)?[...this._loggers.values()].find(N=>N.info.id===k):this._loggers.get(k)}createLogger(k,N){const W=this.toResource(k),U=(0,A.Kg)(k)?k:N?.id??(0,R.tW)(W.toString()).toString(16);let $=this._loggers.get(W)?.logger;const te=N?.logLevel==="always"?i.Trace:N?.logLevel;$||($=this.doCreateLogger(W,te??this.getLogLevel(W)??this.logLevel,{...N,id:U}));const ne={logger:$,info:{resource:W,id:U,logLevel:te,name:N?.name,hidden:N?.hidden,group:N?.group,extensionId:N?.extensionId,when:N?.when}};return this.registerLogger(ne.info),this._loggers.set(W,ne),$}toResource(k){return(0,A.Kg)(k)?(0,y.uJ)(this.logsHome,`${k.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):k}setVisibility(k,N){const W=this.getLoggerEntry(k);W&&N!==!W.info.hidden&&(W.info.hidden=!N,this._loggers.set(W.info.resource,W),this._onDidChangeVisibility.fire([W.info.resource,N]))}getLogLevel(k){let N;return k&&(N=this._loggers.get(k)?.info.logLevel),N??this.logLevel}registerLogger(k){const N=this._loggers.get(k.resource);N?N.info.hidden!==k.hidden&&this.setVisibility(k.resource,!k.hidden):(this._loggers.set(k.resource,{info:k,logger:void 0}),this._onDidChangeLoggers.fire({added:[k],removed:[]}))}
175dispose(){this._loggers.forEach(k=>k.logger?.dispose()),this._loggers.clear(),super.dispose()}}class E{constructor(){this.onDidChangeLogLevel=new v.vl().event}setLevel(k){}getLevel(){return i.Info}trace(k,...N){}debug(k,...N){}info(k,...N){}warn(k,...N){}error(k,...N){}dispose(){}}class S extends _{constructor(){super(i.Off,g.r.parse("log:///log"))}doCreateLogger(k,N,W){return new E}}function h(D){switch(D){case i.Trace:return"trace";case i.Debug:return"debug";case i.Info:return"info";case i.Warning:return"warn";case i.Error:return"error";case i.Off:return"off"}}new L.N1("logLevel",h(i.Info))},46933:(St,We,e)=>{e.d(We,{E:()=>u,eP:()=>C,y0:()=>b});var v=e(39084),R=e(8897),x=e(2106),T=e(10998),y=e(49855),A=e(82460),g=e(38792),L=e(57955);function b(...i){let r,d,l,o;return i.length===2?[d,l]=i:[r,d,l,o]=i,new u(new y.nA(r,void 0,l),d,l,()=>u.globalTransaction,R.nx,o??L.j.ofCaller())}function C(i,r,d,l=L.j.ofCaller()){return new u(new y.nA(i.owner,i.debugName,i.debugReferenceFn??d),r,d,()=>i.getTransaction?.()??u.globalTransaction,i.equalsFn??R.nx,l)}class u extends g.ZK{constructor(r,d,l,o,c,a){super(a),this._debugNameData=r,this.event=d,this._getValue=l,this._getTransaction=o,this._equalityComparator=c,this._hasValue=!1,this.handleEvent=p=>{const _=this._getValue(p),E=this._value,S=!this._hasValue||!this._equalityComparator(E,_);let h=!1;S&&(this._value=_,this._hasValue&&(h=!0,(0,v.PO)(this._getTransaction(),D=>{(0,A.t)()?.handleObservableUpdated(this,{oldValue:E,newValue:_,change:void 0,didChange:S,hadValue:this._hasValue});for(const k of this._observers)D.updateObserver(k,this),k.handleChange(this,void 0)},()=>{const D=this.getDebugName();return"Event fired"+(D?`: ${D}`:"")})),this._hasValue=!0),h||(0,A.t)()?.handleObservableUpdated(this,{oldValue:E,newValue:_,change:void 0,didChange:S,hadValue:this._hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const r=this.getDebugName();return"From Event"+(r?`: ${r}`:"")}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(r){this._value=r}debugGetState(){return{value:this._value,hasValue:this._hasValue}}}(function(i){i.Observer=u;function r(d,l){let o=!1;u.globalTransaction===void 0&&(u.globalTransaction=d,o=!0);try{l()}finally{o&&(u.globalTransaction=void 0)}}i.batchEventsGlobally=r})(b||(b={}))},47039:(St,We,e)=>{e.d(We,{EY:()=>x,GR:()=>A,Or:()=>y,fr:()=>i,mQ:()=>u,rT:()=>b});const r=class r{constructor(){this.value="",this.pos=0}static isDigitCharacter(l){return l>=48&&l<=57}static isVariableCharacter(l){return l===95||l>=97&&l<=122||l>=65&&l<=90}text(l){this.value=l,this.pos=0}tokenText(l){return this.value.substr(l.pos,l.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const l=this.pos;let o=0,c=this.value.charCodeAt(l),a;if(a=r._table[c],typeof a=="number")return this.pos+=1,{type:a,pos:l,len:1};if(r.isDigitCharacter(c)){a=8;do o+=1,c=this.value.charCodeAt(l+o);while(r.isDigitCharacter(c));return this.pos+=o,{type:a,pos:l,len:o}}if(r.isVariableCharacter(c)){a=9;do c=this.value.charCodeAt(l+ ++o);while(r.isVariableCharacter(c)||r.isDigitCharacter(c));return this.pos+=o,{type:a,pos:l,len:o}}a=10;do o+=1,c=this.value.charCodeAt(l+o);while(!isNaN(c)&&typeof r._table[c]>"u"&&!r.isDigitCharacter(c)&&!r.isVariableCharacter(c));return this.pos+=o,{type:a,pos:l,len:o}}};r._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let v=r;class R{constructor(){this._children=[]}appendChild(l){return l instanceof x&&this._children[this._children.length-1]instanceof x?this._children[this._children.length-1].value+=l.value:(l.parent=this,this._children.push(l)),this}replace(l,o){const{parent:c}=l,a=c.children.indexOf(l),p=c.children.slice(0);p.splice(a,1,...o),c._children=p,function _(E,S){for(const h of E)h.parent=S,_(h.children,h)}(o,c)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let l=this;for(;;){if(!l)return;if(l instanceof u)return l;l=l.parent}}toString(){return this.children.reduce((l,o)=>l+o.toString(),"")}len(){return 0}}class x extends R{constructor(l){super(),this.value=l}toString(){return this.value}len(){return this.value.length}clone(){return new x(this.value)}}class T extends R{}class y extends T{static compareByIndex(l,o){return l.index===o.index?0:l.isFinalTabstop?1:o.isFinalTabstop||l.index<o.index?-1:l.index>
175o.index?1:0}constructor(l){super(),this.index=l}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof A?this._children[0]:void 0}clone(){const l=new y(this.index);return this.transform&&(l.transform=this.transform.clone()),l._children=this.children.map(o=>o.clone()),l}}class A extends R{constructor(){super(...arguments),this.options=[]}appendChild(l){return l instanceof x&&(l.parent=this,this.options.push(l)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const l=new A;return this.options.forEach(l.appendChild,l),l}}class g extends R{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(l){const o=this;let c=!1,a=l.replace(this.regexp,function(){return c=!0,o._replace(Array.prototype.slice.call(arguments,0,-2))});return!c&&this._children.some(p=>p instanceof L&&!!p.elseValue)&&(a=this._replace([])),a}_replace(l){let o="";for(const c of this._children)if(c instanceof L){let a=l[c.index]||"";a=c.resolve(a),o+=a}else o+=c.toString();return o}toString(){return""}clone(){const l=new g;return l.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),l._children=this.children.map(o=>o.clone()),l}}class L extends R{constructor(l,o,c,a){super(),this.index=l,this.shorthandName=o,this.ifValue=c,this.elseValue=a}resolve(l){return this.shorthandName==="upcase"?l?l.toLocaleUpperCase():"":this.shorthandName==="downcase"?l?l.toLocaleLowerCase():"":this.shorthandName==="capitalize"?l?l[0].toLocaleUpperCase()+l.substr(1):"":this.shorthandName==="pascalcase"?l?this._toPascalCase(l):"":this.shorthandName==="camelcase"?l?this._toCamelCase(l):"":this.shorthandName==="kebabcase"?l?this._toKebabCase(l):"":this.shorthandName==="snakecase"?l?this._toSnakeCase(l):"":l&&typeof this.ifValue=="string"?this.ifValue:!l&&typeof this.elseValue=="string"?this.elseValue:l||""}_toKebabCase(l){if(!l.match(/[\p{L}0-9]+/gu))return l;if(!l.match(/[\p{L}0-9]/u))return l.trim().toLowerCase().replace(/^_+|_+$/g,"").replace(/[\s_]+/g,"-");const c=l.trim().replace(/^_+|_+$/g,""),a=c.match(new RegExp("\\p{Lu}{2,}(?=\\p{Lu}\\p{Ll}+[0-9]*|[\\s_-]|$)|\\p{Lu}?\\p{Ll}+[0-9]*|\\p{Lu}(?=\\p{Lu}\\p{Ll})|\\p{Lu}(?=[\\s_-]|$)|[0-9]+","gu"));return a?a.map(p=>p.toLowerCase()).join("-"):c.split(/[\s_-]+/).filter(p=>p.length>0).map(p=>p.toLowerCase()).join("-")}_toPascalCase(l){const o=l.match(/[\p{L}0-9]+/gu);return o?o.map(c=>c.charAt(0).toUpperCase()+c.substr(1)).join(""):l}_toCamelCase(l){const o=l.match(/[\p{L}0-9]+/gu);return o?o.map((c,a)=>a===0?c.charAt(0).toLowerCase()+c.substr(1):c.charAt(0).toUpperCase()+c.substr(1)).join(""):l}_toSnakeCase(l){return l.replace(new RegExp("(\\p{Ll})(\\p{Lu})","gu"),"$1_$2").replace(/[\s\-]+/g,"_").toLowerCase()}clone(){return new L(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class b extends T{constructor(l){super(),this.name=l}resolve(l){let o=l.resolve(this);return this.transform&&(o=this.transform.resolve(o||"")),o!==void 0?(this._children=[new x(o)],!0):!1}clone(){const l=new b(this.name);return this.transform&&(l.transform=this.transform.clone()),l._children=this.children.map(o=>o.clone()),l}}function C(d,l){const o=[...d];for(;o.length>0;){const c=o.shift();if(!l(c))break;o.unshift(...c.children)}}class u extends R{get placeholderInfo(){if(!this._placeholders){const l=[];let o;this.walk(function(c){return c instanceof y&&(l.push(c),o=!o||o.index<c.index?c:o),!0}),this._placeholders={all:l,last:o}}return this._placeholders}get placeholders(){const{all:l}=this.placeholderInfo;return l}offset(l){let o=0,c=!1;return this.walk(a=>a===l?(c=!0,!1):(o+=a.len(),!0)),c?o:-1}fullLen(l){let o=0;return C([l],c=>(o+=c.len(),!0)),o}enclosingPlaceholders(l){const o=[];let{parent:c}=l;for(;c;)c instanceof y&&o.push(c),c=c.parent;return o}resolveVariables(l){return this.walk(o=>(o instanceof b&&o.resolve(l)&&(this._placeholders=void 0),!0)),this}appendChild(l){return this._placeholders=void 0,super.appendChild(l)}replace(l,o){return this._placeholders=void 0,super.replace(l,o)}clone(){const l=new u;return l._children=this.children.map(o=>o.clone()),l}walk(l){C(this.children,l)}}class i{constructor(){this._scanner=new v,this._token={type:14,pos:0,len:0}}static escape(l){return l.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(l){return/\${?CLIPBOARD/.test(l)}parse(l,o,c){const a=new u;return this.parseFragment(l,a),this.ensureFinalTabstop(a,c??!1,o??!1),a}parseFragment(l,o){const c=o.children.length;for(this._scanner.text(l),this._token=this._scanner.next();this._parse(o););const a=new Map,p=[];o.walk(S=>(S instanceof y&&(S.isFinalTabstop?a.set(0,void 0):!a.has(S.index)&&S.children.length>0?a.set(S.index,S.children):p.push(S)),!0));const _=(S,h)=>{const D=a.get(S.index);if(!D)return;const k=new y(S.index);k.transform=S.transform;
175for(const N of D){const W=N.clone();k.appendChild(W),W instanceof y&&a.has(W.index)&&!h.has(W.index)&&(h.add(W.index),_(W,h),h.delete(W.index))}o.replace(S,[k])},E=new Set;for(const S of p)_(S,E);return o.children.slice(c)}ensureFinalTabstop(l,o,c){(o||c&&l.placeholders.length>0)&&(l.placeholders.find(p=>p.index===0)||l.appendChild(new y(0)))}_accept(l,o){if(l===void 0||this._token.type===l){const c=o?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),c}return!1}_backTo(l){return this._scanner.pos=l.pos+l.len,this._token=l,!1}_until(l){const o=this._token;for(;this._token.type!==l;){if(this._token.type===14)return!1;if(this._token.type===5){const a=this._scanner.next();if(a.type!==0&&a.type!==4&&a.type!==5)return!1}this._token=this._scanner.next()}const c=this._scanner.value.substring(o.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),c}_parse(l){return this._parseEscaped(l)||this._parseTabstopOrVariableName(l)||this._parseComplexPlaceholder(l)||this._parseComplexVariable(l)||this._parseAnything(l)}_parseEscaped(l){let o;return(o=this._accept(5,!0))?(o=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||o,l.appendChild(new x(o)),!0):!1}_parseTabstopOrVariableName(l){let o;const c=this._token;return this._accept(0)&&(o=this._accept(9,!0)||this._accept(8,!0))?(l.appendChild(/^\d+$/.test(o)?new y(Number(o)):new b(o)),!0):this._backTo(c)}_parseComplexPlaceholder(l){let o;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(o=this._accept(8,!0))))return this._backTo(c);const p=new y(Number(o));if(this._accept(1))for(;;){if(this._accept(4))return l.appendChild(p),!0;if(!this._parse(p))return l.appendChild(new x("${"+o+":")),p.children.forEach(l.appendChild,l),!0}else if(p.index>0&&this._accept(7)){const _=new A;for(;;){if(this._parseChoiceElement(_)){if(this._accept(2))continue;if(this._accept(7)&&(p.appendChild(_),this._accept(4)))return l.appendChild(p),!0}return this._backTo(c),!1}}else return this._accept(6)?this._parseTransform(p)?(l.appendChild(p),!0):(this._backTo(c),!1):this._accept(4)?(l.appendChild(p),!0):this._backTo(c)}_parseChoiceElement(l){const o=this._token,c=[];for(;!(this._token.type===2||this._token.type===7);){let a;if((a=this._accept(5,!0))?a=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||a:a=this._accept(void 0,!0),!a)return this._backTo(o),!1;c.push(a)}return c.length===0?(this._backTo(o),!1):(l.appendChild(new x(c.join(""))),!0)}_parseComplexVariable(l){let o;const c=this._token;if(!(this._accept(0)&&this._accept(3)&&(o=this._accept(9,!0))))return this._backTo(c);const p=new b(o);if(this._accept(1))for(;;){if(this._accept(4))return l.appendChild(p),!0;if(!this._parse(p))return l.appendChild(new x("${"+o+":")),p.children.forEach(l.appendChild,l),!0}else return this._accept(6)?this._parseTransform(p)?(l.appendChild(p),!0):(this._backTo(c),!1):this._accept(4)?(l.appendChild(p),!0):this._backTo(c)}_parseTransform(l){const o=new g;let c="",a="";for(;!this._accept(6);){let p;if(p=this._accept(5,!0)){p=this._accept(6,!0)||p,c+=p;continue}if(this._token.type!==14){c+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let p;if(p=this._accept(5,!0)){p=this._accept(5,!0)||this._accept(6,!0)||p,o.appendChild(new x(p));continue}if(!(this._parseFormatString(o)||this._parseAnything(o)))return!1}for(;!this._accept(4);){if(this._token.type!==14){a+=this._accept(void 0,!0);continue}return!1}try{o.regexp=new RegExp(c,a)}catch{return!1}return l.transform=o,!0}_parseFormatString(l){const o=this._token;if(!this._accept(0))return!1;let c=!1;this._accept(3)&&(c=!0);const a=this._accept(8,!0);if(a)if(c){if(this._accept(4))return l.appendChild(new L(Number(a))),!0;if(!this._accept(1))return this._backTo(o),!1}else return l.appendChild(new L(Number(a))),!0;else return this._backTo(o),!1;if(this._accept(6)){const p=this._accept(9,!0);return!p||!this._accept(4)?(this._backTo(o),!1):(l.appendChild(new L(Number(a),p)),!0)}else if(this._accept(11)){const p=this._until(4);if(p)return l.appendChild(new L(Number(a),void 0,p,void 0)),!0}else if(this._accept(12)){const p=this._until(4);if(p)return l.appendChild(new L(Number(a),void 0,void 0,p)),!0}else if(this._accept(13)){const p=this._until(1);if(p){const _=this._until(4);if(_)return l.appendChild(new L(Number(a),void 0,p,_)),!0}}else{const p=this._until(4);if(p)return l.appendChild(new L(Number(a),void 0,void 0,p)),!0}return this._backTo(o),!1}_parseAnything(l){return this._token.type!==14?(l.appendChild(new x(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}},47132:(St,We,e)=>{e.d(We,{M:()=>T});var v=e(13338),R=e(22994),x=e(34883);function T(g,L){if(g.length===0)return L;if(L.length===0)return g;const b=new v.j3(A(g)),C=A(L);C.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let u=b.dequeue();function i(o){if(o===void 0){const a=b.takeWhile(p=>!0)||[];return u&&a.unshift(u),a}const c=[];for(;u&&!(0,x.Vh)(o);){const[a,p]=u.splitAt(o);c.push(a),o=(0,x.MS)(a.lengthAfter,o),u=p??b.dequeue()}return(0,x.Vh)(o)||c.push(new y(!1,o,o)),c}const r=[];function d(o,c,a){if(r.length>0&&(0,x.wP)(r[r.length-1].endOffset,o)){const p=r[r.length-1];r[r.length-1]=new R.c(p.startOffset,c,(0,x.QB)(p.newLength,a))}else r.push({startOffset:o,endOffset:c,newLength:a})}let l=x.Vp;for(const o of C){const c=i(o.lengthBefore);if(o.modified){const a=(0,x.pW)(c,_=>_.lengthBefore),p=(0,x.QB)(l,a);d(l,p,o.lengthAfter),l=p}else for(const a of c){const p=l;l=(0,x.QB)(l,a.lengthBefore),a.modified&&d(p,l,a.lengthAfter)}}return r}class y{constructor(L,b,C){this.modified=L,this.lengthBefore=b,this.lengthAfter=C}splitAt(L){const b=(0,x.MS)(L,this.lengthAfter);return(0,x.wP)(b,x.Vp)?[this,void 0]:this.modified?[new y(this.modified,this.lengthBefore,L),new y(this.modified,x.Vp,b)]:[new y(this.modified,L,L),new y(this.modified,b,b)]}toString(){return`${this.modified?"M":"U"}:${(0,x.l4)(this.lengthBefore)} -> ${(0,x.l4)(this.lengthAfter)}`}}function A(g){const L=[];let b=x.Vp;for(const C of g){const u=(0,x.MS)(b,C.startOffset);(0,x.Vh)(u)||L.push(new y(!1,u,u));const i=(0,x.MS)(C.startOffset,C.endOffset);L.push(new y(!0,i,C.newLength)),b=C.endOffset}return L}},47317:(St,We,e)=>{e.d(We,{$M:()=>g,EI:()=>l,FX:()=>o,GE:()=>i,HC:()=>C,Iu:()=>p,KU:()=>r,Kb:()=>a,M$:()=>b,NI:()=>d,OV:()=>D,PK:()=>E,WA:()=>c,YT:()=>k,dG:()=>$,gP:()=>S,lO:()=>h,ou:()=>A,qw:()=>u,r4:()=>W,rY:()=>L,uB:()=>N,v_:()=>U});var v=e(5915),R=e(37264),x=e(28061),T=e(72564),y=e(3765);class A{constructor(V,I,H){this.offset=V,this.type=I,this.language=H,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}class g{constructor(V,I){this.tokens=V,this.endState=I,this._tokenizationResultBrand=void 0}}class L{constructor(V,I,H){this.tokens=V,this.fontInfo=I,this.endState=H,this._encodedTokenizationResultBrand=void 0}}var b;(function(ne){ne[ne.Increase=0]="Increase",ne[ne.Decrease=1]="Decrease"})(b||(b={}));var C;(function(ne){const V=new Map;V.set(0,v.W.symbolMethod),V.set(1,v.W.symbolFunction),V.set(2,v.W.symbolConstructor),V.set(3,v.W.symbolField),V.set(4,v.W.symbolVariable),V.set(5,v.W.symbolClass),V.set(6,v.W.symbolStruct),V.set(7,v.W.symbolInterface),V.set(8,v.W.symbolModule),V.set(9,v.W.symbolProperty),V.set(10,v.W.symbolEvent),V.set(11,v.W.symbolOperator),V.set(12,v.W.symbolUnit),V.set(13,v.W.symbolValue),V.set(15,v.W.symbolEnum),V.set(14,v.W.symbolConstant),V.set(15,v.W.symbolEnum),V.set(16,v.W.symbolEnumMember),V.set(17,v.W.symbolKeyword),V.set(28,v.W.symbolSnippet),V.set(18,v.W.symbolText),V.set(19,v.W.symbolColor),V.set(20,v.W.symbolFile),V.set(21,v.W.symbolReference),V.set(22,v.W.symbolCustomColor),V.set(23,v.W.symbolFolder),V.set(24,v.W.symbolTypeParameter),V.set(25,v.W.account),V.set(26,v.W.issues),V.set(27,v.W.tools);function I(G){let Y=V.get(G);return Y||(console.info("No codicon found for CompletionItemKind "+G),Y=v.W.symbolProperty),Y}ne.toIcon=I;function H(G){switch(G){case 0:return(0,y.kg)(763,"Method");case 1:return(0,y.kg)(764,"Function");case 2:return(0,y.kg)(765,"Constructor");case 3:return(0,y.kg)(766,"Field");case 4:return(0,y.kg)(767,"Variable");case 5:return(0,y.kg)(768,"Class");case 6:return(0,y.kg)(769,"Struct");case 7:return(0,y.kg)(770,"Interface");case 8:return(0,y.kg)(771,"Module");case 9:return(0,y.kg)(772,"Property");case 10:return(0,y.kg)(773,"Event");case 11:return(0,y.kg)(774,"Operator");case 12:return(0,y.kg)(775,"Unit");case 13:return(0,y.kg)(776,"Value");case 14:return(0,y.kg)(777,"Constant");case 15:return(0,y.kg)(778,"Enum");case 16:return(0,y.kg)(779,"Enum Member");case 17:return(0,y.kg)(780,"Keyword");case 18:return(0,y.kg)(781,"Text");case 19:return(0,y.kg)(782,"Color");case 20:return(0,y.kg)(783,"File");case 21:return(0,y.kg)(784,"Reference");case 22:return(0,y.kg)(785,"Custom Color");case 23:return(0,y.kg)(786,"Folder");case 24:return(0,y.kg)(787,"Type Parameter");case 25:return(0,y.kg)(788,"User");case 26:return(0,y.kg)(789,"Issue");case 27:return(0,y.kg)(790,"Tool");case 28:return(0,y.kg)(791,"Snippet");default:return""}}ne.toLabel=H;const Z=new Map;Z.set("method",0),Z.set("function",1),Z.set("constructor",2),Z.set("field",3),Z.set("variable",4),Z.set("class",5),Z.set("struct",6),Z.set("interface",7),Z.set("module",8),Z.set("property",9),Z.set("event",10),Z.set("operator",11),Z.set("unit",12),Z.set("value",13),Z.set("constant",14),Z.set("enum",15),Z.set("enum-member",16),Z.set("enumMember",16),Z.set("keyword",17),Z.set("snippet",28),Z.set("text",18),Z.set("color",19),Z.set("file",20),Z.set("reference",21),Z.set("customcolor",22),Z.set("folder",23),Z.set("type-parameter",24),Z.set("typeParameter",24),Z.set("account",25),Z.set("issue",26),Z.set("tool",27);function X(G,Y){let j=Z.get(G);return typeof j>"u"&&!Y&&(j=9),j}ne.fromString=X})(C||(C={}));var u;(function(ne){ne[ne.Automatic=0]="Automatic",ne[ne.Explicit=1]="Explicit"})(u||(u={}));class i{constructor(V,I,H,Z){this.range=V,this.text=I,this.completionKind=H,this.isSnippetText=Z}equals(V){return x.Q.lift(this.range).equalsRange(V.range)&&this.text===V.text&&this.completionKind===V.completionKind&&this.isSnippetText===V.isSnippetText}}var r;
175(function(ne){ne[ne.Code=1]="Code",ne[ne.Label=2]="Label"})(r||(r={}));class d{static fromExtensionId(V){return new d(V,void 0,void 0)}constructor(V,I,H){this.extensionId=V,this.extensionVersion=I,this.providerId=H}toString(){let V="";return this.extensionId&&(V+=this.extensionId),this.extensionVersion&&(V+=`@${this.extensionVersion}`),this.providerId&&(V+=`:${this.providerId}`),V.length===0&&(V="unknown"),V}toStringWithoutVersion(){let V="";return this.extensionId&&(V+=this.extensionId),this.providerId&&(V+=`:${this.providerId}`),V}}var l;(function(ne){ne[ne.Accepted=0]="Accepted",ne[ne.Rejected=1]="Rejected",ne[ne.Ignored=2]="Ignored"})(l||(l={}));var o;(function(ne){ne[ne.Automatic=0]="Automatic",ne[ne.PasteAs=1]="PasteAs"})(o||(o={}));var c;(function(ne){ne[ne.Invoke=1]="Invoke",ne[ne.TriggerCharacter=2]="TriggerCharacter",ne[ne.ContentChange=3]="ContentChange"})(c||(c={}));var a;(function(ne){ne[ne.Text=0]="Text",ne[ne.Read=1]="Read",ne[ne.Write=2]="Write"})(a||(a={}));function p(ne){return!!ne&&R.r.isUri(ne.uri)&&x.Q.isIRange(ne.range)&&(x.Q.isIRange(ne.originSelectionRange)||x.Q.isIRange(ne.targetSelectionRange))}const _={17:(0,y.kg)(792,"array"),16:(0,y.kg)(793,"boolean"),4:(0,y.kg)(794,"class"),13:(0,y.kg)(795,"constant"),8:(0,y.kg)(796,"constructor"),9:(0,y.kg)(797,"enumeration"),21:(0,y.kg)(798,"enumeration member"),23:(0,y.kg)(799,"event"),7:(0,y.kg)(800,"field"),0:(0,y.kg)(801,"file"),11:(0,y.kg)(802,"function"),10:(0,y.kg)(803,"interface"),19:(0,y.kg)(804,"key"),5:(0,y.kg)(805,"method"),1:(0,y.kg)(806,"module"),2:(0,y.kg)(807,"namespace"),20:(0,y.kg)(808,"null"),15:(0,y.kg)(809,"number"),18:(0,y.kg)(810,"object"),24:(0,y.kg)(811,"operator"),3:(0,y.kg)(812,"package"),6:(0,y.kg)(813,"property"),14:(0,y.kg)(814,"string"),22:(0,y.kg)(815,"struct"),25:(0,y.kg)(816,"type parameter"),12:(0,y.kg)(817,"variable")};function E(ne,V){return(0,y.kg)(818,"{0} ({1})",ne,_[V])}var S;(function(ne){const V=new Map;V.set(0,v.W.symbolFile),V.set(1,v.W.symbolModule),V.set(2,v.W.symbolNamespace),V.set(3,v.W.symbolPackage),V.set(4,v.W.symbolClass),V.set(5,v.W.symbolMethod),V.set(6,v.W.symbolProperty),V.set(7,v.W.symbolField),V.set(8,v.W.symbolConstructor),V.set(9,v.W.symbolEnum),V.set(10,v.W.symbolInterface),V.set(11,v.W.symbolFunction),V.set(12,v.W.symbolVariable),V.set(13,v.W.symbolConstant),V.set(14,v.W.symbolString),V.set(15,v.W.symbolNumber),V.set(16,v.W.symbolBoolean),V.set(17,v.W.symbolArray),V.set(18,v.W.symbolObject),V.set(19,v.W.symbolKey),V.set(20,v.W.symbolNull),V.set(21,v.W.symbolEnumMember),V.set(22,v.W.symbolStruct),V.set(23,v.W.symbolEvent),V.set(24,v.W.symbolOperator),V.set(25,v.W.symbolTypeParameter);function I(X){let G=V.get(X);return G||(console.info("No codicon found for SymbolKind "+X),G=v.W.symbolProperty),G}ne.toIcon=I;const H=new Map;H.set(0,20),H.set(1,8),H.set(2,8),H.set(3,8),H.set(4,5),H.set(5,0),H.set(6,9),H.set(7,3),H.set(8,2),H.set(9,15),H.set(10,7),H.set(11,1),H.set(12,4),H.set(13,14),H.set(14,18),H.set(15,13),H.set(16,13),H.set(17,13),H.set(18,13),H.set(19,17),H.set(20,13),H.set(21,16),H.set(22,6),H.set(23,10),H.set(24,11),H.set(25,24);function Z(X){let G=H.get(X);return G===void 0&&(console.info("No completion kind found for SymbolKind "+X),G=20),G}ne.toCompletionKind=Z})(S||(S={}));const te=class te{static fromValue(V){switch(V){case"comment":return te.Comment;case"imports":return te.Imports;case"region":return te.Region}return new te(V)}constructor(V){this.value=V}};te.Comment=new te("comment"),te.Imports=new te("imports"),te.Region=new te("region");let h=te;var D;(function(ne){ne[ne.AIGenerated=1]="AIGenerated"})(D||(D={}));var k;(function(ne){ne[ne.Invoke=0]="Invoke",ne[ne.Automatic=1]="Automatic"})(k||(k={}));var N;(function(ne){function V(I){return!I||typeof I!="object"?!1:typeof I.id=="string"&&typeof I.title=="string"}ne.is=V})(N||(N={}));var W;(function(ne){ne[ne.Type=1]="Type",ne[ne.Parameter=2]="Parameter"})(W||(W={}));class U{constructor(V){this.createSupport=V,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(V=>{V&&V.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}
175const $=new T.d},47536:(St,We,e)=>{e.d(We,{M:()=>T});var v=e(2106),R=e(10998);class x extends R.jG{constructor(){super(...arguments),this._tabFocus=!1,this._onDidChangeTabFocus=this._register(new v.vl),this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(A){this._tabFocus=A,this._onDidChangeTabFocus.fire(this._tabFocus)}}const T=new x},47624:(St,We,e)=>{e.d(We,{l:()=>R});var v=e(38792);function R(T){return new x(T)}class x extends v.zV{constructor(y){super(),this.value=y}get debugName(){return this.toString()}get(){return this.value}addObserver(y){}removeObserver(y){}toString(){return`Const: ${this.value}`}}},47738:(St,We,e)=>{var I;var v=e(50946),R=e(90426),x=e(50875),T=e(13338),y=e(65958),A=e(69887),g=e(94327),L=e(14731),b=e(10998),C=e(3765),u=e(85753),i=e(31540),r=e(91860),d=e(82399),l=e(13454),o=e(28061),c=e(29849);class a{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(Z){if(Z&&this._dragOperations.has(Z)){const X=this._dragOperations.get(Z);return this._dragOperations.delete(Z),X}}}class p{constructor(Z){this.identifier=Z}}var _=e(66726);const E=(0,d.u1)("treeViewsDndService");(0,_.v)(E,a,1);var S=e(62105),h=e(99207),D=e(71469),k=e(18447),N=function(H,Z,X,G){var Y=arguments.length,j=Y<3?Z:G===null?G=Object.getOwnPropertyDescriptor(Z,X):G,z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(H,Z,X,G);else for(var ie=H.length-1;ie>=0;ie--)(z=H[ie])&&(j=(Y<3?z(j):Y>3?z(Z,X,j):z(Z,X))||j);return Y>3&&j&&Object.defineProperty(Z,X,j),j},W=function(H,Z){return function(X,G){Z(X,G,H)}},U;const $="editor.dropIntoEditor.preferences",te="editor.changeDropType",ne=new i.N1("dropWidgetVisible",!1,(0,C.kg)(973,"Whether the drop widget is showing"));let V=(I=class extends b.jG{static get(Z){return Z.getContribution(U.ID)}constructor(Z,X,G,Y,j){super(),this._configService=G,this._languageFeaturesService=Y,this._treeViewsDragAndDropService=j,this.treeItemsTransfer=r.PD.getInstance(),this._dropProgressManager=this._register(X.createInstance(h.I,"dropIntoEditor",Z)),this._postDropWidgetManager=this._register(X.createInstance(k.G,"dropIntoEditor",Z,ne,{id:te,label:(0,C.kg)(974,"Show drop options...")},()=>U._configureDefaultAction?[U._configureDefaultAction]:[])),this._register(Z.onDropIntoEditor(z=>this.onDropIntoEditor(Z,z.position,z.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(Z,X,G){if(!G.dataTransfer||!Z.hasModel())return;U._currentDropOperation?.cancel(),Z.focus(),Z.setPosition(X);const Y=(0,y.SS)(async j=>{const z=new b.Cm,ie=z.add(new S.gI(Z,1,void 0,j));try{const re=await this.extractDataTransferData(G);if(re.size===0||ie.token.isCancellationRequested)return;const de=Z.getModel();if(!de)return;const le=this._languageFeaturesService.documentDropEditProvider.ordered(de).filter(we=>we.dropMimeTypes?we.dropMimeTypes.some(xe=>re.matches(xe)):!0),he=z.add(await this.getDropEdits(le,de,X,re,ie.token));if(ie.token.isCancellationRequested)return;if(he.edits.length){const we=this.getInitialActiveEditIndex(de,he.edits),xe=Z.getOption(43).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([o.Q.fromPositions(X)],{activeEditIndex:we,allEdits:he.edits},xe,async Be=>Be,j)}}finally{z.dispose(),U._currentDropOperation===Y&&(U._currentDropOperation=void 0)}});this._dropProgressManager.showWhile(X,(0,C.kg)(975,"Running drop handlers. Click to cancel"),Y,{cancel:()=>Y.cancel()}),U._currentDropOperation=Y}async getDropEdits(Z,X,G,Y,j){const z=new b.Cm,ie=await(0,y.PK)(Promise.all(Z.map(async de=>{try{const le=await de.provideDocumentDropEdits(X,G,Y,j);return le&&z.add(le),le?.edits.map(he=>({...he,providerId:de.id}))}catch(le){(0,g.MB)(le)||console.error(le),console.error(le)}})),j),re=(0,T.Yc)(ie??[]).flat();return{edits:(0,D.H)(re),dispose:()=>z.dispose()}}getInitialActiveEditIndex(Z,X){const G=this._configService.getValue($,{resource:Z.uri});for(const Y of Array.isArray(G)?G:[]){const j=new L.k(Y),z=X.findIndex(ie=>ie.kind&&j.contains(ie.kind));if(z>=0)return z}return 0}
175async extractDataTransferData(Z){if(!Z.dataTransfer)return new A.Vq;const X=(0,l.l)(Z.dataTransfer);if(this.treeItemsTransfer.hasData(p.prototype)){const G=this.treeItemsTransfer.getData(p.prototype);if(Array.isArray(G))for(const Y of G){const j=await this._treeViewsDragAndDropService.removeDragOperationTransfer(Y.identifier);if(j)for(const[z,ie]of j)X.replace(z,ie)}}return X}},U=I,I.ID="editor.contrib.dropIntoEditorController",I);V=U=N([W(1,d._Y),W(2,u.pG),W(3,c.u),W(4,E)],V),(0,v.HW)(V.ID,V,2),(0,R.x)(x.ZR),(0,v.E_)(new class extends v.DX{constructor(){super({id:te,precondition:ne,kbOpts:{weight:100,primary:2137}})}runEditorCommand(H,Z,X){V.get(Z)?.changeDropType()}}),(0,v.E_)(new class extends v.DX{constructor(){super({id:"editor.hideDropWidget",precondition:ne,kbOpts:{weight:100,primary:9}})}runEditorCommand(H,Z,X){V.get(Z)?.clearWidgets()}})},47791:(St,We,e)=>{var Te,oe,q;e.d(We,{A:()=>ht});var v=e(78166),R=e(10998),x=e(82399),T=e(9145),y=e(56071),A=e(65958),g=e(86427),L=e(14333),b=e(47317),C=e(50359),u=e(46311),i=e(12111),r=e(15365);const d=30,l=24;class o extends R.jG{constructor(J,ve=new L.fg(10,10)){super(),this._editor=J,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new i.v),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=L.fg.lift(ve),this._resizableNode.layout(ve.height,ve.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(De=>{this._resize(new L.fg(De.dimension.width,De.dimension.height)),De.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){return this._contentPosition?.position?r.y.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(J){const ve=this._editor.getDomNode(),De=this._editor.getScrolledVisiblePosition(J);return!ve||!De?void 0:(0,L.BK)(ve).top+De.top-d}_availableVerticalSpaceBelow(J){const ve=this._editor.getDomNode(),De=this._editor.getScrolledVisiblePosition(J);if(!ve||!De)return;const fe=(0,L.BK)(ve),Se=(0,L.tG)(ve.ownerDocument.body),pe=fe.top+De.top+De.height;return Se.height-pe-l}_findPositionPreference(J,ve){const De=Math.min(this._availableVerticalSpaceBelow(ve)??1/0,J),fe=Math.min(this._availableVerticalSpaceAbove(ve)??1/0,J),Se=Math.min(Math.max(fe,De),J),pe=Math.min(J,Se);let Ae;return this._editor.getOption(69).above?Ae=pe<=fe?1:2:Ae=pe<=De?2:1,Ae===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),Ae}_resize(J){this._resizableNode.layout(J.height,J.width)}}var c=e(31540),a=e(85753),p=e(53909),_=e(38122),E=e(82222),S=e(2106),h=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},D=function(ue,J){return function(ve,De){J(ve,De,ue)}},k;const N=30;let W=(Te=class extends o{get isVisibleFromKeyboard(){return this._renderedHover?.source===2}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(J,ve,De,fe,Se){const pe=J.getOption(75)+8,Ae=150,Xe=new L.fg(Ae,pe);super(J,Xe),this._configurationService=De,this._accessibilityService=fe,this._keybindingService=Se,this._hover=this._register(new E.N4(!0)),this._onDidResize=this._register(new S.vl),this.onDidResize=this._onDidResize.event,this._onDidScroll=this._register(new S.vl),this.onDidScroll=this._onDidScroll.event,this._onContentsChanged=this._register(new S.vl),this.onContentsChanged=this._onContentsChanged.event,this._minimumSize=Xe,this._hoverVisibleKey=_.R.hoverVisible.bindTo(ve),this._hoverFocusedKey=_.R.hoverFocused.bindTo(ve),(0,L.BC)(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._resizableNode.domNode.className="monaco-resizable-hover",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(gt=>{gt.hasChanged(59)&&this._updateFont()}));const dt=this._register((0,L.w5)(this._resizableNode.domNode));this._register(dt.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(dt.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._register(this._hover.scrollbar.onScroll(gt=>{this._onDidScroll.fire(gt)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){super.dispose(),this._renderedHover?.dispose(),this._editor.removeContentWidget(this)}getId(){return k.ID}static _applyDimensions(J,ve,De){const fe=typeof ve=="number"?`${ve}px`:ve,Se=typeof De=="number"?`${De}px`:De;J.style.width=fe,J.style.height=Se}_setContentsDomNodeDimensions(J,ve){const De=this._hover.contentsDomNode;return k._applyDimensions(De,J,ve)}_setContainerDomNodeDimensions(J,ve){const De=this._hover.containerDomNode;return k._applyDimensions(De,J,ve)}_setScrollableElementDimensions(J,ve){const De=this._hover.scrollbar.getDomNode();return k._applyDimensions(De,J,ve)}_setHoverWidgetDimensions(J,ve){this._setContainerDomNodeDimensions(J,ve),this._setScrollableElementDimensions(J,ve),this._setContentsDomNodeDimensions(J,ve),this._layoutContentWidget()}static _applyMaxDimensions(J,ve,De){const fe=typeof ve=="number"?`${ve}px`:ve,Se=typeof De=="number"?`${De}px`:De;J.style.maxWidth=fe,J.style.maxHeight=Se}_setHoverWidgetMaxDimensions(J,ve){k._applyMaxDimensions(this._hover.contentsDomNode,J,ve),k._applyMaxDimensions(this._hover.scrollbar.getDomNode(),J,ve),k._applyMaxDimensions(this._hover.containerDomNode,J,ve),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof J=="number"?`${J}px`:J),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(J){this._setHoverWidgetMaxDimensions("none","none"),this._setHoverWidgetDimensions(J.width,J.height)}_updateResizableNodeMaxDimensions(){const J=this._findMaximumRenderingWidth()??1/0,ve=this._findMaximumRenderingHeight()??1/0;this._resizableNode.maxSize=new L.fg(J,ve),this._setHoverWidgetMaxDimensions(J,ve)}_resize(J){k._lastDimensions=new L.fg(J.width,J.height),this._setAdjustedHoverWidgetDimensions(J),this._resizableNode.layout(J.height,J.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){const J=this._renderedHover?.showAtPosition;if(J)return this._positionPreference===1?this._availableVerticalSpaceAbove(J):this._availableVerticalSpaceBelow(J)}_findMaximumRenderingHeight(){const J=this._findAvailableSpaceVertically();if(!J)return;let De=this._hover.contentsDomNode.children.length-1;
175return Array.from(this._hover.contentsDomNode.children).forEach(fe=>{De+=fe.clientHeight}),Math.min(J,De)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const J=Array.from(this._hover.contentsDomNode.children).some(ve=>ve.scrollWidth>ve.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),J}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const J=this._isHoverTextOverflowing(),ve=typeof this._contentWidth>"u"?0:this._contentWidth;return J||this._hover.containerDomNode.clientWidth<ve?(0,L.tG)(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth}isMouseGettingCloser(J,ve){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=J,this._renderedHover.initialMousePosY=ve,!1;const De=(0,L.BK)(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=U(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,De.left,De.top,De.width,De.height));const fe=U(J,ve,De.left,De.top,De.width,De.height);return fe>this._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,fe),!0)}_setRenderedHover(J){this._renderedHover?.dispose(),this._renderedHover=J,this._hoverVisibleKey.set(!!J),this._hover.containerDomNode.classList.toggle("hidden",!J)}_updateFont(){const{fontSize:J,lineHeight:ve}=this._editor.getOption(59),De=this._hover.contentsDomNode;De.style.fontSize=`${J}px`,De.style.lineHeight=`${ve/J}`,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(Se=>this._editor.applyFontInfo(Se))}_updateContent(J){const ve=this._hover.contentsDomNode;ve.style.paddingBottom="",ve.textContent="",ve.appendChild(J)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const J=Math.max(this._editor.getLayoutInfo().height/4,250,k._lastDimensions.height),ve=Math.max(this._editor.getLayoutInfo().width*.66,750,k._lastDimensions.width);this._resizableNode.maxSize=new L.fg(ve,J),this._setHoverWidgetMaxDimensions(ve,J)}_render(J){this._setRenderedHover(J),this._updateFont(),this._updateContent(J.domNode),this.handleContentsChanged(),this._editor.render()}getPosition(){return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[this._positionPreference??1]}:null}show(J){if(!this._editor||!this._editor.hasModel())return;this._render(J);const ve=(0,L.OK)(this._hover.containerDomNode),De=J.showAtPosition;this._positionPreference=this._findPositionPreference(ve,De)??1,this.handleContentsChanged(),J.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const Se=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(0,E.vr)(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel()??"");Se&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+Se)}hide(){if(!this._renderedHover)return;const J=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new L.fg(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),J&&this._editor.focus()}_removeConstraintsRenderNormally(){const J=this._editor.getLayoutInfo();this._resizableNode.layout(J.height,J.width),this._setHoverWidgetDimensions("auto","auto"),this._updateMaxDimensions()}setMinimumDimensions(J){this._minimumSize=new L.fg(Math.max(this._minimumSize.width,J.width),Math.max(this._minimumSize.height,J.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const J=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new L.fg(J,this._minimumSize.height)}handleContentsChanged(){this._removeConstraintsRenderNormally();const J=this._hover.contentsDomNode;let ve=(0,L.OK)(J),De=(0,L.Tr)(J)+2;if(this._resizableNode.layout(ve,De),this._setHoverWidgetDimensions(De,ve),ve=(0,L.OK)(J),De=(0,L.Tr)(J),this._contentWidth=De,this._updateMinimumWidth(),this._resizableNode.layout(ve,De),this._renderedHover?.showAtPosition){const fe=(0,L.OK)(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(fe,this._renderedHover.showAtPosition)}this._layoutContentWidget(),this._onContentsChanged.fire()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const J=this._hover.scrollbar.getScrollPosition().scrollTop,ve=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:J-ve.lineHeight})}scrollDown(){const J=this._hover.scrollbar.getScrollPosition().scrollTop,ve=this._editor.getOption(59);this._hover.scrollbar.setScrollPosition({scrollTop:J+ve.lineHeight})}scrollLeft(){const J=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:J-N})}scrollRight(){const J=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:J+N})}pageUp(){const J=this._hover.scrollbar.getScrollPosition().scrollTop,ve=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:J-ve})}pageDown(){const J=this._hover.scrollbar.getScrollPosition().scrollTop,ve=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:J+ve})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},k=Te,Te.ID="editor.contrib.resizableContentHoverWidget",Te._lastDimensions=new L.fg(0,0),Te);W=k=h([D(1,c.fN),D(2,a.pG),D(3,p.j),D(4,y.b)],W);function U(ue,J,ve,De,fe,Se){const pe=ve+fe/2,Ae=De+Se/2,Xe=Math.max(Math.abs(ue-pe)-fe/2,0),dt=Math.max(Math.abs(J-Ae)-Se/2,0);return Math.sqrt(Xe*Xe+dt*dt)}var $=e(13338);class te{constructor(J,ve){this._editor=J,this._participants=ve}
175static _getLineDecorations(J,ve){if(ve.type!==1&&!ve.supportsMarkerHover)return[];const De=J.getModel(),fe=ve.range.startLineNumber;if(fe>De.getLineCount())return[];const Se=De.getLineMaxColumn(fe);return J.getLineDecorations(fe).filter(pe=>{if(pe.options.isWholeLine)return!0;const Ae=pe.range.startLineNumber===fe?pe.range.startColumn:1,Xe=pe.range.endLineNumber===fe?pe.range.endColumn:Se;if(pe.options.showIfCollapsed){if(Ae>ve.range.startColumn+1||ve.range.endColumn-1>Xe)return!1}else if(Ae>ve.range.startColumn||ve.range.endColumn>Xe)return!1;return!0})}computeAsync(J,ve){const De=J.anchor;if(!this._editor.hasModel()||!De)return A.PQ.EMPTY;const fe=te._getLineDecorations(this._editor,De);return A.PQ.merge(this._participants.map(Se=>Se.computeAsync?Se.computeAsync(De,fe,J.source,ve):A.PQ.EMPTY))}computeSync(J){if(!this._editor.hasModel())return[];const ve=J.anchor,De=te._getLineDecorations(this._editor,ve);let fe=[];for(const Se of this._participants)fe=fe.concat(Se.computeSync(ve,De,J.source));return(0,$.Yc)(fe)}}class ne{constructor(J,ve,De){this.hoverParts=J,this.isComplete=ve,this.options=De}filter(J){const ve=this.hoverParts.filter(De=>De.isValidForHoverAnchor(J));return ve.length===this.hoverParts.length?this:new V(this,ve,this.isComplete,this.options)}}class V extends ne{constructor(J,ve,De,fe){super(ve,De,fe),this.original=J}filter(J){return this.original.filter(J)}}var I=e(66654),H=e(3338),Z=e(90428),X=e(3765),G=e(5915),Y=e(89803),j=e(44385),z=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},ie=function(ue,J){return function(ve,De){J(ve,De,ue)}};let re=class extends R.jG{constructor(J,ve,De,fe){super(),this._container=J,this._getContent=ve,this._clipboardService=De,this._hoverService=fe,this._container.classList.add("hover-row-with-copy"),this._button=this._register(new Y.dF({label:(0,X.kg)(1171,"Copy"),icon:G.W.copy,onTrigger:()=>this._copyContent(),className:"hover-copy-button"},this._hoverService)),this._container.appendChild(this._button.domNode)}async _copyContent(){const J=this._getContent();J&&(await this._clipboardService.writeText(J),(0,j.h5)((0,X.kg)(1172,"Copied to clipboard")))}};re=z([ie(2,H.h),ie(3,Z.TN)],re);var de=e(31531),le=e(28061),he=e(14270),we=e(98349),xe=e(27682),Be=e(94327),M=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},Ve=function(ue,J){return function(ve,De){J(ve,De,ue)}},Me,Le;let _e=Me=class extends R.jG{constructor(J,ve,De,fe,Se,pe,Ae){super();const Xe=ve.hoverParts;this._renderedHoverParts=this._register(new je(J,De,Xe,fe,Se,pe,Ae));const dt=ve.options,gt=dt.anchor,{showAtPosition:Bt,showAtSecondaryPosition:_t}=Me.computeHoverPositions(J,gt.range,Xe);this.shouldAppearBeforeContent=Xe.some(ri=>ri.isBeforeContent),this.showAtPosition=Bt,this.showAtSecondaryPosition=_t,this.initialMousePosX=gt.initialMousePosX,this.initialMousePosY=gt.initialMousePosY,this.shouldFocus=dt.shouldFocus,this.source=dt.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}get hoverPartsCount(){return this._renderedHoverParts.hoverPartsCount}focusHoverPartWithIndex(J){this._renderedHoverParts.focusHoverPartWithIndex(J)}async updateHoverVerbosityLevel(J,ve,De){this._renderedHoverParts.updateHoverVerbosityLevel(J,ve,De)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(J,ve,De){let fe=1;
175if(J.hasModel()){const gt=J._getViewModel(),Bt=gt.coordinatesConverter,_t=Bt.convertModelRangeToViewRange(ve),ri=gt.getLineMinColumn(_t.startLineNumber),Gt=new r.y(_t.startLineNumber,ri);fe=Bt.convertViewPositionToModelPosition(Gt).column}const Se=ve.startLineNumber;let pe=ve.startColumn,Ae;for(const gt of De){const Bt=gt.range,_t=Bt.startLineNumber===Se,ri=Bt.endLineNumber===Se;if(_t&&ri){const ei=Bt.startColumn,Zt=Math.min(pe,ei);pe=Math.max(Zt,fe)}gt.forceShowAtRange&&(Ae=Bt)}let Xe,dt;if(Ae){const gt=Ae.getStartPosition();Xe=gt,dt=gt}else Xe=ve.getStartPosition(),dt=new r.y(Se,pe);return{showAtPosition:Xe,showAtSecondaryPosition:dt}}};_e=Me=M([Ve(4,y.b),Ve(5,Z.TN),Ve(6,H.h)],_e);class Qe{constructor(J,ve){this._statusBar=ve,J.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}let je=(oe=class extends R.jG{constructor(J,ve,De,fe,Se,pe,Ae){super(),this._hoverService=pe,this._clipboardService=Ae,this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=fe,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(ve,De,fe,Se,this._hoverService)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(J,De)),this._updateMarkdownAndColorParticipantInfo(ve)}_createEditorDecorations(J,ve){if(ve.length===0)return R.jG.None;let De=ve[0].range;for(const Se of ve){const pe=Se.range;De=le.Q.plusRange(De,pe)}const fe=J.createDecorationsCollection();return fe.set([{range:De,options:Le._DECORATION_OPTIONS}]),(0,R.s)(()=>{fe.clear()})}_renderParts(J,ve,De,fe,Se){const pe=new I.L(fe,Se),Ae={fragment:this._fragment,statusBar:pe,...De},Xe=new R.Cm;Xe.add(pe);for(const gt of J){const Bt=this._renderHoverPartsForParticipant(ve,gt,Ae);Xe.add(Bt);for(const _t of Bt.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:gt,hoverPart:_t.hoverPart,hoverElement:_t.hoverElement})}const dt=this._renderStatusBar(this._fragment,pe);return dt&&(Xe.add(dt),this._renderedParts.push({type:"statusBar",hoverElement:dt.hoverElement,actions:dt.actions})),Xe}_renderHoverPartsForParticipant(J,ve,De){const fe=J.filter(pe=>pe.owner===ve);return fe.length>0?ve.renderHoverParts(De,fe):new u.Ke([])}_renderStatusBar(J,ve){if(ve.hasContent)return new Qe(J,ve)}_registerListenersOnRenderedParts(){const J=new R.Cm;return this._renderedParts.forEach((ve,De)=>{const fe=ve.hoverElement;fe.tabIndex=0,J.add((0,L.ko)(fe,L.Bx.FOCUS_IN,Se=>{Se.stopPropagation(),this._focusedHoverPartIndex=De})),J.add((0,L.ko)(fe,L.Bx.FOCUS_OUT,Se=>{Se.stopPropagation(),this._focusedHoverPartIndex=-1})),ve.type==="hoverPart"&&!ve.participant.hideCopyButton&&J.add(new re(fe,()=>ve.participant.getAccessibleContent(ve.hoverPart),this._clipboardService,this._hoverService))}),J}_updateMarkdownAndColorParticipantInfo(J){const ve=J.find(De=>De instanceof he.xJ&&!(De instanceof xe.u));ve&&(this._markdownHoverParticipant=ve),this._colorHoverParticipant=J.find(De=>De instanceof we.r)}focusHoverPartWithIndex(J){J<0||J>=this._renderedParts.length||this._renderedParts[J].hoverElement.focus()}async updateHoverVerbosityLevel(J,ve,De){if(!this._markdownHoverParticipant)return;let fe;ve>=0?fe={start:ve,endExclusive:ve+1}:fe=this._findRangeOfMarkdownHoverParts(this._markdownHoverParticipant);for(let Se=fe.start;Se<fe.endExclusive;Se++){const pe=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,Se);if(pe===void 0)continue;const Ae=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(J,pe);Ae&&(this._renderedParts[Se]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:Ae.hoverPart,hoverElement:Ae.hoverElement})}De&&(ve>=0?this.focusHoverPartWithIndex(ve):this._context.focus()),this._context.onContentsChanged()}isColorPickerVisible(){return this._colorHoverParticipant?.isColorPickerVisible()??!1}_normalizedIndexToMarkdownHoverIndexRange(J,ve){const De=this._renderedParts[ve];if(!De||De.type!=="hoverPart"||!(De.participant===J))return;const Se=this._renderedParts.findIndex(pe=>pe.type==="hoverPart"&&pe.participant===J);if(Se===-1)throw new Be.D7;return ve-Se}_findRangeOfMarkdownHoverParts(J){const ve=this._renderedParts.slice(),De=ve.findIndex(pe=>pe.type==="hoverPart"&&pe.participant===J),fe=ve.reverse().findIndex(pe=>pe.type==="hoverPart"&&pe.participant===J),Se=fe>=0?ve.length-fe:fe;return{start:De,endExclusive:Se+1}}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}
175get focusedHoverPartIndex(){return this._focusedHoverPartIndex}get hoverPartsCount(){return this._renderedParts.length}},Le=oe,oe._DECORATION_OPTIONS=de.kI.register({description:"content-hover-highlight",className:"hoverHighlight"}),oe);je=Le=M([Ve(4,y.b),Ve(5,Z.TN),Ve(6,H.h)],je);var ae=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},Ee=function(ue,J){return function(ve,De){J(ve,De,ue)}};let Ie=class extends R.jG{constructor(J,ve,De,fe,Se){super(),this._editor=J,this._instantiationService=ve,this._keybindingService=De,this._hoverService=fe,this._clipboardService=Se,this._currentResult=null,this._renderedContentHover=this._register(new R.HE),this._onContentsChanged=this._register(new S.vl),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(W,this._editor)),this._participants=this._initializeHoverParticipants(),this._hoverOperation=this._register(new C.w(this._editor,new te(this._editor,this._participants))),this._registerListeners()}_initializeHoverParticipants(){const J=[];for(const ve of u.B2.getAll()){const De=this._instantiationService.createInstance(ve,this._editor);J.push(De)}return J.sort((ve,De)=>ve.hoverOrdinal-De.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>
175{this._participants.forEach(ve=>ve.handleResize?.())})),this._register(this._contentHoverWidget.onDidScroll(ve=>{this._participants.forEach(De=>De.handleScroll?.(ve))})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._participants.forEach(ve=>ve.handleContentsChanged?.())})),J}_registerListeners(){this._register(this._hoverOperation.onResult(ve=>{const De=ve.hasLoadingMessage?this._addLoadingMessage(ve):ve.value;this._withResult(new ne(De,ve.isComplete,ve.options))}));const J=this._contentHoverWidget.getDomNode();this._register((0,L.un)(J,"keydown",ve=>{ve.equals(9)&&this.hide()})),this._register((0,L.un)(J,"mouseleave",ve=>{this._onMouseLeave(ve)})),this._register(b.dG.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})),this._register(this._contentHoverWidget.onContentsChanged(()=>{this._onContentsChanged.fire()}))}_startShowingOrUpdateHover(J,ve,De,fe,Se){if(!(this._contentHoverWidget.position&&this._currentResult))return J?(this._startHoverOperationIfNecessary(J,ve,De,fe,!1),!0):!1;const Ae=this._editor.getOption(69).sticky,Xe=Se&&this._contentHoverWidget.isMouseGettingCloser(Se.event.posx,Se.event.posy);return Ae&&Xe?(J&&this._startHoverOperationIfNecessary(J,ve,De,fe,!0),!0):J?this._currentResult&&this._currentResult.options.anchor.equals(J)?!0:this._currentResult&&J.canAdoptVisibleHover(this._currentResult.options.anchor,this._contentHoverWidget.position)?(this._currentResult&&this._setCurrentResult(this._currentResult.filter(J)),this._startHoverOperationIfNecessary(J,ve,De,fe,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(J,ve,De,fe,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(J,ve,De,fe,Se){if(this._hoverOperation.options&&this._hoverOperation.options.anchor.equals(J))return;this._hoverOperation.cancel();const Ae={anchor:J,source:De,shouldFocus:fe,insistOnKeepingHoverVisible:Se};this._hoverOperation.start(ve,Ae)}_setCurrentResult(J){let ve=J;if(this._currentResult===ve)return;ve&&ve.hoverParts.length===0&&(ve=null),this._currentResult=ve,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(J){for(const ve of this._participants){if(!ve.createLoadingMessage)continue;const De=ve.createLoadingMessage(J.options.anchor);if(De)return J.value.slice(0).concat([De])}return J.value}_withResult(J){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(J),!J.isComplete)return;const fe=J.hoverParts.length===0,Se=J.options.insistOnKeepingHoverVisible;fe&&Se||this._setCurrentResult(J)}_showHover(J){const ve=this._getHoverContext();this._renderedContentHover.value=new _e(this._editor,J,this._participants,ve,this._keybindingService,this._hoverService,this._clipboardService),this._renderedContentHover.value.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover.value):this._renderedContentHover.clear()}_hideHover(){this._contentHoverWidget.hide(),this._participants.forEac
175h(J=>J.handleHide?.())}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._contentHoverWidget.handleContentsChanged()},setMinimumDimensions:Se=>{this._contentHoverWidget.setMinimumDimensions(Se)},focus:()=>this.focus()}}showsOrWillShow(J){if(this._contentHoverWidget.isResizing)return!0;const De=this._findHoverAnchorCandidates(J);if(!(De.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,J);const Se=De[0];return this._startShowingOrUpdateHover(Se,0,0,!1,J)}_findHoverAnchorCandidates(J){const ve=[];for(const fe of this._participants){if(!fe.suggestHoverAnchor)continue;const Se=fe.suggestHoverAnchor(J);Se&&ve.push(Se)}const De=J.target;switch(De.type){case 6:{ve.push(new u.hx(0,De.range,J.event.posx,J.event.posy));break}case 7:{const fe=this._editor.getOption(59).typicalHalfwidthCharacterWidth/2;if(!(!De.detail.isAfterLines&&typeof De.detail.horizontalDistanceToText=="number"&&De.detail.horizontalDistanceToText<fe))break;ve.push(new u.hx(0,De.range,J.event.posx,J.event.posy));break}}return ve.sort((fe,Se)=>Se.priority-fe.priority),ve}_onMouseLeave(J){const ve=this._editor.getDomNode();(!ve||!(0,g.UH)(ve,J.x,J.y))&&this.hide()}startShowingAtRange(J,ve,De,fe){this._startShowingOrUpdateHover(new u.hx(0,J,void 0,void 0),ve,De,fe,null)}async updateHoverVerbosityLevel(J,ve,De){this._renderedContentHover.value?.updateHoverVerbosityLevel(J,ve,De)}focusedHoverPartIndex(){return this._renderedContentHover.value?.focusedHoverPartIndex??-1}containsNode(J){return J?this._contentHoverWidget.getDomNode().contains(J):!1}focus(){if(this._renderedContentHover.value?.hoverPartsCount===1){this.focusHoverPartWithIndex(0);return}this._contentHoverWidget.focus()}focusHoverPartWithIndex(J){this._renderedContentHover.value?.focusHoverPartWithIndex(J)}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){return this._renderedContentHover.value?.isColorPickerVisible()??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};Ie=ae([Ee(1,x._Y),Ee(2,y.b),Ee(3,Z.TN),Ee(4,H.h)],Ie);var Ue=e(64569),$e=e(3802),Ye=e(68387),Ce=e(52348),He=function(ue,J,ve,De){var fe=arguments.length,Se=fe<3?J:De===null?De=Object.getOwnPropertyDescriptor(J,ve):De,pe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Se=Reflect.decorate(ue,J,ve,De);else for(var Ae=ue.length-1;Ae>=0;Ae--)(pe=ue[Ae])&&(Se=(fe<3?pe(Se):fe>3?pe(J,ve,Se):pe(J,ve))||Se);return fe>3&&Se&&Object.defineProperty(J,ve,Se),Se},Ke=function(ue,J){return function(ve,De){J(ve,De,ue)}},qe;let ht=(q=class extends R.jG{constructor(J,ve,De,fe){super(),this._editor=J,this._instantiationService=De,this._keybindingService=fe,this._onHoverContentsChanged=this._register(new S.vl),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new R.Cm,this._isMouseDown=!1,this._ignoreMouseEvents=!1,this._reactToEditorMouseMoveRunner=this._register(new A.uC(()=>{this._mouseMoveEvent&&this._reactToEditorMouseMove(this._mouseMoveEvent)},0)),this._register(ve.onDidShowContextMenu(()=>{this.hideContentHover(),this._ignoreMouseEvents=!0})),this._register(ve.onDidHideContextMenu(()=>{this._ignoreMouseEvents=!1})),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(Se=>{Se.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}static get(J){return J.getContribution(qe.ID)}_hookListeners(){const J=this._editor.getOption(69);this._hoverSettings={enabled:J.enabled,sticky:J.sticky,hidingDelay:J.hidingDelay},J.enabled==="off"&&this._cancelSchedulerAndHide(),this._listenersStore.add(this._editor.onMouseDown(ve=>this._onEditorMouseDown(ve))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(ve=>this._onEditorMouseMove(ve))),this._listenersStore.add(this._editor.onKeyDown(ve=>this._onKeyDown(ve))),this._listenersStore.add(this._editor.onMouseLeave(ve=>this._onEditorMouseLeave(ve))),this._listenersStore.add(this._editor.onDidChangeModel(()=>this._cancelSchedulerAndHide())),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(ve=>this._onEditorScrollChanged(ve)))}_unhookListeners(){this._listenersStore.clear()}_cancelSchedulerAndHide(){this._cancelScheduler(),this.hideContentHover()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(J){this._ignoreMouseEvents||(J.scrollTopChanged||J.scrollLeftChanged)&&this.hideContentHover()}_onEditorMouseDown(J){this._ignoreMouseEvents||(this._isMouseDown=!0,this._shouldKeepHoverWidgetVisible(J))||this.hideContentHover()}_shouldKeepHoverWidgetVisible(J){return this._isMouseOnContentHoverWidget(J)||this._isContentWidgetResizing()||(0,$e.a)(J)}_isMouseOnContentHoverWidget(J){return this._contentWidget?(0,g.UH)(this._contentWidget.getDomNode(),J.event.posx,J.event.posy):!1}_onEditorMouseUp(){this._ignoreMouseEvents||(this._isMouseDown=!1)}_onEditorMouseLeave(J){this._ignoreMouseEvents||this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldKeepHoverWidgetVisible(J))||this.hideContentHover()}_shouldKeepCurrentHover(J){const ve=this._contentWidget;if(!ve)return!1;const De=this._hoverSettings.sticky,fe=(gt,Bt)=>{const _t=this._isMouseOnContentHoverWidget(gt);return Bt&&_t},Se=gt=>{const Bt=ve.isColorPickerVisible,_t=this._isMouseOnContentHoverWidget(gt),ri=Bt&&_t,Gt=Bt&&this._isMouseDown;return ri||Gt},pe=(gt,Bt)=>{const _t=gt.event.browserEvent.view;return _t?Bt&&ve.containsNode(_t.document.activeElement)&&!_t.getSelection()?.isCollapsed:!1},Ae=ve.isFocused,Xe=ve.isResizing,dt=this._hoverSettings.sticky&&ve.isVisibleFromKeyboard;return this.shouldKeepOpenOnEditorMouseMoveOrLeave||Ae||Xe||dt||fe(J,De)||Se(J)||pe(J,De)}_onEditorMouseMove(J){if(this._ignoreMouseEvents)return;if(this._mouseMoveEvent=J,this._shouldKeepCurrentHover(J)){this._reactToEditorMouseMoveRunner.cancel();return}if(this._shouldRescheduleHoverComputation()){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hoverSettings.hidingDelay);return}this._reactToEditorMouseMove(J)}_shouldRescheduleHoverComputation(){const J=this._hoverSettings.hidingDelay;return(this._contentWidget?.isVisible??!1)&&this._hoverSettings.sticky&&J>0}_reactToEditorMouseMove(J){(0,g.t$)(this._hoverSettings.enabled,this._editor.getOption(86),J)&&this._getOrCreateContentWidget().showsOrWillShow(J)||this.hideContentHover()}_onKeyDown(J){if(this._ignoreMouseEvents||!this._contentWidget)return;if(this._hoverSettings.enabled==="onKeyboardModifier"&&(0,g.Iz)(this._editor.getOption(86),J)&&this._mouseMoveEvent){this._contentWidget.isVisible||this._contentWidget.showsOrWillShow(this._mouseMoveEvent);return}const ve=this._isPotentialKeyboardShortcut(J),De=(0,Ye.VL)(J.keyCode);ve||De||this._contentWidget.isFocused&&J.keyCode===2||this.hideContentHover()}_isPotentialKeyboardShortcut(J){if(!this._editor.hasModel()||!this._contentWidget)return!1;const ve=this._keybindingService.softDispatch(J,this._editor.getDomNode()),De=ve.kind===1,fe=ve.kind===2&&(ve.commandId===v.jA||ve.commandId===v.jq||ve.commandId===v.Zp)&&this._contentWidget.isVisible;return De||fe}hideContentHover(){T.bo.dropDownVisible||this._contentWidget?.hide()}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(Ie,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(J,ve,De,fe){this._getOrCreateContentWidget().startShowingAtRange(J,ve,De,fe)}_isContentWidgetResizing(){return this._contentWidget?.widget.isResizing||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focused
175HoverPartIndex()}updateHoverVerbosityLevel(J,ve,De){this._getOrCreateContentWidget().updateHoverVerbosityLevel(J,ve,De)}focus(){this._contentWidget?.focus()}scrollUp(){this._contentWidget?.scrollUp()}scrollDown(){this._contentWidget?.scrollDown()}scrollLeft(){this._contentWidget?.scrollLeft()}scrollRight(){this._contentWidget?.scrollRight()}pageUp(){this._contentWidget?.pageUp()}pageDown(){this._contentWidget?.pageDown()}goToTop(){this._contentWidget?.goToTop()}goToBottom(){this._contentWidget?.goToBottom()}get isColorPickerVisible(){return this._contentWidget?.isColorPickerVisible}get isHoverVisible(){return this._contentWidget?.isVisible}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._contentWidget?.dispose()}},qe=q,q.ID="editor.contrib.contentHover",q);ht=qe=He([Ke(1,Ce.Z),Ke(2,x._Y),Ke(3,y.b)],ht)},47936:(St,We,e)=>{e.d(We,{Y:()=>b,Z7:()=>i,fm:()=>g,ht:()=>C,yC:()=>u,zL:()=>L});var v=e(8897),R=e(2106),x=e(10998),T=e(49855),y=e(19822),A=e(57955);function g(r,d=A.j.ofCaller()){return new y.d(new T.nA(void 0,void 0,r),r,void 0,d)}function L(r,d,l=A.j.ofCaller()){return new y.d(new T.nA(r.owner,r.debugName,r.debugReferenceFn??d),d,void 0,l)}function b(r,d,l=A.j.ofCaller()){return new y.d(new T.nA(r.owner,r.debugName,r.debugReferenceFn??d),d,r.changeTracker,l)}function C(r,d){const l=new x.Cm,o=b({owner:r.owner,debugName:r.debugName,debugReferenceFn:r.debugReferenceFn??d,changeTracker:r.changeTracker},(c,a)=>{l.clear(),d(c,a,l)});return(0,x.s)(()=>{o.dispose(),l.dispose()})}function u(r){const d=new x.Cm,l=L({owner:void 0,debugName:void 0,debugReferenceFn:r},o=>{d.clear(),r(o,d)});return(0,x.s)(()=>{l.dispose(),d.dispose()})}function i(r,d){let l;return L({debugReferenceFn:d},o=>{const c=r.read(o),a=l;l=c,d({lastValue:a,newValue:c})})}},48121:(St,We,e)=>{e.d(We,{l:()=>v});const R=class R{static getRegisteredCommands(){return[...R.REGISTERED_COMMANDS]}static registerCommand(T){R.REGISTERED_COMMANDS.add(T)}};R.REGISTERED_COMMANDS=new Set;let v=R},48289:(St,We,e)=>{e.d(We,{P:()=>v});function v(R,x){const T=this;let y=!1,A;return function(){return y||(y=!0,A=R.apply(T,arguments)),A}}},48295:(St,We,e)=>{e.d(We,{A3:()=>G,AQ:()=>Le,Am:()=>Z,As:()=>j,BD:()=>Ke,Bo:()=>Ce,CM:()=>I,D0:()=>a,Ek:()=>xe,H0:()=>H,I2:()=>Ye,IW:()=>qe,If:()=>He,JB:()=>ie,L0:()=>h,Mf:()=>c,P1:()=>ue,Pe:()=>oe,Qt:()=>k,WD:()=>q,WS:()=>Te,WY:()=>J,Xr:()=>he,aZ:()=>Me,bB:()=>ht,hz:()=>te,ik:()=>re,je:()=>E,kG:()=>l,kM:()=>p,l5:()=>ae,lQ:()=>Qe,n4:()=>$e,ob:()=>$,ow:()=>ne,s7:()=>Ue,sC:()=>_,sH:()=>Ee,sN:()=>_e,ss:()=>je,tK:()=>X,tp:()=>Y,vP:()=>V,vV:()=>U,vp:()=>M,w4:()=>D,wZ:()=>de,we:()=>S,x9:()=>le,xU:()=>o,yI:()=>Ve,yw:()=>we,zp:()=>Ie});var v=e(3765),R=e(94901),x=e(87676),T=e(18382),y=e(75962),A=e(73858),g=e(69227),L=e(82735),b=e(75712),C=e(10680),u=e(58687),i=e(94865),r=e(74707),d=e(89044);
175const l=(0,x.x1)("editor.lineHighlightBackground",null,(0,v.kg)(641,"Background color for the highlight of line at the cursor position.")),o=(0,x.x1)("editor.inactiveLineHighlightBackground",l,(0,v.kg)(642,"Background color for the highlight of line at the cursor position when the editor is not focused.")),c=(0,x.x1)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:T.b1},(0,v.kg)(643,"Background color for the border around the line at the cursor position."));(0,x.x1)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},(0,v.kg)(644,"Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,x.x1)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(645,"Background color of the border around highlighted ranges.")),(0,x.x1)("editor.symbolHighlightBackground",{dark:A.Ub,light:A.Ub,hcDark:null,hcLight:null},(0,v.kg)(646,"Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,x.x1)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(647,"Background color of the border around highlighted symbols."));const a=(0,x.x1)("editorCursor.foreground",{dark:"#AEAFAD",light:R.Q1.black,hcDark:R.Q1.white,hcLight:"#0F4A85"},(0,v.kg)(648,"Color of the editor cursor.")),p=(0,x.x1)("editorCursor.background",null,(0,v.kg)(649,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),_=(0,x.x1)("editorMultiCursor.primary.foreground",a,(0,v.kg)(650,"Color of the primary editor cursor when multiple cursors are present.")),E=(0,x.x1)("editorMultiCursor.primary.background",p,(0,v.kg)(651,"The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),S=(0,x.x1)("editorMultiCursor.secondary.foreground",a,(0,v.kg)(652,"Color of secondary editor cursors when multiple cursors are present.")),h=(0,x.x1)("editorMultiCursor.secondary.background",p,(0,v.kg)(653,"The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),D=(0,x.x1)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},(0,v.kg)(654,"Color of whitespace characters in the editor.")),k=(0,x.x1)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:R.Q1.white,hcLight:"#292929"},(0,v.kg)(655,"Color of editor line numbers.")),N=(0,x.x1)("editorIndentGuide.background",D,(0,v.kg)(656,"Color of the editor indentation guides."),!1,(0,v.kg)(657,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),W=(0,x.x1)("editorIndentGuide.activeBackground",D,(0,v.kg)(658,"Color of the active editor indentation guides."),!1,(0,v.kg)(659,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),U=(0,x.x1)("editorIndentGuide.background1",N,(0,v.kg)(660,"Color of the editor indentation guides (1).")),$=(0,x.x1)("editorIndentGuide.background2","#00000000",(0,v.kg)(661,"Color of the editor indentation guides (2).")),te=(0,x.x1)("editorIndentGuide.background3","#00000000",(0,v.kg)(662,"Color of the editor indentation guides (3).")),ne=(0,x.x1)("editorIndentGuide.background4","#00000000",(0,v.kg)(663,"Color of the editor indentation guides (4).")),V=(0,x.x1)("editorIndentGuide.background5","#00000000",(0,v.kg)(664,"Color of the editor indentation guides (5).")),I=(0,x.x1)("editorIndentGuide.background6","#00000000",(0,v.kg)(665,"Color of the editor indentation guides (6).")),H=(0,x.x1)("editorIndentGuide.activeBackground1",W,(0,v.kg)(666,"Color of the active editor indentation guides (1).")),Z=(0,x.x1)("editorIndentGuide.activeBackground2","#00000000",(0,v.kg)(667,"Color of the active editor indentation guides (2).")),X=(0,x.x1)("editorIndentGuide.activeBackgroun
175d3","#00000000",(0,v.kg)(668,"Color of the active editor indentation guides (3).")),G=(0,x.x1)("editorIndentGuide.activeBackground4","#00000000",(0,v.kg)(669,"Color of the active editor indentation guides (4).")),Y=(0,x.x1)("editorIndentGuide.activeBackground5","#00000000",(0,v.kg)(670,"Color of the active editor indentation guides (5).")),j=(0,x.x1)("editorIndentGuide.activeBackground6","#00000000",(0,v.kg)(671,"Color of the active editor indentation guides (6).")),z=(0,x.x1)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:T.bu,hcLight:T.bu},(0,v.kg)(672,"Color of editor active line number"),!1,(0,v.kg)(673,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));(0,x.x1)("editorLineNumber.activeForeground",z,(0,v.kg)(674,"Color of editor active line number"));const ie=(0,x.x1)("editorLineNumber.dimmedForeground",null,(0,v.kg)(675,"Color of the final editor line when editor.renderFinalNewline is set to dimmed.")),re=(0,x.x1)("editorRuler.foreground",{dark:"#5A5A5A",light:R.Q1.lightgrey,hcDark:R.Q1.white,hcLight:"#292929"},(0,v.kg)(676,"Color of the editor rulers."));(0,x.x1)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},(0,v.kg)(677,"Foreground color of editor CodeLens")),(0,x.x1)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},(0,v.kg)(678,"Background color behind matching brackets")),(0,x.x1)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(679,"Color for matching brackets boxes"));const de=(0,x.x1)("editorBracketMatch.foreground",null,(0,v.kg)(680,"Foreground color for matching brackets")),le=(0,x.x1)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},(0,v.kg)(681,"Color of the overview ruler border.")),he=(0,x.x1)("editorOverviewRuler.background",null,(0,v.kg)(682,"Background color of the editor overview ruler."));(0,x.x1)("editorGutter.background",A.Yt,(0,v.kg)(683,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,x.x1)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#fff").transparent(.8),hcLight:T.b1},(0,v.kg)(684,"Border color of unnecessary (unused) source code in the editor."));const we=(0,x.x1)("editorUnnecessaryCode.opacity",{dark:R.Q1.fromHex("#000a"),light:R.Q1.fromHex("#0007"),hcDark:null,hcLight:null},(0,v.kg)(685,`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the  'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));(0,x.x1)("editorGhostText.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#fff").transparent(.8),hcLight:R.Q1.fromHex("#292929").transparent(.8)},(0,v.kg)(686,"Border color of ghost text in the editor."));const xe=(0,x.x1)("editorGhostText.foreground",{dark:R.Q1.fromHex("#ffffff56"),light:R.Q1.fromHex("#0007"),hcDark:null,hcLight:null},(0,v.kg)(687,"Foreground color of the ghost text in the editor."));(0,x.x1)("editorGhostText.background",null,(0,v.kg)(688,"Background color of the ghost text in the editor."));const Be=new R.Q1(new R.bU(0,122,204,.6)),M=(0,x.x1)("editorOverviewRuler.rangeHighlightForeground",Be,(0,v.kg)(689,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Ve=(0,x.x1)("editorOverviewRuler.errorForeground",{dark:new R.Q1(new R.bU(255,18,18,.7)),light:new R.Q1(new R.bU(255,18,18,.7)),hcDark:new R.Q1(new R.bU(255,50,50,1)),hcLight:"#B5200D"},(0,v.kg)(690,"Overview ruler marker color for errors.")),Me=(0,x.x1)("editorOverviewRuler.warningForeground",{dark:A.Hn,light:A.Hn,hcDark:A.St,hcLight:A.St},(0,v.kg)(691,"Overview ruler marker color for warnings.")),Le=(0,x.x1)("editorOverviewRuler.infoForeground",{dark:A.pO,light:A.pO,hcDark:A.II,hcLight:A.II},(0,v.kg)(692,"Overview ruler marker color for infos.")),_e=(0,x.x1)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},(0,v.kg)(693,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Qe=(0,x.x1)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},(0,v.kg)(694,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),je=(0,x.x1)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},(0,v.kg)(695,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),ae=(0,x.x1)("editorBracketHighlight.foreground4","#00000000",(0,v.kg)(696,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Ee=(0,x.x1)("editorBracketHighlight.foreground5","#00000000",(0,v.kg)(697,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),Ie=(0,x.x1)("editorBracketHighlight.foreground6","#00000000",(0,v.kg)(698,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),Ue=(0,x.x1)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new R.Q1(new R.bU(255,18,18,.8)),light:new R.Q1(new R.bU(255,18,18,.8)),hcDark:new R.Q1(new R.bU(255,50,50,
1751)),hcLight:"#B5200D"},(0,v.kg)(699,"Foreground color of unexpected brackets.")),$e=(0,x.x1)("editorBracketPairGuide.background1","#00000000",(0,v.kg)(700,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Ye=(0,x.x1)("editorBracketPairGuide.background2","#00000000",(0,v.kg)(701,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Ce=(0,x.x1)("editorBracketPairGuide.background3","#00000000",(0,v.kg)(702,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),He=(0,x.x1)("editorBracketPairGuide.background4","#00000000",(0,v.kg)(703,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Ke=(0,x.x1)("editorBracketPairGuide.background5","#00000000",(0,v.kg)(704,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),qe=(0,x.x1)("editorBracketPairGuide.background6","#00000000",(0,v.kg)(705,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),ht=(0,x.x1)("editorBracketPairGuide.activeBackground1","#00000000",(0,v.kg)(706,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Te=(0,x.x1)("editorBracketPairGuide.activeBackground2","#00000000",(0,v.kg)(707,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),oe=(0,x.x1)("editorBracketPairGuide.activeBackground3","#00000000",(0,v.kg)(708,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),q=(0,x.x1)("editorBracketPairGuide.activeBackground4","#00000000",(0,v.kg)(709,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),ue=(0,x.x1)("editorBracketPairGuide.activeBackground5","#00000000",(0,v.kg)(710,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),J=(0,x.x1)("editorBracketPairGuide.activeBackground6","#00000000",(0,v.kg)(711,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,x.x1)("editorUnicodeHighlight.border",A.Hn,(0,v.kg)(712,"Border color used to highlight unicode characters.")),(0,x.x1)("editorUnicodeHighlight.background",A.wh,(0,v.kg)(713,"Background color used to highlight unicode characters.")),(0,d.zy)((ve,De)=>{const fe=ve.getColor(A.Yt),Se=ve.getColor(l),pe=Se&&!Se.isTransparent()?Se:fe;pe&&De.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${pe}; }`)})},48421:(St,We,e)=>{e.d(We,{f:()=>L});var v=e(39619),R=e(63339),x=e(82096),T=e(67167),y=e(10998),A=e(85525);class g{constructor(){this._coreKeybindings=new A.w,this._coreKeybindingRules=new A.w,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToPlatform(i,r){if(r===1){if(i&&i.win)return i.win}else if(r===2){if(i&&i.mac)return i.mac}else if(i&&i.linux)return i.linux;return i}static bindToCurrentPlatform(i){return g.bindToPlatform(i,R.OS)}registerKeybindingRule(i){const r=g.bindToCurrentPlatform(i),d=new y.Cm;if(r&&r.primary){const o=(0,v.Zv)(r.primary,R.OS);o&&d.add(this._registerDefaultKeybinding(o,i.id,i.args,i.weight,0,i.when))}if(r&&Array.isArray(r.secondary))for(let o=0,c=r.secondary.length;o<c;o++){const a=r.secondary[o],p=(0,v.Zv)(a,R.OS);p&&d.add(this._registerDefaultKeybinding(p,i.id,i.args,i.weight,-o-1,i.when))}const l=this._coreKeybindingRules.push(i);return d.add((0,y.s)(()=>{l()})),d}registerCommandAndKeybindingRule(i){return(0,y.qE)(this.registerKeybindingRule(i),x.w.registerCommand(i))}_registerDefaultKeybinding(i,r,d,l,o,c){const a=this._coreKeybindings.push({keybinding:i,command:r,commandArgs:d,when:c,weight1:l,weight2:o,extensionId:null,isBuiltinExtension:!1});return this._cachedMergedKeybindings=null,(0,y.s)(()=>{a(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(C)),this._cachedMergedKeybindings.slice(0)}}const L=new g,b={EditorModes:"platform.keybindingsRegistry"};T.O.add(b.EditorModes,L);function C(u,i){if(u.weight1!==i.weight1)return u.weight1-i.weight1;if(u.command&&i.command){if(u.command<i.command)return-1;if(u.command>i.command)return 1}return u.weight2-i.weight2}},48621:(St,We,e)=>{var v=e(3765),R=e(87676),x=e(18382),T=e(75962),y=e(73858),A=e(69227),g=e(82735),L=e(75712),b=e(10680),C=e(58687),u=e(94865),i=e(74707);(0,R.x1)("symbolIcon.arrayForeground",x.CU,(0,v.kg)(1547,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.booleanForeground",x.CU,(0,v.kg)(1548,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,v.kg)(1549,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.colorForeground",x.CU,(0,v.kg)(1550,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.constantForeground",x.CU,(0,v.kg)(1551,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,v.kg)(1552,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,v.kg)(1553,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,v.kg)(1554,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},(0,v.kg)(1555,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,v.kg)(1556,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.fileForeground",x.CU,(0,v.kg)(1557,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.folderForeground",x.CU,(0,v.kg)(1558,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,v.kg)(1559,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,v.kg)(1560,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.keyForeground",x.CU,(0,v.kg)(1561,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.keywordForeground",x.CU,(0,v.kg)(1562,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,v.kg)(1563,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.moduleForeground",x.CU,(0,v.kg)(1564,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.namespaceForeground",x.CU,(0,v.kg)(1565,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.nullForeground",x.CU,(0,v.kg)(1566,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.numberForeground",x.CU,(0,v.kg)(1567,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.objectForeground",x.CU,(0,v.kg)(1568,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.operatorForeground",x.CU,(0,v.kg)(1569,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.packageForeground",x.CU,(0,v.kg)(1570,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.propertyForeground",x.CU,(0,v.kg)(1571,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.referenceForeground",x.CU,(0,v.kg)(1572,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.snippetForeground",x.CU,(0,v.kg)(1573,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.stringForeground",x.CU,(0,v.kg)(1574,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.structForeground",x.CU,(0,v.kg)(1575,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.textForeground",x.CU,(0,v.kg)(1576,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.typeParameterForeground",x.CU,(0,v.kg)(1577,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.unitForeground",x.CU,(0,v.kg)(1578,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),(0,R.x1)("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,v.kg)(1579,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."))},48655:(St,We,e)=>{e.d(We,{Z:()=>u});var v=e(49855),R=e(8897),x=e(2106),T=e(10998),y=e(96016),A=e(39084),g=e(82460),L=e(38792);class b extends L.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}constructor(r,d,l,o){super(o),this._debugNameData=r,this._equalityComparator=l,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=d}get(){return this._update(),this._value}
175_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const r of this._deltas){(0,g.t)()?.handleObservableUpdated(this,{change:r,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const d of this._observers)d.handleChange(this,r)}this._deltas.length=0}else{(0,g.t)()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(const r of this._observers)r.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const r of this._observers)r.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const r=[...this._observers];for(const d of r)d.endUpdate(this)}}addObserver(r){const d=!this._observers.has(r)&&this._updateCounter>0;super.addObserver(r),d&&r.beginUpdate(this)}removeObserver(r){const d=this._observers.has(r)&&this._updateCounter>0;super.removeObserver(r),d&&r.endUpdate(this)}set(r,d,l){if(l===void 0&&this._equalityComparator(this._value,r))return;let o;d||(d=o=new A.XL(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(r),l!==void 0&&this._deltas.push(l),d.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(c,a)=>{},handlePossibleChange:c=>{}},this),this._updateCounter>1)for(const c of this._observers)c.handlePossibleChange(this)}finally{o&&o.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(r){this._value=r}}var C=e(57955);function u(i,r,d=C.j.ofCaller()){return i.lazy?new b(new v.nA(i.owner,i.debugName,void 0),r,i.equalsFn??R.nx,d):new y.Lj(new v.nA(i.owner,i.debugName,void 0),r,i.equalsFn??R.nx,d)}},48877:(St,We,e)=>{e.d(We,{G:()=>R,y:()=>v});function v(x,T){const y=x;typeof y.vscodeWindowId!="number"&&Object.defineProperty(y,"vscodeWindowId",{get:()=>T})}const R=window},49152:(St,We,e)=>{e.d(We,{l3:()=>G,JQ:()=>j,Cv:()=>X,MA:()=>Y,j4:()=>he,I_:()=>Be,Es:()=>we,B7:()=>z,$t:()=>le,kD:()=>re,TY:()=>de,yw:()=>ie});var v=e(97393),R=e(65958),x=e(10998),T=e(66316),y=e(15365),A=e(28061),g=e(93702),L=e(77723),b=e(66055),C=e(31531),u=e(87676),i=e(18382),r=e(75962),d=e(73858),l=e(69227),o=e(82735),c=e(75712),a=e(10680),p=e(58687),_=e(94865),E=e(74707),S=e(89044);const M=class M{constructor(Me){this._editor=Me,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const Me=this._findScopeDecorationIds.map(Le=>this._editor.getModel().getDecorationRange(Le)).filter(Le=>!!Le);if(Me.length)return Me}return null}getStartPosition(){return this._startPosition}setStartPosition(Me){this._startPosition=Me,this.setCurrentFindMatch(null)}_getDecorationIndex(Me){const Le=this._decorations.indexOf(Me);return Le>=0?Le+1:1}getDecorationRangeAt(Me){const Le=Me<this._decorations.length?this._decorations[Me]:null;return Le?this._editor.getModel().getDecorationRange(Le):null}getCurrentMatchesPosition(Me){const Le=this._editor.getModel().getDecorationsInRange(Me);for(const _e of Le){const Qe=_e.options;if(Qe===M._FIND_MATCH_DECORATION||Qe===M._FIND_MATCH_NO_OVERVIEW_DECORATION||Qe===M._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(_e.id)}return 0}setCurrentFindMatch(Me){let Le=null,_e=0;if(Me)for(let Qe=0,je=this._decorations.length;Qe<je;Qe++){const ae=this._editor.getModel().getDecorationRange(this._decorations[Qe]);if(Me.equalsRange(ae)){Le=this._decorations[Qe],_e=Qe+1;break}}return(this._highlightedDecorationId!==null||Le!==null)&&this._editor.changeDecorations(Qe=>{if(this._highlightedDecorationId!==null&&(Qe.changeDecorationOptions(this._highlightedDecorationId,M._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),Le!==null&&(this._highlightedDecorationId=Le,Qe.changeDecorationOptions(this._highlightedDecorationId,M._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(Qe.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),Le!==null){let je=this._editor.getModel().getDecorationRange(Le);if(je.startLineNumber!==je.endLineNumber&&je.endColumn===1){const ae=je.endLineNumber-1,Ee=this._editor.getModel().getLineMaxColumn(ae);je=new A.Q(je.startLineNumber,je.startColumn,ae,Ee)}this._rangeHighlightDecorationId=Qe.addDecoration(je,M._RANGE_HIGHLIGHT_DECORATION)}}),_e}set(Me,Le){this._editor.changeDecorations(_e=>{let Qe=M._FIND_MATCH_DECORATION;const je=[];if(Me.length>1e3){Qe=M._FIND_MATCH_NO_OVERVIEW_DECORATION;const Ee=this._editor.getModel().getLineCount(),Ue=this._editor.getLayoutInfo().height/Ee,$e=Math.max(2,Math.ceil(3/Ue));let Ye=Me[0].range.startLineNumber,Ce=Me[0].range.endLineNumber;for(let He=1,Ke=Me.length;He<Ke;He++){const qe=Me[He].range;Ce+$e>=qe.startLineNumber?qe.endLineNumber>Ce&&(Ce=qe.endLineNumber):(je.push({range:new A.Q(Ye,1,Ce,1),options:M._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),Ye=qe.startLineNumber,Ce=qe.endLineNumber)}je.push({range:new A.Q(Ye,1,Ce,1),options:M._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const ae=new Array(Me.length);for(let Ee=0,Ie=Me.length;Ee<Ie;Ee++)ae[Ee]={range:Me[Ee].range,options:Qe};this._decorations=_e.deltaDecorations(this._decorations,ae),this._overviewRulerApproximateDecorations=_e.deltaDecorations(this._overviewRulerApproximateDecorations,je),this._rangeHighlightDecorationId&&(_e.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),this._findScopeDecorationIds.length&&(this._findScopeDecorationIds.forEach(Ee=>_e.removeDecoration(Ee)),this._findScopeDecorationIds=[]),Le?.length&&(this._findScopeDecorationIds=Le.map(Ee=>_e.addDecoration(Ee,M._FIND_SCOPE_DECORATION)))})}matchBeforePosition(Me){if(this._decorations.length===0)return null;for(let Le=this._decorations.length-1;Le>=0;Le--){const _e=this._decorations[Le],Qe=this._editor.getModel().getDecorationRange(_e);if(!(!Qe||Qe.endLineNumber>Me.lineNumber)){if(Qe.endLineNumber<Me.lineNumber)return Qe;if(!(Qe.endColumn>Me.column))return Qe}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(Me){if(this._decorations.length===0)return null;for(let Le=0,_e=this._decorations.length;Le<_e;Le++){const Qe=this._decorations[Le],je=this._editor.getModel().getDecorationRange(Qe);if(!(!je||je.startLineNumber<Me.lineNumber)){if(je.startLineNumber>Me.lineNumber)return je;if(!(je.startColumn<Me.column))return je}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let Me=[];return Me=Me.concat(this._decorations),Me=Me.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&Me.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&Me.push(this._rangeHighlightDecorationId),Me}};M._CURRENT_FIND_MATCH_DECORATION=C.kI.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:(0,S.Yf)(d.fA),position:b.A5.Center},minimap:{color:(0,S.Yf)(a.Aj),position:1}}),M._FIND_MATCH_DECORATION=C.kI.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:(0,S.Yf)(d.fA),position:b.A5.Center},minimap:{color:(0,S.Yf)(a.Aj),position:1}}),M._FIND_MATCH_NO_OVERVIEW_DECORATION=C.kI.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),M._FIND_MATCH_ONLY_OVERVIEW_DECORATION=C.kI.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:(0,S.Yf)(d.fA),position:b.A5.Center}}),M._RANGE_HIGHLIGHT_DECORATION=C.kI.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),M._FIND_SCOPE_DECORATION=C.kI.register({description:"find-scope",className:"findScope",isWholeLine:!0});let h=M;class D{constructor(Me,Le,_e){this._editorSelection=Me,this._ranges=Le,this._replaceStrings=_e,this._trackedEditorSelectionId=null}getEditOperations(Me,Le){if(this._ranges.length>0){const _e=[];for(let ae=0;ae<this._ranges.length;ae++)_e.push({range:this._ranges[ae],text:this._replaceStrings[ae]});_e.sort((ae,Ee)=>A.Q.compareRangesUsingStarts(ae.range,Ee.range));const Qe=[];let je=_e[0];for(let ae=1;ae<_e.length;ae++)je.range.endLineNumber===_e[ae].range.startLineNumber&&je.range.endColumn===_e[ae].range.startColumn?(je.range=je.range.plusRange(_e[ae].range),je.text=je.text+_e[ae].text):(Qe.push(je),je=_e[ae]);Qe.push(je);for(const ae of Qe)Le.addEditOperation(ae.range,ae.text)}this._trackedEditorSelectionId=Le.trackSelection(this._editorSelection)}computeCursorState(Me,Le){return Le.getTrackedSelection(this._trackedEditorSelectionId)}}var k=e(16844);function N(Ve,Me){if(Ve&&Ve[0]!==""){const Le=W(Ve,Me,"-"),_e=W(Ve,Me,"_");return Le&&!_e?U(Ve,Me,"-"):!Le&&_e?U(Ve,Me,"_"):Ve[0].toUpperCase()===Ve[0]?Me.toUpperCase():Ve[0].toLowerCase()===Ve[0]?Me.toLowerCase():(0,k.zY)(Ve[0][0])&&Me.length>0?Me[0].toUpperCase()+Me.substr(1):Ve[0][0].toUpperCase()!==Ve[0][0]&&Me.length>0?Me[0].toLowerCase()+Me.substr(1):Me}else return Me}function W(Ve,Me,Le){return Ve[0].indexOf(Le)!==-1&&Me.indexOf(Le)!==-1&&Ve[0].split(Le).length===Me.split(Le).length}function U(Ve,Me,Le){const _e=Me.split(Le),Qe=Ve[0].split(Le);let je="";return _e.forEach((ae,Ee)=>{je+=N([Qe[Ee]],ae)+Le}),je.slice(0,-1)}class ${constructor(Me){this.staticValue=Me,this.kind=0}}class te{constructor(Me){this.pieces=Me,this.kind=1}
175}class ne{static fromStaticValue(Me){return new ne([V.staticValue(Me)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(Me){!Me||Me.length===0?this._state=new $(""):Me.length===1&&Me[0].staticValue!==null?this._state=new $(Me[0].staticValue):this._state=new te(Me)}buildReplaceString(Me,Le){if(this._state.kind===0)return Le?N(Me,this._state.staticValue):this._state.staticValue;let _e="";for(let Qe=0,je=this._state.pieces.length;Qe<je;Qe++){const ae=this._state.pieces[Qe];if(ae.staticValue!==null){_e+=ae.staticValue;continue}let Ee=ne._substitute(ae.matchIndex,Me);if(ae.caseOps!==null&&ae.caseOps.length>0){const Ie=[],Ue=ae.caseOps.length;let $e=0;for(let Ye=0,Ce=Ee.length;Ye<Ce;Ye++){if($e>=Ue){Ie.push(Ee.slice(Ye));break}switch(ae.caseOps[$e]){case"U":Ie.push(Ee[Ye].toUpperCase());break;case"u":Ie.push(Ee[Ye].toUpperCase()),$e++;break;case"L":Ie.push(Ee[Ye].toLowerCase());break;case"l":Ie.push(Ee[Ye].toLowerCase()),$e++;break;default:Ie.push(Ee[Ye])}}Ee=Ie.join("")}_e+=Ee}return _e}static _substitute(Me,Le){if(Le===null)return"";if(Me===0)return Le[0];let _e="";for(;Me>0;){if(Me<Le.length)return(Le[Me]||"")+_e;_e=String(Me%10)+_e,Me=Math.floor(Me/10)}return"$"+_e}}class V{static staticValue(Me){return new V(Me,-1,null)}static caseOps(Me,Le){return new V(null,Me,Le)}constructor(Me,Le,_e){this.staticValue=Me,this.matchIndex=Le,!_e||_e.length===0?this.caseOps=null:this.caseOps=_e.slice(0)}}class I{constructor(Me){this._source=Me,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}emitUnchanged(Me){this._emitStatic(this._source.substring(this._lastCharIndex,Me)),this._lastCharIndex=Me}emitStatic(Me,Le){this._emitStatic(Me),this._lastCharIndex=Le}_emitStatic(Me){Me.length!==0&&(this._currentStaticPiece+=Me)}emitMatchIndex(Me,Le,_e){this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=V.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=V.caseOps(Me,_e),this._lastCharIndex=Le}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=V.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new ne(this._result)}}function H(Ve){if(!Ve||Ve.length===0)return new ne(null);const Me=[],Le=new I(Ve);for(let _e=0,Qe=Ve.length;_e<Qe;_e++){const je=Ve.charCodeAt(_e);if(je===92){if(_e++,_e>=Qe)break;const ae=Ve.charCodeAt(_e);switch(ae){case 92:Le.emitUnchanged(_e-1),Le.emitStatic("\\",_e+1);break;case 110:Le.emitUnchanged(_e-1),Le.emitStatic(`
176`,_e+1);break;case 116:Le.emitUnchanged(_e-1),Le.emitStatic("	",_e+1);break;case 117:case 85:case 108:case 76:Le.emitUnchanged(_e-1),Le.emitStatic("",_e+1),Me.push(String.fromCharCode(ae));break}continue}if(je===36){if(_e++,_e>=Qe)break;const ae=Ve.charCodeAt(_e);if(ae===36){Le.emitUnchanged(_e-1),Le.emitStatic("$",_e+1);continue}if(ae===48||ae===38){Le.emitUnchanged(_e-1),Le.emitMatchIndex(0,_e+1,Me),Me.length=0;continue}if(49<=ae&&ae<=57){let Ee=ae-48;if(_e+1<Qe){const Ie=Ve.charCodeAt(_e+1);if(48<=Ie&&Ie<=57){_e++,Ee=Ee*10+(Ie-48),Le.emitUnchanged(_e-2),Le.emitMatchIndex(Ee,_e+1,Me),Me.length=0;continue}}Le.emitUnchanged(_e-1),Le.emitMatchIndex(Ee,_e+1,Me),Me.length=0;continue}}}return Le.finalize()}var Z=e(31540);const X=new Z.N1("findWidgetVisible",!1);X.toNegated();const G=new Z.N1("findInputFocussed",!1),Y=new Z.N1("replaceInputFocussed",!1),j=new Z.N1("findWidgetFocused",!1),z={primary:545,mac:{primary:2593}},ie={primary:565,mac:{primary:2613}},re={primary:560,mac:{primary:2608}},de={primary:554,mac:{primary:2602}},le={primary:558,mac:{primary:2606}},he={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},we=19999,xe=240;class Be{constructor(Me,Le){this._toDispose=new x.Cm,this._editor=Me,this._state=Le,this._isDisposed=!1,this._startSearchingTimer=new R.pc,this._decorations=new h(Me),this._toDispose.add(this._decorations),this._updateDecorationsScheduler
176=new R.uC(()=>{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(_e=>{(_e.reason===3||_e.reason===5||_e.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(_e=>{this._ignoreModelContentChanged||(_e.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(_e=>this._onStateChanged(_e))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,(0,x.AS)(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(Me){this._isDisposed||this._editor.hasModel()&&(Me.searchString||Me.isReplaceRevealed||Me.isRegex||Me.wholeWord||Me.matchCase||Me.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{Me.searchScope?this.research(Me.moveCursor,this._state.searchScope):this.research(Me.moveCursor)},xe)):Me.searchScope?this.research(Me.moveCursor,this._state.searchScope):this.research(Me.moveCursor))}static _getSearchRange(Me,Le){return Le||Me.getFullModelRange()}research(Me,Le){let _e=null;typeof Le<"u"?Le!==null&&(Array.isArray(Le)?_e=Le:_e=[Le]):_e=this._decorations.getFindScopes(),_e!==null&&(_e=_e.map(Ee=>{if(Ee.startLineNumber!==Ee.endLineNumber){let Ie=Ee.endLineNumber;return Ee.endColumn===1&&(Ie=Ie-1),new A.Q(Ee.startLineNumber,1,Ie,this._editor.getModel().getLineMaxColumn(Ie))}return Ee}));const Qe=this._findMatches(_e,!1,we);this._decorations.set(Qe,_e);const je=this._editor.getSelection();let ae=this._decorations.getCurrentMatchesPosition(je);if(ae===0&&Qe.length>0){const Ee=(0,v.hw)(Qe.map(Ie=>Ie.range),Ie=>A.Q.compareRangesUsingStarts(Ie,je)>=0);ae=Ee>0?Ee-1+1:ae}this._state.changeMatchInfo(ae,this._decorations.getCount(),void 0),Me&&this._editor.getOption(50).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const Me=this._decorations.getFindScope();return Me&&this._editor.revealRangeInCenterIfOutsideViewport(Me,0),!0}return!1}_setCurrentFindMatch(Me){const Le=this._decorations.setCurrentFindMatch(Me);this._state.changeMatchInfo(Le,this._decorations.getCount(),Me),this._editor.setSelection(Me),this._editor.revealRangeInCenterIfOutsideViewport(Me,0)}_prevSearchPosition(Me){const Le=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:_e,column:Qe}=Me;const je=this._editor.getModel();return Le||Qe===1?(_e===1?_e=je.getLineCount():_e--,Qe=je.getLineMaxColumn(_e)):Qe--,new y.y(_e,Qe)}_moveToPrevMatch(Me,Le=!1){if(!this._state.canNavigateBack()){const $e=this._decorations.matchAfterPosition(Me);$e&&this._setCurrentFindMatch($e);return}if(this._decorations.getCount()<we){let $e=this._decorations.matchBeforePosition(Me);$e&&$e.isEmpty()&&$e.getStartPosition().equals(Me)&&(Me=this._prevSearchPosition(Me),$e=this._decorations.matchBeforePosition(Me)),$e&&this._setCurrentFindMatch($e);return}if(this._cannotFind())return;const _e=this._decorations.getFindScope(),Qe=Be._getSearchRange(this._editor.getModel(),_e);Qe.getEndPosition().isBefore(Me)&&(Me=Qe.getEndPosition()),Me.isBefore(Qe.getStartPosition())&&(Me=Qe.getEndPosition());const{lineNumber:je,column:ae}=Me,Ee=this._editor.getModel();let Ie=new y.y(je,ae),Ue=Ee.findPreviousMatch(this._state.searchString,Ie,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1);if(Ue&&Ue.range.isEmpty()&&Ue.range.getStartPosition().equals(Ie)&&(Ie=this._prevSearchPosition(Ie),Ue=Ee.findPreviousMatch(this._state.searchString,Ie,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,!1)),!!Ue){if(!Le&&!Qe.containsRange(Ue.range))return this._moveToPrevMatch(Ue.range.getStartPosition(),!0);this._setCurrentFindMatch(Ue.range)}}moveToPrevMatch(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())}_nextSearchPosition(Me){const Le=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:_e,column:Qe}=Me;const je=this._editor.getModel();return Le||Qe===je.getLineMaxColumn(_e)?(_e===je.getLineCount()?_e=1:_e++,Qe=1):Qe++,new y.y(_e,Qe)}_moveToNextMatch(Me){if(!this._state.canNavigateForward()){const _e=this._decorations.matchBeforePosition(Me);_e&&this._setCurrentFindMatch(_e);return}if(this._decorations.getCount()<we){let _e=this._decorations.matchAfterPosition(Me);_e&&_e.isEmpty()&&_e.getStartPosition().equals(Me)&&(Me=this._nextSearchPosition(Me),_e=this._decorations.matchAfterPosition(Me)),_e&&this._setCurrentFindMatch(_e);return}const Le=this._getNextMatch(Me,!1,!0);Le&&this._setCurrentFindMatch(Le.range)}_getNextMatch(Me,Le,_e,Qe=!1){if(this._cannotFind())return null;
176const je=this._decorations.getFindScope(),ae=Be._getSearchRange(this._editor.getModel(),je);ae.getEndPosition().isBefore(Me)&&(Me=ae.getStartPosition()),Me.isBefore(ae.getStartPosition())&&(Me=ae.getStartPosition());const{lineNumber:Ee,column:Ie}=Me,Ue=this._editor.getModel();let $e=new y.y(Ee,Ie),Ye=Ue.findNextMatch(this._state.searchString,$e,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,Le);return _e&&Ye&&Ye.range.isEmpty()&&Ye.range.getStartPosition().equals($e)&&($e=this._nextSearchPosition($e),Ye=Ue.findNextMatch(this._state.searchString,$e,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,Le)),Ye?!Qe&&!ae.containsRange(Ye.range)?this._getNextMatch(Ye.range.getEndPosition(),Le,_e,!0):Ye:null}moveToNextMatch(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())}_moveToMatch(Me){const Le=this._decorations.getDecorationRangeAt(Me);Le&&this._setCurrentFindMatch(Le)}moveToMatch(Me){this._moveToMatch(Me)}_getReplacePattern(){return this._state.isRegex?H(this._state.replaceString):ne.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const Me=this._getReplacePattern(),Le=this._editor.getSelection(),_e=this._getNextMatch(Le.getStartPosition(),!0,!1);if(_e)if(Le.equalsRange(_e.range)){const Qe=Me.buildReplaceString(_e.matches,this._state.preserveCase),je=new T.iu(Le,Qe);this._executeEditorCommand("replace",je),this._decorations.setStartPosition(new y.y(Le.startLineNumber,Le.startColumn+Qe.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(_e.range)}_findMatches(Me,Le,_e){const Qe=(Me||[null]).map(je=>Be._getSearchRange(this._editor.getModel(),je));return this._editor.getModel().findMatches(this._state.searchString,Qe,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null,Le,_e)}replaceAll(){if(!this._hasMatches())return;const Me=this._decorations.getFindScopes();Me===null&&this._state.matchesCount>=we?this._largeReplaceAll():this._regularReplaceAll(Me),this.research(!1)}_largeReplaceAll(){const Le=new L.lt(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(148):null).parseSearchRequest();if(!Le)return;let _e=Le.regex;if(!_e.multiline){let Ye="mu";_e.ignoreCase&&(Ye+="i"),_e.global&&(Ye+="g"),_e=new RegExp(_e.source,Ye)}const Qe=this._editor.getModel(),je=Qe.getValue(1),ae=Qe.getFullModelRange(),Ee=this._getReplacePattern();let Ie;const Ue=this._state.preserveCase;Ee.hasReplacementPatterns||Ue?Ie=je.replace(_e,function(){return Ee.buildReplaceString(arguments,Ue)}):Ie=je.replace(_e,Ee.buildReplaceString(null,Ue));const $e=new T.ui(ae,Ie,this._editor.getSelection());this._executeEditorCommand("replaceAll",$e)}_regularReplaceAll(Me){const Le=this._getReplacePattern(),_e=this._findMatches(Me,Le.hasReplacementPatterns||this._state.preserveCase,1073741824),Qe=[];for(let ae=0,Ee=_e.length;ae<Ee;ae++)Qe[ae]=Le.buildReplaceString(_e[ae].matches,this._state.preserveCase);const je=new D(this._editor.getSelection(),_e.map(ae=>ae.range),Qe);this._executeEditorCommand("replaceAll",je)}selectAllMatches(){if(!this._hasMatches())return;const Me=this._decorations.getFindScopes();let _e=this._findMatches(Me,!1,1073741824).map(je=>new g.L(je.range.startLineNumber,je.range.startColumn,je.range.endLineNumber,je.range.endColumn));const Qe=this._editor.getSelection();for(let je=0,ae=_e.length;je<ae;je++)if(_e[je].equalsRange(Qe)){_e=[Qe].concat(_e.slice(0,je)).concat(_e.slice(je+1));break}this._editor.setSelections(_e)}_executeEditorCommand(Me,Le){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(Me,Le),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}}}},49440:(St,We,e)=>{e.d(We,{M:()=>A});var v=e(94327),R=e(10998),x=e(18146);const T={},y="syntax";class A{constructor(u,i,r,d,l){this.editorModel=u,this.providers=i,this.handleFoldingRangesChange=r,this.foldingRangesLimit=d,this.fallbackRangeProvider=l,this.id=y,this.disposables=new R.Cm,l&&this.disposables.add(l);for(const o of i)typeof o.onDidChange=="function"&&this.disposables.add(o.onDidChange(r))}compute(u){return g(this.providers,this.editorModel,u).then(i=>this.editorModel.isDisposed()?null:i?b(i,this.foldingRangesLimit):this.fallbackRangeProvider?.compute(u)??null)}dispose(){this.disposables.dispose()}}function g(C,u,i){let r=null;const d=C.map((l,o)=>Promise.resolve(l.provideFoldingRanges(u,T,i)).then(c=>{if(!i.isCancellationRequested&&Array.isArray(c)){Array.isArray(r)||(r=[]);const a=u.getLineCount();
176for(const p of c)p.start>0&&p.end>p.start&&p.end<=a&&r.push({start:p.start,end:p.end,rank:o,kind:p.kind})}},v.M_));return Promise.all(d).then(l=>r)}class L{constructor(u){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=u}add(u,i,r,d){if(u>x.yy||i>x.yy)return;const l=this._length;this._startIndexes[l]=u,this._endIndexes[l]=i,this._nestingLevels[l]=d,this._types[l]=r,this._length++,d<30&&(this._nestingLevelCounts[d]=(this._nestingLevelCounts[d]||0)+1)}toIndentRanges(){const u=this._foldingRangesLimit.limit;if(this._length<=u){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let d=0;d<this._length;d++)i[d]=this._startIndexes[d],r[d]=this._endIndexes[d];return new x.tz(i,r,this._types)}else{this._foldingRangesLimit.update(this._length,u);let i=0,r=this._nestingLevelCounts.length;for(let c=0;c<this._nestingLevelCounts.length;c++){const a=this._nestingLevelCounts[c];if(a){if(a+i>u){r=c;break}i+=a}}const d=new Uint32Array(u),l=new Uint32Array(u),o=[];for(let c=0,a=0;c<this._length;c++){const p=this._nestingLevels[c];(p<r||p===r&&i++<u)&&(d[a]=this._startIndexes[c],l[a]=this._endIndexes[c],o[a]=this._types[c],a++)}return new x.tz(d,l,o)}}}function b(C,u){const i=C.sort((o,c)=>{let a=o.start-c.start;return a===0&&(a=o.rank-c.rank),a}),r=new L(u);let d;const l=[];for(const o of i)if(!d)d=o,r.add(o.start,o.end,o.kind&&o.kind.value,l.length);else if(o.start>d.start)if(o.end<=d.end)l.push(d),d=o,r.add(o.start,o.end,o.kind&&o.kind.value,l.length);else{if(o.start>d.end){do d=l.pop();while(d&&o.start>d.end);d&&l.push(d),d=o}r.add(o.start,o.end,o.kind&&o.kind.value,l.length)}return r.toIndentRanges()}},49550:(St,We,e)=>{e.d(We,{GB:()=>x,i3:()=>R,l:()=>v});var v;(function(y){y[y.None=0]="None",y[y.Indent=1]="Indent",y[y.IndentOutdent=2]="IndentOutdent",y[y.Outdent=3]="Outdent"})(v||(v={}));class R{constructor(A){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=A.open,this.close=A.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(A.notIn))for(let g=0,L=A.notIn.length;g<L;g++)switch(A.notIn[g]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1;break}}isOK(A){switch(A){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(A,g){if(A.getTokenCount()===0)return!0;const L=A.findTokenIndexAtOffset(g-2),b=A.getStandardTokenType(L);return this.isOK(b)}_findNeutralCharacterInRange(A,g){for(let L=A;L<=g;L++){const b=String.fromCharCode(L);if(!this.open.includes(b)&&!this.close.includes(b))return b}return null}findNeutralCharacter(){return this._neutralCharacterSearched||(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class x{constructor(A){this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map;for(const g of A)T(this.autoClosingPairsOpenByStart,g.open.charAt(0),g),T(this.autoClosingPairsOpenByEnd,g.open.charAt(g.open.length-1),g),T(this.autoClosingPairsCloseByStart,g.close.charAt(0),g),T(this.autoClosingPairsCloseByEnd,g.close.charAt(g.close.length-1),g),g.close.length===1&&g.open.length===1&&T(this.autoClosingPairsCloseSingleChar,g.close,g)}}function T(y,A,g){y.has(A)?y.get(A).push(g):y.set(A,[g])}},49855:(St,We,e)=>{e.d(We,{nA:()=>v,qQ:()=>u,uB:()=>C});class v{constructor(r,d,l){this.owner=r,this.debugNameSource=d,this.referenceFn=l}getDebugName(r){return T(r,this)}}const R=new Map,x=new WeakMap;function T(i,r){const d=x.get(i);if(d)return d;const l=y(i,r);if(l){let o=R.get(l)??0;o++,R.set(l,o);const c=o===1?l:`${l}#${o}`;return x.set(i,c),c}}function y(i,r){const d=x.get(i);if(d)return d;const l=r.owner?b(r.owner)+".":"";let o;const c=r.debugNameSource;if(c!==void 0)if(typeof c=="function"){if(o=c(),o!==void 0)return l+o}else return l+c;const a=r.referenceFn;
176if(a!==void 0&&(o=u(a),o!==void 0))return l+o;if(r.owner!==void 0){const p=A(r.owner,i);if(p!==void 0)return l+p}}function A(i,r){for(const d in i)if(i[d]===r)return d}const g=new Map,L=new WeakMap;function b(i){const r=L.get(i);if(r)return r;const d=C(i)??"Object";let l=g.get(d)??0;l++,g.set(d,l);const o=l===1?d:`${d}#${l}`;return L.set(i,o),o}function C(i){const r=i.constructor;if(r)return r.name==="Object"?void 0:r.name}function u(i){const r=i.toString(),l=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(r);return(l?l[1]:void 0)?.trim()}},49990:(St,We,e)=>{e.d(We,{$L:()=>i,y4:()=>r,yc:()=>C});var v=e(94327),R=e(2106),x=e(94664),T=e(10998),y=e(27992),A=e(22467),g=e(16844),L=e(28061),b=e(3765);class C{constructor(l,o,c,a){this.isProviderFirst=l,this.parent=o,this.link=c,this._rangeCallback=a,this.id=x.r.nextId()}get uri(){return this.link.uri}get range(){return this._range??this.link.targetSelectionRange??this.link.range}set range(l){this._range=l,this._rangeCallback(this)}get ariaMessage(){const l=this.parent.getPreview(this)?.preview(this.range);return l?(0,b.kg)(1131,"{0} in {1} on line {2} at column {3}",l.value,(0,A.P8)(this.uri),this.range.startLineNumber,this.range.startColumn):(0,b.kg)(1130,"in {0} on line {1} at column {2}",(0,A.P8)(this.uri),this.range.startLineNumber,this.range.startColumn)}}class u{constructor(l){this._modelReference=l}dispose(){this._modelReference.dispose()}preview(l,o=8){const c=this._modelReference.object.textEditorModel;if(!c)return;const{startLineNumber:a,startColumn:p,endLineNumber:_,endColumn:E}=l,S=c.getWordUntilPosition({lineNumber:a,column:p-o}),h=new L.Q(a,S.startColumn,a,p),D=new L.Q(_,E,_,1073741824),k=c.getValueInRange(h).replace(/^\s+/,""),N=c.getValueInRange(l),W=c.getValueInRange(D).replace(/\s+$/,"");return{value:k+N+W,highlight:{start:k.length,end:k.length+N.length}}}}class i{constructor(l,o){this.parent=l,this.uri=o,this.children=[],this._previews=new y.fT}dispose(){(0,T.AS)(this._previews.values()),this._previews.clear()}getPreview(l){return this._previews.get(l.uri)}get ariaMessage(){const l=this.children.length;return l===1?(0,b.kg)(1132,"1 symbol in {0}, full path {1}",(0,A.P8)(this.uri),this.uri.fsPath):(0,b.kg)(1133,"{0} symbols in {1}, full path {2}",l,(0,A.P8)(this.uri),this.uri.fsPath)}async resolve(l){if(this._previews.size!==0)return this;for(const o of this.children)if(!this._previews.has(o.uri))try{const c=await l.createModelReference(o.uri);this._previews.set(o.uri,new u(c))}catch(c){(0,v.dz)(c)}return this}}class r{constructor(l,o){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new R.vl,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=l,this._title=o;const[c]=l;l.sort(r._compareReferences);let a;for(const p of l)if((!a||!A.er.isEqual(a.uri,p.uri,!0))&&(a=new i(this,p.uri),this.groups.push(a)),a.children.length===0||r._compareReferences(p,a.children[a.children.length-1])!==0){const _=new C(c===p,a,p,E=>this._onDidChangeReferenceRange.fire(E));this.references.push(_),a.children.push(_)}}dispose(){(0,T.AS)(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new r(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?(0,b.kg)(1134,"No results found"):this.references.length===1?(0,b.kg)(1135,"Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?(0,b.kg)(1136,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):(0,b.kg)(1137,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(l,o){const{parent:c}=l;let a=c.children.indexOf(l);const p=c.children.length,_=c.parent.groups.length;return _===1||o&&a+1<p||!o&&a>0?(o?a=(a+1)%p:a=(a+p-1)%p,c.children[a]):(a=c.parent.groups.indexOf(c),o?(a=(a+1)%_,c.parent.groups[a].children[0]):(a=(a+_-1)%_,c.parent.groups[a].children[c.parent.groups[a].children.length-1]))}nearestReference(l,o){const c=this.references.map((a,p)=>({idx:p,prefixLen:(0,g.Qp)(a.uri.toString(),l.toString()),offsetDist:Math.abs(a.range.startLineNumber-o.lineNumber)*100+Math.abs(a.range.startColumn-o.column)})).sort((a,p)=>a.prefixLen>p.prefixLen?-1:a.prefixLen<p.prefixLen?1:a.offsetDist<p.offsetDist?-1:a.offsetDist>p.offsetDist?1:0)[0];if(c)return this.references[c.idx]}referenceAt(l,o){for(const c of this.references)if(c.uri.toString()===l.toString()&&L.Q.containsPosition(c.range,o))return c}firstReference(){for(const l of this.references)if(l.isProviderFirst)return l;return this.references[0]}static _compareReferences(l,o){return A.er.compare(l.uri,o.uri)||L.Q.compareRangesUsingStarts(l.range,o.range)}}},49998:(St,We,e)=>{var Ve;e.d(We,{M:()=>Be,z:()=>he});var v=e(14333),R=e(13338),x=e(65958),T=e(78903),y=e(94327),A=e(10998),g=e(27992),L=e(79359),b=e(37264),C=e(58574),u=e(80878),i=e(28060),r=e(23877),d=e(28061),l=e(47317),o=e(66055),c=e(31531),a=e(12060),p=e(29849),_=e(37042),E=e(87951),S=e(7850),h=e(39504),D=e(82096),k=e(66726),N=e(82399),W=e(29879),U=e(87676),$=e(18382),te=e(75962),ne=e(73858),V=e(69227),I=e(82735),H=e(75712),Z=e(10680),X=e(58687),G=e(94865),Y=e(74707),j=e(89044),z=function(Me,Le,_e,Qe){var je=arguments.length,ae=je<3?Le:Qe===null?Qe=Object.getOwnPropertyDescriptor(Le,_e):Qe,Ee;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ae=Reflect.decorate(Me,Le,_e,Qe);else for(var Ie=Me.length-1;Ie>=0;Ie--)(Ee=Me[Ie])&&(ae=(je<3?Ee(ae):je>3?Ee(Le,_e,ae):Ee(Le,_e))||ae);return je>3&&ae&&Object.defineProperty(Le,_e,ae),ae},ie=function(Me,Le){return function(_e,Qe){Le(_e,Qe,Me)}},re;class de{constructor(){this._entries=new g.qK(50)}get(Le){const _e=de._key(Le);return this._entries.get(_e)}set(Le,_e){const Qe=de._key(Le);this._entries.set(Qe,_e)}static _key(Le){return`${Le.uri.toString()}/${Le.getVersionId()}`}}const le=(0,N.u1)("IInlayHintsCache");(0,k.v)(le,de,1);class he{constructor(Le,_e){this.item=Le,this.index=_e}get part(){const Le=this.item.hint.label;return typeof Le=="string"?{label:Le}:Le[this.index]}}class we{constructor(Le,_e){this.part=Le,this.hasTriggerModifier=_e}}class xe{constructor(){this._store=new A.HE,this._tokenSource=new T.Qi}dispose(){this._store.dispose(),this._tokenSource.dispose(!0)}reset(){return this._tokenSource.dispose(!0),this._tokenSource=new T.Qi,this._store.value=new A.Cm,{store:this._store.value,token:this._tokenSource.token}}}let Be=(Ve=class{static get(Le){return Le.getContribution(re.ID)??void 0}constructor(Le,_e,Qe,je,ae,Ee,Ie){this._editor=Le,this._languageFeaturesService=_e,this._inlayHintsCache=je,this._commandService=ae,this._notificationService=Ee,this._instaService=Ie,this._disposables=new A.Cm,this._sessionDisposables=new A.Cm,this._decorationsMetadata=new Map,this._activeRenderMode=0,this._ruleFactory=this._disposables.add(new C.Qn(this._editor)),this._debounceInfo=Qe.for(_e.inlayHintsProvi
176der,"InlayHint",{min:25}),this._disposables.add(_e.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(Le.onDidChangeModel(()=>this._update())),this._disposables.add(Le.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(Le.onDidChangeConfiguration(Ue=>{Ue.hasChanged(159)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const Le=this._editor.getOption(159);if(Le.enabled==="off")return;const _e=this._editor.getModel();if(!_e||!this._languageFeaturesService.inlayHintsProvider.has(_e))return;if(Le.enabled==="on")this._activeRenderMode=0;else{let $e,Ye;Le.enabled==="onUnlessPressed"?($e=0,Ye=1):($e=1,Ye=0),this._activeRenderMode=$e,this._sessionDisposables.add(v.Di.getInstance().event(Ce=>{if(!this._editor.hasModel())return;const He=Ce.altKey&&Ce.ctrlKey&&!(Ce.shiftKey||Ce.metaKey)?Ye:$e;if(He!==this._activeRenderMode){this._activeRenderMode=He;const Ke=this._editor.getModel(),qe=this._copyInlayHintsWithCurrentAnchor(Ke);this._updateHintsDecorators([Ke.getFullModelRange()],qe),Ie.schedule(0)}}))}const Qe=this._inlayHintsCache.get(_e);Qe&&this._updateHintsDecorators([_e.getFullModelRange()],Qe),this._sessionDisposables.add((0,A.s)(()=>{_e.isDisposed()||this._cacheHintsForFastRestore(_e)}));let je;const ae=new Set;this._sessionDisposables.add(_e.onWillDispose(()=>je?.cancel()));const Ee=this._sessionDisposables.add(new xe),Ie=new x.uC(async()=>{const $e=Date.now(),{store:Ye,token:Ce}=Ee.reset();try{const He=await S.P8.create(this._languageFeaturesService.inlayHintsProvider,_e,this._getHintsRanges(),Ce);if(Ie.delay=this._debounceInfo.update(_e,Date.now()-$e),Ce.isCancellationRequested){He.dispose();return}for(const Ke of He.provider)typeof Ke.onDidChangeInlayHints=="function"&&!ae.has(Ke)&&(ae.add(Ke),Ye.add(Ke.onDidChangeInlayHints(()=>{Ie.isScheduled()||Ie.schedule()})));Ye.add(He),Ye.add((0,A.s)(()=>ae.clear())),this._updateHintsDecorators(He.ranges,He.items),this._cacheHintsForFastRestore(_e)}catch(He){(0,y.dz)(He)}},this._debounceInfo.get(_e));this._sessionDisposables.add(Ie),Ie.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange($e=>{($e.scrollTopChanged||!Ie.isScheduled())&&Ie.schedule()}));const Ue=this._sessionDisposables.add(new A.HE);this._sessionDisposables.add(this._editor.onDidChangeModelContent($e=>{const Ye=Math.max(Ie.delay,800);this._cursorInfo={position:this._editor.getPosition(),notEarlierThan:Date.now()+Ye},Ue.value=(0,x.EQ)(()=>Ie.schedule(0),Ye),Ie.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeConfiguration($e=>{$e.hasChanged(159)&&Ie.schedule()})),this._sessionDisposables.add(this._installDblClickGesture(()=>Ie.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const Le=new A.Cm,_e=Le.add(new E.gi(this._editor)),Qe=new A.Cm;return Le.add(Qe),Le.add(_e.onMouseMoveOrRelevantKeyDown(je=>{const[ae]=je,Ee=this._getInlayHintLabelPart(ae),Ie=this._editor.getModel();if(!Ee||!Ie){Qe.clear();return}const Ue=new T.Qi;Qe.add((0,A.s)(()=>Ue.dispose(!0))),Ee.item.resolve(Ue.token),this._activeInlayHintPart=Ee.part.command||Ee.part.location?new we(Ee,ae.hasTriggerModifier):void 0;const $e=Ie.validatePosition(Ee.item.hint.position).lineNumber,Ye=new d.Q($e,1,$e,Ie.getLineMaxColumn($e)),Ce=this._getInlineHintsForRange(Ye);this._updateHintsDecorators([Ye],Ce),Qe.add((0,A.s)(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([Ye],Ce)}))})),Le.add(_e.onCancel(()=>Qe.clear())),Le.add(_e.onExecute(async je=>{const ae=this._getInlayHintLabelPart(je);if(ae){const Ee=ae.part;Ee.location?this._instaService.invokeFunction(h.U,je,this._editor,Ee.location):l.uB.is(Ee.command)&&await this._invokeCommand(Ee.command,ae.item)}})),Le}_getInlineHintsForRange(Le){const _e=new Set;for(const Qe of this._decorationsMetadata.values())Le.containsRange(Qe.item.anchor.range)&&_e.add(Qe.item);return Array.from(_e)}_installDblClickGesture(Le){return this._editor.onMouseUp(async _e=>{if(_e.event.detail!==2)return;
176const Qe=this._getInlayHintLabelPart(_e);if(Qe&&(_e.event.preventDefault(),await Qe.item.resolve(T.XO.None),(0,R.EI)(Qe.item.hint.textEdits))){const je=Qe.item.hint.textEdits.map(ae=>r.k.replace(d.Q.lift(ae.range),ae.text));this._editor.executeEdits("inlayHint.default",je),Le()}})}_installContextMenu(){return this._editor.onContextMenu(async Le=>{if(!(0,v.sb)(Le.event.target))return;const _e=this._getInlayHintLabelPart(Le);_e&&await this._instaService.invokeFunction(h.h,this._editor,Le.event.target,_e)})}_getInlayHintLabelPart(Le){if(Le.target.type!==6)return;const _e=Le.target.detail.injectedText?.options;if(_e instanceof c.Ho&&_e?.attachedData instanceof he)return _e.attachedData}async _invokeCommand(Le,_e){try{await this._commandService.executeCommand(Le.id,...Le.arguments??[])}catch(Qe){this._notificationService.notify({severity:W.AI.Error,source:_e.provider.displayName,message:Qe})}}_cacheHintsForFastRestore(Le){const _e=this._copyInlayHintsWithCurrentAnchor(Le);this._inlayHintsCache.set(Le,_e)}_copyInlayHintsWithCurrentAnchor(Le){const _e=new Map;for(const[Qe,je]of this._decorationsMetadata){if(_e.has(je.item))continue;const ae=Le.getDecorationRange(Qe);if(ae){const Ee=new S.EP(ae,je.item.anchor.direction),Ie=je.item.with({anchor:Ee});_e.set(je.item,Ie)}}return Array.from(_e.values())}_getHintsRanges(){const _e=this._editor.getModel(),Qe=this._editor.getVisibleRangesPlusViewportAboveBelow(),je=[];for(const ae of Qe.sort(d.Q.compareRangesUsingStarts)){const Ee=_e.validateRange(new d.Q(ae.startLineNumber-30,ae.startColumn,ae.endLineNumber+30,ae.endColumn));je.length===0||!d.Q.areIntersectingOrTouching(je[je.length-1],Ee)?je.push(Ee):je[je.length-1]=d.Q.plusRange(je[je.length-1],Ee)}return je}_updateHintsDecorators(Le,_e){const Qe=new Map;if(this._cursorInfo&&this._cursorInfo.notEarlierThan>Date.now()&&Le.some(Te=>Te.containsPosition(this._cursorInfo.position))){const{position:Te}=this._cursorInfo;this._cursorInfo=void 0;const oe=new Map;for(const ve of this._editor.getLineDecorations(Te.lineNumber)??[]){const De=this._decorationsMetadata.get(ve.id);if(ve.range.startColumn>Te.column)continue;const fe=De?.decoration.options[De.item.anchor.direction];if(fe&&fe.attachedData!==re._whitespaceData){const Se=oe.get(De.item)??0;oe.set(De.item,Se+fe.content.length)}}const q=_e.filter(ve=>ve.anchor.range.startLineNumber===Te.lineNumber&&ve.anchor.range.endColumn<=Te.column),ue=Array.from(oe.values());let J;for(;;){const ve=q.shift(),De=ue.shift();if(!De&&!ve)break;if(ve)Qe.set(ve,De??0),J=ve;else if(J&&De){let fe=Qe.get(J);fe+=De,fe+=ue.reduce((Se,pe)=>Se+pe,0),ue.length=0;break}}}const je=[],ae=(Te,oe,q,ue,J)=>{const ve={content:q,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:oe.className,cursorStops:ue,attachedData:J};je.push({item:Te,classNameRef:oe,decoration:{range:Te.anchor.range,options:{description:"InlayHint",showIfCollapsed:Te.anchor.range.isEmpty(),collapseOnReplaceEdit:!Te.anchor.range.isEmpty(),stickiness:0,[Te.anchor.direction]:this._activeRenderMode===0?ve:void 0}}})},Ee=(Te,oe)=>{const q=this._ruleFactory.createClassNameRef({width:`${Ie/3|0}px`,display:"inline-block"});ae(Te,q,"\u200A",oe?o.VW.Right:o.VW.None,re._whitespaceData)},{fontSize:Ie,fontFamily:Ue,padding:$e,isUniform:Ye}=this._getLayoutInfo(),Ce=this._editor.getOption(159).maximumLength,He="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(He,Ue);let Ke={line:0,totalLen:0};for(let Te=0;Te<_e.length;Te++){const oe=_e[Te];if(Ke.line!==oe.anchor.range.startLineNumber&&(Ke={line:oe.anchor.range.startLineNumber,totalLen:0}),Ce&&Ke.totalLen>Ce)continue;oe.hint.paddingLeft&&Ee(oe,!1);const q=typeof oe.hint.label=="string"?[{label:oe.hint.label}]:oe.hint.label,ue=Qe.get(oe);let J=0;for(let ve=0;ve<q.length;ve++){const De=q[ve],fe=ve===0,Se=ve===q.length-1,pe={fontSize:`${Ie}px`,fontFamily:`var(${He}), ${i.jU.fontFamily}`,verticalAlign:Ye?"baseline":"middle",unicodeBidi:"isolate"};(0,R.EI)(oe.hint.textEdits)&&(pe.cursor="default"),this._fillInColors(pe,oe.hint),(De.command||De.location)&&this._activeInlayHintPart?.part.item===oe&&this._activeInlayHintPart.part.index===ve&&(pe.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(pe.color=(0,j.Yf)(ne.Zt),pe.curs
176or="pointer"));let Ae=De.label;Ke.totalLen+=Ae.length;let Xe=!1;const dt=Ce!==0?Ke.totalLen-Ce:0;if(dt>0&&(Ae=Ae.slice(0,-dt)+"\u2026",Xe=!0),J+=Ae.length,ue!==void 0){const gt=J-ue;gt>=0&&(J-=gt,Ae=Ae.slice(0,-(1+gt))+"\u2026",Xe=!0)}if($e&&(fe&&(Se||Xe)?(pe.padding=`1px ${Math.max(1,Ie/4)|0}px`,pe.borderRadius=`${Ie/4|0}px`):fe?(pe.padding=`1px 0 1px ${Math.max(1,Ie/4)|0}px`,pe.borderRadius=`${Ie/4|0}px 0 0 ${Ie/4|0}px`):Se||Xe?(pe.padding=`1px ${Math.max(1,Ie/4)|0}px 1px 0`,pe.borderRadius=`0 ${Ie/4|0}px ${Ie/4|0}px 0`):pe.padding="1px 0 1px 0"),ae(oe,this._ruleFactory.createClassNameRef(pe),M(Ae),Se&&!oe.hint.paddingRight?o.VW.Right:o.VW.None,new he(oe,ve)),Xe)break}if(ue!==void 0&&J<ue){const ve=ue-J;ae(oe,this._ruleFactory.createClassNameRef({}),"\u200A".repeat(ve),o.VW.None)}if(oe.hint.paddingRight&&Ee(oe,!0),je.length>re._MAX_DECORATORS)break}const qe=[];for(const[Te,oe]of this._decorationsMetadata){const q=this._editor.getModel()?.getDecorationRange(Te);q&&Le.some(ue=>ue.containsRange(q))&&(qe.push(Te),oe.classNameRef.dispose(),this._decorationsMetadata.delete(Te))}const ht=u.D.capture(this._editor);this._editor.changeDecorations(Te=>{const oe=Te.deltaDecorations(qe,je.map(q=>q.decoration));for(let q=0;q<oe.length;q++){const ue=je[q];this._decorationsMetadata.set(oe[q],ue)}}),ht.restore(this._editor)}_fillInColors(Le,_e){_e.kind===l.r4.Parameter?(Le.backgroundColor=(0,j.Yf)(ne.B2),Le.color=(0,j.Yf)(ne.sj)):_e.kind===l.r4.Type?(Le.backgroundColor=(0,j.Yf)(ne._p),Le.color=(0,j.Yf)(ne.Hw)):(Le.backgroundColor=(0,j.Yf)(ne.WL),Le.color=(0,j.Yf)(ne.P6))}_getLayoutInfo(){const Le=this._editor.getOption(159),_e=Le.padding,Qe=this._editor.getOption(61),je=this._editor.getOption(58);let ae=Le.fontSize;(!ae||ae<5||ae>Qe)&&(ae=Qe);const Ee=Le.fontFamily||je;return{fontSize:ae,fontFamily:Ee,padding:_e,isUniform:!_e&&Ee===je&&ae===Qe}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const Le of this._decorationsMetadata.values())Le.classNameRef.dispose();this._decorationsMetadata.clear()}},re=Ve,Ve.ID="editor.contrib.InlayHints",Ve._MAX_DECORATORS=1500,Ve._whitespaceData={},Ve);Be=re=z([ie(1,p.u),ie(2,a.U),ie(3,le),ie(4,D.d),ie(5,W.Ot),ie(6,N._Y)],Be);function M(Me){return Me.replace(/[ \t]/g,"\xA0")}D.w.registerCommand("_executeInlayHintProvider",async(Me,...Le)=>{const[_e,Qe]=Le;(0,L.j)(b.r.isUri(_e)),(0,L.j)(d.Q.isIRange(Qe));const{inlayHintsProvider:je}=Me.get(p.u),ae=await Me.get(_.b).createModelReference(_e);try{const Ee=await S.P8.create(je,ae.object.textEditorModel,[d.Q.lift(Qe)],T.XO.None),Ie=Ee.items.map(Ue=>Ue.hint);return setTimeout(()=>Ee.dispose(),0),Ie}finally{ae.dispose()}})},50180:(St,We,e)=>{e.d(We,{As:()=>x,qg:()=>T});var v=e(42802),R=e(37264);function x(g){return JSON.stringify(g,y)}function T(g){let L=JSON.parse(g);return L=A(L),L}function y(g,L){return L instanceof RegExp?{$mid:2,source:L.source,flags:L.flags}:L}function A(g,L=0){if(!g||L>200)return g;if(typeof g=="object"){switch(g.$mid){case 1:return R.r.revive(g);case 2:return new RegExp(g.source,g.flags);case 17:return new Date(g.source)}if(g instanceof v.MB||g instanceof Uint8Array)return g;if(Array.isArray(g))for(let b=0;b<g.length;++b)g[b]=A(g[b],L+1);else for(const b in g)Object.hasOwnProperty.call(g,b)&&(g[b]=A(g[b],L+1))}return g}},50359:(St,We,e)=>{e.d(We,{w:()=>A});var v=e(65958),R=e(94327),x=e(2106),T=e(10998);class y{constructor(b,C,u,i){this.value=b,this.isComplete=C,this.hasLoadingMessage=u,this.options=i}}class A extends T.jG{constructor(b,C){super(),this._editor=b,this._computer=C,this._onResult=this._register(new x.vl),this.onResult=this._onResult.event,this._asyncComputationScheduler=this._register(new g(u=>this._triggerAsyncComputation(u),0)),this._syncComputationScheduler=this._register(new g(u=>this._triggerSyncComputation(u),0)),this._loadingMessageScheduler=this._register(new g(u=>this._triggerLoadingMessage(u),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._options=void 0,super.dispose()}get _hoverTime(){return this._editor.getOption(69).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(b,C){this._options=C,this._state=b,this._fireResult(C)}_triggerAsyncComputation(b){this._setState(2,b),this._syncComputationScheduler.schedule(b,this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=(0,v.d0)(C=>this._computer.computeAsync(b,C)),(async()=>{try{for await(const C of this._asyncIterable)C&&(this._result.push(C),this._fireResult(b));this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0,b)}catch(C){(0,R.dz)(C)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(b){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync(b))),this._setState(this._asyncIterableDone?0:3,b)}_triggerLoadingMessage(b){this._state===3&&this._setState(4,b)}_fireResult(b){if(this._state===1||this._state===2)return;const C=this._state===0,u=this._state===4;this._onResult.fire(new y(this._result.slice(0),C,u,b))}start(b,C){if(b===0)this._state===0&&(this._setState(1,C),this._asyncComputationScheduler.schedule(C,this._firstWaitTime),this._loadingMessageScheduler.schedule(C,this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(C),this._syncComputationScheduler.cancel(),this._triggerSyncComputation(C);break;case 2:this._syncComputationScheduler.cancel(),this._triggerSyncComputation(C);break}}cancel(){this._asyncComputationScheduler.cancel(),this._syncComputationScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._options=void 0,this._state=0}get options(){return this._options}}
176class g extends T.jG{constructor(b,C){super(),this._scheduler=this._register(new v.uC(()=>b(this._options),C))}schedule(b,C){this._options=b,this._scheduler.schedule(C)}cancel(){this._scheduler.cancel()}}},50572:(St,We,e)=>{e.d(We,{I:()=>L});var v=e(16844),R=e(62549),x=e(15365),T=e(28061),y=e(71937),A=e(29895);class g{constructor(C,u,i){this._cursorPositionBrand=void 0,this.lineNumber=C,this.column=u,this.leftoverVisibleColumns=i}}class L{static leftPosition(C,u){if(u.column>C.getLineMinColumn(u.lineNumber))return u.delta(void 0,-(0,v.MV)(C.getLineContent(u.lineNumber),u.column-1));if(u.lineNumber>1){const i=u.lineNumber-1;return new x.y(i,C.getLineMaxColumn(i))}else return u}static leftPositionAtomicSoftTabs(C,u,i){if(u.column<=C.getLineIndentColumn(u.lineNumber)){const r=C.getLineMinColumn(u.lineNumber),d=C.getLineContent(u.lineNumber),l=y.s.atomicPosition(d,u.column-1,i,0);if(l!==-1&&l+1>=r)return new x.y(u.lineNumber,l+1)}return this.leftPosition(C,u)}static left(C,u,i){const r=C.stickyTabStops?L.leftPositionAtomicSoftTabs(u,i,C.tabSize):L.leftPosition(u,i);return new g(r.lineNumber,r.column,0)}static moveLeft(C,u,i,r,d){let l,o;if(i.hasSelection()&&!r)l=i.selection.startLineNumber,o=i.selection.startColumn;else{const c=i.position.delta(void 0,-(d-1)),a=u.normalizePosition(L.clipPositionColumn(c,u),0),p=L.left(C,u,a);l=p.lineNumber,o=p.column}return i.move(r,l,o,0)}static clipPositionColumn(C,u){return new x.y(C.lineNumber,L.clipRange(C.column,u.getLineMinColumn(C.lineNumber),u.getLineMaxColumn(C.lineNumber)))}static clipRange(C,u,i){return C<u?u:C>i?i:C}static rightPosition(C,u,i){return i<C.getLineMaxColumn(u)?i=i+(0,v.iy)(C.getLineContent(u),i-1):u<C.getLineCount()&&(u=u+1,i=C.getLineMinColumn(u)),new x.y(u,i)}static rightPositionAtomicSoftTabs(C,u,i,r,d){if(i<C.getLineIndentColumn(u)){const l=C.getLineContent(u),o=y.s.atomicPosition(l,i-1,r,1);if(o!==-1)return new x.y(u,o+1)}return this.rightPosition(C,u,i)}static right(C,u,i){const r=C.stickyTabStops?L.rightPositionAtomicSoftTabs(u,i.lineNumber,i.column,C.tabSize,C.indentSize):L.rightPosition(u,i.lineNumber,i.column);return new g(r.lineNumber,r.column,0)}static moveRight(C,u,i,r,d){let l,o;if(i.hasSelection()&&!r)l=i.selection.endLineNumber,o=i.selection.endColumn;else{const c=i.position.delta(void 0,d-1),a=u.normalizePosition(L.clipPositionColumn(c,u),1),p=L.right(C,u,a);l=p.lineNumber,o=p.column}return i.move(r,l,o,0)}static vertical(C,u,i,r,d,l,o,c){const a=R.A.visibleColumnFromColumn(u.getLineContent(i),r,C.tabSize)+d,p=u.getLineCount(),_=i===1&&r===1,E=i===p&&r===u.getLineMaxColumn(i),S=l<i?_:E;if(i=l,i<1?(i=1,o?r=u.getLineMinColumn(i):r=Math.min(u.getLineMaxColumn(i),r)):i>p?(i=p,o?r=u.getLineMaxColumn(i):r=Math.min(u.getLineMaxColumn(i),r)):r=C.columnFromVisibleColumn(u,i,a),S?d=0:d=a-R.A.visibleColumnFromColumn(u.getLineContent(i),r,C.tabSize),c!==void 0){const h=new x.y(i,r),D=u.normalizePosition(h,c);d=d+(r-D.column),i=D.lineNumber,r=D.column}return new g(i,r,d)}static down(C,u,i,r,d,l,o){return this.vertical(C,u,i,r,d,i+l,o,4)}static moveDown(C,u,i,r,d){let l,o;i.hasSelection()&&!r?(l=i.selection.endLineNumber,o=i.selection.endColumn):(l=i.position.lineNumber,o=i.position.column);let c=0,a;do if(a=L.down(C,u,l+c,o,i.leftoverVisibleColumns,d,!0),u.normalizePosition(new x.y(a.lineNumber,a.column),2).lineNumber>l)break;while(c++<10&&l+c<u.getLineCount());return i.move(r,a.lineNumber,a.column,a.leftoverVisibleColumns)}static translateDown(C,u,i){const r=i.selection,d=L.down(C,u,r.selectionStartLineNumber,r.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),l=L.down(C,u,r.positionLineNumber,r.positionColumn,i.leftoverVisibleColumns,1,!1);return new A.mG(new T.Q(d.lineNumber,d.column,d.lineNumber,d.column),0,d.leftoverVisibleColumns,new x.y(l.lineNumber,l.column),l.leftoverVisibleColumns)}static up(C,u,i,r,d,l,o){return this.vertical(C,u,i,r,d,i-l,o,3)}static moveUp(C,u,i,r,d){let l,o;i.hasSelection()&&!r?(l=i.selection.startLineNumber,o=i.selection.startColumn):(l=i.position.lineNumber,o=i.position.column);const c=L.up(C,u,l,o,i.leftoverVisibleColumns,d,!0);return i.move(r,c.lineNumber,c.column,c.leftoverVisibleColumns)}static translateUp(C,u,i){const r=i.selection,d=L.up(C,u,r.selectionStartLineNumber,r.selectionStartColumn,i.selectionStartLeftoverVisibleColumns,1,!1),l=L.up(C,u,r.positionLineNumber,r.positionColumn,i.leftoverVisibleColumns,1,!1);return new A.mG(new T.Q(d.lineNumber,d.column,d.lineNumber,d.column),0,d.leftoverVisibleColumns,new x.y(l.lineNumber,l.column),l.leftoverVisibleColumns)}static _isBlankLine(C,u){return C.getLineFirstNonWhitespaceColumn(u)===0}static moveToPrevBlankLine(C,u,i,r){let d=i.position.lineNumber;for(;d>1&&this._isBlankLine(u,d);)d--;for(;d>1&&!this._isBlankLine(u,d);)d--;return i.move(r,d,u.getLineMinColumn(d),0)}static moveToNextBlankLine(C,u,i,r){const d=u.getLineCount();let l=i.position.lineNumber;for(;l<d&&this._isBlankLine(u,l);)l++;for(;l<d&&!this._isBlankLine(u,l);)l++;return i.move(r,l,u.getLineMinColumn(l),0)}static moveToBeginningOfLine(C,u,i,r){const d=i.position.lineNumber,l=u.getLineMinColumn(d),o=u.getLineFirstNonWhitespaceColumn(d)||l;
176let c;return i.position.column===o?c=l:c=o,i.move(r,d,c,0)}static moveToEndOfLine(C,u,i,r,d){const l=i.position.lineNumber,o=u.getLineMaxColumn(l);return i.move(r,l,o,d?1073741824-o:0)}static moveToBeginningOfBuffer(C,u,i,r){return i.move(r,1,1,0)}static moveToEndOfBuffer(C,u,i,r){const d=u.getLineCount(),l=u.getLineMaxColumn(d);return i.move(r,d,l,0)}}},50805:(St,We,e)=>{e.d(We,{CO:()=>A,F:()=>L,tp:()=>b});var v=e(87110),R=e(15365),x=e(28061),T=e(92215),y=e(85811);class A{constructor(){this._transformer=void 0}get endPositionExclusive(){return this.length.addToPosition(new R.y(1,1))}get lineRange(){return this.length.toLineRange()}getValue(){return this.getValueOfRange(this.length.toRange())}getValueOfOffsetRange(u){return this.getValueOfRange(this.getTransformer().getRange(u))}getLineLength(u){return this.getValueOfRange(new x.Q(u,1,u,Number.MAX_SAFE_INTEGER)).length}getTransformer(){return this._transformer||(this._transformer=new y.aG(this.getValue())),this._transformer}getLineAt(u){return this.getValueOfRange(new x.Q(u,1,u,Number.MAX_SAFE_INTEGER))}}class g extends A{constructor(u,i){(0,v.vA)(i>=1),super(),this._getLineContent=u,this._lineCount=i}getValueOfRange(u){if(u.startLineNumber===u.endLineNumber)return this._getLineContent(u.startLineNumber).substring(u.startColumn-1,u.endColumn-1);let i=this._getLineContent(u.startLineNumber).substring(u.startColumn-1);for(let r=u.startLineNumber+1;r<u.endLineNumber;r++)i+=`
177`+this._getLineContent(r);return i+=`
178`+this._getLineContent(u.endLineNumber).substring(0,u.endColumn-1),i}getLineLength(u){return this._getLineContent(u).length}get length(){const u=this._getLineContent(this._lineCount);return new T.W(this._lineCount-1,u.length)}}class L extends g{constructor(u){super(i=>u[i-1],u.length)}}class b extends A{constructor(u){super(),this.value=u,this._t=new y.aG(this.value)}getValueOfRange(u){return this._t.getOffsetRange(u).substring(this.value)}get length(){return this._t.textLength}getTransformer(){return this._t}}},50875:(St,We,e)=>{e.d(We,{L9:()=>h,LR:()=>o,ZR:()=>S});var v=e(13338),R=e(69887),x=e(14731),T=e(10998),y=e(53720),A=e(13072),g=e(22467),L=e(37264),b=e(3765),C=e(26851),u=e(47317),i=e(29849),r=function(k,N,W,U){var $=arguments.length,te=$<3?N:U===null?U=Object.getOwnPropertyDescriptor(N,W):U,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(k,N,W,U);else for(var V=k.length-1;V>=0;V--)(ne=k[V])&&(te=($<3?ne(te):$>3?ne(N,W,te):ne(N,W))||te);return $>3&&te&&Object.defineProperty(N,W,te),te},d=function(k,N){return function(W,U){N(W,U,k)}};class l{constructor(N){this.copyMimeTypes=[],this.kind=N,this.providedDropEditKinds=[this.kind],this.providedPasteEditKinds=[this.kind]}async provideDocumentPasteEdits(N,W,U,$,te){const ne=await this.getEdit(U,te);if(ne)return{edits:[{insertText:ne.insertText,title:ne.title,kind:ne.kind,handledMimeType:ne.handledMimeType,yieldTo:ne.yieldTo}],dispose(){}}}async provideDocumentDropEdits(N,W,U,$){const te=await this.getEdit(U,$);if(te)return{edits:[{insertText:te.insertText,title:te.title,kind:te.kind,handledMimeType:te.handledMimeType,yieldTo:te.yieldTo}],dispose(){}}}}const D=class D extends l{constructor(){super(x.k.Empty.append("text","plain")),this.id=D.id,this.dropMimeTypes=[y.K.text],this.pasteMimeTypes=[y.K.text]}async getEdit(N,W){const U=N.get(y.K.text);if(!U||N.has(y.K.uriList))return;const $=await U.asString();return{handledMimeType:y.K.text,title:(0,b.kg)(965,"Insert Plain Text"),insertText:$,kind:this.kind}}};D.id="text";let o=D;class c extends l{constructor(){super(x.k.Empty.append("uri","path","absolute")),this.dropMimeTypes=[y.K.uriList],this.pasteMimeTypes=[y.K.uriList]}async getEdit(N,W){const U=await _(N);if(!U.length||W.isCancellationRequested)return;let $=0;const te=U.map(({uri:V,originalText:I})=>V.scheme===A.ny.file?V.fsPath:($++,I)).join(" ");let ne;return $>0?ne=U.length>1?(0,b.kg)(966,"Insert Uris"):(0,b.kg)(967,"Insert Uri"):ne=U.length>1?(0,b.kg)(968,"Insert Paths"):(0,b.kg)(969,"Insert Path"),{handledMimeType:y.K.uriList,insertText:te,title:ne,kind:this.kind}}}let a=class extends l{constructor(N){super(x.k.Empty.append("uri","path","relative")),this._workspaceContextService=N,this.dropMimeTypes=[y.K.uriList],this.pasteMimeTypes=[y.K.uriList]}async getEdit(N,W){const U=await _(N);if(!U.length||W.isCancellationRequested)return;const $=(0,v.Yc)(U.map(({uri:te})=>{const ne=this._workspaceContextService.getWorkspaceFolder(te);return ne?(0,g.iZ)(ne.uri,te):void 0}));if($.length)return{handledMimeType:y.K.uriList,insertText:$.join(" "),title:U.length>1?(0,b.kg)(970,"Insert Relative Paths"):(0,b.kg)(971,"Insert Relative Path"),kind:this.kind}}};a=r([d(0,C.VR)],a);class p{constructor(){this.kind=new x.k("html"),this.providedPasteEditKinds=[this.kind],this.copyMimeTypes=[],this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:y.K.text}]}async provideDocumentPasteEdits(N,W,U,$,te){if($.triggerKind!==u.FX.PasteAs&&!$.only?.contains(this.kind))return;const V=await U.get("text/html")?.asString();if(!(!V||te.isCancellationRequested))return{dispose(){},edits:[{insertText:V,yieldTo:this._yieldTo,title:(0,b.kg)(972,"Insert HTML"),kind:this.kind}]}}}async function _(k){const N=k.get(y.K.uriList);if(!N)return[];const W=await N.asString(),U=[];for(const $ of R.jt.parse(W))try{U.push({uri:L.r.parse($),originalText:$})}catch{}return U}const E={scheme:"*",hasAccessToAllModels:!0};let S=class extends T.jG{constructor(N,W){super(),this._register(N.documentDropEditProvider.register(E,new o)),this._register(N.documentDropEditProvider.register(E,new c)),this._register(N.documentDropEditProvider.register(E,new a(W)))}};S=r([d(0,i.u),d(1,C.VR)],S);let h=class extends T.jG{constructor(N,W){super(),this._register(N.documentPasteEditProvider.register(E,new o)),this._register(N.documentPasteEditProvider.register(E,new c)),this._register(N.documentPasteEditProvider.register(E,new a(W))),this._register(N.documentPasteEditProvider.register(E,new p))}};h=r([d(0,i.u),d(1,C.VR)],h)},50946:(St,We,e)=>{e.d(We,{DX:()=>E,E_:()=>N,Fl:()=>W,HW:()=>te,PF:()=>h,aU:()=>Z,dS:()=>ne,fE:()=>p,gW:()=>U,ih:()=>X,ke:()=>k,ks:()=>S,qO:()=>D,tc:()=>G,uB:()=>a,xX:()=>$});var v=e(3765),R=e(37264),x=e(87301),T=e(15365),y=e(64830),A=e(37042),g=e(58067),L=e(82096),b=e(31540),C=e(82399),u=e(48421),i=e(67167),r=e(76243),d=e(79359),l=e(46441),o=e(14333),c=e(48121);
178class a{constructor(z){this.id=z.id,this.precondition=z.precondition,this._kbOpts=z.kbOpts,this._menuOpts=z.menuOpts,this.metadata=z.metadata,this.canTriggerInlineEdits=z.canTriggerInlineEdits}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const z=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const ie of z){let re=ie.kbExpr;this.precondition&&(re?re=b.M$.and(re,this.precondition):re=this.precondition);const de={id:this.id,weight:ie.weight,args:ie.args,when:re,primary:ie.primary,secondary:ie.secondary,win:ie.win,linux:ie.linux,mac:ie.mac};u.f.registerKeybindingRule(de)}}L.w.registerCommand({id:this.id,handler:(z,ie)=>this.runCommand(z,ie),metadata:this.metadata}),this.canTriggerInlineEdits&&c.l.registerCommand(this.id)}_registerMenuItem(z){g.ZG.appendMenuItem(z.menuId,{group:z.group,command:{id:this.id,title:z.title,icon:z.icon,precondition:this.precondition},when:z.when,order:z.order})}}class p extends a{constructor(){super(...arguments),this._implementations=[]}addImplementation(z,ie,re,de){return this._implementations.push({priority:z,name:ie,implementation:re,when:de}),this._implementations.sort((le,he)=>he.priority-le.priority),{dispose:()=>{for(let le=0;le<this._implementations.length;le++)if(this._implementations[le].implementation===re){this._implementations.splice(le,1);return}}}}runCommand(z,ie){const re=z.get(l.rr),de=z.get(b.fN);re.trace(`Executing Command '${this.id}' which has ${this._implementations.length} bound.`);for(const le of this._implementations){if(le.when){const we=de.getContext((0,o.bq)());if(!le.when.evaluate(we))continue}const he=le.implementation(z,ie);if(he)return re.trace(`Command '${this.id}' was handled by '${le.name}'.`),typeof he=="boolean"?void 0:he}re.trace(`The Command '${this.id}' was not handled by any implementation.`)}}class _ extends a{constructor(z,ie){super(ie),this.command=z}runCommand(z,ie){return this.command.runCommand(z,ie)}}class E extends a{static bindToContribution(z){return class extends E{constructor(re){super(re),this._callback=re.handler}runEditorCommand(re,de,le){const he=z(de);he&&this._callback(he,le)}}}static runEditorCommand(z,ie,re,de){const le=z.get(x.T),he=le.getFocusedCodeEditor()||le.getActiveCodeEditor();if(he)return he.invokeWithinContext(we=>{if(we.get(b.fN).contextMatchesRules(re??void 0))return de(we,he,ie)})}runCommand(z,ie){return E.runEditorCommand(z,ie,this.precondition,(re,de,le)=>this.runEditorCommand(re,de,le))}}class S extends E{static convertOptions(z){let ie;Array.isArray(z.menuOpts)?ie=z.menuOpts:z.menuOpts?ie=[z.menuOpts]:ie=[];function re(de){return de.menuId||(de.menuId=g.D8.EditorContext),de.title||(de.title=typeof z.label=="string"?z.label:z.label.value),de.when=b.M$.and(z.precondition,de.when),de}return Array.isArray(z.contextMenuOpts)?ie.push(...z.contextMenuOpts.map(re)):z.contextMenuOpts&&ie.push(re(z.contextMenuOpts)),z.menuOpts=ie,z}constructor(z){super(S.convertOptions(z)),typeof z.label=="string"?(this.label=z.label,this.alias=z.alias??z.label):(this.label=z.label.value,this.alias=z.alias??z.label.original)}runEditorCommand(z,ie,re){return this.reportTelemetry(z,ie),this.run(z,ie,re||{})}reportTelemetry(z,ie){z.get(r.k).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class h extends S{constructor(){super(...arguments),this._implementations=[]}addImplementation(z,ie){return this._implementations.push([z,ie]),this._implementations.sort((re,de)=>de[0]-re[0]),{dispose:()=>{for(let re=0;re<this._implementations.length;re++)if(this._implementations[re][1]===ie){this._implementations.splice(re,1);return}}}}run(z,ie,re){for(const de of this._implementations){const le=de[1](z,ie,re);if(le)return typeof le=="boolean"?void 0:le}}}class D extends g.L{run(z,...ie){const re=z.get(x.T),de=re.getFocusedCodeEditor()||re.getActiveCodeEditor();if(de)return de.invokeWithinContext(le=>{const he=le.get(b.fN),we=le.get(l.rr);if(!he.contextMatchesRules(this.desc.precondition??void 0)){we.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,this.desc.prec
178ondition?.serialize());return}return this.runEditorCommand(le,de,...ie)})}}function k(j,z){L.w.registerCommand(j,function(ie,...re){const de=ie.get(C._Y),[le,he]=re;(0,d.j)(R.r.isUri(le)),(0,d.j)(T.y.isIPosition(he));const we=ie.get(y.S).getModel(le);if(we){const xe=T.y.lift(he);return de.invokeFunction(z,we,xe,...re.slice(2))}return ie.get(A.b).createModelReference(le).then(xe=>new Promise((Be,M)=>{try{const Ve=de.invokeFunction(z,xe.object.textEditorModel,T.y.lift(he),re.slice(2));Be(Ve)}catch(Ve){M(Ve)}}).finally(()=>{xe.dispose()}))})}function N(j){return I.INSTANCE.registerEditorCommand(j),j}function W(j){const z=new j;return I.INSTANCE.registerEditorAction(z),z}function U(j){return I.INSTANCE.registerEditorAction(j),j}function $(j){I.INSTANCE.registerEditorAction(j)}function te(j,z,ie){I.INSTANCE.registerEditorContribution(j,z,ie)}var ne;(function(j){function z(he){return I.INSTANCE.getEditorCommand(he)}j.getEditorCommand=z;function ie(){return I.INSTANCE.getEditorActions()}j.getEditorActions=ie;function re(){return I.INSTANCE.getEditorContributions()}j.getEditorContributions=re;function de(he){return I.INSTANCE.getEditorContributions().filter(we=>he.indexOf(we.id)>=0)}j.getSomeEditorContributions=de;function le(){return I.INSTANCE.getDiffEditorContributions()}j.getDiffEditorContributions=le})(ne||(ne={}));const V={EditorCommonContributions:"editor.contributions"},Y=class Y{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(z,ie,re){this.editorContributions.push({id:z,ctor:ie,instantiation:re})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(z){z.register(),this.editorActions.push(z)}getEditorActions(){return this.editorActions}registerEditorCommand(z){z.register(),this.editorCommands[z.id]=z}getEditorCommand(z){return this.editorCommands[z]||null}};Y.INSTANCE=new Y;let I=Y;i.O.add(V.EditorCommonContributions,I.INSTANCE);function H(j){return j.register(),j}const Z=H(new p({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:g.D8.MenubarEditMenu,group:"1_do",title:(0,v.kg)(73,"&&Undo"),order:1},{menuId:g.D8.CommandPalette,group:"",title:(0,v.kg)(74,"Undo"),order:1},{menuId:g.D8.SimpleEditorContext,group:"1_do",title:(0,v.kg)(75,"Undo"),order:1}]}));H(new _(Z,{id:"default:undo",precondition:void 0}));const X=H(new p({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:g.D8.MenubarEditMenu,group:"1_do",title:(0,v.kg)(76,"&&Redo"),order:2},{menuId:g.D8.CommandPalette,group:"",title:(0,v.kg)(77,"Redo"),order:1},{menuId:g.D8.SimpleEditorContext,group:"1_do",title:(0,v.kg)(78,"Redo"),order:2}]}));H(new _(X,{id:"default:redo",precondition:void 0}));const G=H(new p({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:g.D8.MenubarSelectionMenu,group:"1_basic",title:(0,v.kg)(79,"&&Select All"),order:1},{menuId:g.D8.CommandPalette,group:"",title:(0,v.kg)(80,"Select All"),order:1},{menuId:g.D8.SimpleEditorContext,group:"9_select",title:(0,v.kg)(81,"Select All"),order:1}]}))},50960:(St,We,e)=>{var S;e.d(We,{O:()=>_});var v=e(10998),R=e(79359),x=e(50946),T=e(15365),y=e(38122),A=e(52394),g=e(29849),L=e(93516),b=e(3765),C=e(31540),u=e(48421),i=e(46441),r=e(30242),d=e(73678),l=e(96016),o=function(h,D,k,N){var W=arguments.length,U=W<3?D:N===null?N=Object.getOwnPropertyDescriptor(D,k):N,$;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(h,D,k,N);else for(var te=h.length-1;te>=0;te--)($=h[te])&&(U=(W<3?$(U):W>3?$(D,k,U):$(D,k))||U);return W>3&&U&&Object.defineProperty(D,k,U),U},c=function(h,D){return function(k,N){D(k,N,h)}},a;const p={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let _=(S=class{static get(D){return D.getContribution(a.ID)}constructor(D,k,N,W,U){this._editor=D,this._logService=k,this._languageFeaturesService=N,this._languageConfigurationService=U,this._inSnippetObservable=(0,l.FY)(this,!1),this._snippetListener=new v.Cm,this._modelVersionId=-1,this._inSnippet=a.InSnippetMode.bindTo(W),this._hasNextTabstop=a.HasNextTabstop.bindTo(W),this._hasPrevTabstop=a.HasPrevTabstop.bindTo(W),this._inSnippetChoice=a.InSnippetChoice.bindTo(W)}dispose(){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._session?.dispose(),this._snippetListener.dispose()}insert(D,k){try{this._doInsert(D,typeof k>"u"?p:{...p,...k})}catch(N){this.cancel(),this._logService.error(N),this._logService.error("snippet_error"),this._logService.error("insert_template=",D),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}}_doInsert(D,k){if(this._editor.hasModel()){if(this._snippetListener.clear(),k.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof D!="string"&&this.cancel(),this._session?((0,R.j)(typeof D=="str
178ing"),this._session.merge(D,k)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new r.O(this._editor,D,k,this._languageConfigurationService),this._session.insert(k.reason)),k.undoStopAfter&&this._editor.getModel().pushStackElement(),this._session?.hasChoice){const N={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(V,I)=>{if(!this._session||V!==this._editor.getModel()||!T.y.equals(this._editor.getPosition(),I))return;const{activeChoice:H}=this._session;if(!H||H.choice.options.length===0)return;const Z=V.getValueInRange(H.range),X=!!H.choice.options.find(Y=>Y.value===Z),G=[];for(let Y=0;Y<H.choice.options.length;Y++){const j=H.choice.options[Y];G.push({kind:13,label:j.value,insertText:j.value,sortText:"a".repeat(Y+1),range:H.range,filterText:X?`${Z}_${j.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:(0,b.kg)(1455,"Go to next placeholder...")}})}return{suggestions:G}}},W=this._editor.getModel();let U,$=!1;const te=()=>{U?.dispose(),$=!1},ne=()=>{$||(U=this._languageFeaturesService.completionProvider.register({language:W.getLanguageId(),pattern:W.uri.fsPath,scheme:W.uri.scheme,exclusive:!0},N),this._snippetListener.add(U),$=!0)};this._choiceCompletions={provider:N,enable:ne,disable:te}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(N=>N.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._inSnippetObservable.set(!0,void 0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0,this._inSnippetChoice.reset();return}const{activeChoice:D}=this._session;if(!D||!this._choiceCompletions){this._choiceCompletions?.disable(),this._currentChoice=void 0,this._inSnippetChoice.reset();return}this._inSnippetChoice.set(!0),this._currentChoice!==D.choice&&(this._currentChoice=D.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{(0,L.p3)(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(D=!1){this._inSnippet.reset(),this._inSnippetObservable.set(!1,void 0),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._inSnippetChoice.reset(),this._snippetListener.clear(),this._currentChoice=void 0,this._session?.dispose(),this._session=void 0,this._modelVersionId=-1,D&&this._editor.setSelections([this._editor.getSelection()])}prev(){this._session?.prev(),this._updateState()}next(){this._session?.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}get isInSnippetObservable(){return this._inSnippetObservable}},a=S,S.ID="snippetController2",S.InSnippetMode=new C.N1("inSnippetMode",!1,(0,b.kg)(1451,"Whether the editor in current in snippet mode")),S.HasNextTabstop=new C.N1("hasNextTabstop",!1,(0,b.kg)(1452,"Whether there is a next tab stop when in snippet mode")),S.HasPrevTabstop=new C.N1("hasPrevTabstop",!1,(0,b.kg)(1453,"Whether there is a previous tab stop when in snippet mode")),S.InSnippetChoice=new C.N1("inSnippetChoice",!1,(0,b.kg)(1454,"Whether the current snippet tab stop is a choice")),S);_=a=o([c(1,i.rr),c(2,g.u),c(3,C.fN),c(4,A.JZ)],_),(0,x.HW)(_.ID,_,4);const E=x.DX.bindToContribution(_.get);(0,x.E_)(new E({id:"jumpToNextSnippetPlaceholder",precondition:C.M$.and(_.InSnippetMode,_.HasNextTabstop),handler:h=>h.next(),kbOpts:{weight:130,kbExpr:y.R.textInputFocus,primary:2}})),(0,x.E_)(new E({id:"jumpToPrevSnippetPlaceholder",precondition:C.M$.and(_.InSnippetMode,_.HasPrevTabstop),handler:h=>h.prev(),kbOpts:{weight:130,kbExpr:y.R.textInputFocus,primary:1026}})),u.f.registerKeybindingRule({id:"jumpToPrevSnippetPlaceholder",weight:191,when:C.M$.and(_.InSnippetMode,_.HasPrevTabstop,_.InSnippetChoice,y.R.textInputFocus),primary:1026}),(0,x.E_)(new E({id:"leaveSnippet",precondition:_.InSnippetMode,handler:h=>h.cancel(!0),kbOpts:{weight:130,kbExpr:y.R.textInputFocus,primary:9,secondary:[1033]}})),(0,x.E_)(new E({id:"acceptSnippet",precondition:_.InSnippetMode,handler:h=>h.finish()}))},50969:(St,We,e)=>{e.d(We,{G:()=>v});function v(R,x){let T=0,y=0;const A=R.length;for(;y<A;
178){const g=R.charCodeAt(y);if(g===32)T++;else if(g===9)T=T-T%x+x;else break;y++}return y===A?-1:T}},51055:(St,We,e)=>{e.d(We,{h:()=>v});const v=Symbol("MicrotaskDelay")},51302:(St,We,e)=>{var v=e(50946),R=e(89673),x=e(28061),T=e(38122),y=e(21600),A=e(82096);class g extends y.R7{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:T.R.writable,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(o,c){const a=R.c.deleteWordPartLeft(o);return a||new x.Q(1,1,1,1)}}class L extends y.R7{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:T.R.writable,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(o,c){const a=R.c.deleteWordPartRight(o);if(a)return a;const p=o.model.getLineCount(),_=o.model.getLineMaxColumn(p);return new x.Q(p,_,p,_)}}class b extends y.Jk{_move(o,c,a,p,_){return R.c.moveWordPartLeft(o,c,a,_)}}class C extends b{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}A.w.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class u extends b{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}A.w.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class i extends y.Jk{_move(o,c,a,p,_){return R.c.moveWordPartRight(o,c,a)}}class r extends i{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class d extends i{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:T.R.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}(0,v.E_)(new g),(0,v.E_)(new L),(0,v.E_)(new C),(0,v.E_)(new u),(0,v.E_)(new r),(0,v.E_)(new d)},51460:(St,We,e)=>{e.d(We,{F:()=>T});var v=e(2106),R=e(10998),x=e(67167);const T={JSONContribution:"base.contributions.json"};function y(L){return L.length>0&&L.charAt(L.length-1)==="#"?L.substring(0,L.length-1):L}class A extends R.jG{constructor(){super(...arguments),this.schemasById={},this._onDidChangeSchema=this._register(new v.vl)}registerSchema(b,C,u){const i=y(b);this.schemasById[i]=C,this._onDidChangeSchema.fire(b),u&&u.add((0,R.s)(()=>{delete this.schemasById[i],this._onDidChangeSchema.fire(b)}))}notifySchemaChanged(b){this._onDidChangeSchema.fire(b)}}const g=new A;x.O.add(T.JSONContribution,g)},51520:St=>{St.exports={}},51577:(St,We,e)=>{e.d(We,{e:()=>T});var v=e(55893),R=e(48877),x=e(63339);const T={clipboard:{writeText:x.ib||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:x.ib||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:R.G.PointerEvent&&("ontouchstart"in R.G||navigator.maxTouchPoints>0)}},51693:(St,We,e)=>{e.d(We,{C:()=>y,O:()=>T});var v=e(13338),R=e(1174),x=e(16844);class T{constructor(g,L){this.leadingLineContent=g,this.characterCountDelta=L}}class y{constructor(g,L,b,C,u,i,r=R.Nd.default,d=void 0){this.clipboardText=d,this._snippetCompareFn=y._compareCompletionItems,this._items=g,this._column=L,this._wordDistance=C,this._options=u,this._refilterKind=1,this._lineContext=b,this._fuzzyScoreOptions=r,i==="top"?this._snippetCompareFn=y._compareCompletionItemsSnippetsUp:i==="bottom"&&(this._snippetCompareFn=y._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(g){(this._lineContext.leadingLineContent!==g.leadingLineContent||this._lineContext.characterCountDelta!==g.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta<g.characterCountDelta&&this._filteredItems?2:1,this._lineContext=g)}get items(){return this._ensureCachedState(),this._filteredItems}
178getItemsByProvider(){return this._ensureCachedState(),this._itemsByProvider}getIncompleteProvider(){this._ensureCachedState();const g=new Set;for(const[L,b]of this.getItemsByProvider())b.length>0&&b[0].container.incomplete&&g.add(L);return g}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const g=[],{leadingLineContent:L,characterCountDelta:b}=this._lineContext;let C="",u="";const i=this._refilterKind===1?this._items:this._filteredItems,r=[],d=!this._options.filterGraceful||i.length>2e3?R.dt:R.uU;for(let l=0;l<i.length;l++){const o=i[l];if(o.isInvalid)continue;const c=this._itemsByProvider.get(o.provider);c?c.push(o):this._itemsByProvider.set(o.provider,[o]);const a=o.position.column-o.editStart.column,p=a+b-(o.position.column-this._column);if(C.length!==p&&(C=p===0?"":L.slice(-p),u=C.toLowerCase()),o.word=C,p===0)o.score=R.ne.Default;else{let _=0;for(;_<a;){const E=C.charCodeAt(_);if(E===32||E===9)_+=1;else break}if(_>=p)o.score=R.ne.Default;else if(typeof o.completion.filterText=="string"){const E=d(C,u,_,o.completion.filterText,o.filterTextLow,0,this._fuzzyScoreOptions);if(!E)continue;(0,x.W1)(o.completion.filterText,o.textLabel)===0?o.score=E:(o.score=(0,R.Jo)(C,u,_,o.textLabel,o.labelLow,0),o.score[0]=E[0])}else{const E=d(C,u,_,o.textLabel,o.labelLow,0,this._fuzzyScoreOptions);if(!E)continue;o.score=E}}o.idx=l,o.distance=this._wordDistance.distance(o.position,o.completion),r.push(o),g.push(o.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:g.length?(0,v.SO)(g.length-.85,g,(l,o)=>l-o):0}}static _compareCompletionItems(g,L){return g.score[0]>L.score[0]?-1:g.score[0]<L.score[0]?1:g.distance<L.distance?-1:g.distance>L.distance?1:g.idx<L.idx?-1:g.idx>L.idx?1:0}static _compareCompletionItemsSnippetsDown(g,L){if(g.completion.kind!==L.completion.kind){if(g.completion.kind===28)return 1;if(L.completion.kind===28)return-1}return y._compareCompletionItems(g,L)}static _compareCompletionItemsSnippetsUp(g,L){if(g.completion.kind!==L.completion.kind){if(g.completion.kind===28)return-1;if(L.completion.kind===28)return 1}return y._compareCompletionItems(g,L)}}},52115:(St,We,e)=>{e.d(We,{HG:()=>l,KS:()=>E,un:()=>S});var v=e(65958),R=e(94327),x=e(2106),T=e(10998),y=e(3765),A=e(58067),g=e(31540),L=e(66726),b=e(82399),C=e(73027),u=e(90840),i=e(76243),r=function(k,N,W,U){var $=arguments.length,te=$<3?N:U===null?U=Object.getOwnPropertyDescriptor(N,W):U,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(k,N,W,U);else for(var V=k.length-1;V>=0;V--)(ne=k[V])&&(te=($<3?ne(te):$>3?ne(N,W,te):ne(N,W))||te);return $>3&&te&&Object.defineProperty(N,W,te),te},d=function(k,N){return function(W,U){N(W,U,k)}};const l=(0,b.u1)("IInlineCompletionsService"),o=new g.N1("inlineCompletions.snoozed",!1,(0,y.kg)(83,"Whether inline completions are currently snoozed"));let c=class extends T.jG{get snoozeTimeLeft(){return this._snoozeTimeEnd===void 0?0:Math.max(0,this._snoozeTimeEnd-Date.now())}constructor(N,W){super(),this._contextKeyService=N,this._telemetryService=W,this._onDidChangeIsSnoozing=this._register(new x.vl),this.onDidChangeIsSnoozing=this._onDidChangeIsSnoozing.event,this._snoozeTimeEnd=void 0,this._recentCompletionIds=[],this._timer=this._register(new v.pc);const U=o.bindTo(this._contextKeyService);this._register(this.onDidChangeIsSnoozing(()=>U.set(this.isSnoozing())))}setSnoozeDuration(N){if(N<0)throw new R.D7(`Invalid snooze duration: ${N}. Duration must be non-negative.`);if(N===0){this.cancelSnooze();return}const W=this.isSnoozing(),U=this.snoozeTimeLeft;this._snoozeTimeEnd=Date.now()+N,W||this._onDidChangeIsSnoozing.fire(!0),this._timer.cancelAndSet(()=>{if(!this.isSnoozing())this._onDidChangeIsSnoozing.fire(!1);else throw new R.D7("Snooze timer did not fire as expected")},this.snoozeTimeLeft+1),this._reportSnooze(N-U,N)}isSnoozing(){return this.snoozeTimeLeft>0}cancelSnooze(){this.isSnoozing()&&(this._reportSnooze(-this.snoozeTimeLeft,0),this._snoozeTimeEnd=void 0,this._timer.cancel(),this._onDidChangeIsSnoozing.fire(!1))}reportNewCompletion(N){this._lastCompletionId=N,this._recentCompletionIds.unshift(N),this._recentCompletionIds.length>5&&this._recentCompletionIds.pop()}_reportSnooze(N,W){const U=Math.round(N/1e3),$=Math.round(W/1e3);this._telemetryService.publicLog2("inlineCompletions.snooze",{deltaSeconds:U,totalSeconds:$,lastCompletionId:this._lastCompletionId,recentCompletionIds:this._recentCompletionIds})}};c=r([d(0,g.fN),d(1,i.k)],c),(0,L.v)(l,c,1);const a="editor.action.inlineSuggest.snooze",p="editor.action.inlineSuggest.cancelSnooze",_="inlineCompletions.lastSnoozeDuration",h=class h extends A.L{constructor(){super({id:h.ID,title:(0,y.aS)(97,"Snooze Inline Suggestions"),precondition:g.M$.true(),f1:!0})}async run(N,...W){const U=N.get(C.GK),$=N.get(l),te=N.get(u.CS);let ne;W.length>0&&typeof W[0]=="number"&&(ne=W[0]*6e4),ne||(ne=await this.getDurationFromUser(U,te)),ne&&$.setSnoozeDuration(ne)}async getDurationFromUser(N,W){const U=W.getNumber(_,0,3e5),$=[{label:(0,y.kg)(84,"1 minute"),id:"1",value:6e4},{label:(0,y.kg)(85,"5 minutes"),id:"5",value:3e5},{label:(0,y.kg)(86,"10 minutes"),id:"10",value:6e5},{label:(0,y.kg)(87,"15 minutes"),id:"15",value:9e5},{label:(0,y.kg)(88,"30 minutes"),id:"30",value:18e5},{label:(0,y.kg)(89,"60 minutes"),id:"60",value:36e5}];let te=$;if(U>0&&!$.some(V=>V.value===U)){const V=U/6e4,I={label:(0,y.kg)(90,"{0} minutes (Last used)",V),id:"last-custom",value:U,description:(0,y.kg)(91,"Last used custom duration")},H=$.findIndex(Z=>Z.value>U);H===-1?te=[...$,I]:te=[...$.slice(0,H),I,...$.slice(H)]}te.push({label:(0,y.kg)(92,"Custom..."),id:"custom",value:-1});const ne=await N.pick(te,{placeHolder:(0,y.kg)(93,"Select snooze duration for Inline Suggestions"),activeItem:te.find(V=>V.value===U)});if(ne)return ne.id==="custom"?this.getCustomDurationFromUser(N,W):(W.store(_,ne.value,0,0),ne.value)}async getCustomDurationFromUser(N,W){const U=await N.input({placeHolder:(0,y.kg)(94,"Duration in minutes (e.g. 90)"),prompt:(0,y.kg)(95,"Enter snooze duration in minutes"),validateInput:async $=>{const te=Number($);if(isNaN(te)||te<=0||!Number.isFinite(te))return(0,y.kg)(96,"Please enter a positive number")}});if(U){const $=Number(U)*6e4;return W.store(_,$,0,0),$}}};h.ID=a;let E=h;const D=class D extends A.L{constructor(){super({id:D.ID,title:(0,y.aS)(98,"Cancel Snooze Inline Suggestions"),precondition:o,f1:!0})}async run(N){N.get(l).cancelSnooze()}};D.ID=p;let S=D},52265:(St,We,e)=>{e.d(We,{TN:()=>L,iM:()=>C});var v=e(36930),R=e(94327),x=e(66726),T=e(82399),y=e(54435),A=function(i,r,d,l){var o=arguments.length,c=o<3?r:l===null?l=Object.getOwnPropertyDescriptor(r,d):l,a;
178if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(i,r,d,l);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(c=(o<3?a(c):o>3?a(r,d,c):a(r,d))||c);return o>3&&c&&Object.defineProperty(r,d,c),c},g=function(i,r){return function(d,l){r(d,l,i)}};const L=(0,T.u1)("markdownRendererService");let b=class{constructor(r){this._openerService=r}render(r,d,l){const o={...d};o.actionHandler||(o.actionHandler=(a,p)=>C(this._openerService,a,p.isTrusted)),o.codeBlockRenderer||(o.codeBlockRenderer=(a,p)=>this._defaultCodeBlockRenderer?.renderCodeBlock(a,p,o??{})??Promise.resolve(document.createElement("span")));const c=(0,v.Gc)(r,o,l);return c.element.classList.add("rendered-markdown"),c}setDefaultCodeBlockRenderer(r){this._defaultCodeBlockRenderer=r}};b=A([g(0,y.Cr)],b);async function C(i,r,d,l){try{return await i.open(r,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:u(d),skipValidation:l})}catch(o){return(0,R.dz)(o),!1}}function u(i){return i===!0?!0:i&&Array.isArray(i.enabledCommands)?i.enabledCommands:!1}(0,x.v)(L,b,1)},52348:(St,We,e)=>{e.d(We,{Z:()=>x,l:()=>R});var v=e(82399);const R=(0,v.u1)("contextViewService"),x=(0,v.u1)("contextMenuService")},52394:(St,We,e)=>{e.d(We,{JZ:()=>$,Cw:()=>Z});var v=e(2106),R=e(10998),x=e(16844),T=e(18782),y=e(49550);const re=class re{constructor(le){if(le.autoClosingPairs?this._autoClosingPairs=le.autoClosingPairs.map(he=>new y.i3(he)):le.brackets?this._autoClosingPairs=le.brackets.map(he=>new y.i3({open:he[0],close:he[1]})):this._autoClosingPairs=[],le.__electricCharacterSupport&&le.__electricCharacterSupport.docComment){const he=le.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new y.i3({open:he.open,close:he.close||""}))}this._autoCloseBeforeForQuotes=typeof le.autoCloseBefore=="string"?le.autoCloseBefore:re.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof le.autoCloseBefore=="string"?le.autoCloseBefore:re.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=le.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(le){return le?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}};re.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> 
179	`,re.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> 
180	`;let A=re;var g=e(13338),L=e(19184),b=e(1804);class C{constructor(le){this._richEditBrackets=le}getElectricCharacters(){const le=[];if(this._richEditBrackets)for(const he of this._richEditBrackets.brackets)for(const we of he.close){const xe=we.charAt(we.length-1);le.push(xe)}return(0,g.dM)(le)}onElectricCharacter(le,he,we){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const xe=he.findTokenIndexAtOffset(we-1);if((0,L.Yo)(he.getStandardTokenType(xe)))return null;const Be=this._richEditBrackets.reversedRegex,M=he.getLineContent().substring(0,we-1)+le,Ve=b.Fu.findPrevBracketInRange(Be,1,M,0,M.length);if(!Ve)return null;const Me=M.substring(Ve.startColumn-1,Ve.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[Me])return null;const _e=he.getActualLineContentBefore(Ve.startColumn-1);return/^\s*$/.test(_e)?{matchOpenBracket:Me}:null}}function u(de){return de.global&&(de.lastIndex=0),!0}class i{constructor(le){this._indentationRules=le}shouldIncrease(le){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&u(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(le))}shouldDecrease(le){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&u(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(le))}shouldIndentNextLine(le){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&u(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(le))}shouldIgnore(le){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&u(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(le))}getIndentMetadata(le){let he=0;return this.shouldIncrease(le)&&(he+=1),this.shouldDecrease(le)&&(he+=2),this.shouldIndentNextLine(le)&&(he+=4),this.shouldIgnore(le)&&(he+=8),he}}var r=e(94327);class d{constructor(le){le=le||{},le.brackets=le.brackets||[["(",")"],["{","}
180"],["[","]"]],this._brackets=[],le.brackets.forEach(he=>{const we=d._createOpenBracketRegExp(he[0]),xe=d._createCloseBracketRegExp(he[1]);we&&xe&&this._brackets.push({open:he[0],openRegExp:we,close:he[1],closeRegExp:xe})}),this._regExpRules=le.onEnterRules||[]}onEnter(le,he,we,xe){if(le>=3)for(let Be=0,M=this._regExpRules.length;Be<M;Be++){const Ve=this._regExpRules[Be];if([{reg:Ve.beforeText,text:we},{reg:Ve.afterText,text:xe},{reg:Ve.previousLineText,text:he}].every(Le=>Le.reg?(Le.reg.lastIndex=0,Le.reg.test(Le.text)):!0))return Ve.action}if(le>=2&&we.length>0&&xe.length>0)for(let Be=0,M=this._brackets.length;Be<M;Be++){const Ve=this._brackets[Be];if(Ve.openRegExp.test(we)&&Ve.closeRegExp.test(xe))return{indentAction:y.l.IndentOutdent}}if(le>=2&&we.length>0){for(let Be=0,M=this._brackets.length;Be<M;Be++)if(this._brackets[Be].openRegExp.test(we))return{indentAction:y.l.Indent}}return null}static _createOpenBracketRegExp(le){let he=(0,x.bm)(le);return/\B/.test(he.charAt(0))||(he="\\b"+he),he+="\\s*$",d._safeRegExp(he)}static _createCloseBracketRegExp(le){let he=(0,x.bm)(le);return/\B/.test(he.charAt(he.length-1))||(he=he+"\\b"),he="^\\s*"+he,d._safeRegExp(he)}static _safeRegExp(le){try{return new RegExp(le)}catch(he){return(0,r.dz)(he),null}}}var l=e(82399),o=e(85753),c=e(77922),a=e(66726),p=e(54957),_=e(36260);class E{constructor(le,he){this.languageId=le;const we=he.brackets?S(he.brackets):[],xe=new _.VV(Ve=>{const Me=new Set;return{info:new D(this,Ve,Me),closing:Me}}),Be=new _.VV(Ve=>{const Me=new Set,Le=new Set;return{info:new k(this,Ve,Me,Le),opening:Me,openingColorized:Le}});for(const[Ve,Me]of we){const Le=xe.get(Ve),_e=Be.get(Me);Le.closing.add(_e.info),_e.opening.add(Le.info)}const M=he.colorizedBracketPairs?S(he.colorizedBracketPairs):we.filter(Ve=>!(Ve[0]==="<"&&Ve[1]===">"));for(const[Ve,Me]of M){const Le=xe.get(Ve),_e=Be.get(Me);Le.closing.add(_e.info),_e.openingColorized.add(Le.info),_e.opening.add(Le.info)}this._openingBrackets=new Map([...xe.cachedValues].map(([Ve,Me])=>[Ve,Me.info])),this._closingBrackets=new Map([...Be.cachedValues].map(([Ve,Me])=>[Ve,Me.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(le){return this._openingBrackets.get(le)}getClosingBracketInfo(le){return this._closingBrackets.get(le)}getBracketInfo(le){return this.getOpeningBracketInfo(le)||this.getClosingBracketInfo(le)}getBracketRegExp(le){const he=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,b.xb)(he,le)}}function S(de){return de.filter(([le,he])=>le!==""&&he!=="")}class h{constructor(le,he){this.config=le,this.bracketText=he}get languageId(){return this.config.languageId}}class D extends h{constructor(le,he,we){super(le,he),this.openedBrackets=we,this.isOpeningBracket=!0}}class k extends h{constructor(le,he,we,xe){super(le,he),this.openingBrackets=we,this.openingColorizedBrackets=xe,this.isOpeningBracket=!1}closes(le){return le.config!==this.config?!1:this.openingBrackets.has(le)}closesColorized(le){return le.config!==this.config?!1:this.openingColorizedBrackets.has(le)}getOpeningBrackets(){return[...this.openingBrackets]}}var N=function(de,le,he,we){var xe=arguments.length,Be=xe<3?le:we===null?we=Object.getOwnPropertyDescriptor(le,he):we,M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Be=Reflect.decorate(de,le,he,we);else for(var Ve=de.length-1;Ve>=0;Ve--)(M=de[Ve])&&(Be=(xe<3?M(Be):xe>3?M(le,he,Be):M(le,he))||Be);return xe>3&&Be&&Object.defineProperty(le,he,Be),Be},W=function(de,le){return function(he,we){le(he,we,de)}};class U{constructor(le){this.languageId=le}affects(le){return this.languageId?this.languageId===le:!0}}const $=(0,l.u1)("languageConfigurationService");let te=class extends R.jG{constructor(le,he){super(),this.configurationService=le,this.languageService=he,this._registry=this._register(new z),this.onDidChangeEmitter=this._register(new v.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const we=new Set(Object.values(V));this._register(this.configurationService.onDidChangeConfiguration(xe=>{const Be=xe.change.keys.some(Ve=>we.has(Ve)),M=xe.change.overrides.filter(([Ve,Me])=>Me.some(Le=>we.has(Le))).map(([Ve])=>Ve);
180if(Be)this.configurations.clear(),this.onDidChangeEmitter.fire(new U(void 0));else for(const Ve of M)this.languageService.isRegisteredLanguageId(Ve)&&(this.configurations.delete(Ve),this.onDidChangeEmitter.fire(new U(Ve)))})),this._register(this._registry.onDidChange(xe=>{this.configurations.delete(xe.languageId),this.onDidChangeEmitter.fire(new U(xe.languageId))}))}register(le,he,we){return this._registry.register(le,he,we)}getLanguageConfiguration(le){let he=this.configurations.get(le);return he||(he=ne(le,this._registry,this.configurationService,this.languageService),this.configurations.set(le,he)),he}};te=N([W(0,o.pG),W(1,c.L)],te);function ne(de,le,he,we){let xe=le.getLanguageConfiguration(de);if(!xe){if(!we.isRegisteredLanguageId(de))return new ie(de,{});xe=new ie(de,{})}const Be=I(xe.languageId,he),M=G([xe.underlyingConfig,Be]);return new ie(xe.languageId,M)}const V={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function I(de,le){const he=le.getValue(V.brackets,{overrideIdentifier:de}),we=le.getValue(V.colorizedBracketPairs,{overrideIdentifier:de});return{brackets:H(he),colorizedBracketPairs:H(we)}}function H(de){if(Array.isArray(de))return de.map(le=>{if(!(!Array.isArray(le)||le.length!==2))return[le[0],le[1]]}).filter(le=>!!le)}function Z(de,le,he){const we=de.getLineContent(le);let xe=(0,x.UU)(we);return xe.length>he-1&&(xe=xe.substring(0,he-1)),xe}class X{constructor(le){this.languageId=le,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(le,he){const we=new Y(le,he,++this._order);return this._entries.push(we),this._resolved=null,(0,R.lC)((0,R.s)(()=>{for(let xe=0;xe<this._entries.length;xe++)if(this._entries[xe]===we){this._entries.splice(xe,1),this._resolved=null;break}}))}getResolvedConfiguration(){if(!this._resolved){const le=this._resolve();le&&(this._resolved=new ie(this.languageId,le))}return this._resolved}_resolve(){return this._entries.length===0?null:(this._entries.sort(Y.cmp),G(this._entries.map(le=>le.configuration)))}}function G(de){let le={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const he of de)le={comments:he.comments||le.comments,brackets:he.brackets||le.brackets,wordPattern:he.wordPattern||le.wordPattern,indentationRules:he.indentationRules||le.indentationRules,onEnterRules:he.onEnterRules||le.onEnterRules,autoClosingPairs:he.autoClosingPairs||le.autoClosingPairs,surroundingPairs:he.surroundingPairs||le.surroundingPairs,autoCloseBefore:he.autoCloseBefore||le.autoCloseBefore,folding:he.folding||le.folding,colorizedBracketPairs:he.colorizedBracketPairs||le.colorizedBracketPairs,__electricCharacterSupport:he.__electricCharacterSupport||le.__electricCharacterSupport};return le}class Y{constructor(le,he,we){this.configuration=le,this.priority=he,this.order=we}static cmp(le,he){return le.priority===he.priority?le.order-he.order:le.priority-he.priority}}class j{constructor(le){this.languageId=le}}class z extends R.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new v.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(p.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(le,he,we=0){let xe=this._entries.get(le);xe||(xe=new X(le),this._entries.set(le,xe));const Be=xe.register(he,we);return this._onDidChange.fire(new j(le)),(0,R.lC)((0,R.s)(()=>{Be.dispose(),this._onDidChange.fire(new j(le))}))}getLanguageConfiguration(le){return this._entries.get(le)?.getResolvedConfiguration()||null}}class ie{constructor(le,he){this.languageId=le,this.underlyingConfig=he,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new d(this.underlyingConfig):null,this.comments=ie._handleComments(this.underlyingConfig),this.characterPair=new A(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||T.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new i(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new E(le,this.underlyingConfig)}getWordDefinition(){return(0,T.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new b.az(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new C(this.brackets)),this._electricCharacter}onEnter(le,he,we,xe){return this._onEnterSupport?this._onEnterSupport.onEnter(le,he,we,xe):null}getAutoClosingPairs(){return new y.GB(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(le){return this.characterPair.getAutoCloseBeforeSet(le)}
180getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(le){const he=le.comments;if(!he)return null;const we={};if(he.lineComment&&(typeof he.lineComment=="string"?we.lineCommentToken=he.lineComment:(we.lineCommentToken=he.lineComment.comment,we.lineCommentNoIndent=he.lineComment.noIndent)),he.blockComment){const[xe,Be]=he.blockComment;we.blockCommentStartToken=xe,we.blockCommentEndToken=Be}return we}}(0,a.v)($,te,1)},52818:(St,We,e)=>{e.d(We,{P:()=>b,k:()=>C});var v=e(97393),R=e(16844),x=e(62549),T=e(28061),y=e(32177),A=e(50969),g=e(60779),L=e(94327);class b extends y._{constructor(i,r){super(),this.textModel=i,this.languageConfigurationService=r}getLanguageConfiguration(i){return this.languageConfigurationService.getLanguageConfiguration(i)}_computeIndentLevel(i){return(0,A.G)(this.textModel.getLineContent(i+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(i,r,d){this.assertNotDisposed();const l=this.textModel.getLineCount();if(i<1||i>l)throw new L.D7("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,c=!!(o&&o.offSide);let a=-2,p=-1,_=-2,E=-1;const S=H=>{if(a!==-1&&(a===-2||a>H-1)){a=-1,p=-1;for(let Z=H-2;Z>=0;Z--){const X=this._computeIndentLevel(Z);if(X>=0){a=Z,p=X;break}}}if(_===-2){_=-1,E=-1;for(let Z=H;Z<l;Z++){const X=this._computeIndentLevel(Z);if(X>=0){_=Z,E=X;break}}}};let h=-2,D=-1,k=-2,N=-1;const W=H=>{if(h===-2){h=-1,D=-1;for(let Z=H-2;Z>=0;Z--){const X=this._computeIndentLevel(Z);if(X>=0){h=Z,D=X;break}}}if(k!==-1&&(k===-2||k<H-1)){k=-1,N=-1;for(let Z=H;Z<l;Z++){const X=this._computeIndentLevel(Z);if(X>=0){k=Z,N=X;break}}}};let U=0,$=!0,te=0,ne=!0,V=0,I=0;for(let H=0;$||ne;H++){const Z=i-H,X=i+H;H>1&&(Z<1||Z<r)&&($=!1),H>1&&(X>l||X>d)&&(ne=!1),H>5e4&&($=!1,ne=!1);let G=-1;if($&&Z>=1){const j=this._computeIndentLevel(Z-1);j>=0?(_=Z-1,E=j,G=Math.ceil(j/this.textModel.getOptions().indentSize)):(S(Z),G=this._getIndentLevelForWhitespaceLine(c,p,E))}let Y=-1;if(ne&&X<=l){const j=this._computeIndentLevel(X-1);j>=0?(h=X-1,D=j,Y=Math.ceil(j/this.textModel.getOptions().indentSize)):(W(X),Y=this._getIndentLevelForWhitespaceLine(c,D,N))}if(H===0){I=G;continue}if(H===1){if(X<=l&&Y>=0&&I+1===Y){$=!1,U=X,te=X,V=Y;continue}if(Z>=1&&G>=0&&G-1===I){ne=!1,U=Z,te=Z,V=G;continue}if(U=i,te=i,V=I,V===0)return{startLineNumber:U,endLineNumber:te,indent:V}}$&&(G>=V?U=Z:$=!1),ne&&(Y>=V?te=X:ne=!1)}return{startLineNumber:U,endLineNumber:te,indent:V}}getLinesBracketGuides(i,r,d,l){const o=[];for(let S=i;S<=r;S++)o.push([]);const c=!0,a=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new T.Q(i,1,r,this.textModel.getLineMaxColumn(r))).toArray();let p;if(d&&a.length>0){const S=(i<=d.lineNumber&&d.lineNumber<=r?a:this.textModel.bracketPairs.getBracketPairsInRange(T.Q.fromPositions(d)).toArray()).filter(h=>T.Q.strictContainsPosition(h.range,d));p=(0,v.Uk)(S,h=>c)?.range}const _=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,E=new C;for(const S of a){if(!S.closingBracketRange)continue;const h=p&&S.range.equalsRange(p);if(!h&&!l.includeInactive)continue;const D=E.getInlineClassName(S.nestingLevel,S.nestingLevelOfEqualBracketType,_)+(l.highlightActive&&h?" "+E.activeClassName:""),k=S.openingBracketRange.getStartPosition(),N=S.closingBracketRange.getStartPosition(),W=l.horizontalGuides===g.N6.Enabled||l.horizontalGuides===g.N6.EnabledForActive&&h;if(S.range.startLineNumber===S.range.endLineNumber){W&&o[S.range.startLineNumber-i].push(new g.TH(-1,S.openingBracketRange.getEndPosition().column,D,new g.pv(!1,N.column),-1,-1));continue}const U=this.getVisibleColumnFromPosition(N),$=this.getVisibleColumnFromPosition(S.openingBracketRange.getStartPosition()),te=Math.min($,U,S.minVisibleColumnIndentation+1);let ne=!1;(0,R.HG)(this.textModel.getLineContent(S.closingBracketRange.startLineNumber))<S.closingBracketRange.startColumn-1&&(ne=!0);const H=Math.max(k.lineNumber,i),Z=Math.min(N.lineNumber,r),X=ne?1:0;for(let G=H;G<Z+X;G++)o[G-i].push(new g.TH(te,-1,D,null,G===k.lineNumber?k.column:-1,G===N.lineNumber?N.column:-1));W&&(k.lineNumber>=i&&$>te&&o[k.lineNumber-i].push(new g.TH(te,-1,D,new g.pv(!1,k.column),-1,-1)),N.lineNumber<=r&&U>te&&o[N.lineNumber-i].push(new g.TH(te,-1,D,new g.pv(!ne,N.column),-1,-1)))}for(const S of o)S.sort((h,D)=>h.visibleColumn-D.visibleColumn);return o}getVisibleColumnFromPosition(i){return x.A.visibleColumnFromColumn(this.textModel.getLineContent(i.lineNumber),i.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(i,r){this.assertNotDisposed();const d=this.textModel.getLineCount();if(i<1||i>d)throw new Error("Illegal value for startLineNumber");if(r<1||r>d)throw new Error("Illegal value for endLineNumber");const l=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,c=!!(o&&o.offSide),a=new Array(r-i+1);let p=-2,_=-1,E=-2,S=-1;for(let h=i;h<=r;h++){const D=h-i,k=this._computeIndentLevel(h-1);if(k>=0){p=h-1,_=k,a[D]=Math.ceil(k/l.indentSize);continue}if(p===-2){p=-1,_=-1;for(let N=h-2;N>=0;N--){const W=this._computeIndentLevel(N);if(W>=0){p=N,_=W;break}}}if(E!==-1&&(E===-2||E<h-1)){E=-1,S=-1;for(let N=h;N<d;N++){const W=this._computeIndentLevel(N);if(W>=0){E=N,S=W;break}}}a[D]=this._getIndentLevelForWhitespaceLine(c,_,S)}return a}_getIndentLevelForWhitespaceLine(i,r,d){const l=this.textModel.getOptions();return r===-1||d===-1?0:r<d?1+Math.floor(r/l.indentSize):r===d||i?Math.
180ceil(d/l.indentSize):1+Math.floor(d/l.indentSize)}}class C{constructor(){this.activeClassName="indent-active"}getInlineClassName(i,r,d){return this.getInlineClassNameOfLevel(d?r:i)}getInlineClassNameOfLevel(i){return`bracket-indent-guide lvl-${i%30}`}}},53575:(St,We,e)=>{e.d(We,{aQ:()=>G,nr:()=>Y,Sx:()=>he,po:()=>X,tj:()=>Z});var v=e(14333),R=e(83952),x=e(55893),T=e(94901),y=e(2106),A=e(47317),g=e(15910),L=e(18676),b=e(48295),C=e(87676),u=e(18382),i=e(75962),r=e(73858),d=e(69227),l=e(82735),o=e(75712),c=e(10680),a=e(58687),p=e(94865),_=e(74707);const E={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[r.Yt]:"#FFFFFE",[r.By]:"#000000",[r.t]:"#E5EBF1",[b.vV]:"#D3D3D3",[b.H0]:"#939393",[r.Qw]:"#ADD6FF4D"}},S={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[r.Yt]:"#1E1E1E",[r.By]:"#D4D4D4",[r.t]:"#3A3D41",[b.vV]:"#404040",[b.H0]:"#707070",[r.Qw]:"#ADD6FF26"}},h={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"}
180,{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[r.Yt]:"#000000",[r.By]:"#FFFFFF",[b.vV]:"#FFFFFF",[b.H0]:"#FFFFFF"}},D={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[r.Yt]:"#FFFFFF",[r.By]:"#292929",[b.vV]:"#292929",[b.H0]:"#292929"}};var k=e(67167),N=e(89044),W=e(10998),U=e(89563),$=e(93557),te=e(58881),ne=e(11210);function V(we){const xe=new W.Cm,Be=xe.add(new y.vl),M=(0,ne.HT)();return xe.add(M.onDidChange(()=>Be.fire())),we&&xe.add(we.onDidProductIconThemeChange(()=>Be.fire())),{dispose:()=>xe.dispose(),onDidChange:Be.event,getCSS(){const Ve=we?we.getProductIconTheme():new I,Me={},Le=new $.M$,_e=new $.M$;for(const Qe of M.getIcons()){const je=Ve.getIcon(Qe);if(!je)continue;const ae=je.font,Ee=(0,$.mG)`--vscode-icon-${(0,$.s7)(Qe.id)}-font-family`,Ie=(0,$.mG)`--vscode-icon-${(0,$.s7)(Qe.id)}-content`;ae?(Me[ae.id]=ae.definition,_e.push((0,$.mG)`${Ee}: ${(0,$.r$)(ae.id)};`,(0,$.mG)`${Ie}: ${(0,$.r$)(je.fontCharacter)};`),Le.push((0,$.mG)`.codicon-${(0,$.s7)(Qe.id)}:before { content: ${(0,$.r$)(je.fontCharacter)}; font-family: ${(0,$.r$)(ae.id)}; }`)):(_e.push((0,$.mG)`${Ie}: ${(0,$.r$)(je.fontCharacter)}; ${Ee}: 'codicon';`),Le.push((0,$.mG)`.codicon-${(0,$.s7)(Qe.id)}:before { content: ${(0,$.r$)(je.fontCharacter)}; }`))}for(const Qe in Me){const je=Me[Qe],ae=je.weight?(0,$.mG)`font-weight: ${(0,$.yj)(je.weight)};`:(0,$.mG)``,Ee=je.style?(0,$.mG)`font-style: ${(0,$.yj)(je.style)};`:(0,$.mG)``,Ie=new $.M$;for(const Ue of je.src)Ie.push((0,$.mG)`${(0,$.Tf)(Ue.location)} format(${(0,$.r$)(Ue.format)})`);Le.push((0,$.mG)`@font-face { src: ${Ie.join(", ")}; font-family: ${(0,$.r$)(Qe)};${ae}${Ee} font-display: block; }`)}return Le.push((0,$.mG)`:root { ${_e.join(" ")} }`),Le.join(`
181`)}}}class I{getIcon(xe){const Be=(0,ne.HT)();let M=xe.defaults;for(;te.L.isThemeIcon(M);){const Ve=Be.getIcon(M.id);if(!Ve)return;M=Ve.defaults}return M}}var H=e(48877);const Z="vs",X="vs-dark",G="hc-black",Y="hc-light",j=k.O.as(C.Fd.ColorContribution),z=k.O.as(N.Fd.ThemingContribution);class ie{constructor(xe,Be){this.semanticHighlighting=!1,this.themeData=Be;const M=Be.base;xe.length>0?(re(xe)?this.id=xe:this.id=M+" "+xe,this.themeName=xe):(this.id=M,this.themeName=M),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const xe=new Map;for(const Be in this.themeData.colors)xe.set(Be,T.Q1.fromHex(this.themeData.colors[Be]));if(this.themeData.inherit){const Be=de(this.themeData.base);for(const M in Be.colors)xe.has(M)||xe.set(M,T.Q1.fromHex(Be.colors[M]))}this.colors=xe}return this.colors}getColor(xe,Be){const M=this.getColors().get(xe);
181if(M)return M;if(Be!==!1)return this.getDefault(xe)}getDefault(xe){let Be=this.defaultColors[xe];return Be||(Be=j.resolveDefaultColor(xe,this),this.defaultColors[xe]=Be,Be)}defines(xe){return this.getColors().has(xe)}get type(){switch(this.base){case Z:return U.zM.LIGHT;case G:return U.zM.HIGH_CONTRAST_DARK;case Y:return U.zM.HIGH_CONTRAST_LIGHT;default:return U.zM.DARK}}get tokenTheme(){if(!this._tokenTheme){let xe=[],Be=[];if(this.themeData.inherit){const Me=de(this.themeData.base);xe=Me.rules,Me.encodedTokensColors&&(Be=Me.encodedTokensColors)}const M=this.themeData.colors["editor.foreground"],Ve=this.themeData.colors["editor.background"];if(M||Ve){const Me={token:""};M&&(Me.foreground=M),Ve&&(Me.background=Ve),xe.push(Me)}xe=xe.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(Be=this.themeData.encodedTokensColors),this._tokenTheme=L.TQ.createFromRawTokenTheme(xe,Be)}return this._tokenTheme}getTokenStyleMetadata(xe,Be,M){const Me=this.tokenTheme._match([xe].concat(Be).join(".")).metadata,Le=g.x.getForeground(Me),_e=g.x.getFontStyle(Me);return{foreground:Le,italic:!!(_e&1),bold:!!(_e&2),underline:!!(_e&4),strikethrough:!!(_e&8)}}get tokenColorMap(){return[]}}function re(we){return we===Z||we===X||we===G||we===Y}function de(we){switch(we){case Z:return E;case X:return S;case G:return h;case Y:return D}}function le(we){const xe=de(we);return new ie(we,xe)}class he extends W.jG{constructor(){super(),this._onColorThemeChange=this._register(new y.vl),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new y.vl),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new I,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(Z,le(Z)),this._knownThemes.set(X,le(X)),this._knownThemes.set(G,le(G)),this._knownThemes.set(Y,le(Y));const xe=this._register(V(this));this._codiconCSS=xe.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}
182${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(Z),this._onOSSchemeChanged(),this._register(xe.onDidChange(()=>{this._codiconCSS=xe.getCSS(),this._updateCSS()})),(0,x.Dy)(H.G,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(xe){return(0,v.Cl)(xe)?this._registerShadowDomContainer(xe):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=(0,R.li)(void 0,xe=>{xe.className="monaco-colors",xe.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),W.jG.None}_registerShadowDomContainer(xe){const Be=(0,R.li)(xe,M=>{M.className="monaco-colors",M.textContent=this._allCSS});return this._styleElements.push(Be),{dispose:()=>{for(let M=0;M<this._styleElements.length;M++)if(this._styleElements[M]===Be){this._styleElements.splice(M,1);return}}}}defineTheme(xe,Be){if(!/^[a-z0-9\-]+$/i.test(xe))throw new Error("Illegal theme name!");if(!re(Be.base)&&!re(xe))throw new Error("Illegal theme base!");this._knownThemes.set(xe,new ie(xe,Be)),re(xe)&&this._knownThemes.forEach(M=>{M.base===xe&&M.notifyBaseUpdated()}),this._theme.themeName===xe&&this.setTheme(xe)}getColorTheme(){return this._theme}setColorMapOverride(xe){this._colorMapOverride=xe,this._updateThemeOrColorMap()}setTheme(xe){let Be;this._knownThemes.has(xe)?Be=this._knownThemes.get(xe):Be=this._knownThemes.get(Z),this._updateActualTheme(Be)}_updateActualTheme(xe){!xe||this._theme===xe||(this._theme=xe,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const xe=H.G.matchMedia("(forced-colors: active)").matches;if(xe!==(0,U.Bb)(this._theme.type)){let Be;(0,U.HD)(this._theme.type)?Be=xe?G:X:Be=xe?Y:Z,this._updateActualTheme(this._knownThemes.get(Be))}}}setAutoDetectHighContrast(xe){this._autoDetectHighContrast=xe,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const xe=[],Be={},M={addRule:Le=>{Be[Le]||(xe.push(Le),Be[Le]=!0)}};
182z.getThemingParticipants().forEach(Le=>Le(this._theme,M,this._environment));const Ve=[];for(const Le of j.getColors()){const _e=this._theme.getColor(Le.id,!0);_e&&Ve.push(`${(0,C.Bb)(Le.id)}: ${_e.toString()};`)}M.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${Ve.join(`
183`)} }`);const Me=this._colorMapOverride||this._theme.tokenTheme.getColorMap();M.addRule((0,L.nh)(Me)),M.addRule(".monaco-editor, .monaco-diff-editor, .monaco-component { forced-color-adjust: none; }"),this._themeCSS=xe.join(`
184`),this._updateCSS(),A.dG.setColorMap(Me),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}
185${this._themeCSS}`,this._styleElements.forEach(xe=>xe.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}},53720:(St,We,e)=>{e.d(We,{K:()=>v});const v=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list",html:"text/html"})},53909:(St,We,e)=>{e.d(We,{f:()=>T,j:()=>x});var v=e(31540),R=e(82399);const x=(0,R.u1)("accessibilityService"),T=new v.N1("accessibilityModeEnabled",!1)},54159:(St,We,e)=>{e.d(We,{W:()=>C,m:()=>b});var v=e(13338),R=e(87110),x=e(94327),T=e(16844),y=e(15365),A=e(28061),g=e(92215),L=e(50805);class b{static fromStringEdit(r,d){const l=r.replacements.map(o=>C.fromStringReplacement(o,d));return new b(l)}static fromParallelReplacementsUnsorted(r){const d=r.slice().sort((0,v.VE)(l=>l.range,A.Q.compareRangesUsingStarts));return new b(d)}constructor(r){this.replacements=r,(0,R.Ft)(()=>(0,R.Xo)(r,(d,l)=>d.range.getEndPosition().isBeforeOrEqual(l.range.getStartPosition())))}mapPosition(r){let d=0,l=0,o=0;for(const c of this.replacements){const a=c.range.getStartPosition();if(r.isBeforeOrEqual(a))break;const p=c.range.getEndPosition(),_=g.W.ofText(c.text);if(r.isBefore(p)){const E=new y.y(a.lineNumber+d,a.column+(a.lineNumber+d===l?o:0)),S=_.addToPosition(E);return u(E,S)}a.lineNumber+d!==l&&(o=0),d+=_.lineCount-(c.range.endLineNumber-c.range.startLineNumber),_.lineCount===0?p.lineNumber!==a.lineNumber?o+=_.columnCount-(p.column-1):o+=_.columnCount-(p.column-a.column):o=_.columnCount,l=p.lineNumber+d}return new y.y(r.lineNumber+d,r.column+(r.lineNumber+d===l?o:0))}mapRange(r){function d(a){return a instanceof y.y?a:a.getStartPosition()}function l(a){return a instanceof y.y?a:a.getEndPosition()}const o=d(this.mapPosition(r.getStartPosition())),c=l(this.mapPosition(r.getEndPosition()));return u(o,c)}apply(r){let d="",l=new y.y(1,1);for(const c of this.replacements){const a=c.range,p=a.getStartPosition(),_=a.getEndPosition(),E=u(l,p);E.isEmpty()||(d+=r.getValueOfRange(E)),d+=c.text,l=_}const o=u(l,r.endPositionExclusive);return o.isEmpty()||(d+=r.getValueOfRange(o)),d}applyToString(r){const d=new L.tp(r);return this.apply(d)}getNewRanges(){const r=[];let d=0,l=0,o=0;for(const c of this.replacements){const a=g.W.ofText(c.text),p=y.y.lift({lineNumber:c.range.startLineNumber+l,column:c.range.startColumn+(c.range.startLineNumber===d?o:0)}),_=a.createRange(p);r.push(_),l=_.endLineNumber-c.range.endLineNumber,o=_.endColumn-c.range.endColumn,d=c.range.endLineNumber}return r}toReplacement(r){if(this.replacements.length===0)throw new x.D7;if(this.replacements.length===1)return this.replacements[0];const d=this.replacements[0].range.getStartPosition(),l=this.replacements[this.replacements.length-1].range.getEndPosition();let o="";for(let c=0;c<this.replacements.length;c++){const a=this.replacements[c];if(o+=a.text,c<this.replacements.length-1){const p=this.replacements[c+1],_=A.Q.fromPositions(a.range.getEndPosition(),p.range.getStartPosition()),E=r.getValueOfRange(_);o+=E}}return new C(A.Q.fromPositions(d,l),o)}toString(r){return r===void 0?this.replacements.map(d=>d.toString()).join(`
186`):typeof r=="string"?this.toString(new L.tp(r)):this.replacements.length===0?"":this.replacements.map(d=>{const o=r.getValueOfRange(d.range),c=A.Q.fromPositions(new y.y(Math.max(1,d.range.startLineNumber-1),1),d.range.getStartPosition());let a=r.getValueOfRange(c);a.length>10&&(a="..."+a.substring(a.length-10));const p=A.Q.fromPositions(d.range.getEndPosition(),new y.y(d.range.endLineNumber+1,1));let _=r.getValueOfRange(p);_.length>10&&(_=_.substring(0,10)+"...");let E=o;if(E.length>10){const h=Math.floor(5);E=E.substring(0,h)+"..."+E.substring(E.length-h)}let S=d.text;if(S.length>10){const h=Math.floor(5);S=S.substring(0,h)+"..."+S.substring(S.length-h)}return E.length===0?`${a}\u2770${S}\u2771${_}`:`${a}\u2770${E}\u21A6${S}\u2771${_}`}).join(`
187`)}}class C{static joinReplacements(r,d){if(r.length===0)throw new x.D7;if(r.length===1)return r[0];const l=r[0].range.getStartPosition(),o=r[r.length-1].range.getEndPosition();let c="";for(let a=0;a<r.length;a++){const p=r[a];if(c+=p.text,a<r.length-1){const _=r[a+1],E=A.Q.fromPositions(p.range.getEndPosition(),_.range.getStartPosition()),S=d.getValueOfRange(E);c+=S}}return new C(A.Q.fromPositions(l,o),c)}static fromStringReplacement(r,d){return new C(d.getTransformer().getRange(r.replaceRange),r.newText)}static delete(r){return new C(r,"")}constructor(r,d){this.range=r,this.text=d}get isEmpty(){return this.range.isEmpty()&&this.text.length===0}static equals(r,d){return r.range.equalsRange(d.range)&&r.text===d.text}equals(r){return C.equals(this,r)}
187removeCommonPrefixAndSuffix(r){return this.removeCommonPrefix(r).removeCommonSuffix(r)}removeCommonPrefix(r){const d=r.getValueOfRange(this.range).replaceAll(`\r
188`,`
189`),l=this.text.replaceAll(`\r
190`,`
191`),o=(0,T.Qp)(d,l),c=g.W.ofText(d.substring(0,o)).addToPosition(this.range.getStartPosition()),a=l.substring(o),p=A.Q.fromPositions(c,this.range.getEndPosition());return new C(p,a)}removeCommonSuffix(r){const d=r.getValueOfRange(this.range).replaceAll(`\r
192`,`
193`),l=this.text.replaceAll(`\r
194`,`
195`),o=(0,T.Vi)(d,l),c=g.W.ofText(d.substring(0,d.length-o)).addToPosition(this.range.getStartPosition()),a=l.substring(0,l.length-o),p=A.Q.fromPositions(this.range.getStartPosition(),c);return new C(p,a)}toString(){const r=this.range.getStartPosition(),d=this.range.getEndPosition();return`(${r.lineNumber},${r.column} -> ${d.lineNumber},${d.column}): "${this.text}"`}}function u(i,r){if(i.lineNumber===r.lineNumber&&i.column===Number.MAX_SAFE_INTEGER)return A.Q.fromPositions(r,r);if(!i.isBeforeOrEqual(r))throw new x.D7("start must be before end");return new A.Q(i.lineNumber,i.column,r.lineNumber,r.column)}},54296:(St,We,e)=>{e.d(We,{Th:()=>d,z8:()=>l});var v=e(3765),R=e(94327),x=e(93702),T=e(37264),y=e(6949),A=e(42802),g=e(22467),L=e(32471);function b(o){return o.toString()}class C{static create(c,a){const p=c.getAlternativeVersionId(),_=r(c);return new C(p,p,_,_,a,a,[])}constructor(c,a,p,_,E,S,h){this.beforeVersionId=c,this.afterVersionId=a,this.beforeEOL=p,this.afterEOL=_,this.beforeCursorState=E,this.afterCurs
195orState=S,this.changes=h}append(c,a,p,_,E){a.length>0&&(this.changes=(0,y.x)(this.changes,a)),this.afterEOL=p,this.afterVersionId=_,this.afterCursorState=E}static _writeSelectionsSize(c){return 4+4*4*(c?c.length:0)}static _writeSelections(c,a,p){if((0,A.Sw)(c,a?a.length:0,p),p+=4,a)for(const _ of a)(0,A.Sw)(c,_.selectionStartLineNumber,p),p+=4,(0,A.Sw)(c,_.selectionStartColumn,p),p+=4,(0,A.Sw)(c,_.positionLineNumber,p),p+=4,(0,A.Sw)(c,_.positionColumn,p),p+=4;return p}static _readSelections(c,a,p){const _=(0,A.bb)(c,a);a+=4;for(let E=0;E<_;E++){const S=(0,A.bb)(c,a);a+=4;const h=(0,A.bb)(c,a);a+=4;const D=(0,A.bb)(c,a);a+=4;const k=(0,A.bb)(c,a);a+=4,p.push(new x.L(S,h,D,k))}return a}serialize(){let c=10+C._writeSelectionsSize(this.beforeCursorState)+C._writeSelectionsSize(this.afterCursorState)+4;for(const _ of this.changes)c+=_.writeSize();const a=new Uint8Array(c);let p=0;(0,A.Sw)(a,this.beforeVersionId,p),p+=4,(0,A.Sw)(a,this.afterVersionId,p),p+=4,(0,A.Gs)(a,this.beforeEOL,p),p+=1,(0,A.Gs)(a,this.afterEOL,p),p+=1,p=C._writeSelections(a,this.beforeCursorState,p),p=C._writeSelections(a,this.afterCurs
195orState,p),(0,A.Sw)(a,this.changes.length,p),p+=4;for(const _ of this.changes)p=_.write(a,p);return a.buffer}static deserialize(c){const a=new Uint8Array(c);let p=0;const _=(0,A.bb)(a,p);p+=4;const E=(0,A.bb)(a,p);p+=4;const S=(0,A.pJ)(a,p);p+=1;const h=(0,A.pJ)(a,p);p+=1;const D=[];p=C._readSelections(a,p,D);const k=[];p=C._readSelections(a,p,k);const N=(0,A.bb)(a,p);p+=4;const W=[];for(let U=0;U<N;U++)p=y.k.read(a,p,W);return new C(_,E,S,h,D,k,W)}}class u{get type(){return 0}get resource(){return T.r.isUri(this.model)?this.model:this.model.uri}constructor(c,a,p,_){this.label=c,this.code=a,this.model=p,this._data=C.create(p,_)}toString(){return(this._data instanceof C?this._data:C.deserialize(this._data)).changes.map(a=>a.toString()).join(", ")}matchesResource(c){return(T.r.isUri(this.model)?this.model:this.model.uri).toString()===c.toString()}setModel(c){this.model=c}canAppend(c){return this.model===c&&this._data instanceof C}append(c,a,p,_,E){this._data instanceof C&&this._data.append(c,a,p,_,E)}close(){this._data instanceof C&&(this._data=this._data.serialize())}open(){this._data instanceof C||(this._data=C.deserialize(this._data))}undo(){if(T.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof C&&(this._data=this._data.serialize());const c=C.deserialize(this._data);this.model._applyUndo(c.changes,c.beforeEOL,c.beforeVersionId,c.beforeCursorState)}redo(){if(T.r.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof C&&(this._data=this._data.serialize());const c=C.deserialize(this._data);this.model._applyRedo(c.changes,c.afterEOL,c.afterVersionId,c.afterCursorState)}heapSize(){return this._data instanceof C&&(this._data=this._data.serialize()),this._data.byteLength+168}}class i{get resources(){return this._editStackElementsArr.map(c=>c.resource)}constructor(c,a,p){this.label=c,this.code=a,this.type=1,this._isOpen=!0,this._editStackElementsArr=p.slice(0),this._editStackElementsMap=new Map;for(const _ of this._editStackElementsArr){const E=b(_.resource);this._editStackElementsMap.set(E,_)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(c){const a=b(c);return this._editStackElementsMap.has(a)}setModel(c){const a=b(T.r.isUri(c)?c:c.uri);this._editStackElementsMap.has(a)&&this._editStackElementsMap.get(a).setModel(c)}canAppend(c){if(!this._isOpen)return!1;const a=b(c.uri);return this._editStackElementsMap.has(a)?this._editStackElementsMap.get(a).canAppend(c):!1}append(c,a,p,_,E){const S=b(c.uri);this._editStackElementsMap.get(S).append(c,a,p,_,E)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const c of this._editStackElementsArr)c.undo()}redo(){for(const c of this._editStackElementsArr)c.redo()}heapSize(c){const a=b(c);return this._editStackElementsMap.has(a)?this._editStackElementsMap.get(a).heapSize():0}split(){return this._editStackElementsArr}toString(){const c=[];for(const a of this._editStackElementsArr)c.push(`${(0,g.P8)(a.resource)}: ${a}`);return`{${c.join(", ")}}`}}function r(o){return o.getEOL()===`
196`?0:1}function d(o){return o?o instanceof u||o instanceof i:!1}class l{constructor(c,a){this._model=c,this._undoRedoService=a}pushStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);d(c)&&c.close()}popStackElement(){const c=this._undoRedoService.getLastElement(this._model.uri);d(c)&&c.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(c,a){const p=this._undoRedoService.getLastElement(this._model.uri);
196if(d(p)&&p.canAppend(this._model))return p;const _=new u((0,v.kg)(820,"Typing"),"undoredo.textBufferEdit",this._model,c);return this._undoRedoService.pushElement(_,a),_}pushEOL(c){const a=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(c),a.append(this._model,[],r(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(c,a,p,_,E=L.dg.unknown({name:"pushEditOperation"})){const S=this._getOrCreateEditStackElement(c,_),h=this._model.applyEdits(a,!0,E),D=l._computeCursorState(p,h),k=h.map((N,W)=>({index:W,textChange:N.textChange}));return k.sort((N,W)=>N.textChange.oldPosition===W.textChange.oldPosition?N.index-W.index:N.textChange.oldPosition-W.textChange.oldPosition),S.append(this._model,k.map(N=>N.textChange),r(this._model),this._model.getAlternativeVersionId(),D),D}static _computeCursorState(c,a){try{return c?c(a):null}catch(p){return(0,R.dz)(p),null}}}},54324:(St,We,e)=>{e.d(We,{Su:()=>C,b7:()=>b,fe:()=>i});var v=e(16844),R=e(63339),x=e(42802);let T;function y(){return T||(T=new TextDecoder("UTF-16LE")),T}let A;function g(){return A||(A=new TextDecoder("UTF-16BE")),A}let L;function b(){return L||(L=(0,R.cm)()?y():g()),L}function C(r,d,l){const o=new Uint16Array(r.buffer,d,l);return l>0&&(o[0]===65279||o[0]===65534)?u(r,d,l):y().decode(o)}function u(r,d,l){const o=[];let c=0;for(let a=0;a<l;a++){const p=(0,x.$l)(r,d);d+=2,o[c++]=String.fromCharCode(p)}return o.join("")}class i{constructor(d){this._capacity=d|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const d=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return b().decode(d)}_flushBuffer(){const d=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[d]:this._completedStrings[this._completedStrings.length]=d}appendCharCode(d){const l=this._capacity-this._bufferLength;l<=1&&(l===0||(0,v.pc)(d))&&this._flushBuffer(),this._buffer[this._bufferLength++]=d}appendASCIICharCode(d){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=d}appendString(d){const l=d.length;if(this._bufferLength+l>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=d;return}for(let o=0;o<l;o++)this._buffer[this._bufferLength++]=d.charCodeAt(o)}}},54435:(St,We,e)=>{e.d(We,{Cr:()=>R,VM:()=>x,ew:()=>T});var v=e(82399);const R=(0,v.u1)("openerService");function x(y,A){return y.with({fragment:`${A.startLineNumber},${A.startColumn}${A.endLineNumber?`-${A.endLineNumber}${A.endColumn?`,${A.endColumn}`:""}`:""}`})}function T(y){let A;const g=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(y.fragment);return g&&(A={startLineNumber:parseInt(g[1]),startColumn:g[2]?parseInt(g[2]):1,endLineNumber:g[4]?parseInt(g[4]):void 0,endColumn:g[4]?g[5]?parseInt(g[5]):1:void 0},y=y.with({fragment:""})),{selection:A,uri:y}}},54860:(St,We,e)=>{e.d(We,{oq:()=>Ee,rr:()=>Ie,rN:()=>Ce,R4:()=>_e,ej:()=>Qe,nW:()=>Me});var v=e(93557),R=e(14333),x=e(87594),T=e(23473),y=e(79578),A=e(68939),g=e(27969),L=e(98315),b=e(10998),C=e(63339),u=e(58881
196),i=e(79359),r=e(3765),d=e(53909),l=e(58039),o=e(85753),c=e(31540),a=e(52348),p=e(82399),_=e(56071),E=e(29879),S=e(90840),h=e(3273),D=e(87676),k=e(18382),N=e(75962),W=e(73858),U=e(69227),$=e(82735),te=e(75712),ne=e(10680),V=e(58687),I=e(94865),H=e(74707);const Z=["#007acc","#005a9e","#0098ff","#4fc3f7","#64b5f6","#42a5f5"];let X;function G(He){if(X)return;const Ke=He.getBoundingClientRect(),qe=(0,R.zk)(He).document,ht=(0,R.$)(".animation-overlay");return ht.style.position="fixed",ht.style.left=`${Ke.left}px`,ht.style.top=`${Ke.top}px`,ht.style.width=`${Ke.width}px`,ht.style.height=`${Ke.height}px`,ht.style.pointerEvents="none",ht.style.overflow="visible",ht.style.zIndex="10000",qe.body.appendChild(ht),X=ht,{overlay:ht,cx:Ke.width/2,cy:Ke.height/2}}function Y(He){setTimeout(()=>{X&&(X.remove(),X=void 0)},He)}function j(He,Ke){const qe=[],ht=Math.max(Ke.scale?.length??0,Ke.rotate?.length??0,Ke.translateY?.length??0);if(ht!==0){for(let Te=0;Te<ht;Te++){const oe={offset:ht===1?1:Te/(ht-1)};let q="";const ue=Ke.scale?.[Te];ue!==void 0&&(q+=`scale(${ue})`);const J=Ke.rotate?.[Te];J!==void 0&&(q+=` rotate(${J}deg)`);const ve=Ke.translateY?.[Te];ve!==void 0&&(q+=` translateY(${ve}px)`),q&&(oe.transform=q.trim()),qe.push(oe)}He.animate(qe,{duration:Ke.duration??350,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}}function z(He){const Ke=G(He);if(!Ke)return;const{overlay:qe,cx:ht,cy:Te}=Ke,oe=He.getBoundingClientRect();j(He,{scale:[1,1.3,1],rotate:[0,-10,10,0],duration:350});const q=10;for(let J=0;J<q;J++){const ve=3+J%3*1.5,De=J*36*Math.PI/180,fe=35,Se=.6+J%4*.1,pe=(0,R.$)(".animation-particle");pe.style.position="absolute",pe.style.width=`${ve}px`,pe.style.height=`${ve}px`,pe.style.borderRadius="50%",pe.style.backgroundColor=Z[J%Z.length],pe.style.left=`${ht-ve/2}px`,pe.style.top=`${Te-ve/2}px`,qe.appendChild(pe);const Ae=Math.cos(De)*fe,Xe=Math.sin(De)*fe;pe.animate([{opacity:0,transform:"scale(0) translate(0, 0)"},{opacity:Se,transform:`scale(1) translate(${Ae*.5}px, ${Xe*.5}px)`,offset:.3},{opacity:Se,transform:`scale(1) translate(${Ae}px, ${Xe}px)`,offset:.7},{opacity:0,transform:`scale(0) translate(${Ae}px, ${Xe}px)`}],{duration:1100,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}const ue=(0,R.$)(".animation-particle");ue.style.position="absolute",ue.style.left="0",ue.style.top="0",ue.style.width=`${oe.width}px`,ue.style.height=`${oe.height}px`,ue.style.borderRadius="50%",ue.style.border="2px solid var(--vscode-focusBorder, #007acc)",ue.style.boxSizing="border-box",qe.appendChild(ue),ue.animate([{transform:"scale(1)",opacity:1},{transform:"scale(2)",opacity:0}
196],{duration:800,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}),Y(2e3)}function ie(He,Ke){const qe=G(He);if(!qe)return;const{overlay:ht,cx:Te,cy:oe}=qe,q=He.getBoundingClientRect();j(He,{translateY:[0,-6,0],duration:350});const ue=6;for(let ve=0;ve<ue;ve++){const De=12+ve%3*2,fe=(0,R.$)(".animation-particle");fe.style.position="absolute",fe.style.left=`${Te}px`,fe.style.top=`${oe}px`,fe.style.fontSize=`${De}px`,fe.style.lineHeight="1",fe.style.color="var(--vscode-focusBorder, #007acc)",fe.classList.add(...u.L.asClassNameArray(Ke)),ht.appendChild(fe);const Se=(Math.random()-.5)*50,pe=-50-ve%3*10,Ae=(Math.random()-.5)*20,Xe=(Math.random()-.5)*40;fe.animate([{opacity:0,transform:`translate(-50%, -50%) scale(0) rotate(${Ae}deg)`},{opacity:1,transform:`translate(calc(-50% + ${Se*.3}px), calc(-50% + ${pe*.3}px)) scale(1) rotate(${(Ae+Xe)*.3}deg)`,offset:.3},{opacity:1,transform:`translate(calc(-50% + ${Se*.7}px), calc(-50% + ${pe*.7}px)) scale(1) rotate(${(Ae+Xe)*.7}deg)`,offset:.7},{opacity:0,transform:`translate(calc(-50% + ${Se}px), calc(-50% + ${pe}px)) scale(0.8) rotate(${Xe}deg)`}],{duration:800+ve%3*200,delay:ve*80,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}const J=(0,R.$)(".animation-particle");J.style.position="absolute",J.style.left="0",J.style.top="0",J.style.width=`${q.width}px`,J.style.height=`${q.height}px`,J.style.borderRadius="50%",J.style.border="2px solid var(--vscode-focusBorder, #007acc)",J.style.boxSizing="border-box",ht.appendChild(J),J.animate([{transform:"scale(1)",opacity:1},{transform:"scale(2)",opacity:0}
196],{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}),Y(2e3)}function re(He){const Ke=G(He);if(!Ke)return;const{overlay:qe,cx:ht,cy:Te}=Ke,oe=He.getBoundingClientRect();j(He,{scale:[1,1.1,1],rotate:[0,-12,0],duration:400});for(let ue=0;ue<2;ue++){const J=(0,R.$)(".animation-particle");J.style.position="absolute",J.style.left="0",J.style.top="0",J.style.width=`${oe.width}px`,J.style.height=`${oe.height}px`,J.style.borderRadius="50%",J.style.border="2px solid var(--vscode-focusBorder, #007acc)",J.style.boxSizing="border-box",qe.appendChild(J),J.animate([{transform:"scale(0.8)",opacity:0},{transform:"scale(0.8)",opacity:.6,offset:.01},{transform:"scale(2.5)",opacity:0}],{duration:800,delay:ue*150,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}for(let ue=0;ue<6;ue++){const J=ue*60*Math.PI/180,ve=30+ue%2*10,De=3.5,fe=(0,R.$)(".animation-particle");fe.style.position="absolute",fe.style.width=`${De}px`,fe.style.height=`${De}px`,fe.style.borderRadius="50%",fe.style.backgroundColor="#0098ff",fe.style.left=`${ht-De/2}px`,fe.style.top=`${Te-De/2}px`,qe.appendChild(fe);const Se=Math.cos(J)*ve,pe=Math.sin(J)*ve;fe.animate([{opacity:0,transform:"scale(0) translate(0, 0)"},{opacity:1,transform:`scale(1) translate(${Se}px, ${pe}px)`,offset:.5},{opacity:0,transform:`scale(0) translate(${Se}px, ${pe}px)`}],{duration:600,delay:100+ue*50,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}const q=(0,R.$)(".animation-particle");q.style.position="absolute",q.style.left="0",q.style.top="0",q.style.width=`${oe.width}px`,q.style.height=`${oe.height}px`,q.style.borderRadius="50%",q.style.backgroundColor="var(--vscode-focusBorder, #007acc)",qe.appendChild(q),q.animate([{transform:"scale(0.9)",opacity:0}
196,{transform:"scale(0.9)",opacity:.5,offset:.01},{transform:"scale(1.5)",opacity:0}],{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"}),Y(2e3)}function de(He){const Ke=G(He);if(!Ke)return;const{overlay:qe,cx:ht,cy:Te}=Ke;j(He,{scale:[1,1.15,1],duration:350});for(let oe=0;oe<8;oe++){const J=(oe*45+22.5)*Math.PI/180,ve=14,De=30,fe=(0,R.$)(".animation-particle");fe.style.position="absolute",fe.style.width="3px",fe.style.height="3px",fe.style.borderRadius="50%",fe.style.backgroundColor="var(--vscode-editor-foreground, #ffffff)",fe.style.left=`${ht-3/2}px`,fe.style.top=`${Te-3/2}px`,qe.appendChild(fe);const Se=Math.cos(J)*ve,pe=Math.sin(J)*ve,Ae=Math.cos(J)*De,Xe=Math.sin(J)*De;fe.animate([{opacity:0,transform:`scale(0) translate(${Se}px, ${pe}px)`},{opacity:.7,transform:`scale(1.2) translate(${(Se+Ae)/2}px, ${(pe+Xe)/2}px)`,offset:.25},{opacity:.7,transform:`scale(1) translate(${Ae*.8}px, ${Xe*.8}px)`,offset:.5},{opacity:.7*.5,transform:`scale(1) translate(${Ae}px, ${Xe}px)`,offset:.75},{opacity:0,transform:`scale(0.5) translate(${Ae}px, ${Xe}px)`}],{duration:1100,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}for(let oe=0;oe<8;oe++){const q=oe*45,ue=(0,R.$)(".animation-particle");ue.style.position="absolute",ue.style.left=`${ht}px`,ue.style.top=`${Te}px`,ue.style.width="0",ue.style.height="0",ue.style.transform=`rotate(${q}deg)`,qe.appendChild(ue);const J=(0,R.$)(".animation-particle");J.style.position="absolute",J.style.width="2px",J.style.height="10px",J.style.backgroundColor="var(--vscode-focusBorder, #007acc)",J.style.left="-1px",J.style.top="-22px",J.style.transformOrigin="bottom center",ue.appendChild(J),J.animate([{transform:"scale(1, 0)",opacity:.6},{transform:"scale(1, 1)",opacity:.6,offset:.2},{transform:"scale(1, 1)",opacity:.6,offset:.6},{transform:"scale(1, 1)",opacity:.6,offset:.8},{transform:"scale(0, 0.3)",opacity:0}
196],{duration:1200,delay:150,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"forwards"})}Y(2e3)}function le(He,Ke,qe){switch(Ke){case 1:z(He);break;case 2:qe&&ie(He,qe);break;case 3:re(He);break;case 4:de(He);break}}var he=e(89563),we=e(89044),xe=e(40947),Be=e(58067),M=function(He,Ke,qe,ht){var Te=arguments.length,oe=Te<3?Ke:ht===null?ht=Object.getOwnPropertyDescriptor(Ke,qe):ht,q;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")oe=Reflect.decorate(He,Ke,qe,ht);else for(var ue=He.length-1;ue>=0;ue--)(q=He[ue])&&(oe=(Te<3?q(oe):Te>3?q(Ke,qe,oe):q(Ke,qe))||oe);return Te>3&&oe&&Object.defineProperty(Ke,qe,oe),oe},Ve=function(He,Ke){return function(qe,ht){Ke(qe,ht,He)}};function Me(He,Ke){const qe=[];return Le(He,qe),qe}function Le(He,Ke,qe){const ht=R.Di.getInstance(),Te=ht.keyStatus.altKey||(C.uF||C.j9)&&ht.keyStatus.shiftKey;ae(He,Ke,Te,oe=>oe==="navigation")}function _e(He,Ke,qe,ht){const Te={primary:[],secondary:[]};return je(He,Te,Ke,qe,ht),Te}function Qe(He,Ke,qe,ht){const Te=[];return je(He,Te,Ke,qe,ht),Te}function je(He,Ke,qe,ht,Te){ae(He,Ke,!1,typeof qe=="string"?q=>q===qe:qe,ht,Te)}function ae(He,Ke,qe,ht=q=>q==="navigation",Te=()=>!1,oe=!1){let q,ue;Array.isArray(Ke)?(q=Ke,ue=Ke):(q=Ke.primary,ue=Ke.secondary);const J=new Set;for(const[ve,De]of He){let fe;ht(ve)?(fe=q,fe.length>0&&oe&&fe.push(new g.wv)):(fe=ue,fe.length>0&&fe.push(new g.wv));for(let Se of De){qe&&(Se=Se instanceof Be.Xe&&Se.alt?Se.alt:Se);const pe=fe.push(Se);Se instanceof g.YH&&J.add({group:ve,action:Se,index:pe-1})}}for(const{group:ve,action:De,index:fe}of J){const Se=ht(ve)?q:ue,pe=De.actions;Te(De,ve,Se.length)&&Se.splice(fe,1,...pe)}}let Ee=class extends T.Z4{constructor(Ke,qe,ht,Te,oe,q,ue,J){super(void 0,Ke,{icon:!!(Ke.class||Ke.item.icon),label:!Ke.class&&!Ke.item.icon,draggable:qe?.draggable,keybinding:qe?.keybinding,hoverDelegate:qe?.hoverDelegate,keybindingNotRenderedWithLabel:qe?.keybindingNotRenderedWithLabel}),this._options=qe,this._keybindingService=ht,this._notificationService=Te,this._contextKeyService=oe,this._themeService=q,this._contextMenuService=ue,this._accessibilityService=J,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new b.HE),this._altKey=R.Di.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(Ke){if(Ke.preventDefault(),Ke.stopPropagation(),this._options?.onClickAnimation&&this.element&&!this._accessibilityService.isMotionReduced()){const qe=this._menuItemAction.item.icon;le(this.element,this._options.onClickAnimation,u.L.isThemeIcon(qe)?qe:void 0)}try{await this.actionRunner.run(this._commandAction,this._context)}catch(qe){this._notificationService.error(qe)}}render(Ke){if(super.render(Ke),Ke.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let qe=!1;const ht=()=>{const Te=!!this._menuItemAction.alt?.enabled&&(!this._accessibilityService.isMotionReduced()||qe)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&qe);Te!==this._wantsAltCommand&&(this._wantsAltCommand=Te,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(ht)),this._register((0,R.ko)(Ke,"mouseleave",Te=>{qe=!1,ht()})),this._register((0,R.ko)(Ke,"mouseenter",Te=>{qe=!0,ht()})),ht()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){const Ke=this._commandAction.tooltip||this._commandAction.label;let qe=this._keybindingService.appendKeybinding(Ke,this._commandAction.id,this._contextKeyService);if(!this._wantsAltCommand&&this._menuItemAction.alt?.enabled){const ht=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,Te=this._keybindingService.appendKeybinding(ht,this._menuItemAction.alt.id,this._contextKeyService);qe=(0,r.kg)(1698,`{0}
197[{1}] {2}`,qe,L.Of.modifierLabels[C.OS].altKey,Te)}return qe}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(Ke){this._itemClassDispose.value=void 0;const{element:qe,label:ht}=this;if(!qe||!ht)return;const Te=this._commandAction.checked&&(0,l.N)(Ke.toggled)&&Ke.toggled.icon?Ke.toggled.icon:Ke.icon;if(Te)if(u.L.isThemeIcon(Te)){const oe=u.L.asClassNameArray(Te);ht.classList.add(...oe),this._itemClassDispose.value=(0,b.s)(()=>{ht.classList.remove(...oe)})}else ht.style.backgroundImage=(0,he.HD)(this._themeService.getColorTheme(
197).type)?(0,v.Tf)(Te.dark):(0,v.Tf)(Te.light),ht.classList.add("icon"),this._itemClassDispose.value=(0,b.qE)((0,b.s)(()=>{ht.style.backgroundImage="",ht.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};Ee=M([Ve(2,_.b),Ve(3,E.Ot),Ve(4,c.fN),Ve(5,we.Gy),Ve(6,a.Z),Ve(7,d.j)],Ee);class Ie extends Ee{render(Ke){this.options.label=!0,this.options.icon=!1,super.render(Ke),Ke.classList.add("text-only"),Ke.classList.toggle("use-comma",this._options?.useComma??!1)}updateLabel(){const Ke=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!Ke)return super.updateLabel();if(this.label){const qe=Ie._symbolPrintEnter(Ke);this._options?.conversational?this.label.textContent=(0,r.kg)(1699,"{1} to {0}",this._action.label,qe):this.label.textContent=(0,r.kg)(1700,"{0} ({1})",this._action.label,qe)}}static _symbolPrintEnter(Ke){return Ke.getLabel()?.replace(/\benter\b/gi,"\u23CE").replace(/\bEscape\b/gi,"Esc")}}let Ue=class extends y.d{constructor(Ke,qe,ht,Te,oe){const q={...qe,menuAsChild:qe?.menuAsChild??!1,classNames:qe?.classNames??(u.L.isThemeIcon(Ke.item.icon)?u.L.asClassName(Ke.item.icon):void 0),keybindingProvider:qe?.keybindingProvider??(ue=>ht.lookupKeybinding(ue.id))};super(Ke,{getActions:()=>Ke.actions},Te,q),this._keybindingService=ht,this._contextMenuService=Te,this._themeService=oe}render(Ke){super.render(Ke),(0,i.j)(this.element),Ke.classList.add("menu-entry");const qe=this._action,{icon:ht}=qe.item;if(ht&&!u.L.isThemeIcon(ht)){this.element.classList.add("icon");const Te=()=>{this.element&&(this.element.style.backgroundImage=(0,he.HD)(this._themeService.getColorTheme().type)?(0,v.Tf)(ht.dark):(0,v.Tf)(ht.light))};Te(),this._register(this._themeService.onDidColorThemeChange(()=>{Te()}))}}};Ue=M([Ve(2,_.b),Ve(3,a.Z),Ve(4,we.Gy)],Ue);let $e=class extends T.EH{constructor(Ke,qe,ht,Te,oe,q,ue,J){super(null,Ke),this._keybindingService=ht,this._notificationService=Te,this._contextMenuService=oe,this._menuService=q,this._instaService=ue,this._storageService=J,this._defaultActionDisposables=this._register(new b.Cm),this._container=null,this._primaryActionListener=this._register(new b.HE),this._options=qe,this._storageKey=`${Ke.item.submenu.id}_lastActionId`;let ve;const De=qe?.togglePrimaryAction?J.get(this._storageKey,1):void 0;De&&(ve=Ke.actions.find(Se=>De===Se.id)),ve||(ve=Ke.actions[0]),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(Ee,ve,{keybinding:this._getDefaultActionKeybindingLabel(ve),hoverDelegate:qe?.hoverDelegate}));const fe={keybindingProvider:Se=>this._keybindingService.lookupKeybinding(Se.id),...qe,menuAsChild:qe?.menuAsChild??!0,classNames:qe?.classNames??["codicon","codicon-chevron-down"],actionRunner:qe?.actionRunner??this._register(new g.LN)};this._dropdown=this._register(new y.d(Ke,Ke.actions,this._contextMenuService,fe)),qe?.togglePrimaryAction&&this.registerTogglePrimaryActionListener()}registerTogglePrimaryActionListener(){this._primaryActionListener.value=this._dropdown.actionRunner.onDidRun(Ke=>{Ke.action instanceof Be.Xe&&this.update(Ke.action)})}update(Ke){this._options?.togglePrimaryAction&&this._storageService.store(this._storageKey,Ke.id,1,1),this._defaultActionDisposables.clear(),this._defaultAction=this._defaultActionDisposables.add(this._instaService.createInstance(Ee,Ke,{keybinding:this._getDefaultActionKeybindingLabel(Ke),hoverDelegate:this._options?.hoverDelegate})),this._defaultAction.actionRunner=this._defaultActionDisposables.add(new class extends g.LN{async runAction(qe,ht){await qe.run(void 0)}}),this._container&&this._defaultAction.render((0,R.Hs)(this._container,(0,R.$)(".action-container")))}_getDefaultActionKeybindingLabel(Ke){let qe;if(this._options?.renderKeybindingWithDefaultActionLabel){const ht=this._keybindingService.lookupKeybinding(Ke.id);ht&&(qe=`(${ht.getLabel()})`)}return qe}setActionContext(Ke){super.setActionContext(Ke),this._defaultAction.setActionContext(Ke),this._dropdown.setActionContext(Ke)}set actionRunner(Ke){super.actionRunner=Ke,this._defaultAction.actionRunner=Ke,this._options?.togglePrimaryAction||(this._dropdown.actionRunner=Ke),this._primaryActionListener.value&&this.registerTogglePrimaryActionListener()}get actionRunner(){return super.actionRunner}render(Ke){this._container=Ke,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const qe=(0,R.$)(".action-container");this._defaultAction.render((0,R.BC)(this._container,qe)),this._register((0,R.ko)(qe,R.Bx.KEY_DOWN,Te=>{const oe=new x.Z(Te);oe.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),oe.stopPropagation())}));const ht=(0,R.$)(".dropdown-action-container");this._dropdown.render((0,R.BC)(this._container,ht)),this._register((0,R.ko)(ht,R.Bx.KEY_DOWN,Te=>{const oe=new x.Z(Te);oe.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),this._defaultAction.element?.focus(),oe.stopPropagation())}))}focus(Ke){Ke?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(Ke){Ke?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}};$e=M([Ve(2,_.b),Ve(3,E.Ot),Ve(4,a.Z),Ve(5,Be.ez),Ve(6,p._Y),Ve(7,S.CS)],$e);let Ye=class extends T.XF{constructor(Ke,qe,ht){super(null,Ke,Ke.actions.map(Te=>Te.id===g.wv.ID?A.J:{text:Te.label,isDisabled:!Te.enabled}),0,qe,h.RE,{ariaLabel:Ke.tooltip||Ke.label,optionsAsChildren:!0,useCustomDrawn:!(0,xe.CG)(ht)}),this.select(Math.max(0,Ke.actions.findIndex(Te=>Te.checked)))}render(Ke){super.render(Ke),Ke.style.borderColor=(0,D.Gu)(U.Hc)}runAction(Ke,qe){const ht=this.action.actions[qe];ht&&this.actionRunner.run(ht)}};Ye=M([Ve(1,a.l),Ve(2,o.pG)],Ye);function Ce(He,Ke,qe){return Ke instanceof Be.Xe?He.createInstance(Ee,Ke,qe):Ke instanceof Be.nI?Ke.item.isSelection?He.createInstance(Ye,Ke):Ke.item.isSplitButton?He.createInstance($e,Ke,{...qe,togglePrimaryAction:typeof Ke.item.isSplitButton!="boolean"?Ke.item.isSplitButton.togglePrimaryAction:!1}):He.createInstance(Ue,Ke,qe):void 0}},54957:(St,We,e)=>{e.d(We,{W6:()=>b,vH:()=>C});var v=e(3765),R=e(2106),x=e(67167),T=e(10998),y=e(53720),A=e(4761);const g={ModesRegistry:"editor.modesRegistry"};class L extends T.jG{constructor(){super(),this._onDidChangeLanguages=this._register(new R.vl),this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(r){return this._languages.push(r),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let d=0,l=this._languages.length;d<l;d++)if(this._languages[d]===r){this._languages.splice(d,1);return}}}}getLanguages(){return this._languages}}const b=new L;x.O.add(g.ModesRegistry,b);const C="plaintext";b.registerLanguage({id:C,extensions:[".txt"],aliases:[(0,v.kg)(819,"Plain Text"),"text"],mimetypes:[y.K.text]}),x.O.as(A.Fd.Configuration).registerDefaultConfigurations([{overrides:{"[plaintext]":{"editor.unicodeHighlight.ambiguousCharacters":!1,"editor.unicodeHighlight.invisibleCharacters":!1},"[go]":{"editor.insertSpaces":!1},"[makefile]":{"editor.insertSpaces":!1},"[shellscript]":{"files.eol":`
198`},"[yaml]":{"editor.insertSpaces":!0,"editor.tabSize":2}}}])},55406:(St,We,e)=>{e.d(We,{c:()=>T});var v=e(23877),R=e(28061),x=e(80878);class T{static _handleEolEdits(A,g){let L;const b=[];for(const C of g)typeof C.eol=="number"&&(L=C.eol),C.range&&typeof C.text=="string"&&b.push(C);return typeof L=="number"&&A.hasModel()&&A.getModel().pushEOL(L),b}static _isFullModelReplaceEdit(A,g){if(!A.hasModel())return!1;const L=A.getModel(),b=L.validateRange(g.range);return L.getFullModelRange().equalsRange(b)}static execute(A,g,L){L&&A.pushUndoStop();const b=x.D.capture(A),C=T._handleEolEdits(A,g);C.length===1&&T._isFullModelReplaceEdit(A,C[0])?A.executeEdits("formatEditsCommand",C.map(u=>v.k.replace(R.Q.lift(u.range),u.text))):A.executeEdits("formatEditsCommand",C.map(u=>v.k.replaceMove(R.Q.lift(u.range),u.text))),L&&A.pushUndoStop(),b.restoreRelativeVerticalPositionOfCursor(A)}}},55526:(St,We,e)=>{e.d(We,{RK:()=>b,tQ:()=>C});var v=e(65958),R=e(10998),x=e(37264),T=e(15365),y=e(28061),A=e(18782),g=e(54993);const L=60*1e3;class b extends R.jG{constructor(r,d,l=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=r,this._modelService=d,!l){const o=new v.vb;o.cancelAndSet(()=>this._checkStopModelSync(),Math.round(L/2)),this._register(o)}}dispose(){for(const r in this._syncedModels)(0,R.AS)(this._syncedModels[r]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(r,d=!1){for(const l of r){const o=l.toString();this._syncedModels[o]||this._beginModelSync(l,d),this._syncedModels[o]&&(this._syncedModelsLastUsedTime[o]=new Date().getTime())}}_checkStopModelSync(){const r=new Date().getTime(),d=[];for(const l in this._syncedModelsLastUsedTime)r-this._syncedModelsLastUsedTime[l]>L&&d.push(l);for(const l of d)this._stopModelSync(l)}_beginModelSync(r,d){const l=this._modelService.getModel(r);if(!l||!d&&l.isTooLargeForSyncing())return;const o=r.toString();this._proxy.$acceptNewModel({url:l.uri.toString(),lines:l.getLinesContent(),EOL:l.getEOL(),versionId:l.getVersionId()});const c=new R.Cm;c.add(l.onDidChangeContent(a=>{this._proxy.$acceptModelChanged(o.toString(),a)})),c.add(l.onWillDispose(()=>{this._stopModelSync(o)})),c.add((0,R.s)(()=>{this._proxy.$acceptRemovedModel(o)}
198)),this._syncedModels[o]=c}_stopModelSync(r){const d=this._syncedModels[r];delete this._syncedModels[r],delete this._syncedModelsLastUsedTime[r],(0,R.AS)(d)}}class C{constructor(){this._models=Object.create(null)}getModel(r){return this._models[r]}getModels(){const r=[];return Object.keys(this._models).forEach(d=>r.push(this._models[d])),r}$acceptNewModel(r){this._models[r.url]=new u(x.r.parse(r.url),r.lines,r.EOL,r.versionId)}$acceptModelChanged(r,d){if(!this._models[r])return;this._models[r].onEvents(d)}$acceptRemovedModel(r){this._models[r]&&delete this._models[r]}}class u extends g.Y{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(r){const d=[];for(let l=0;l<this._lines.length;l++){const o=this._lines[l],c=this.offsetAt(new T.y(l+1,1)),a=o.matchAll(r);for(const p of a)(p.index||p.index===0)&&(p.index=p.index+c),d.push(p)}return d}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(r){return this._lines[r-1]}getWordAtPosition(r,d){const l=(0,A.Th)(r.column,(0,A.Io)(d),this._lines[r.lineNumber-1],0);return l?new y.Q(r.lineNumber,l.startColumn,r.lineNumber,l.endColumn):null}words(r){const d=this._lines,l=this._wordenize.bind(this);let o=0,c="",a=0,p=[];return{*[Symbol.iterator](){for(;;)if(a<p.length){const _=c.substring(p[a].start,p[a].end);a+=1,yield _}else if(o<d.length)c=d[o],p=l(c,r),a=0,o+=1;else break}}}getLineWords(r,d){const l=this._lines[r-1],o=this._wordenize(l,d),c=[];for(const a of o)c.push({word:l.substring(a.start,a.end),startColumn:a.start+1,endColumn:a.end+1});return c}_wordenize(r,d){const l=[];let o;for(d.lastIndex=0;(o=d.exec(r))&&o[0].length!==0;)l.push({start:o.index,end:o.index+o[0].length});return l}
198getValueInRange(r){if(r=this._validateRange(r),r.startLineNumber===r.endLineNumber)return this._lines[r.startLineNumber-1].substring(r.startColumn-1,r.endColumn-1);const d=this._eol,l=r.startLineNumber-1,o=r.endLineNumber-1,c=[];c.push(this._lines[l].substring(r.startColumn-1));for(let a=l+1;a<o;a++)c.push(this._lines[a]);return c.push(this._lines[o].substring(0,r.endColumn-1)),c.join(d)}offsetAt(r){return r=this._validatePosition(r),this._ensureLineStarts(),this._lineStarts.getPrefixSum(r.lineNumber-2)+(r.column-1)}positionAt(r){r=Math.floor(r),r=Math.max(0,r),this._ensureLineStarts();const d=this._lineStarts.getIndexOf(r),l=this._lines[d.index].length;return{lineNumber:1+d.index,column:1+Math.min(d.remainder,l)}}_validateRange(r){const d=this._validatePosition({lineNumber:r.startLineNumber,column:r.startColumn}),l=this._validatePosition({lineNumber:r.endLineNumber,column:r.endColumn});return d.lineNumber!==r.startLineNumber||d.column!==r.startColumn||l.lineNumber!==r.endLineNumber||l.column!==r.endColumn?{startLineNumber:d.lineNumber,startColumn:d.column,endLineNumber:l.lineNumber,endColumn:l.column}:r}_validatePosition(r){if(!T.y.isIPosition(r))throw new Error("bad position");let{lineNumber:d,column:l}=r,o=!1;if(d<1)d=1,l=1,o=!0;else if(d>this._lines.length)d=this._lines.length,l=this._lines[d-1].length+1,o=!0;else{const c=this._lines[d-1].length+1;l<1?(l=1,o=!0):l>c&&(l=c,o=!0)}return o?{lineNumber:d,column:l}:r}}},55857:(St,We,e)=>{e.d(We,{U:()=>x});var v=e(2106);class R{constructor(){this._inputMode="insert",this._onDidChangeInputMode=new v.vl,this.onDidChangeInputMode=this._onDidChangeInputMode.event}getInputMode(){return this._inputMode}}const x=new R},55893:(St,We,e)=>{e.d(We,{Dy:()=>x,H8:()=>L,HT:()=>r,Tc:()=>g,c8:()=>C,gm:()=>A,m0:()=>u,nr:()=>b,pR:()=>T});var v=e(48877);const d=class d{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(o){return this.mapWindowIdToZoomFactor.get(this.getWindowId(o))??1}getWindowId(o){return o.vscodeWindowId}};d.INSTANCE=new d;let R=d;function x(l,o,c){typeof o=="string"&&(o=l.matchMedia(o)),o.addEventListener("change",c)}function T(l){return R.INSTANCE.getZoomFactor(l)}const y=navigator.userAgent,A=y.indexOf("Firefox")>=0,g=y.indexOf("AppleWebKit")>=0,L=y.indexOf("Chrome")>=0,b=!L&&y.indexOf("Safari")>=0,C=!L&&!b&&g;y.indexOf("Electron/")>=0;const u=y.indexOf("Android")>=0;let i=!1;if(typeof v.G.matchMedia=="function"){const l=v.G.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),o=v.G.matchMedia("(display-mode: fullscreen)");i=l.matches,x(v.G,l,({matches:c})=>{i&&o.matches||(i=c)})}function r(){return globalThis.MonacoEnvironment}},55925:(St,We,e)=>{e.r(We),e.d(We,{CancellationTokenSource:()=>v.Qi,Emitter:()=>v.vl,KeyCode:()=>v.DD,KeyMod:()=>v.QX,MarkerSeverity:()=>v.cj,MarkerTag:()=>v.d_,Position:()=>v.yX,Range:()=>v.Q6,Selection:()=>v.LN,SelectionDirection:()=>v.SB,Token:()=>v.ou,Uri:()=>v.zn,editor:()=>v.EN,languages:()=>v.eo});var v=e(65065)},55992:(St,We,e)=>{var v=e(10998),R=e(50946);const T=class T extends v.jG{constructor(A){super(),this._editor=A,this._register(this._editor.onMouseDown(g=>{const L=this._editor.getOption(133);L>=0&&g.target.type===6&&g.target.position.column>=L&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}};T.ID="editor.contrib.longLinesHelper";let x=T;(0,R.HW)(x.ID,x,2)},56071:(St,We,e)=>{e.d(We,{b:()=>R});var v=e(82399);const R=(0,v.u1)("keybindingService")},56096:(St,We,e)=>{var v=e(78903),R=e(79359),x=e(37264),T=e(37042),y=e(14583),A=e(82096);A.w.registerCommand("_executeDocumentSymbolProvider",async function(g,...L){const[b]=L;(0,R.j)(x.r.isUri(b));const C=g.get(y.gW),i=await g.get(T.b).createModelReference(b);try{return(await C.getOrCreate(i.object.textEditorModel,v.XO.None)).getTopLevelSymbols()}finally{i.dispose()}})},56158:(St,We,e)=>{e.d(We,{N:()=>x,c2:()=>T});var v=e(13338),R=e(37512);class x{constructor(g){this.values=g,this.prefixSum=new Uint32Array(g.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(g,L){g=(0,R.j)(g);const b=this.values,C=this.prefixSum,u=L.length;return u===0?!1:(this.values=new Uint32Array(b.length+u),this.values.set(b.subarray(0,g),0),this.values.set(b.subarray(g),g+u),this.values.set(L,g),g-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=g-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(C.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(g,L){return g=(0,R.j)(g),L=(0,R.j)(L),this.values[g]===L?!1:(this.values[g]=L,g-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=g-1),!0)}removeValues(g,L){g=(0,R.j)(g),L=(0,R.j)(L);const b=this.values,C=this.prefixSum;if(g>=b.length)return!1;const u=b.length-g;return L>=u&&(L=u),L===0?!1:(this.values=new Uint32Array(b.length-L),this.values.set(b.subarray(0,g),0),this.values.set(b.subarray(g+L),g),this.prefixSum=new Uint32Array(this.values.length),g-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=g-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(C.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(g){return g<0?0:(g=(0,R.j)(g),this._getPrefixSum(g))}_getPrefixSum(g){if(g<=this.prefixSumValidIndex[0])return this.prefixSum[g];let L=this.prefixSumValidIndex[0]+1;L===0&&(this.prefixSum[0]=this.values[0],L++),g>=this.values.length&&(g=this.values.length-1);for(let b=L;b<=g;b++)this.prefixSum[b]=this.prefixSum[b-1]+this.values[b];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],g),this.prefixSum[g]}getIndexOf(g){g=Math.floor(g),this.getTotalSum();let L=0,b=this.values.length-1,C=0,u=0,i=0;for(;L<=b;)if(C=L+(b-L)/2|0,u=this.prefixSum[C],i=u-this.values[C],g<i)b=C-1;else if(g>=u)L=C+1;else break;return new y(C,g-i)}}class T{constructor(g){this._values=g,this._isValid=!1,this._val
198idEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(g){return this._ensureValid(),g===0?0:this._prefixSum[g-1]}getIndexOf(g){this._ensureValid();const L=this._indexBySum[g];if(L===void 0){const C=Math.max(0,this._values.length-1),u=C>0?this._prefixSum[C-1]:0;return new y(C,g-u)}const b=L>0?this._prefixSum[L-1]:0;return new y(L,g-b)}removeValues(g,L){this._values.splice(g,L),this._invalidate(g)}insertValues(g,L){this._values=(0,v.nK)(this._values,g,L),this._invalidate(g)}_invalidate(g){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,g-1)}_ensureValid(){if(!this._isValid){for(let g=this._validEndIndex+1,L=this._values.length;g<L;g++){const b=this._values[g],C=g>0?this._prefixSum[g-1]:0;this._prefixSum[g]=C+b;for(let u=0;u<b;u++)this._indexBySum[C+u]=g}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(g,L){this._values[g]!==L&&(this._values[g]=L,this._invalidate(g))}}class y{constructor(g,L){this.index=g,this.remainder=L,this._prefixSumIndexOfResultBrand=void 0,this.index=g,this.remainder=L}}},56307:(St,We,e)=>{e.d(We,{L:()=>g,r:()=>L});var v=e(94901),R=e(10998),x=e(29849),T=e(90304),y=function(b,C,u,i){var r=arguments.length,d=r<3?C:i===null?i=Object.getOwnPropertyDescriptor(C,u):i,l;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")d=Reflect.decorate(b,C,u,i);else for(var o=b.length-1;o>=0;o--)(l=b[o])&&(d=(r<3?l(d):r>3?l(C,u,d):l(C,u))||d);return r>3&&d&&Object.defineProperty(C,u,d),d},A=function(b,C){return function(u,i){C(u,i,b)}};let g=class{constructor(C){this._editorWorkerService=C}async provideDocumentColors(C,u){return this._editorWorkerService.computeDefaultDocumentColors(C.uri)}provideColorPresentations(C,u,i){const r=u.range,d=u.color,l=new v.Q1(new v.bU(Math.round(255*d.red),Math.round(255*d.green),Math.round(255*d.blue),d.alpha)),o=v.Q1.Format.CSS.formatRGB(l),c=v.Q1.Format.CSS.formatHSL(l),a=v.Q1.Format.CSS.formatHexA(l,!0),p=[];return p.push({label:o,textEdit:{range:r,text:o}}),p.push({label:c,textEdit:{range:r,text:c}}),p.push({label:a,textEdit:{range:r,text:a}}),p}};g=y([A(0,T.w)],g);let L=class extends R.jG{constructor(C,u){super(),this._register(C.colorProvider.register("*",new g(u)))}};L=y([A(0,x.u),A(1,T.w)],L)},56446:(St,We,e)=>{var u;var v=e(65958),R=e(10998),x=e(50946),T=e(52394),y=e(31531),A=e(90304),g=function(i,r,d,l){var o=arguments.length,c=o<3?r:l===null?l=Object.getOwnPropertyDescriptor(r,d):l,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(i,r,d,l);else for(var p=i.length-1;p>=0;p--)(a=i[p])&&(c=(o<3?a(c):o>3?a(r,d,c):a(r,d))||c);return o>3&&c&&Object.defineProperty(r,d,c),c},L=function(i,r){return function(d,l){r(d,l,i)}};let b=(u=class extends R.jG{constructor(r,d,l){super(),this.editor=r,this.languageConfigurationService=d,this.editorWorkerService=l,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(r.getOption(81)),this.computePromise=null,this.currentOccurrences={},this._register(r.onDidChangeModel(o=>{this.currentOccurrences={},this.options=this.createOptions(r.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(r.onDidChangeModelLanguage(o=>{this.currentOccurrences={},this.options=this.createOptions(r.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(d.onDidChange(o=>{const c=this.editor.getModel()?.getLanguageId();c&&o.affects(c)&&(this.currentOccurrences={},this.options=this.createOptions(r.getOption(81)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(r.onDidChangeConfiguration(o=>{this.options&&!o.hasChanged(81)||(this.options=this.createOptions(r.getOption(81)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(o=>{this.computeSectionHeaders.schedule()})),this._register(r.onDidChangeModelTokens(o=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new v.uC(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(r){if(!r||!this.editor.hasModel())return;const d=this.editor.getModel().getLanguageId();if(!d)return;const l=this.languageConfigurationService.getLanguageConfiguration(d).comments,o=this.languageConfigurationService.getLanguageConfiguration(d).foldingRules;if(!(!l&&!o?.markers))return{foldingRules:o,markSectionHeaderRegex:r.markSectionHeaderRegex,findMarkSectionHeaders:r.showMarkSectionHeaders,findRegionSectionHeaders:r.showRegionSectionHeaders}}findSectionHeaders(){if(!this.editor.hasModel()||!this.options?.findMarkSectionHeaders&&!this.options?.findRegionSectionHeaders)return;const r=this.editor.getModel();if(r.isDisposed()||r.isTooLargeForSyncing())return;const d=r.getVersionId();this.editorWorkerService.findSectionHeaders(r.uri,this.options).then(l=>{r.isDisposed()||r.getVersionId()!==d||this.updateDecorations(l)})}updateDecorations(r){const d=this.editor.getModel();d&&(r=r.filter(c=>{if(!c.shouldBeInComments)return!0;
198const a=d.validateRange(c.range),p=d.tokenization.getLineTokens(a.startLineNumber),_=p.findTokenIndexAtOffset(a.startColumn-1),E=p.getStandardTokenType(_),S=d.getLanguageIdAtPosition(a.startLineNumber,a.startColumn);return p.getLanguageId(_)===S&&E===1}));const l=Object.values(this.currentOccurrences).map(c=>c.decorationId),o=r.map(c=>C(c));this.editor.changeDecorations(c=>{const a=c.deltaDecorations(l,o);this.currentOccurrences={};for(let p=0,_=a.length;p<_;p++){const E={sectionHeader:r[p],decorationId:a[p]};this.currentOccurrences[E.decorationId]=E}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},u.ID="editor.sectionHeaderDetector",u);b=g([L(1,T.JZ),L(2,A.w)],b);function C(i){return{range:i.range,options:y.kI.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:i.hasSeparatorLine?2:1,sectionHeaderText:i.text}})}}(0,x.HW)(b.ID,b,1)},56449:(St,We,e)=>{e.d(We,{E0:()=>L,e2:()=>C,gi:()=>b});var v=e(78903),R=e(94901),x=e(28654),T=e(2106),y=e(10998);class A extends y.jG{get color(){return this._color}set color(i){this._color.equals(i)||(this._color=i,this._onDidChangeColor.fire(i))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(i){this._colorPresentations=i,this.presentationIndex>i.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(i,r,d){super(),this.presentationIndex=d,this._onColorFlushed=this._register(new T.vl),this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=this._register(new T.vl),this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=this._register(new T.vl),this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=i,this._color=i,this._colorPresentations=r}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(i,r){let d=-1;for(let l=0;l<this.colorPresentations.length;l++)if(r.toLowerCase()===this.colorPresentations[l].label){d=l;break}if(d===-1){const l=r.split("(")[0].toLowerCase();for(let o=0;o<this.colorPresentations.length;o++)if(this.colorPresentations[o].label.toLowerCase().startsWith(l)){d=o;break}}d!==-1&&d!==this.presentationIndex&&(this.presentationIndex=d,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}var g=e(28061);async function L(u,i,r){const d=u.getValueInRange(i.range),{red:l,green:o,blue:c,alpha:a}=i.color,p=new R.bU(Math.round(l*255),Math.round(o*255),Math.round(c*255),a),_=new R.Q1(p),E=await(0,x.R9)(u,i,r,v.XO.None),S=new A(_,[],0);return S.colorPresentations=E||[],S.guessColorPresentation(_,d),{range:g.Q.lift(i.range),model:S,provider:r}}function b(u,i,r){const d=[],l=r.presentation.textEdit??{range:i,text:r.presentation.label,forceMoveMarkers:!1};d.push(l),r.presentation.additionalTextEdits&&d.push(...r.presentation.additionalTextEdits);const o=g.Q.lift(l.range),c=u.getModel()._setTrackedRange(null,o,3);return u.executeEdits("colorpicker",d),u.pushUndoStop(),u.getModel()._getTrackedRange(c)??o}async function C(u,i,r,d,l){const o=await(0,x.R9)(u,{range:d,color:{red:r.rgba.r/255,green:r.rgba.g/255,blue:r.rgba.b/255,alpha:r.rgba.a}},l.provider,v.XO.None);i.colorPresentations=o||[]}},57445:(St,We,e)=>{e.d(We,{Tf:()=>A,f7:()=>T,fE:()=>g});var v=e(15910),R=e(77011),x=e(94327);const C=class C{static createEmpty(i,r){const d=C.defaultTokenMetadata,l=new Uint32Array(2);return l[0]=i.length,l[1]=d,new C(l,i,r)}static createFromTextAndMetadata(i,r){let d=0,l="";const o=new Array;for(const{text:c,metadata:a}of i)o.push(d+c.length,a),d+=c.length,l+=c;return new C(new Uint32Array(o),l,r)}static convertToEndOffset(i,r){const l=(i.length>>>1)-1;for(let o=0;o<l;o++)i[o<<1]=i[o+1<<1];i[l<<1]=r}static findIndexInTokensArray(i,r){if(i.length<=2)return 0;let d=0,l=(i.length>>>1)-1;for(;d<l;){const o=d+Math.floor((l-d)/2),c=i[o<<1];if(c===r)return o+1;c<r?d=o+1:c>r&&(l=o)}return d}constructor(i,r,d){this._lineTokensBrand=void 0,(i.length>1?i[i.length-2]:0)!==r.length&&(0,x.dz)(new Error("Token length and text length do not match!")),this._tokens=i,this._tokensCount=this._tokens.length>>>1,this._text=r,this.languageIdCodec=d}getTextLength(){return this._text.length}equals(i){return i instanceof C?this.slicedEquals(i,0,this._tokensCount):!1}slicedEquals(i,r,d){if(this._text!==i._text||this._tokensCount!==i._tokensCount)return!1;const l=r<<1,o=l+(d<<1);for(let c=l;c<o;c++)if(this._tokens[c]!==i._tokens[c])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(i){return i>0?this._tokens[i-1<<1]:0}getMetadata(i){return this._tokens[(i<<1)+1]}getLanguageId(i){const r=this._tokens[(i<<1)+1],d=v.x.getLanguageId(r);return this.languageIdCodec.decodeLanguageId(d)}getStandardTokenType(i){const r=this._tokens[(i<<1)+1];return v.x.getTokenType(r)}getForeground(i){const r=this._tokens[(i<<1)+1];return v.x.getForeground(r)}getClassName(i){const r=this._tokens[(i<<1)+1];return v.x.getClassNameFromMetadata(r)}
198getInlineStyle(i,r){const d=this._tokens[(i<<1)+1];return v.x.getInlineStyleFromMetadata(d,r)}getPresentation(i){const r=this._tokens[(i<<1)+1];return v.x.getPresentationFromMetadata(r)}getEndOffset(i){return this._tokens[i<<1]}findTokenIndexAtOffset(i){return C.findIndexInTokensArray(this._tokens,i)}inflate(){return this}sliceAndInflate(i,r,d){return new y(this,i,r,d)}sliceZeroCopy(i){return this.sliceAndInflate(i.start,i.endExclusive,0)}withInserted(i){if(i.length===0)return this;let r=0,d=0,l="";const o=new Array;let c=0;for(;;){const a=r<this._tokensCount?this._tokens[r<<1]:-1,p=d<i.length?i[d]:null;if(a!==-1&&(p===null||a<=p.offset)){l+=this._text.substring(c,a);const _=this._tokens[(r<<1)+1];o.push(l.length,_),r++,c=a}else if(p){if(p.offset>c){l+=this._text.substring(c,p.offset);const _=this._tokens[(r<<1)+1];o.push(l.length,_),c=p.offset}l+=p.text,o.push(l.length,p.tokenMetadata),d++}else break}return new C(new Uint32Array(o),l,this.languageIdCodec)}getTokensInRange(i){const r=new b,d=this.findTokenIndexAtOffset(i.start),l=this.findTokenIndexAtOffset(i.endExclusive);for(let o=d;o<=l;o++){const a=new R.L(this.getStartOffset(o),this.getEndOffset(o)).intersectionLength(i);a>0&&r.add(a,this.getMetadata(o))}return r.build()}getTokenText(i){const r=this.getStartOffset(i),d=this.getEndOffset(i);return this._text.substring(r,d)}forEach(i){const r=this.getCount();for(let d=0;d<r;d++)i(d)}toString(){let i="";return this.forEach(r=>{i+=`[${this.getTokenText(r)}]{${this.getClassName(r)}}`}),i}};C.defaultTokenMetadata=(32768|2<<24)>>>0;let T=C;class y{constructor(i,r,d,l){this._source=i,this._startOffset=r,this._endOffset=d,this._deltaOffset=l,this._firstTokenIndex=i.findTokenIndexAtOffset(r),this.languageIdCodec=i.languageIdCodec,this._tokensCount=0;for(let o=this._firstTokenIndex,c=i.getCount();o<c&&!(i.getStartOffset(o)>=d);o++)this._tokensCount++}getMetadata(i){return this._source.getMetadata(this._firstTokenIndex+i)}getLanguageId(i){return this._source.getLanguageId(this._firstTokenIndex+i)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(i){return i instanceof y?this._startOffset===i._startOffset&&this._endOffset===i._endOffset&&this._deltaOffset===i._deltaOffset&&this._source.slicedEquals(i._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(i){return this._source.getStandardTokenType(this._firstTokenIndex+i)}getForeground(i){return this._source.getForeground(this._firstTokenIndex+i)}getEndOffset(i){const r=this._source.getEndOffset(this._firstTokenIndex+i);return Math.min(this._endOffset,r)-this._startOffset+this._deltaOffset}getClassName(i){return this._source.getClassName(this._firstTokenIndex+i)}getInlineStyle(i,r){return this._source.getInlineStyle(this._firstTokenIndex+i,r)}getPresentation(i){return this._source.getPresentation(this._firstTokenIndex+i)}findTokenIndexAtOffset(i){return this._source.findTokenIndexAtOffset(i+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(i){const r=this._firstTokenIndex+i,d=this._source.getStartOffset(r),l=this._source.getEndOffset(r);let o=this._source.getTokenText(r);return d<this._startOffset&&(o=o.substring(this._startOffset-d)),l>this._endOffset&&(o=o.substring(0,o.length-(l-this._endOffset))),o}forEach(i){for(let r=0;r<this.getCount();r++)i(r)}}function A(u,i){const r=i.lineNumber;if(!u.tokenization.isCheapToTokenize(r))return;u.tokenization.forceTokenization(r);const d=u.tokenization.getLineTokens(r),l=d.findTokenIndexAtOffset(i.column-1);return d.getStandardTokenType(l)}class g{static fromLineTokens(i){const r=[];for(let d=0;d<i.getCount();d++)r.push(new L(i.getEndOffset(d)-i.getStartOffset(d),i.getMetadata(d)));return g.create(r)}static create(i){return new g(i)}constructor(i){this._tokenInfo=i}toLineTokens(i,r){return T.createFromTextAndMetadata(this.map((d,l)=>({text:d.substring(i),metadata:l.metadata})),r)}forEach(i){let r=0;for(const d of this._tokenInfo){const l=new R.L(r,r+d.length);i(l,d),r+=d.length}}map(i){const r=[];let d=0;for(const l of this._tokenInfo){const o=new R.L(d,d+l.length);
198r.push(i(o,l)),d+=l.length}return r}slice(i){const r=[];let d=0;for(const l of this._tokenInfo){const o=d,c=o+l.length;if(c>i.start){if(o>=i.endExclusive)break;const a=Math.max(0,i.start-o),p=Math.max(0,c-i.endExclusive);r.push(new L(l.length-a-p,l.metadata))}d+=l.length}return g.create(r)}}class L{constructor(i,r){this.length=i,this.metadata=r}}class b{constructor(){this._tokens=[]}add(i,r){this._tokens.push(new L(i,r))}build(){return g.create(this._tokens)}}},57884:(St,We,e)=>{var $e,Ye;var v=e(63946),R=e(10998),x=e(50946),T=e(38122),y=e(47317),A=e(29849),g=e(65958),L=e(94327),b=e(2106),C=e(27454),u=e(78903),i=e(79359),r=e(37264),d=e(15365),l=e(37042),o=e(82096),c=e(31540);const a={Visible:new c.N1("parameterHintsVisible",!1),MultipleSignatures:new c.N1("parameterHintsMultipleSignatures",!1)};async function p(Ce,He,Ke,qe,ht){const Te=Ce.ordered(He);for(const oe of Te)try{const q=await oe.provideSignatureHelp(He,Ke,ht,qe);if(q)return q}catch(q){(0,L.M_)(q)}}o.w.registerCommand("_executeSignatureHelpProvider",async(Ce,...He)=>{const[Ke,qe,ht]=He;(0,i.j)(r.r.isUri(Ke)),(0,i.j)(d.y.isIPosition(qe)),(0,i.j)(typeof ht=="string"||!ht);const Te=Ce.get(A.u),oe=await Ce.get(l.b).createModelReference(Ke);try{const q=await p(Te.signatureHelpProvider,oe.object.textEditorModel,d.y.lift(qe),{triggerKind:y.WA.Invoke,isRetrigger:!1,triggerCharacter:ht},u.XO.None);return q?(setTimeout(()=>q.dispose(),0),q.value):void 0}finally{oe.dispose()}});var _;(function(Ce){Ce.Default={type:0};class He{constructor(ht,Te){this.request=ht,this.previouslyActiveHints=Te,this.type=2}}Ce.Pending=He;class Ke{constructor(ht){this.hints=ht,this.type=1}}Ce.Active=Ke})(_||(_={}));const Ue=class Ue extends R.jG{constructor(He,Ke,qe=Ue.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new b.vl),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=_.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new R.HE),this.triggerChars=new C.y,this.retriggerChars=new C.y,this.triggerId=0,this.editor=He,this.providers=Ke,this.throttledDelayer=this._register(new g.ve(qe)),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(ht=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(ht=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(ht=>this.onCursorChange(ht))),this._register(this.editor.onDidChangeModelContent(ht=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(ht=>this.onDidType(ht))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(He){this._state.type===2&&this._state.request.cancel(),this._state=He}cancel(He=!1){this.state=_.Default,this.throttledDelayer.cancel(),He||this._onChangedHints.fire(void 0)}trigger(He,Ke){const qe=this.editor.getModel();if(!qe||!this.providers.has(qe))return;const ht=++this.triggerId;this._pendingTriggers.push(He),this.throttledDelayer.trigger(()=>this.doTrigger(ht),Ke).catch(L.dz)}next(){if(this.state.type!==1)return;const He=this.state.hints.signatures.length,Ke=this.state.hints.activeSignature,qe=Ke%He===He-1,ht=this.editor.getOption(98).cycle;if((He<2||qe)&&!ht){this.cancel();return}this.updateActiveSignature(qe&&ht?0:Ke+1)}previous(){if(this.state.type!==1)return;const He=this.state.hints.signatures.length,Ke=this.state.hints.activeSignature,qe=Ke===0,ht=this.editor.getOption(98).cycle;if((He<2||qe)&&!ht){this.cancel();return}this.updateActiveSignature(qe&&ht?He-1:Ke-1)}updateActiveSignature(He){this.state.type===1&&(this.state=new _.Active({...this.state.hints,activeSignature:He}),this._onChangedHints.fire(this.state.hints))}async doTrigger(He){const Ke=this.state.type===1||this.state.type===2,qe=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const ht=this._pendingTriggers.reduce(S);this._pendingTriggers=[];const Te={triggerKind:ht.triggerKind,triggerCharacter:ht.triggerCharacter,isRetrigger:Ke,activeSignatureHelp:qe};if(!this.editor.hasModel())return!1;const oe=this.editor.getModel(),q=this.editor.getPosition();this.state=new _.Pending((0,g.SS)(ue=>p(this.providers,oe,q,Te,ue)),qe);try{const ue=await this.state.request;return He!==this.triggerId?(ue?.dispose(),!1):!ue||!ue.value.signatures||ue.value.signatures.length===0?(ue?.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new _.Active(ue.value),this._lastSignatureHelpResult.value=ue,this._onChangedHints.fire(this.state.hints),!0)}catch(ue){return He===this.triggerId&&(this.state=_.Default),(0,L.dz)(ue),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const He=this.editor.getModel();if(He)for(const Ke of this.providers.ordered(He)){for(const qe of Ke.signatureHelpTriggerCharacters||[])if(qe.length){const ht=qe.charCodeAt(0);this.triggerChars.add(ht),this.retriggerChars.add(ht)}for(const qe of Ke.signatureHelpRetriggerCharacters||[])qe.length&&this.retriggerChars.add(qe.charCodeAt(0))}}onDidType(He){if(!this.triggerOnType)return;const Ke=He.length-1,qe=He.charCodeAt(Ke);(this.triggerChars.has(qe)||this.isTriggered&&this.retriggerChars.has(qe))&&this.trigger({triggerKind:y.WA.TriggerCharacter,triggerCharacter:He.charAt(Ke)})}onCursorChange(He){He.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:y.WA.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:y.WA.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(98).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Ue.DEFAULT_DELAY=120;let E=Ue;function S(Ce,He){switch(He.triggerKind){case y.WA.Invoke:return He;case y.WA.ContentChange:return Ce;case y.WA.TriggerCharacter:default:return He}}var h=e(3765),D=e(82399),k=e(14333),N=e(44385),W=e(16831),U=e(5915),$=e(16844),te=e(28060),ne=e(52265),V=e(87676),I=e(18382),H=e(75962),Z=e(73858),X=e(69227),G=e(82735),Y=e(75712),j=e(10680),z=e(58687),ie=e(94865),re=e(74707),de=e(11210),le=e(58881
198),he=function(Ce,He,Ke,qe){var ht=arguments.length,Te=ht<3?He:qe===null?qe=Object.getOwnPropertyDescriptor(He,Ke):qe,oe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Te=Reflect.decorate(Ce,He,Ke,qe);else for(var q=Ce.length-1;q>=0;q--)(oe=Ce[q])&&(Te=(ht<3?oe(Te):ht>3?oe(He,Ke,Te):oe(He,Ke))||Te);return ht>3&&Te&&Object.defineProperty(He,Ke,Te),Te},we=function(Ce,He){return function(Ke,qe){He(Ke,qe,Ce)}},xe;const Be=k.$,M=(0,de.pU)("parameter-hints-next",U.W.chevronDown,(0,h.kg)(1358,"Icon for show next parameter hint.")),Ve=(0,de.pU)("parameter-hints-previous",U.W.chevronUp,(0,h.kg)(1359,"Icon for show previous parameter hint."));let Me=($e=class extends R.jG{constructor(He,Ke,qe,ht){super(),this.editor=He,this.model=Ke,this.markdownRendererService=ht,this.renderDisposeables=this._register(new R.Cm),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.keyVisible=a.Visible.bindTo(qe),this.keyMultipleSignatures=a.MultipleSignatures.bindTo(qe)}createParameterHintDOMNodes(){const He=Be(".editor-widget.parameter-hints-widget"),Ke=(0,k.BC)(He,Be(".phwrapper"));Ke.tabIndex=-1;const qe=(0,k.BC)(Ke,Be(".controls")),ht=(0,k.BC)(qe,Be(".button"+le.L.asCSSSelector(Ve))),Te=(0,k.BC)(qe,Be(".overloads")),oe=(0,k.BC)(qe,Be(".button"+le.L.asCSSSelector(M)));this._register((0,k.ko)(ht,"click",fe=>{k.fs.stop(fe),this.previous()})),this._register((0,k.ko)(oe,"click",fe=>{k.fs.stop(fe),this.next()}));const q=Be(".body"),ue=new W.MU(q,{alwaysConsumeMouseWheel:!0});this._register(ue),Ke.appendChild(ue.getDomNode());const J=(0,k.BC)(q,Be(".signature")),ve=(0,k.BC)(q,Be(".docs"));He.style.userSelect="text",this.domNodes={element:He,signature:J,overloads:Te,docs:ve,scrollbar:ue},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(fe=>{this.visible&&this.editor.layoutContentWidget(this)}));const De=()=>{if(!this.domNodes)return;const fe=this.editor.getOption(59),Se=this.domNodes.element;Se.style.fontSize=`${fe.fontSize}px`,Se.style.lineHeight=`${fe.lineHeight/fe.fontSize}`,Se.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",fe.fontFamily),Se.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",te.jU.fontFamily)};De(),this._register(b.Jh.chain(this.editor.onDidChangeConfiguration.bind(this.editor),fe=>fe.filter(Se=>Se.hasChanged(59)))(De)),this._register(this.editor.onDidLayoutChange(fe=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes?.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes?.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(He){if(this.renderDisposeables.clear(),!this.domNodes)return;const Ke=He.signatures.length>1;this.domNodes.element.classList.toggle("multiple",Ke),this.keyMultipleSignatures.set(Ke),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const qe=He.signatures[He.activeSignature];if(!qe)return;const ht=(0,k.BC)(this.domNodes.signature,Be(".code")),Te=qe.parameters.length>0,oe=qe.activeParameter??He.activeParameter;if(Te)this.renderParameters(ht,qe,oe);else{const J=(0,k.BC)(ht,Be("span"));J.textContent=qe.label}const q=qe.parameters[oe];if(q?.documentation){const J=Be("span.documentation");if(typeof q.documentation=="string")J.textContent=q.documentation;else{const ve=this.renderMarkdownDocs(q.documentation);J.appendChild(ve.element)}(0,k.BC)(this.domNodes.docs,Be("p",{},J))}if(qe.documentation!==void 0)if(typeof qe.documentation=="string")(0,k.BC)(this.domNodes.docs,Be("p",{},qe.documentation));else{const J=this.renderMarkdownDocs(qe.documentation);(0,k.BC)(this.domNodes.docs,J.element)}const ue=this.hasDocs(qe,q);if(this.domNodes.signature.classList.toggle("has-docs",ue),this.domNodes.docs.classList.toggle("empty",!ue),this.domNodes.overloads.textContent=String(He.activeSignature+1).padStart(He.signatures.length.toString().length,"0")+"/"+He.signatures.length,q){let J="";const ve=qe.parameters[oe];Array.isArray(ve.label)?J=qe.label.substring(ve.label[0],ve.label[1]):J=ve.label,ve.documentation&&(J+=typeof ve.documentation=="str
198ing"?`, ${ve.documentation}`:`, ${ve.documentation.value}`),qe.documentation&&(J+=typeof qe.documentation=="string"?`, ${qe.documentation}`:`, ${qe.documentation.value}`),this.announcedLabel!==J&&((0,N.xE)((0,h.kg)(1360,"{0}, hint",J)),this.announcedLabel=J)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(He){const Ke=this.renderDisposeables.add(this.markdownRendererService.render(He,{context:this.editor,asyncRenderCallback:()=>{this.domNodes?.scrollbar.scanDomNode()}}));return Ke.element.classList.add("markdown-docs"),Ke}hasDocs(He,Ke){return!!(Ke&&typeof Ke.documentation=="string"&&(0,i.ni)(Ke.documentation).length>0||Ke&&typeof Ke.documentation=="object"&&(0,i.ni)(Ke.documentation).value.length>0||He.documentation&&typeof He.documentation=="string"&&(0,i.ni)(He.documentation).length>0||He.documentation&&typeof He.documentation=="object"&&(0,i.ni)(He.documentation.value).length>0)}renderParameters(He,Ke,qe){const[ht,Te]=this.getParameterLabelOffsets(Ke,qe),oe=document.createElement("span");oe.textContent=Ke.label.substring(0,ht);const q=document.createElement("span");q.textContent=Ke.label.substring(ht,Te),q.className="parameter active";const ue=document.createElement("span");ue.textContent=Ke.label.substring(Te),(0,k.BC)(He,oe,q,ue)}getParameterLabelOffsets(He,Ke){const qe=He.parameters[Ke];if(qe){if(Array.isArray(qe.label))return qe.label;if(qe.label.length){const ht=new RegExp(`(\\W|^)${(0,$.bm)(qe.label)}(?=\\W|$)`,"g");ht.test(He.label);const Te=ht.lastIndex-qe.label.length;return Te>=0?[Te,ht.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return xe.ID}updateMaxHeight(){if(!this.domNodes)return;const Ke=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=Ke;const qe=this.domNodes.element.getElementsByClassName("phwrapper");qe.length&&(qe[0].style.maxHeight=Ke)}},xe=$e,$e.ID="editor.widget.parameterHintsWidget",$e);Me=xe=he([we(2,c.fN),we(3,ne.TN)],Me),(0,V.x1)("editorHoverWidget.highlightForeground",G.QI,(0,h.kg)(1361,"Foreground color of the active item in the parameter hint."));var Le=function(Ce,He,Ke,qe){var ht=arguments.length,Te=ht<3?He:qe===null?qe=Object.getOwnPropertyDescriptor(He,Ke):qe,oe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Te=Reflect.decorate(Ce,He,Ke,qe);else for(var q=Ce.length-1;q>=0;q--)(oe=Ce[q])&&(Te=(ht<3?oe(Te):ht>3?oe(He,Ke,Te):oe(He,Ke))||Te);return ht>3&&Te&&Object.defineProperty(He,Ke,Te),Te},_e=function(Ce,He){return function(Ke,qe){He(Ke,qe,Ce)}},Qe;let je=(Ye=class extends R.jG{static get(He){return He.getContribution(Qe.ID)}constructor(He,Ke,qe){super(),this.editor=He,this.model=this._register(new E(He,qe.signatureHelpProvider)),this._register(this.model.onChangedHints(ht=>{ht?(this.widget.value.show(),this.widget.value.render(ht)):this.widget.rawValue?.hide()})),this.widget=new v.d(()=>this._register(Ke.createInstance(Me,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){this.widget.rawValue?.previous()}next(){this.widget.rawValue?.next()}trigger(He){this.model.trigger(He,0)}},Qe=Ye,Ye.ID="editor.controller.parameterHints",Ye);je=Qe=Le([_e(1,D._Y),_e(2,A.u)],je);class ae extends x.ks{constructor(){super({id:"editor.action.triggerParameterHints",label:(0,h.aS)(1357,"Trigger Parameter Hints"),prec
198ondition:T.R.hasSignatureHelpProvider,kbOpts:{kbExpr:T.R.editorTextFocus,primary:3082,weight:100}})}run(He,Ke){je.get(Ke)?.trigger({triggerKind:y.WA.Invoke})}}(0,x.HW)(je.ID,je,2),(0,x.Fl)(ae);const Ee=175,Ie=x.DX.bindToContribution(je.get);(0,x.E_)(new Ie({id:"closeParameterHints",precondition:a.Visible,handler:Ce=>Ce.cancel(),kbOpts:{weight:Ee,kbExpr:T.R.focus,primary:9,secondary:[1033]}})),(0,x.E_)(new Ie({id:"showPrevParameterHint",precondition:c.M$.and(a.Visible,a.MultipleSignatures),handler:Ce=>Ce.previous(),kbOpts:{weight:Ee,kbExpr:T.R.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),(0,x.E_)(new Ie({id:"showNextParameterHint",precondition:c.M$.and(a.Visible,a.MultipleSignatures),handler:Ce=>Ce.next(),kbOpts:{weight:Ee,kbExpr:T.R.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},57955:(St,We,e)=>{e.d(We,{j:()=>v});var v;(function(T){let y=!1;function A(){y=!0}T.enable=A;function g(){if(!y)return;const L=Error,b=L.stackTraceLimit;L.stackTraceLimit=3;const C=new Error().stack;return L.stackTraceLimit=b,R.fromStack(C,2)}T.ofCaller=g})(v||(v={}));class R{static fromStack(y,A){const g=y.split(`
199`),L=x(g[A+1]);if(L)return new R(L.fileName,L.line,L.column,L.id)}constructor(y,A,g,L){this.fileName=y,this.line=A,this.column=g,this.id=L}}function x(T){const y=T.match(/\((.*):(\d+):(\d+)\)/);if(y)return{fileName:y[1],line:parseInt(y[2]),column:parseInt(y[3]),id:T};const A=T.match(/at ([^\(\)]*):(\d+):(\d+)/);if(A)return{fileName:A[1],line:parseInt(A[2]),column:parseInt(A[3]),id:T}}},58039:(St,We,e)=>{e.d(We,{N:()=>R,f:()=>v});function v(x){return!!x&&typeof x=="object"&&typeof x.original=="string"&&typeof x.value=="string"}function R(x){return x?x.condition!==void 0:!1}},58067:(St,We,e)=>{e.d(We,{D8:()=>l,L:()=>E,Xe:()=>_,ZG:()=>a,ez:()=>o,i1:()=>d,is:()=>r,nI:()=>p,ug:()=>S});var v=e(27969),R=e(2106),x=e(10998),T=e(85525),y=e(58881),A=e(82096),g=e(31540),L=e(82399),b=e(48421),C=function(k,N,W,U){var $=arguments.length,te=$<3?N:U===null?U=Object.getOwnPropertyDescriptor(N,W):U,ne;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")te=Reflect.decorate(k,N,W,U);else for(var V=k.length-1;V>=0;V--)(ne=k[V])&&(te=($<3?ne(te):$>3?ne(N,W,te):ne(N,W))||te);return $>3&&te&&Object.defineProperty(N,W,te),te},u=function(k,N){return function(W,U){N(W,U,k)}},i;function r(k){return k.command!==void 0}function d(k){return k.submenu!==void 0}const h=class h{constructor(N){if(h._instances.has(N))throw new TypeError(`MenuId with identifier '${N}' already exists. Use MenuId.for(ident) or a unique identifier`);h._instances.set(N,this),this.id=N}};h._instances=new Map,h.CommandPalette=new h("CommandPalette"),h.DebugBreakpointsContext=new h("DebugBreakpointsContext"),h.DebugCallStackContext=new h("DebugCallStackContext"),h.DebugConsoleContext=new h("DebugConsoleContext"),h.DebugVariablesContext=new h("DebugVariablesContext"),h.NotebookVariablesContext=new h("NotebookVariablesContext"),h.DebugHoverContext=new h("DebugHoverContext"),h.DebugWatchContext=new h("DebugWatchContext"),h.DebugToolBar=new h("DebugToolBar"),h.DebugToolBarStop=new h("DebugToolBarStop"),h.DebugDisassemblyContext=new h("DebugDisassemblyContext"),h.DebugCallStackToolbar=new h("DebugCallStackToolbar"),h.DebugCreateConfiguration=new h("DebugCreateConfiguration"),h.DebugScopesContext=new h("DebugScopesContext"),h.EditorContext=new h("EditorContext"),h.SimpleEditorContext=new h("SimpleEditorContext"),h.EditorContent=new h("EditorContent"),h.EditorLineNumberContext=new h("EditorLineNumberContext"),h.EditorContextCopy=new h("EditorContextCopy"),h.EditorContextPeek=new h("EditorContextPeek"),h.EditorContextShare=new h("EditorContextShare"),h.EditorTitle=new h("EditorTitle"),h.EditorTitleLayout=new h("EditorTitleLayout"),h.ModalEditorTitle=new h("ModalEditorTitle"),h.ModalEditorTitleContext=new h("ModalEditorTitleContext"),h.ModalEditorEditorTitle=new h("ModalEditorEditorTitle"),h.CompactWindowEditorTitle=new h("CompactWindowEditorTitle"),h.EditorTitleRun=new h("EditorTitleRun"),h.EditorTitleContext=new h("EditorTitleContext"),h.EditorTitleContextShare=new h("EditorTitleContextShare"),h.EmptyEditorGroup=new h("EmptyEditorGroup"),h.EmptyEditorGroupContext=new h("EmptyEditorGroupContext"),h.EditorGroupWatermarkToolbar=ne
199w h("EditorGroupWatermarkToolbar"),h.EditorTabsBarContext=new h("EditorTabsBarContext"),h.EditorTabsBarShowTabsSubmenu=new h("EditorTabsBarShowTabsSubmenu"),h.EditorTabsBarShowTabsZenModeSubmenu=new h("EditorTabsBarShowTabsZenModeSubmenu"),h.EditorActionsPositionSubmenu=new h("EditorActionsPositionSubmenu"),h.EditorRenderWhitespaceSubmenu=new h("EditorRenderWhitespaceSubmenu"),h.EditorSplitMoveSubmenu=new h("EditorSplitMoveSubmenu"),h.ExplorerContext=new h("ExplorerContext"),h.ExplorerContextShare=new h("ExplorerContextShare"),h.ExtensionContext=new h("ExtensionContext"),h.ExtensionEditorContextMenu=new h("ExtensionEditorContextMenu"),h.GlobalActivity=new h("GlobalActivity"),h.CommandCenter=new h("CommandCenter"),h.CommandCenterCenter=new h("CommandCenterCenter"),h.LayoutControlMenuSubmenu=new h("LayoutControlMenuSubmenu"),h.LayoutControlMenu=new h("LayoutControlMenu"),h.MenubarMainMenu=new h("MenubarMainMenu"),h.MenubarAppearanceMenu=new h("MenubarAppearanceMenu"),h.MenubarDebugMenu=new h("MenubarDebugMenu"),h.MenubarEditMenu=new h("MenubarEditMenu"),h.MenubarCopy=new h("MenubarCopy"),h.MenubarFileMenu=new h("MenubarFileMenu"),h.MenubarGoMenu=new h("MenubarGoMenu"),h.MenubarHelpMenu=new h("MenubarHelpMenu"),h.MenubarLayoutMenu=new h("MenubarLayoutMenu"),h.MenubarNewBreakpointMenu=new h("MenubarNewBreakpointMenu"),h.PanelAlignmentMenu=new h("PanelAlignmentMenu"),h.PanelPositionMenu=new h("PanelPositionMenu"),h.ActivityBarPositionMenu=new h("ActivityBarPositionMenu"),h.NotificationsCenterPositionMenu=new h("NotificationsCenterPositionMenu"),h.MenubarPreferencesMenu=new h("MenubarPreferencesMenu"),h.MenubarRecentMenu=new h("MenubarRecentMenu"),h.MenubarSelectionMenu=new h("MenubarSelectionMenu"),h.MenubarShare=new h("MenubarShare"),h.MenubarSwitchEditorMenu=new h("MenubarSwitchEditorMenu"),h.MenubarSwitchGroupMenu=new h("MenubarSwitchGroupMenu"),h.MenubarTerminalMenu=new h("MenubarTerminalMenu"),h.MenubarTerminalSuggestStatusMenu=new h("MenubarTerminalSuggestStatusMenu"),h.MenubarViewMenu=new h("MenubarViewMenu"),h.MenubarHomeMenu=new h("MenubarHomeMenu"),h.OpenEditorsContext=new h("OpenEditorsContext"),h.OpenEditorsContextShare=new h("OpenEditorsContextShare"),h.ProblemsPanelContext=new h("ProblemsPanelContext"),h.SCMInputBox=new h("SCMInputBox"),h.SCMChangeContext=new h("SCMChangeContext"),h.SCMResourceContext=new h("SCMResourceContext"),h.SCMResourceContextShare=new h("SCMResourceContextShare"),h.SCMResourceFolderContext=new h("SCMResourceFolderContext"),h.SCMResourceGroupContext=new h("SCMResourceGroupContext"),h.SCMSourceControl=new h("SCMSourceControl"),h.SCMSourceControlInline=new h("SCMSourceControlInline"),h.SCMSourceControlTitle=new h("SCMSourceControlTitle"),h.SCMHistoryTitle=new h("SCMHistoryTitle"),h.SCMHistoryItemContext=new h("SCMHistoryItemContext"),h.SCMHistoryItemChangeContext=new h("SCMHistoryItemChangeContext"),h.SCMHistoryItemRefContext=new h("SCMHistoryItemRefContext"),h.SCMArtifactGroupContext=new h("SCMArtifactGroupContext"),h.SCMArtifactContext=new h("SCMArtifactContext"),h.SCMQuickDiffDecorations=new h("SCMQuickDiffDecorations"),h.SCMTitle=new h("SCMTitle"),h.SearchContext=new h("SearchContext"),h.SearchActionMenu=new h("SearchActionContext"),h.StatusBarWindowIndicatorMenu=new h("StatusBarWindowIndicatorMenu"),h.StatusBarRemoteIndicatorMenu=new h("StatusBarRemoteIndicatorMenu"),h.StickyScrollContext=new h("StickyScrollContext"),h.TestItem=new h("TestItem"),h.TestItemGutter=new h("TestItemGutter"),h.TestProfilesContext=new h("TestProfilesContext"),h.TestMessageContext=new h("TestMessageContext"),h.TestMessageContent=new h("TestMessageContent"),h.TestPeekElement=new h("TestPeekElement"),h.TestPeekTitle=new h("TestPeekTitle"),h.TestCallStack=new h("TestCallStack"),h.TestCoverageFilterItem=new h("TestCoverageFilterItem"),h.TouchBarContext=new h("TouchBarContext"),h.TitleBar=new h("TitleBar"),h.TitleBarAdjacentCenter=new h("TitleBarAdjacentCenter"),h.TitleBarContext=new h("TitleBarContext"),h.TitleBarTitleContext=new h("TitleBarTitleContext"),h.TunnelContext=new h("TunnelContext"),h.TunnelPrivacy=new h("TunnelPrivacy"),h.TunnelProtocol=new h("TunnelProtocol"),h.TunnelPortInline=new h("TunnelInline"),h.TunnelTitle=new h("TunnelTitle"),h.TunnelLocalAddressInline=new h("TunnelLocalAddressInline"),h.TunnelOriginInline=new h("TunnelOriginInline"),h.ViewItemContext=new h("ViewItemContext"),h.ViewContainerTitle=new h("ViewContainerTitle"),h.ViewContainerTitleContext=new h("ViewContainerTitleContext"),h.ViewTitle=new h("ViewTitle"),h.ViewTitleContext=new h("ViewTitleContext"),h.CommentEditorActions=new h("CommentEditorActions"),h.CommentThreadTitle=new h("CommentThreadTitle"),h.CommentThreadActions=new h("CommentThreadActions"),h.CommentThreadAdditionalActions=new h("CommentThreadAdditionalActions"),h.CommentThreadTitleContext=new h("CommentThreadTitleContext"),h.CommentThreadCommentContext=new h("CommentThreadCommentContext"),h.CommentTitle=new h("CommentTitle"),h.CommentActions=new h("CommentActions"),h.CommentsViewThreadActions=new h("CommentsViewThreadActions"),h.InteractiveToolbar=ne
199w h("InteractiveToolbar"),h.InteractiveCellTitle=new h("InteractiveCellTitle"),h.InteractiveCellDelete=new h("InteractiveCellDelete"),h.InteractiveCellExecute=new h("InteractiveCellExecute"),h.InteractiveInputExecute=new h("InteractiveInputExecute"),h.InteractiveInputConfig=new h("InteractiveInputConfig"),h.ReplInputExecute=new h("ReplInputExecute"),h.IssueReporter=new h("IssueReporter"),h.NotebookToolbar=new h("NotebookToolbar"),h.NotebookToolbarContext=new h("NotebookToolbarContext"),h.NotebookStickyScrollContext=new h("NotebookStickyScrollContext"),h.NotebookCellTitle=new h("NotebookCellTitle"),h.NotebookCellDelete=new h("NotebookCellDelete"),h.NotebookCellInsert=new h("NotebookCellInsert"),h.NotebookCellBetween=new h("NotebookCellBetween"),h.NotebookCellListTop=new h("NotebookCellTop"),h.NotebookCellExecute=new h("NotebookCellExecute"),h.NotebookCellExecuteGoTo=new h("NotebookCellExecuteGoTo"),h.NotebookCellExecutePrimary=new h("NotebookCellExecutePrimary"),h.NotebookDiffCellInputTitle=new h("NotebookDiffCellInputTitle"),h.NotebookDiffDocumentMetadata=new h("NotebookDiffDocumentMetadata"),h.NotebookDiffCellMetadataTitle=new h("NotebookDiffCellMetadataTitle"),h.NotebookDiffCellOutputsTitle=new h("NotebookDiffCellOutputsTitle"),h.NotebookOutputToolbar=new h("NotebookOutputToolbar"),h.NotebookOutlineFilter=new h("NotebookOutlineFilter"),h.NotebookOutlineActionMenu=new h("NotebookOutlineActionMenu"),h.NotebookEditorLayoutConfigure=new h("NotebookEditorLayoutConfigure"),h.NotebookKernelSource=new h("NotebookKernelSource"),h.BulkEditTitle=new h("BulkEditTitle"),h.BulkEditContext=new h("BulkEditContext"),h.TimelineItemContext=new h("TimelineItemContext"),h.TimelineTitle=new h("TimelineTitle"),h.TimelineTitleContext=new h("TimelineTitleContext"),h.TimelineFilterSubMenu=new h("TimelineFilterSubMenu"),h.AccountsContext=new h("AccountsContext"),h.SidebarTitle=new h("SidebarTitle"),h.PanelTitle=new h("PanelTitle"),h.AuxiliaryBarTitle=new h("AuxiliaryBarTitle"),h.TerminalInstanceContext=new h("TerminalInstanceContext"),h.TerminalEditorInstanceContext=new h("TerminalEditorInstanceContext"),h.TerminalNewDropdownContext=new h("TerminalNewDropdownContext"),h.TerminalTabContext=new h("TerminalTabContext"),h.TerminalTabEmptyAreaContext=new h("TerminalTabEmptyAreaContext"),h.TerminalStickyScrollContext=new h("TerminalStickyScrollContext"),h.WebviewContext=new h("WebviewContext"),h.InlineCompletionsActions=new h("InlineCompletionsActions"),h.InlineEditsActions=new h("InlineEditsActions"),h.NewFile=new h("NewFile"),h.MergeInput1Toolbar=new h("MergeToolbar1Toolbar"),h.MergeInput2Toolbar=new h("MergeToolbar2Toolbar"),h.MergeBaseToolbar=new h("MergeBaseToolbar"),h.MergeInputResultToolbar=new h("MergeToolbarResultToolbar"),h.InlineSuggestionToolbar=new h("InlineSuggestionToolbar"),h.InlineEditToolbar=new h("InlineEditToolbar"),h.ChatContext=new h("ChatContext"),h.ChatCodeBlock=new h("ChatCodeblock"),h.ChatCompareBlock=new h("ChatCompareBlock"),h.ChatMessageTitle=new h("ChatMessageTitle"),h.ChatWelcomeContext=new h("ChatWelcomeContext"),h.ChatMessageFooter=new h("ChatMessageFooter"),h.ChatExecute=new h("ChatExecute"),h.ChatExecuteQueue=new h("ChatExecuteQueue"),h.ChatInput=new h("ChatInput"),h.ChatInputSecondary=new h("ChatInputSecondary"),h.ChatInputStatus=new h("ChatInputStatus"),h.ChatInputSide=new h("ChatInputSide"),h.ChatModePicker=new h("ChatModePicker"),h.ChatEditingWidgetToolbar=new h("ChatEditingWidgetToolbar"),h.ChatEditingSessionChangesToolbar=new h("ChatEditingSessionChangesToolbar"),h.ChatEditingSessionTitleToolbar=new h("ChatEditingSessionTitleToolbar"),h.ChatEditingSessionChangesVersionsSubmenu=new h("ChatEditingSessionChangesVersionsSubmenu"),h.ChatEditingSessionChangesFileHeaderToolbar=new h("ChatEditingSessionChangesFileHeaderToolbar"),h.ChatEditingSessionChangesFileHeaderRightToolbar=new h("ChatEditingSessionChangesFileHeaderRightToolbar"),h.ChatEditingEditorContent=new h("ChatEditingEditorContent"),h.ChatEditingEditorHunk=new h("ChatEditingEditorHunk"),h.ChatEditingDeletedNotebookCell=new h("ChatEditingDeletedNotebookCell"),h.ChatInputAttachmentToolbar=ne
199w h("ChatInputAttachmentToolbar"),h.ChatEditingWidgetModifiedFilesToolbar=new h("ChatEditingWidgetModifiedFilesToolbar"),h.ChatInputResourceAttachmentContext=new h("ChatInputResourceAttachmentContext"),h.ChatInputSymbolAttachmentContext=new h("ChatInputSymbolAttachmentContext"),h.ChatInlineResourceAnchorContext=new h("ChatInlineResourceAnchorContext"),h.ChatInlineSymbolAnchorContext=new h("ChatInlineSymbolAnchorContext"),h.ChatMessageCheckpoint=new h("ChatMessageCheckpoint"),h.ChatMessageRestoreCheckpoint=new h("ChatMessageRestoreCheckpoint"),h.ChatNewMenu=new h("ChatNewMenu"),h.ChatEditingCodeBlockContext=new h("ChatEditingCodeBlockContext"),h.ChatTitleBarMenu=new h("ChatTitleBarMenu"),h.ChatAttachmentsContext=new h("ChatAttachmentsContext"),h.ChatTipContext=new h("ChatTipContext"),h.ChatTipToolbar=new h("ChatTipToolbar"),h.ChatToolOutputResourceToolbar=new h("ChatToolOutputResourceToolbar"),h.ChatTextEditorMenu=new h("ChatTextEditorMenu"),h.ChatToolOutputResourceContext=new h("ChatToolOutputResourceContext"),h.ChatMultiDiffContext=new h("ChatMultiDiffContext"),h.ChatConfirmationMenu=new h("ChatConfirmationMenu"),h.ChatEditorInlineMenu=new h("ChatEditorInlineGutter"),h.ChatEditorInlineExecute=new h("ChatEditorInputExecute"),h.ChatEditorInlineInputSide=new h("ChatEditorInputSide"),h.InlineChatEditorAffordance=new h("InlineChatEditorAffordance"),h.Acce
199ssibleView=new h("AccessibleView"),h.MultiDiffEditorContent=new h("MultiDiffEditorContent"),h.MultiDiffEditorFileToolbar=new h("MultiDiffEditorFileToolbar"),h.DiffEditorHunkToolbar=new h("DiffEditorHunkToolbar"),h.DiffEditorSelectionToolbar=new h("DiffEditorSelectionToolbar"),h.BrowserNavigationToolbar=new h("BrowserNavigationToolbar"),h.BrowserActionsToolbar=new h("BrowserActionsToolbar"),h.BrowserChatActionsMenu=new h("BrowserChatActionsMenu"),h.BrowserEmulationToolbar=new h("BrowserEmulationToolbar"),h.AgentSessionsViewerFilterSubMenu=new h("AgentSessionsViewerFilterSubMenu"),h.AgentSessionsContext=new h("AgentSessionsContext"),h.AgentSessionSectionContext=new h("AgentSessionSectionContext"),h.AgentSessionsCreateSubMenu=new h("AgentSessionsCreateSubMenu"),h.AgentSessionsToolbar=new h("AgentSessionsToolbar"),h.AgentSessionItemToolbar=new h("AgentSessionItemToolbar"),h.AgentSessionSectionToolbar=new h("AgentSessionSectionToolbar"),h.SessionItemContextMenu=new h("SessionItemContextMenu"),h.SessionHeaderContext=new h("SessionsSessionHeaderContext"),h.AgentsTitleBarControlMenu=new h("AgentsTitleBarControlMenu"),h.AgentsChangesToolbar=new h("AgentsChangesToolbar"),h.AgentsChangesPrimaryActionSubMenu=new h("AgentsChangesPrimaryActionSubMenu"),h.AgentsChangeInlineToolbar=new h("AgentsChangeInlineToolbar"),h.ChatViewSessionTitleNavigationToolbar=new h("ChatViewSessionTitleNavigationToolbar"),h.ChatViewSessionTitleToolbar=new h("ChatViewSessionTitleToolbar"),h.ChatContextUsageActions=new h("ChatContextUsageActions"),h.MarkerHoverStatusBar=new h("MarkerHoverParticipant.StatusBar");let l=h;const o=(0,L.u1)("menuService"),D=class D{static for(N){let W=this._all.get(N);return W||(W=new D(N),this._all.set(N,W)),W}static merge(N){const W=new Set;for(const U of N)U instanceof D&&W.add(U.id);return W}constructor(N){this.id=N,this.has=W=>W===N}};D._all=new Map;let c=D;const a=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new R.QT({merge:c.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(k){return this._commands.set(k.id,k),this._onDidChangeMenu.fire(c.for(l.CommandPalette)),(0,x.lC)((0,x.s)(()=>{this._commands.delete(k.id)&&this._onDidChangeMenu.fire(c.for(l.CommandPalette))}))}getCommand(k){return this._commands.get(k)}getCommands(){const k=new Map;return this._commands.forEach((N,W)=>k.set(W,N)),k}appendMenuItem(k,N){let W=this._menuItems.get(k);W||(W=new T.w,this._menuItems.set(k,W));const U=W.push(N);return this._onDidChangeMenu.fire(c.for(k)),(0,x.lC)((0,x.s)(()=>{U(),this._onDidChangeMenu.fire(c.for(k))}))}appendMenuItems(k){const N=new x.Cm;for(const{id:W,item:U}of k)N.add(this.appendMenuItem(W,U));return N}getMenuItems(k){let N;return this._menuItems.has(k)?N=[...this._menuItems.get(k)]:N=[],k===l.CommandPalette&&this._appendImplicitItems(N),N}_appendImplicitItems(k){const N=new Set;for(const W of k)r(W)&&(N.add(W.command.id),W.alt&&N.add(W.alt.id));this._commands.forEach((W,U)=>{N.has(U)||k.push({command:W})})}};class p extends v.YH{constructor(N,W,U){super(`submenuitem.${N.submenu.id}`,typeof N.title=="string"?N.title:N.title.value,U,"submenu"),this.item=N,this.hideActions=W}}let _=i=class{static label(N,W){return W?.renderShortTitle&&N.shortTitle?typeof N.shortTitle=="string"?N.shortTitle:N.shortTitle.value:typeof N.title=="string"?N.title:N.title.value}constructor(N,W,U,$,te,ne,V){this.hideActions=$,this.menuKeybinding=te,this._commandService=V,this.id=N.id,this.label=i.label(N,U),this.tooltip=(typeof N.tooltip=="string"?N.tooltip:N.tooltip?.value)??"",this.enabled=!N.precondition||ne.contextMatchesRules(N.precondition),this.checked=void 0;let I;if(N.toggled){const H=N.toggled.condition?N.toggled:{condition:N.toggled};this.checked=ne.contextMatchesRules(H.condition),this.checked&&H.tooltip&&(this.tooltip=typeof H.tooltip=="string"?H.tooltip:H.tooltip.value),this.checked&&y.L.isThemeIcon(H.icon)&&(I=H.icon),this.checked&&H.title&&(this.label=typeof H.title=="string"?H.title:H.title.value)}I||(I=y.L.isThemeIcon(N.icon)?N.icon:void 0),this.item=N,this.alt=W?new i(W,void 0,U,$,void 0,ne,V):void 0,this._options=U,this.class=I&&y.L.asClassName(I)}run(...N){let W=[];return this._options?.args?W=[...W,...this._options.args]:this._options?.arg&&(W=[...W,this._options.arg]),this._options?.shouldForwardArgs&&(W=[...W,...N]),this._commandService.executeCommand(this.id,...W)}};_=i=C([u(5,g.fN),u(6,A.d)],_);class E{constructor(N){this.desc=N}}function S(k){const N=[],W=new k,{f1:U,menu:$,keybinding:te,...ne}=W.desc;if(A.w.getCommand(ne.id))throw new Error(`Cannot register two commands with the same id: ${ne.id}`);if(N.push(A.w.registerCommand({id:ne.id,handler:(V,...I)=>W.run(V,...I),metadata:ne.metadata??{description:W.desc.title}})),Array.isArray($))for(const V of $)N.push(a.appendMenuItem(V.id,{command:{...ne,precondition:V.precondition===null?void 0:ne.precondition},...V}));else $&&N.push(a.appendMenuItem($.id,{command:{...ne,precondition:$.precondition===null?void 0:ne.precondition},...$}));if(U&&(N.push(a.appendMenuItem(l.CommandPalette,{command:ne,when:ne.precondition})),N.push(a.addCommand(ne))),Array.isArray(te))for(const V of te)N.push(b.f.registerKeybindingRule({...V,id:ne.id,when:ne.precondition?g.M$.and(ne.precondition,V.when):V.when}));
199else te&&N.push(b.f.registerKeybindingRule({...te,id:ne.id,when:ne.precondition?g.M$.and(ne.precondition,te.when):te.when}));return{dispose(){(0,x.AS)(N)}}}},58574:(St,We,e)=>{e.d(We,{$z:()=>k,BA:()=>W,DW:()=>N,Hh:()=>p,Qn:()=>U,dO:()=>D,i_:()=>h,nz:()=>a,wt:()=>S});var v=e(14333),R=e(83952),x=e(10176),T=e(9715),y=e(65958),A=e(10998),g=e(87676),L=e(18382),b=e(75962),C=e(73858),u=e(69227),i=e(82735),r=e(75712),d=e(10680),l=e(58687),o=e(94865),c=e(74707);class a{constructor(I,H){this.x=I,this.y=H,this._pageCoordinatesBrand=void 0}toClientCoordinates(I){return new p(this.x-I.scrollX,this.y-I.scrollY)}}class p{constructor(I,H){this.clientX=I,this.clientY=H,this._clientCoordinatesBrand=void 0}toPageCoordinates(I){return new a(this.clientX+I.scrollX,this.clientY+I.scrollY)}}class _{constructor(I,H,Z,X){this.x=I,this.y=H,this.width=Z,this.height=X,this._editorPagePositionBrand=void 0}}class E{constructor(I,H){this.x=I,this.y=H,this._positionRelativeToEditorBrand=void 0}}function S(V){const I=(0,v.BK)(V);return new _(I.left,I.top,I.width,I.height)}function h(V,I,H){const Z=I.width/V.offsetWidth,X=I.height/V.offsetHeight,G=(H.x-I.x)/Z,Y=(H.y-I.y)/X;return new E(G,Y)}class D extends T.P{get editorPos(){return this._editorPos??=S(this._editorViewDomNode),this._editorPos}get relativePos(){return this._relativePos??=h(this._editorViewDomNode,this.editorPos,this.pos),this._relativePos}constructor(I,H,Z){super((0,v.zk)(Z),I),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=H,this.pos=new a(this.posx,this.posy),this._editorViewDomNode=Z}}class k{constructor(I){this._editorViewDomNode=I}_create(I){return new D(I,!1,this._editorViewDomNode)}onContextMenu(I,H){return(0,v.ko)(I,v.Bx.CONTEXT_MENU,Z=>{H(this._create(Z))})}onMouseUp(I,H){return(0,v.ko)(I,v.Bx.MOUSE_UP,Z=>{H(this._create(Z))})}onMouseDown(I,H){return(0,v.ko)(I,v.Bx.MOUSE_DOWN,Z=>{H(this._create(Z))})}onPointerDown(I,H){return(0,v.ko)(I,v.Bx.POINTER_DOWN,Z=>{H(this._create(Z),Z.pointerId)})}onMouseLeave(I,H){return(0,v.ko)(I,v.Bx.MOUSE_LEAVE,Z=>{H(this._create(Z))})}onMouseMove(I,H){return(0,v.ko)(I,v.Bx.MOUSE_MOVE,Z=>H(this._create(Z)))}}class N{constructor(I){this._editorViewDomNode=I}_create(I){return new D(I,!1,this._editorViewDomNode)}onPointerUp(I,H){return(0,v.ko)(I,"pointerup",Z=>{H(this._create(Z))})}onPointerDown(I,H){return(0,v.ko)(I,v.Bx.POINTER_DOWN,Z=>{H(this._create(Z),Z.pointerId)})}onPointerLeave(I,H){return(0,v.ko)(I,v.Bx.POINTER_LEAVE,Z=>{H(this._create(Z))})}onPointerMove(I,H){return(0,v.ko)(I,"pointermove",Z=>H(this._create(Z)))}}class W extends A.jG{constructor(I){super(),this._editorViewDomNode=I,this._globalPointerMoveMonitor=this._register(new x._),this._key
199downListener=null}startMonitoring(I,H,Z,X,G){this._keydownListener=(0,v.un)(I.ownerDocument,"keydown",Y=>{Y.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,Y.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(I,H,Z,Y=>{X(new D(Y,!0,this._editorViewDomNode))},Y=>{this._keydownListener.dispose(),G(Y)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}const ne=class ne{constructor(I){this._editor=I,this._instanceId=++ne._idPool,this._counter=0,this._rules=new A.$w,this._garbageCollectionScheduler=new y.uC(()=>this.garbageCollect(),1e3)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(I){const H=this.getOrCreateRule(I);return H.increaseRefCount(),{className:H.className,dispose:()=>{H.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(I){const H=this.computeUniqueKey(I);let Z=this._rules.get(H);if(!Z){const X=this._counter++;Z=new $(H,`dyn-rule-${this._instanceId}-${X}`,(0,v.Cl)(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,I),this._rules.set(H,Z)}return Z}computeUniqueKey(I){return JSON.stringify(I)}garbageCollect(){for(const I of this._rules.values())I.hasReferences()||this._rules.deleteAndDispose(I.key)}};ne._idPool=0;let U=ne;class ${constructor(I,H,Z,X){this.key=I,this.className=H,this.properties=X,this._referenceCount=0,this._styleElementDisposables=new A.Cm,this._styleElement=(0,R.li)(Z,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(I,H){let Z=`.${I} {`;for(const X in H){const G=H[X];let Y;typeof G=="object"?Y=(0,g.Gu)(G.id):Y=G;const j=te(X);Z+=`
200	${j}: ${Y};`}return Z+=`
201}`,Z}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function te(V){return V.replace(/(^[A-Z])/,([I])=>I.toLowerCase()).replace(/([A-Z])/g,([I])=>`-${I.toLowerCase()}`)}},58687:(St,We,e)=>{e.d(We,{BT:()=>u,WM:()=>y,bX:()=>g,cI:()=>b,gn:()=>L,mh:()=>C,zR:()=>A});var v=e(3765),R=e(94901),x=e(87676),T=e(18382);(0,x.x1)("sash.hoverBorder",T.tA,(0,v.kg)(2062,"Border color of active sashes."));const y=(0,x.x1)("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:R.Q1.black,hcLight:"#0F4A85"},(0,v.kg)(2063,"Badge background color. Badges are small information labels, e.g. for search results count.")),A=(0,x.x1)("badge.foreground",{dark:R.Q1.white,light:"#333",hcDark:R.Q1.white,hcLight:R.Q1.white},(0,v.kg)(2064,"Badge foreground color. Badges are small information labels, e.g. for search results count."));(0,x.x1)("activityWarningBadge.foreground",{dark:R.Q1.white,light:R.Q1.white,hcDark:R.Q1.white,hcLight:R.Q1.white},(0,v.kg)(2065,"Foreground color of the warning activity badge")),(0,x.x1)("activityWarningBadge.background",{dark:"#B27C00",light:"#B27C00",hcDark:null,hcLight:"#B27C00"},(0,v.kg)(2066,"Background color of the warning activity badge")),(0,x.x1)("activityErrorBadge.foreground",{dark:R.Q1.black.lighten(.2),light:R.Q1.white,hcDark:null,hcLight:R.Q1.black.lighten(.2)},(0,v.kg)(2067,"Foreground color of the error activity badge")),(0,x.x1)("activityErrorBadge.background",{dark:"#F14C4C",light:"#E51400",hcDark:null,hcLight:"#F14C4C"},(0,v.kg)(2068,"Background color of the error activity badge"));const g=(0,x.x1)("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},(0,v.kg)(2069,"Scrollbar shadow to indicate that the view is scrolled.")),L=(0,x.x1)("scrollbarSlider.background",{dark:R.Q1.fromHex("#797979").transparent(.4),light:R.Q1.fromHex("#646464").transparent(.4),hcDark:(0,x.JO)(T.b1,.6),hcLight:(0,x.JO)(T.b1,.4)},(0,v.kg)(2070,"Scrollbar slider background color.")),b=(0,x.x1)("scrollbarSlider.hoverBackground",{dark:R.Q1.fromHex("#646464").transparent(.7),light:R.Q1.fromHex("#646464").transparent(.7),hcDark:(0,x.JO)(T.b1,.8),hcLight:(0,x.JO)(T.b1,.8)},(0,v.kg)(2071,"Scrollbar slider background color when hovering.")),C=(0,x.x1)("scrollbarSlider.activeBackgroun
201d",{dark:R.Q1.fromHex("#BFBFBF").transparent(.4),light:R.Q1.fromHex("#000000").transparent(.6),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(2072,"Scrollbar slider background color when clicked on."));(0,x.x1)("scrollbar.background",null,(0,v.kg)(2073,"Scrollbar track background color."));const u=(0,x.x1)("progressBar.background",{dark:R.Q1.fromHex("#0E70C0"),light:R.Q1.fromHex("#0E70C0"),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(2074,"Background color of the progress bar that can show for long running operations."));(0,x.x1)("chart.line",{dark:"#236B8E",light:"#236B8E",hcDark:"#236B8E",hcLight:"#236B8E"},(0,v.kg)(2075,"Line color for the chart.")),(0,x.x1)("chart.axis",{dark:R.Q1.fromHex("#BFBFBF").transparent(.4),light:R.Q1.fromHex("#000000").transparent(.6),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(2076,"Axis color for the chart.")),(0,x.x1)("chart.guide",{dark:R.Q1.fromHex("#BFBFBF").transparent(.2),light:R.Q1.fromHex("#000000").transparent(.2),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(2077,"Guide line for the chart."))},58718:(St,We,e)=>{e.d(We,{P:()=>T});var v=e(16844),R=e(62549);function x(y,A,g){let L=0;for(let C=0;C<y.length;C++)y.charAt(C)==="	"?L=R.A.nextIndentTabStop(L,A):L++;let b="";if(!g){const C=Math.floor(L/A);L=L%A;for(let u=0;u<C;u++)b+="	"}for(let C=0;C<L;C++)b+=" ";return b}function T(y,A,g){let L=(0,v.HG)(y);return L===-1&&(L=y.length),x(y.substring(0,L),A,g)+y.substring(L)}},58819:(St,We,e)=>{e.d(We,{Y:()=>V});var v=e(65958),R=e(78903),x=e(94327),T=e(2106),y=e(1174),A=e(10998),g=e(73678),L=e(16844),b=e(79359),C=e(3338),u=e(85753),i=e(31540),r=e(88195),d=e(46441),l=e(76243),o=e(93702),c=e(90304),a=e(29849),p=e(9760),_=e(97083),E=e(50960),S=e(51693),h=e(93516),D=e(10079),k=e(47936),N=function(I,H,Z,X){var G=arguments.length,Y=G<3?H:X===null?X=Object.getOwnPropertyDescriptor(H,Z):X,j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Y=Reflect.decorate(I,H,Z,X);else for(var z=I.length-1;z>=0;z--)(j=I[z])&&(Y=(G<3?j(Y):G>3?j(H,Z,Y):j(H,Z))||Y);return G>3&&Y&&Object.defineProperty(H,Z,Y),Y},W=function(I,H){return function(Z,X){H(Z,X,I)}},U;class ${static shouldAutoTrigger(H){if(!H.hasModel())return!1;const Z=H.getModel(),X=H.getPosition();Z.tokenization.tokenizeIfCheap(X.lineNumber);const G=Z.getWordAtPosition(X);return!(!G||G.endColumn!==X.column&&G.startColumn+1!==X.column||!isNaN(Number(G.word)))}constructor(H,Z,X){this.leadingLineContent=H.getLineContent(Z.lineNumber).substr(0,Z.column-1),this.leadingWord=H.getWordUntilPosition(Z),this.lineNumber=Z.lineNumber,this.column=Z.column,this.triggerOptions=X}}function te(I,H,Z){if(!H.getContextKeyValue(_.p.inlineSuggestionVisible.key))return!0;const X=H.getContextKeyValue(_.p.suppressSuggestions.key);return X!==void 0?!X:!I.getOption(71).suppressSuggestions}function ne(I,H,Z){if(!H.getContextKeyValue("inlineSuggestionVisible"))return!0;const X=H.getContextKeyValue(_.p.suppressSuggestions.key);return X!==void 0?!X:!I.getOption(71).suppressSuggestions}let V=U=class{constructor(H,Z,X,G,Y,j,z,ie,re){this._editor=H,this._editorWorkerService=Z,this._clipboardService=X,this._telemetryService=G,this._logService=Y,this._contextKeyService=j,this._configurationService=z,this._languageFeaturesService=ie,this._envService=re,this._toDispose=new A.Cm,this._triggerCharacterListener=new A.Cm,this._triggerQuickSuggest=new v.pc,this._triggerState=void 0,this._completionDisposables=new A.Cm,this._onDidCancel=new T.vl,this._onDidTrigger=new T.vl,this._onDidSuggest=new T.vl,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._currentSelection=this._editor.getSelection()||new o.L(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let de=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{de=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>
201{de=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(le=>{de||this._onCursorChange(le)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!de&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){(0,A.AS)(this._triggerCharacterListener),(0,A.AS)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._waitForInlineCompletions?.dispose(),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(104)||!this._editor.hasModel()||!this._editor.getOption(137))return;const H=new Map;for(const X of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const G of X.triggerCharacters||[]){let Y=H.get(G);Y||(Y=new Set,H.set(G,Y)),Y.add(X)}const Z=X=>{if(!ne(this._editor,this._contextKeyService,this._configurationService)||$.shouldAutoTrigger(this._editor))return;if(!X){const j=this._editor.getPosition();X=this._editor.getModel().getLineContent(j.lineNumber).substr(0,j.column-1)}let G="";(0,L.LJ)(X.charCodeAt(X.length-1))?(0,L.pc)(X.charCodeAt(X.length-2))&&(G=X.substr(X.length-2)):G=X.charAt(X.length-1);const Y=H.get(G);if(Y){const j=new Map;if(this._completionModel)for(const[z,ie]of this._completionModel.getItemsByProvider())Y.has(z)||j.set(z,ie);this.trigger({auto:!0,triggerKind:1,triggerCharacter:G,retrigger:!!this._completionModel,clipboardText:this._completionModel?.clipboardText,completionOptions:{providerFilter:Y,providerItemsToReuse:j}})}};this._triggerCharacterListener.add(this._editor.onDidType(Z)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>Z()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(H=!1){this._triggerQuickSuggest.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerState!==void 0&&(this._requestToken?.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:H}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(H){if(!this._editor.hasModel())return;const Z=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!H.selection.isEmpty()||H.reason!==0&&H.reason!==3||H.source!=="keyboard"&&H.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&H.reason===0?(Z.containsRange(this._currentSelection)||Z.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&H.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){h.r3.isAllOff(this._editor.getOption(102))||this._editor.getOption(134).snippetsPreventQuickSuggestions&&E.O.get(this._editor)?.isInSnippet()||(this.cancel(),this._waitForInlineCompletions?.dispose(),this._waitForInlineCompletions=void 0,this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!$.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const H=this._editor.getModel(),Z=this._editor.getPosition(),X=this._editor.getOption(102);if(h.r3.isAllOff(X))return;let G=!1;if(!h.r3.isAllOn(X)){H.tokenization.tokenizeIfCheap(Z.lineNumber);const Y=H.tokenization.getLineTokens(Z.lineNumber),j=Y.getStandardTokenType(Y.findTokenIndexAtOffset(Math.max(Z.column-1-1,0))),z=h.r3.valueFor(X,j);if(z==="off"||z==="inline")return;z==="offWhenInlineCompletions"&&(G=this._languageFeaturesService.inlineCompletionsProvider.has(H)&&this._editor.getOption(71).enabled)}te(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(H)&&(G?this._waitForInlineCompletionsAndTrigger(H,Z):this.trigger({auto:!0}))},this._editor.getOption(103)))}_waitForInlineCompletionsAndTrigger(H,Z){const X=H.getVersionId(),G=(0,p.L)(this._editor),Y=G?.model.get();if(!G||!Y){this.trigger({auto:!0});return}if(Y.state.get()?.inlineSuggestion)return;const z=new A.Cm;this._waitForInlineCompletions=z;const ie=re=>{if(z.dispose(),this._waitForInlineCompletions===z&&(this._waitForInlineCompletions=void 0),this._triggerState!==void 0||!re)return;const de=this._editor.getModel(),le=this._editor.getPosition();
201de===H&&de.getVersionId()===X&&le?.equals(Z)&&this._editor.hasWidgetFocus()&&this.trigger({auto:!0})};(0,v.EQ)(()=>{ie(!0),Y.stop("automatic")},750,z),z.add((0,k.fm)(re=>{if(G.model.read(re)!==Y){ie(!1);return}const le=Y.status.read(re),he=Y.state.read(re);!he&&le==="loading"||ie(!he)}))}_refilterCompletionItems(){(0,b.j)(this._editor.hasModel()),(0,b.j)(this._triggerState!==void 0);const H=this._editor.getModel(),Z=this._editor.getPosition(),X=new $(H,Z,{...this._triggerState,refilter:!0});this._onNewContext(X)}trigger(H){if(!this._editor.hasModel())return;const Z=this._editor.getModel(),X=new $(Z,this._editor.getPosition(),H);this.cancel(H.retrigger),this._triggerState=H,this._onDidTrigger.fire({auto:H.auto,shy:H.shy??!1,position:this._editor.getPosition()}),this._context=X;let G={triggerKind:H.triggerKind??0};H.triggerCharacter&&(G={triggerKind:1,triggerCharacter:H.triggerCharacter}),this._requestToken=new R.Qi;const Y=this._editor.getOption(128);let j=1;switch(Y){case"top":j=0;break;case"bottom":j=2;break}const{itemKind:z,showDeprecated:ie}=U.createSuggestFilter(this._editor),re=new h.l1(j,H.completionOptions?.kindFilter??z,H.completionOptions?.providerFilter,H.completionOptions?.providerItemsToReuse,ie),de=D.S.create(this._editorWorkerService,this._editor),le=(0,h.aR)(this._languageFeaturesService.completionProvider,Z,this._editor.getPosition(),re,G,this._requestToken.token);Promise.all([le,de]).then(async([he,we])=>{if(this._requestToken?.dispose(),!this._editor.hasModel()){he.disposable.dispose();return}let xe=H?.clipboardText;if(!xe&&he.needsClipboard&&(xe=await this._clipboardService.readText()),this._triggerState===void 0){he.disposable.dispose();return}const Be=this._editor.getModel(),M=new $(Be,this._editor.getPosition(),H),Ve={...y.Nd.default,firstMatchCanBeWeak:!this._editor.getOption(134).matchOnWordStartOnly};if(this._completionModel=new S.C(he.items,this._context.column,{leadingLineContent:M.leadingLineContent,characterCountDelta:M.column-this._context.column},we,this._editor.getOption(134),this._editor.getOption(128),Ve,xe),this._completionDisposables.add(he.disposable),this._onNewContext(M),this._reportDurationsTelemetry(he.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const Me of he.items)Me.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${Me.provider._debugDisplayName}`,Me.completion)}).catch(x.dz)}_reportDurationsTelemetry(H){Math.random()>1e-4||setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(H)}),this._logService.debug("suggest.durations.json",H)})}static createSuggestFilter(H){const Z=new Set;H.getOption(128)==="none"&&Z.add(28);const G=H.getOption(134);return G.showMethods||Z.add(0),G.showFunctions||Z.add(1),G.showConstructors||Z.add(2),G.showFields||Z.add(3),G.showVariables||Z.add(4),G.showClasses||Z.add(5),G.showStructs||Z.add(6),G.showInterfaces||Z.add(7),G.showModules||Z.add(8),G.showProperties||Z.add(9),G.showEvents||Z.add(10),G.showOperators||Z.add(11),G.showUnits||Z.add(12),G.showValues||Z.add(13),G.showConstants||Z.add(14),G.showEnums||Z.add(15),G.showEnumMembers||Z.add(16),G.showKeywords||Z.add(17),G.showWords||Z.add(18),G.showColors||Z.add(19),G.showFiles||Z.add(20),G.showReferences||Z.add(21),G.showColors||Z.add(22),G.showFolders||Z.add(23),G.showTypeParameters||Z.add(24),G.showSnippets||Z.add(28),G.showUsers||Z.add(25),G.showIssues||Z.add(26),{itemKind:Z,showDeprecated:G.showDeprecated}}_onNewContext(H){if(this._context){if(H.lineNumber!==this._context.lineNumber){this.cancel();return}if((0,L.UU)(H.leadingLineContent)!==(0,L.UU)(this._context.leadingLineContent)){this.cancel();return}if(H.column<this._context.column){H.leadingWord.word?this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0}):this.cancel();return}if(this._completionModel){if(H.leadingWord.word.length!==0&&H.leadingWord.startColumn>this._context.leadingWord.startColumn){if($.shouldAutoTrigger(this._editor)&&this._context){const X=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:X}})}return}if(H.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&H.leadingWord.word.length!==0){const Z=new Map,X=new Set;for(const[G,Y]of this._completionModel.getItemsByProvider())Y.length>0&&Y[0].container.incomplete?X.add(G):Z.set(G,Y);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:X,providerItemsToReuse:Z}})}else{const Z=this._completionModel.lineContext;let X=!1;if(this._completionModel.lineContext={leadingLineContent:H.leadingLineContent,characterCountDelta:H.column-this._context.column},this._completionModel.items.length===0){const G=$.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(G&&this._context.leadingWord.endColumn<H.leadingWord.startColumn){this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0});return}if(this._context.triggerOptions.auto){this.cancel();return}else if(this._completionModel.lineContext=Z,X=this._completionModel.items.length>0,X&&H.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:H.triggerOptions,isFrozen:X})}}}}};V=U=N([W(1,c.w),W(2,C.h),W(3,l.k),W(4,d.rr),W(5,i.fN),W(6,u.pG),W(7,a.u),W(8,r.k)],V)},58863:(St,We,e)=>{var E;e.d(We,{L:()=>_});var v=e(14333),R=e(94327),x=e(2106),T=e(10998),y=e(27992),A=e(82399),g=e(89044),L=e(37283),b=e(46441),C=function(S,h,D,k){var N=arguments.length,W=N<3?h:k===null?k=Object.getOwnPropertyDescriptor(h,D):k,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(S,h,D,k);else for(var $=S.length-1;$>=0;$--)(U=S[$])&&(W=(N<3?U(W):N>3?U(h,D,W):U(h,D))||W);return N>3&&W&&Object.defineProperty(h,D,W),W},u=function(S,h){return function(D,k){h(D,k,S)}};let i=class extends T.jG{constructor(h){super(),this._logService=h,this._tasks=[],this._i=0,this._register((0,T.s)(()=>this.clear()))}enqueue(h){this._tasks.push(h),this._start()}
201clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(h){this._idleCallback=void 0;let D=0,k=0,N=h.timeRemaining(),W=0;for(;this._i<this._tasks.length;){if(D=Date.now(),this._tasks[this._i]()||this._i++,D=Math.max(1,Date.now()-D),k=Math.max(D,k),W=h.timeRemaining(),k*1.5>W){N-D<-20&&this._logService.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(N-D))}ms`),this._start();return}N=W}this.clear()}};i=C([u(0,b.rr)],i);class r extends i{_requestCallback(h){return(0,v.fz)().setTimeout(()=>h(this._createDeadline(16)))}_cancelCallback(h){(0,v.fz)().clearTimeout(h)}_createDeadline(h){const D=Date.now()+h;return{timeRemaining:()=>Math.max(0,D-Date.now())}}}class d extends i{_requestCallback(h){return(0,v.fz)().requestIdleCallback(h)}_cancelCallback(h){(0,v.fz)().cancelIdleCallback(h)}}const l="requestIdleCallback"in(0,v.fz)()?d:r;var o=e(45907),c=function(S,h,D,k){var N=arguments.length,W=N<3?h:k===null?k=Object.getOwnPropertyDescriptor(h,D):k,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(S,h,D,k);else for(var $=S.length-1;$>=0;$--)(U=S[$])&&(W=(N<3?U(W):N>3?U(h,D,W):U(h,D))||W);return N>3&&W&&Object.defineProperty(h,D,W),W},a=function(S,h){return function(D,k){h(D,k,S)}},p;let _=(E=class extends T.jG{get pages(){return this._pages}constructor(h,D,k,N,W){super(),this._maxTextureSize=h,this._decorationStyleCache=k,this._themeService=N,this._instantiationService=W,this._warmUpTask=this._register(new T.HE),this._warmedUpRasterizers=new Set,this._pages=[],this._glyphPageIndex=new y.QO,this._onDidDeleteGlyphs=this._register(new x.vl),this.onDidDeleteGlyphs=this._onDidDeleteGlyphs.event,this._allocatorType=D?.allocatorType??"slab",this._register(x.Jh.runAndSubscribe(this._themeService.onDidColorThemeChange,()=>{this._colorMap&&this.clear(),this._colorMap=this._themeService.getColorTheme().tokenColorMap}));const U=Math.max(1,Math.floor((0,v.fz)().devicePixelRatio));this.pageSize=Math.min(1024*U,this._maxTextureSize),this._initFirstPage(),this._register((0,T.s)(()=>(0,T.AS)(this._pages)))}_initFirstPage(){const h=this._instantiationService.createInstance(o.g,0,this.pageSize,this._allocatorType);this._pages.push(h);const D=new L.O(1,"",1,this._decorationStyleCache);h.getGlyph(D,"",0,0),D.dispose()}clear(){for(const h of this._pages)h.dispose();this._pages.length=0,this._glyphPageIndex.clear(),this._warmedUpRasterizers.clear(),this._warmUpTask.clear(),this._initFirstPage(),this._onDidDeleteGlyphs.fire()}getGlyph(h,D,k,N,W){return k&=-2048,k|=Math.floor(W%1*10),this._warmedUpRasterizers.has(h.id)||(this._warmUpAtlas(h),this._warmedUpRasterizers.add(h.id)),this._tryGetGlyph(this._glyphPageIndex.get(D,k,N,h.cacheKey)??0,h,D,k,N)}_tryGetGlyph(h,D,k,N,W){return this._glyphPageIndex.set(h,k,N,W,D.cacheKey),this._pages[h].getGlyph(D,k,N,W)??(h+1<this._pages.length?this._tryGetGlyph(h+1,D,k,N,W):void 0)??this._getGlyphFromNewPage(D,k,N,W)}_getGlyphFromNewPage(h,D,k,N){if(this._pages.length>=p.maximumPageCount)throw new Error(`Attempt to create a texture atlas page past the limit ${p.maximumPageCount}`);return this._pages.push(this._instantiationService.createInstance(o.g,this._pages.length,this.pageSize,this._allocatorType)),this._glyphPageIndex.set(this._pages.length-1,D,k,N,h.cacheKey),this._pages[this._pages.length-1].getGlyph(h,D,k,N)}getStats(){return this._pages.map(h=>h.getStats())}_warmUpAtlas(h){const D=this._colorMap;if(!D)throw new R.D7("Cannot warm atlas without color map");this._warmUpTask.value?.clear();const k=this._warmUpTask.value=this._instantiationService.createInstance(l);for(let N=65;N<=90;N++)for(const W of D.keys())k.enqueue(()=>{for(let U=0;U<1;U+=.1)this.getGlyph(h,String.fromCharCode(N),W<<15&16744448,0,U)});for(let N=97;N<=122;N++)for(const W of D.keys())k.enqueue(()=>{for(let U=0;U<1;U+=.1)this.getGlyph(h,String.fromCharCode(N),W<<15&16744448,0,U)});for(let N=33;N<=126;N++)for(const W of D.keys())k.enqueue(()=>{for(let U=0;U<1;U+=.1)this.getGlyph(h,String.fromCharCode(N),W<<15&16744448,0,U)})}},p=E,E.maximumPageCount=16,E);_=p=c([a(3,g.Gy),a(4,A._Y)],_)},58881:(St,We,e)=>{e.d(We,{L:()=>x});var v=e(5915),R;(function(T){function y(A){return!!A&&typeof A=="object"&&typeof A.id=="string"}T.isThemeColor=y})(R||(R={}));var x;(function(T){T.iconNameSegment="[A-Za-z0-9]+",T.iconNameExpression="[A-Za-z0-9-]+",T.iconModifierExpression="~[A-Za-z]+",T.iconNameCharacter="[A-Za-z0-9~-]";const y=new RegExp(`^(${T.iconNameExpression})(${T.iconModifierExpression})?$`);function A(a){const p=y.exec(a.id);if(!p)return A(v.W.error);const[,_,E]=p,S=["codicon","codicon-"+_];return E&&S.push("codicon-modifier-"+E.substring(1)),S}T.asClassNameArray=A;
201function g(a){return A(a).join(" ")}T.asClassName=g;function L(a){return"."+A(a).join(".")}T.asCSSSelector=L;function b(a){return!!a&&typeof a=="object"&&typeof a.id=="string"&&(typeof a.color>"u"||R.isThemeColor(a.color))}T.isThemeIcon=b;const C=new RegExp(`^\\$\\((${T.iconNameExpression}(?:${T.iconModifierExpression})?)\\)$`);function u(a){const p=C.exec(a);if(!p)return;const[,_]=p;return{id:_}}T.fromString=u;function i(a){return{id:a}}T.fromId=i;function r(a,p){let _=a.id;const E=_.lastIndexOf("~");return E!==-1&&(_=_.substring(0,E)),p&&(_=`${_}~${p}`),{id:_}}T.modify=r;function d(a){const p=a.id.lastIndexOf("~");if(p!==-1)return a.id.substring(p+1)}T.getModifier=d;function l(a,p){return a.id===p.id&&a.color?.id===p.color?.id}T.isEqual=l;function o(a){return a?.id===v.W.file.id}T.isFile=o;function c(a){return a?.id===v.W.folder.id}T.isFolder=c})(x||(x={}))},60042:(St,We,e)=>{e.d(We,{G:()=>d,r:()=>E});var v=e(55893),R=e(27424),x=e(63339),T=e(26283);class y{static _createRange(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange}static _detachRange(D,k){D.selectNodeContents(k)}static _readClientRects(D,k,N,W,U){const $=this._createRange();try{return $.setStart(D,k),$.setEnd(N,W),$.getClientRects()}catch{return null}finally{this._detachRange($,U)}}static _mergeAdjacentRanges(D){if(D.length===1)return D;D.sort(T.IO.compare);const k=[];let N=0,W=D[0];for(let U=1,$=D.length;U<$;U++){const te=D[U];W.left+W.width+.9>=te.left?W.width=Math.max(W.width,te.left+te.width-W.left):(k[N++]=W,W=te)}return k[N++]=W,k}static _createHorizontalRangesFromClientRects(D,k,N){if(!D||D.length===0)return null;const W=[];for(let U=0,$=D.length;U<$;U++){const te=D[U];W[U]=new T.IO(Math.max(0,(te.left-k)/N),te.width/N)}return this._mergeAdjacentRanges(W)}static readHorizontalRanges(D,k,N,W,U,$){const ne=D.children.length-1;if(0>ne)return null;if(k=Math.min(ne,Math.max(0,k)),W=Math.min(ne,Math.max(0,W)),k===W&&N===U&&N===0&&!D.children[k].firstChild){const Z=D.children[k].getClientRects();return $.markDidDomLayout(),this._createHorizontalRangesFromClientRects(Z,$.clientRectDeltaLeft,$.clientRectScale)}k!==W&&W>0&&U===0&&(W--,U=1073741824);let V=D.children[k].firstChild,I=D.children[W].firstChild;if((!V||!I)&&(!V&&N===0&&k>0&&(V=D.children[k-1].firstChild,N=1073741824),!I&&U===0&&W>0&&(I=D.children[W-1].firstChild,U=1073741824)),!V||!I)return null;N=Math.min(V.textContent.length,Math.max(0,N)),U=Math.min(I.textContent.length,Math.max(0,U));const H=this._readClientRects(V,N,I,U,$.endNode);return $.markDidDomLayout(),this._createHorizontalRangesFromClientRects(H,$.clientRectDeltaLeft,$.clientRectScale)}}var A=e(45561),g=e(39723),L=e(89563),b=e(66476),C=e(77011),u=e(66055);const i=function(){return x.ib?!0:!(x.j9||v.gm||v.nr)}();let r=!0;const S=class S{constructor(D,k){this._viewGpuContext=D,this._options=k,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(D){if(this._renderedViewLine)this._renderedViewLine.domNode=(0,R.Z)(D);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(D){this._isMaybeInvalid=!0,this._options=D}onSelectionChanged(){return(0,L.Bb)(this._options.themeType)||this._renderedViewLine?.input.renderWhitespace===2?(this._isMaybeInvalid=!0,!0):!1}renderLine(D,k,N,W,U){if(this._options.useGpu&&this._viewGpuContext?.canRender(this._options,W,D))return this._renderedViewLine?.domNode?.domNode.remove(),this._renderedViewLine=null,!1;if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const $=W.getViewLineRenderingData(D),te=this._options,ne=A.d.filter($.inlineDecorations,D,$.minColumn,$.maxColumn),V=te.experimentalWhitespaceRendering==="off"?te.renderWhitespace:"none",I=!$.hasVariableFonts;let H=null;if((0,L.Bb)(te.themeType)||V==="selection"){const Y=W.selections;for(const j of Y){if(j.endLineNumber<D||j.startLineNumber>D)continue;const z=j.startLineNumber===D?j.startColumn:$.minColumn,ie=j.endLineNumber===D?j.endColumn:$.maxColumn;z<ie&&((0,L.Bb)(te.themeType)&&ne.push(new A.d(z,ie,"inline-selected-text",0)),V==="selection"&&(H||(H=[]),H.push(new C.L(z-1,ie-1))))}}const Z=new g.zL(te.useMonospaceOptimizations,te.canUseHalfwidthRightwardsArrow,$.content,$.continuesWithWrappedLine,$.isBasicASCII,$.containsRTL,$.minColumn-1,$.tokens,ne,$.tabSize,$.startVisibleColumn,te.spaceWi
201dth,te.middotWidth,te.wsmiddotWidth,te.stopRenderingLineAfter,V,te.renderControlCharacters,te.fontLigatures!==b.Bc.OFF,H,$.textDirection,te.verticalScrollbarSize);if(this._renderedViewLine&&this._renderedViewLine.input.equals(Z))return!1;U.appendString("<div "),$.textDirection===u.z4.RTL?U.appendString('dir="rtl" '):$.containsRTL&&U.appendString('dir="ltr" '),U.appendString('style="top:'),U.appendString(String(k)),U.appendString("px;height:"),U.appendString(String(N)),U.appendString("px;line-height:"),U.appendString(String(N)),$.textDirection===u.z4.RTL&&(U.appendString("px;padding-right:"),U.appendString(String(te.verticalScrollbarSize))),U.appendString('px;" class="'),U.appendString(S.CLASS_NAME),U.appendString('">');const X=(0,g.UW)(Z,U);U.appendString("</div>");let G=null;return I&&r&&i&&$.isBasicASCII&&Z.isLTR&&te.useMonospaceOptimizations&&X.containsForeignElements===0&&(G=new l(this._renderedViewLine?this._renderedViewLine.domNode:null,Z,X.characterMapping)),G||(G=a(this._renderedViewLine?this._renderedViewLine.domNode:null,Z,X.characterMapping,X.containsForeignElements)),this._renderedViewLine=G,!0}layoutLine(D,k,N){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(k),this._renderedViewLine.domNode.setHeight(N),this._renderedViewLine.domNode.setLineHeight(N))}isRenderedRTL(){return this._renderedViewLine?this._renderedViewLine.input.textDirection===u.z4.RTL:!1}getWidth(D){return this._renderedViewLine?this._renderedViewLine.getWidth(D):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof l:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof l?this._renderedViewLine.monospaceAssumptionsAreValid():r}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof l&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(D,k,N,W){if(!this._renderedViewLine)return null;k=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,k)),N=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,N));const U=this._renderedViewLine.input.stopRenderingLineAfter;if(U!==-1&&k>U+1&&N>U+1)return new T.pj(!0,[new T.IO(this.getWidth(W),0)]);U!==-1&&k>U+1&&(k=U+1),U!==-1&&N>U+1&&(N=U+1);const $=this._renderedViewLine.getVisibleRangesForRange(D,k,N,W);return $&&$.length>0?new T.pj(!1,$):null}getColumnOfNodeOffset(D,k){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(D,k):1}resetCachedWidth(){this._renderedViewLine?.resetCachedWidth()}};S.CLASS_NAME="view-line";let d=S;class l{constructor(D,k,N){this._cachedWidth=-1,this.domNode=D,this.input=k;const W=Math.floor(k.lineContent.length/300);if(W>0){this._keyColumnPixelOffsetCache=new Float32Array(W);for(let U=0;U<W;U++)this._keyColumnPixelOffsetCache[U]=-1}else this._keyColumnPixelOffsetCache=null;this._characterMapping=N,this._charWidth=k.spaceWidth}getWidth(D){if(!this.domNode||this.input.lineContent.length<300){const k=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*k)}return this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,D?.markDidDomLayout()),this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||this._cachedWidth!==-1}resetCachedWidth(){this._cachedWidth=-1}monospaceAssumptionsAreValid(){if(!this.domNode)return r;if(this.input.lineContent.length<300){const D=this.getWidth(null),k=this.domNode.domNode.firstChild.offsetWidth;Math.abs(D-k)>=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),r=!1)}return r}toSlowRenderedLine(){return a(this.domNode,this.input,this._characterMapping,0)}getVisibleRangesForRange(D,k,N,W){const U=this._getColumnPixelOffset(D,k,W),$=this._getColumnPixelOffset(D,N,W);return[new T.IO(U,$-U)]}_getColumnPixelOffset(D,k,N){if(k<=300){const V=this._characterMapping.getHorizontalOffset(k);return this._charWidth*V}const W=Math.floor((k-1)/300)-1,U=(W+1)*300+1;let $=-1;
201if(this._keyColumnPixelOffsetCache&&($=this._keyColumnPixelOffsetCache[W],$===-1&&($=this._actualReadPixelOffset(D,U,N),this._keyColumnPixelOffsetCache[W]=$)),$===-1){const V=this._characterMapping.getHorizontalOffset(k);return this._charWidth*V}const te=this._characterMapping.getHorizontalOffset(U),ne=this._characterMapping.getHorizontalOffset(k);return $+this._charWidth*(ne-te)}_getReadingTarget(D){return D.domNode.firstChild}_actualReadPixelOffset(D,k,N){if(!this.domNode)return-1;const W=this._characterMapping.getDomPosition(k),U=y.readHorizontalRanges(this._getReadingTarget(this.domNode),W.partIndex,W.charIndex,W.partIndex,W.charIndex,N);return!U||U.length===0?-1:U[0].left}getColumnOfNodeOffset(D,k){return E(this._characterMapping,D,k)}}class o{constructor(D,k,N,W){if(this.domNode=D,this.input=k,this._characterMapping=N,this._isWhitespaceOnly=/^\s*$/.test(k.lineContent),this._containsForeignElements=W,this._cachedWidth=-1,this._pixelOffsetCache=null,k.isLTR){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let U=0,$=this._characterMapping.length;U<=$;U++)this._pixelOffsetCache[U]=-1}}_getReadingTarget(D){return D.domNode.firstChild}getWidth(D){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,D?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}resetCachedWidth(){if(this._cachedWidth=-1,this._pixelOffsetCache!==null)for(let D=0,k=this._pixelOffsetCache.length;D<k;D++)this._pixelOffsetCache[D]=-1}getVisibleRangesForRange(D,k,N,W){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const U=this._readPixelOffset(this.domNode,D,k,W);if(U===-1)return null;const $=this._readPixelOffset(this.domNode,D,N,W);return $===-1?null:[new T.IO(U,$-U)]}return this._readVisibleRangesForRange(this.domNode,D,k,N,W)}_readVisibleRangesForRange(D,k,N,W,U){if(N===W){const $=this._readPixelOffset(D,k,N,U);return $===-1?null:[new T.IO($,0)]}else return this._readRawVisibleRangesForRange(D,N,W,U)}_readPixelOffset(D,k,N,W){if(this.input.isLTR&&this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(W);const U=this._getReadingTarget(D);return U.firstChild?(W.markDidDomLayout(),U.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const U=this._pixelOffsetCache[N];if(U!==-1)return U;const $=this._actualReadPixelOffset(D,k,N,W);return this._pixelOffsetCache[N]=$,$}return this._actualReadPixelOffset(D,k,N,W)}_actualReadPixelOffset(D,k,N,W){if(this._characterMapping.length===0){const ne=y.readHorizontalRanges(this._getReadingTarget(D),0,0,0,0,W);return!ne||ne.length===0?-1:ne[0].left}if(this.input.isLTR&&N===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(W);const U=this._characterMapping.getDomPosition(N),$=y.readHorizontalRanges(this._getReadingTarget(D),U.partIndex,U.charIndex,U.partIndex,U.charIndex,W);if(!$||$.length===0)return-1;const te=$[0].left;if(this.input.isBasicASCII){const ne=this._characterMapping.getHorizontalOffset(N),V=Math.round(this.input.spaceWidth*ne);if(Math.abs(V-te)<=1)return V}return te}_readRawVisibleRangesForRange(D,k,N,W){if(this.input.isLTR&&k===1&&N===this._characterMapping.length)return[new T.IO(0,this.getWidth(W))];const U=this._characterMapping.getDomPosition(k),$=this._characterMapping.getDomPosition(N);return y.readHorizontalRanges(this._getReadingTarget(D),U.partIndex,U.charIndex,$.partIndex,$.charIndex,W)}getColumnOfNodeOffset(D,k){return E(this._characterMapping,D,k)}}class c extends o{_readVisibleRangesForRange(D,k,N,W,U){const $=super._readVisibleRangesForRange(D,k,N,W,U);if(!$||$.length===0||N===W||N===1&&W===this._characterMapping.length)return $;if(this.input.isLTR){const te=this._readPixelOffset(D,k,W,U);if(te!==-1){const ne=$[$.length-1];ne.left<te&&(ne.width=te-ne.left)}}return $}}const a=function(){return v.Tc?p:_}();function p(h,D,k,N){return new c(h,D,k,N)}function _(h,D,k,N){return new o(h,D,k,N)}function E(h,D,k){const N=D.textContent.length;let W=-1;for(;D;)D=D.previousSibling,W++;return h.getColumn(new g.wZ(W,k),N)}},60543:St=>{St.exports={}},60756:(St,We,e)=>{e.d(We,{FD:()=>x,Mg:()=>T,gV:()=>R});const v=[],y=class y{static create(g,L){if(g<=128&&L.length===0){let b=y.cache[g];return b||(b=new y(g,L),y.cache[g]=b),b}return new y(g,L)}static getEmpty(){return this.empty}constructor(g,L){this.items=g,this.additionalItems=L}
201add(g,L){const b=L.getKey(g);let C=b>>5;if(C===0){const i=1<<b|this.items;return i===this.items?this:y.create(i,this.additionalItems)}C--;const u=this.additionalItems.slice(0);for(;u.length<C;)u.push(0);return u[C]|=1<<(b&31),y.create(this.items,u)}merge(g){const L=this.items|g.items;if(this.additionalItems===v&&g.additionalItems===v)return L===this.items?this:L===g.items?g:y.create(L,v);const b=[];for(let C=0;C<Math.max(this.additionalItems.length,g.additionalItems.length);C++){const u=this.additionalItems[C]||0,i=g.additionalItems[C]||0;b.push(u|i)}return y.create(L,b)}intersects(g){if((this.items&g.items)!==0)return!0;for(let L=0;L<Math.min(this.additionalItems.length,g.additionalItems.length);L++)if((this.additionalItems[L]&g.additionalItems[L])!==0)return!0;return!1}};y.cache=new Array(129),y.empty=y.create(0,v);let R=y;const x={getKey(A){return A}};class T{constructor(){this.items=new Map}getKey(g){let L=this.items.get(g);return L===void 0&&(L=this.items.size,this.items.set(g,L)),L}}},60779:(St,We,e)=>{e.d(We,{N6:()=>v,TH:()=>R,pv:()=>x});var v;(function(T){T[T.Disabled=0]="Disabled",T[T.EnabledForActive=1]="EnabledForActive",T[T.Enabled=2]="Enabled"})(v||(v={}));class R{constructor(y,A,g,L,b,C){if(this.visibleColumn=y,this.column=A,this.className=g,this.horizontalLine=L,this.forWrappedLinesAfterColumn=b,this.forWrappedLinesBeforeOrAtColumn=C,y!==-1==(A!==-1))throw new Error}}class x{constructor(y,A){this.top=y,this.endColumn=A}}},61343:(St,We,e)=>{e.d(We,{hF:()=>L,p_:()=>A,rf:()=>T,s8:()=>g});var v=e(14333),R=e(73678),x=e(99429);class T{static startNow(u,i,r,d=y){return new T(u,i,r,Date.now(),d)}constructor(u,i,r,d,l=y){this.startValue=u,this.endValue=i,this.durationMs=r,this.startTimeMs=d,this._interpolationFunction=l,u===i&&(this.durationMs=0)}isFinished(u){return u>=this.startTimeMs+this.durationMs}getValue(u){const i=u-this.startTimeMs;return i>=this.durationMs?this.endValue:this._interpolationFunction(i,this.startValue,this.endValue-this.startValue,this.durationMs)}}function y(C,u,i,r){return C===r?u+i:i*(-Math.pow(2,-10*C/r)+1)+u}function A(C,u,i,r){return i*((C=C/r-1)*C*C+1)+u}class g{constructor(u){this._value=u}getValue(u){const i=Date.now();return this._value.isFinished(i)||L.instance.invalidateOnNextAnimationFrame(u),this._value.getValue(i)}isFinished(u){const i=Date.now(),r=this._value.isFinished(i);return r||L.instance.invalidateOnNextAnimationFrame(u),r}}const b=class b{constructor(){this._counter=(0,x.Y)(this),this._isScheduled=!1}invalidateOnNextAnimationFrame(u){this._counter.read(u),this._isScheduled||(this._isScheduled=!0,(0,v.fz)().requestAnimationFrame(()=>{this._isScheduled=!1,this._update()}))}_update(){this._counter.trigger(void 0)}};b.instance=new b;let L=b},61453:(St,We,e)=>{var ve;e.d(We,{eZ:()=>qe,F1:()=>ht});var v=e(44385),R=e(65958),x=e(78903),T=e(94327),y=e(90028),A=e(10998),g=e(79359),L=e(37264),b=e(3765),C=e(58067),u=e(4761),i=e(31540),r=e(82399),d=e(46441),l=e(29879),o=e(44023),c=e(67167),a=e(50946),p=e(98769),_=e(87301),E=e(15365),S=e(28061),h=e(38122),D=e(47317),k=e(29849),N=e(41504),W=e(32471),U=e(62105),$=e(84893),te=e(14333),ne=e(87594),V=e(20396),I=e(91818),H=e(67954),Z=e(13338),X=e(5915),G=e(2106),Y=e(23013),j=e(25837),z=e(56071),ie=e(3273),re=e(87676),de=e(18382),le=e(75962),he=e(73858),we=e(69227),xe=e(82735),Be=e(75712),M=e(10680),Ve=e(58687),Me=e(94865),Le=e(74707),_e=e(89044),Qe=function(De,fe,Se,pe){var Ae=arguments.length,Xe=Ae<3?fe:pe===null?pe=Object.getOwnPropertyDescriptor(fe,Se):pe,dt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Xe=Reflect.decorate(De,fe,Se,pe);else for(var gt=De.length-1;gt>=0;gt--)(dt=De[gt])&&(Xe=(Ae<3?dt(Xe):Ae>3?dt(fe,Se,Xe):dt(fe,Se))||Xe);return Ae>3&&Xe&&Object.defineProperty(fe,Se,Xe),Xe},je=function(De,fe){return function(Se,pe){fe(Se,pe,De)}};const ae=new i.N1("renameInputVisible",!1,(0,b.kg)(1440,"Whether the rename input widget is visible"));new i.N1("renameInputFocused",!1,(0,b.kg)(1441,"Whether the rename input widget is focused"));let Ee=class{constructor(fe,Se,pe,Ae,Xe,dt){this._editor=fe,this._acceptKeybindings=Se,this._themeService=pe,this._keybindingService=Ae,this._logService=dt,this.allowEditorOverflow=!0,this._disposables=new A.Cm,this._visibleContextKey=ae.bindTo(Xe),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new Y.W,this._inputWithButton=new Ue,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(gt=>{gt.hasChanged(59)&&this._updateFont()})),this._disposables.add(pe.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}
201getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new Ie(this._domNode,{fontInfo:this._editor.getOption(59),onFocusChange:fe=>{this._inputWithButton.input.value=fe,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{this._renameCandidateListView?.focusedCandidate!==void 0&&(this._isEditingRenameCandidate=!0),this._timeBeforeFirstInputFieldEdit??=this._beforeFirstInputFieldEditSW.elapsed(),this._renameCandidateProvidersCts?.token.isCancellationRequested===!1&&this._renameCandidateProvidersCts.cancel(),this._renameCandidateListView?.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}
201_updateStyles(fe){if(!this._domNode)return;const Se=fe.getColor(he.f9),pe=fe.getColor(he.DS);this._domNode.style.backgroundColor=String(fe.getColor(he.Cg)??""),this._domNode.style.boxShadow=Se?` 0 0 8px 2px ${Se}`:"",this._domNode.style.border=pe?`1px solid ${pe}`:"",this._domNode.style.color=String(fe.getColor(we.cw)??"");const Ae=fe.getColor(we.Zg);this._inputWithButton.domNode.style.backgroundColor=String(fe.getColor(we.L4)??""),this._inputWithButton.input.style.backgroundColor=String(fe.getColor(we.L4)??""),this._inputWithButton.domNode.style.borderWidth=Ae?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=Ae?"solid":"none",this._inputWithButton.domNode.style.borderColor=Ae?.toString()??"none"}_updateFont(){if(this._domNode===void 0)return;(0,g.j)(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const fe=this._editor.getOption(59);this._label.style.fontSize=`${this._computeLabelFontSize(fe.fontSize)}px`}_computeLabelFontSize(fe){return fe*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const fe=(0,te.tG)(this.getDomNode().ownerDocument.body),Se=(0,te.BK)(this._editor.getDomNode()),pe=this._getTopForPosition();this._nPxAvailableAbove=pe+Se.top,this._nPxAvailableBelow=fe.height-this._nPxAvailableAbove;const Ae=this._editor.getOption(75),{totalHeight:Xe}=$e.getLayoutInfo({lineHeight:Ae}),dt=this._nPxAvailableBelow>Xe*6?[2,1]:[1,2];return{position:this._position,preference:dt}}beforeRender(){const[fe,Se]=this._acceptKeybindings;return this._label.innerText=(0,b.kg)(1442,"{0} to Rename, {1} to Preview",this._keybindingService.lookupKeybinding(fe)?.getLabel(),this._keybindingService.lookupKeybinding(Se)?.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(fe){if(fe===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;(0,g.j)(this._renameCandidateListView),(0,g.j)(this._nPxAvailableAbove!==void 0),(0,g.j)(this._nPxAvailableBelow!==void 0);const Se=(0,te.OK)(this._inputWithButton.domNode),pe=(0,te.OK)(this._label);let Ae;fe===2?Ae=this._nPxAvailableBelow:Ae=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:Ae-pe-Se,width:(0,te.Tr)(this._inputWithButton.domNode)})}acceptInput(fe){this._trace("invoking acceptInput"),this._currentAcceptInput?.(fe)}cancelInput(fe,Se){this._currentCancelInput?.(fe)}focusNextRenameSuggestion(){this._renameCandidateListView?.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){this._renameCandidateListView?.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(fe,Se,pe,Ae,Xe){const{start:dt,end:gt}=this._getSelection(fe,Se);this._renameCts=Xe;const Bt=new A.Cm;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,Ae===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=Ae,this._requestRenameCandidates(Se,!1),Bt.add((0,te.ko)(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(Se,!0))),Bt.add((0,te.ko)(this._inputWithButton.button,te.Bx.KEY_DOWN,ri=>{const Gt=new ne.Z(ri);(Gt.equals(3)||Gt.equals(10))&&(Gt.stopPropagation(),Gt.preventDefault(),this._requestRenameCandidates(Se,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",pe),this._position=new E.y(fe.startLineNumber,fe.startColumn),this._currentName=Se,this._inputWithButton.input.value=Se,this._inputWithButton.input.setAttribute("selectionStart",dt.toString()),this._inputWithButton.input.setAttribute("selectionEnd",gt.toString()),this._inputWithButton.input.size=Math.max((fe.endColumn-fe.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),Bt.add((0,A.s)(()=>{this._renameCts=void 0,Xe.dispose(!0)})),Bt.add((0,A.s)(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),Bt.add((0,A.s)(()=>this._candidates.clear()));const _t=new R.Zv;return _t.p.finally(()=>{Bt.dispose(),this._hide()}),this._currentCancelInput=ri=>(this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView?.clearCandidates(),_t.complete(ri),!0),this._currentAcceptInput=ri=>{this._trace("invoking _currentAcceptInput"),(0,g.j)(this._renameCandidateListView!==void 0);const Gt=this._renameCandidateListView.nCandidates;let ei,Zt;const pt=this._renameCandidateListView.focusedCandidate;if(pt!==void 0?(this._trace("using new name from renameSuggestion"),ei=pt,Zt={k:"renameSuggestion"}):(this._trace("using new name from inputField"),ei=this._inputWithButton.input.value,Zt=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),ei===Se||ei.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),_t.complete({newName:ei,wantsPreview:pe&&ri,stats:{source:Zt,nRenameSuggestions:Gt,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},Bt.add(Xe.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),Bt.add(this._editor.onDidBlurEditorWidget(()=>
201this.cancelInput(!this._domNode?.ownerDocument.hasFocus(),"editor.onDidBlurEditorWidget"))),this._show(),_t.p}_requestRenameCandidates(fe,Se){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),(0,g.j)(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new x.Qi;const pe=Se?D.YT.Invoke:D.YT.Automatic,Ae=this._requestRenameCandidatesOnce(pe,this._renameCandidateProvidersCts.token);if(Ae.length===0){this._inputWithButton.setSparkleButton();return}Se||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(Ae,fe,this._renameCts.token)}}_getSelection(fe,Se){(0,g.j)(this._editor.hasModel());const pe=this._editor.getSelection();let Ae=0,Xe=Se.length;return!S.Q.isEmpty(pe)&&!S.Q.spansMultipleLines(pe)&&S.Q.containsRange(fe,pe)&&(Ae=Math.max(0,pe.startColumn-fe.startColumn),Xe=Math.min(fe.endColumn,pe.endColumn)-fe.startColumn),{start:Ae,end:Xe}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(fe,Se,pe){const Ae=(..._t)=>this._trace("_updateRenameCandidates",..._t);Ae("start");const Xe=await(0,R.PK)(Promise.allSettled(fe),pe);if(this._inputWithButton.setSparkleButton(),Xe===void 0){Ae("returning early - received updateRenameCandidates results - undefined");return}const dt=Xe.flatMap(_t=>_t.status==="fulfilled"&&(0,g.O9)(_t.value)?_t.value:[]);Ae(`received updateRenameCandidates results - total (unfiltered) ${dt.length} candidates.`);const gt=(0,Z.dM)(dt,_t=>_t.newSymbolName);Ae(`distinct candidates - ${gt.length} candidates.`);const Bt=gt.filter(({newSymbolName:_t})=>_t.trim().length>0&&_t!==this._inputWithButton.input.value&&_t!==Se&&!this._candidates.has(_t));if(Ae(`valid distinct candidates - ${dt.length} candidates.`),Bt.forEach(_t=>this._candidates.add(_t.newSymbolName)),Bt.length<1){Ae("returning early - no valid distinct candidates");return}Ae("setting candidates"),this._renameCandidateListView.setCandidates(Bt),Ae("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const fe=this._editor.getVisibleRanges();let Se;return fe.length>0?Se=fe[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),Se=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(Se)}_trace(...fe){this._logService.trace("RenameWidget",...fe)}};Ee=Qe([je(2,_e.Gy),je(3,z.b),je(4,i.fN),je(5,d.rr)],Ee);class Ie{constructor(fe,Se){this._disposables=new A.Cm,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=Se.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=Se.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",fe.appendChild(this._listContainer),this._listWidget=Ie._createListWidget(this._listContainer,this._candidateViewHeight,Se.fontInfo),this._disposables.add(this._listWidget.onDidChangeFocus(pe=>{pe.elements.length===1&&Se.onFocusChange(pe.elements[0].newSymbolName)},this._disposables)),this._disposables.add(this._listWidget.onDidChangeSelection(pe=>{pe.elements.length===1&&Se.onSelectionChange()},this._disposables)),this._disposables.add(this._listWidget.onDidBlur(pe=>{this._listWidget.setFocus([])})),this._listWidget.style((0,ie.t8)({listInactiveFocusForeground:Me.nH,listInactiveFocusBackgroun
201d:Me.Al}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:fe,width:Se}){this._availableHeight=fe,this._minimumWidth=Se}setCandidates(fe){this._listWidget.splice(0,0,fe);const Se=this._pickListHeight(this._listWidget.length),pe=this._pickListWidth(fe);this._listWidget.layout(Se,pe),this._listContainer.style.height=`${Se}px`,this._listContainer.style.width=`${pe}px`,(0,v.h5)((0,b.kg)(1443,"Received {0} rename suggestions",fe.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const fe=this._listWidget.getSelectedElements()[0];if(fe!==void 0)return fe.newSymbolName;const Se=this._listWidget.getFocusedElements()[0];if(Se!==void 0)return Se.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const fe=this._listWidget.getFocus();if(fe.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(fe[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const Se=this._listWidget.getFocus()[0];return this._listWidget.reveal(Se),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const fe=this._listWidget.getFocus();if(fe.length===0){this._listWidget.focusLast();const Se=this._listWidget.getFocus()[0];return this._listWidget.reveal(Se),!0}else{if(fe[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const Se=this._listWidget.getFocus()[0];return this._listWidget.reveal(Se),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:fe}=$e.getLayoutInfo({lineHeight:this._lineHeight});return fe}_pickListHeight(fe){const Se=this._candidateViewHeight*fe;return Math.min(Se,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(fe){const Se=Math.ceil(Math.max(...fe.map(Ae=>Ae.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+Se+10)}static _createListWidget(fe,Se,pe){const Ae=new class{getTemplateId(dt){return"candidate"}getHeight(dt){return Se}},Xe=new class{constructor(){this.templateId="candidate"}renderTemplate(dt){return new $e(dt,pe)}renderElement(dt,gt,Bt){Bt.populate(dt)}disposeTemplate(dt){dt.dispose()}};return new H.B8("NewSymbolNameCandidates",fe,Ae,[Xe],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class Ue{constructor(){this._buttonHoverContent="",this._disposables=new A.Cm,this._onDidInputChange=this._disposables.add(new G.vl),this.onDidInputChange=this._onDidInputChange.event}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",(0,b.kg)(1444,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=(0,b.kg)(1445,"Generate New Name Suggestions"),this._buttonCancelHoverText=(0,b.kg)(1446,"Cancel"),this._buttonHoverContent=this._buttonGenHoverText,this._disposables.add((0,V.i)().setupDelayedHover(this._buttonNode,()=>({content:this._buttonHoverContent,style:1}))),this._domNode.appendChild(this._buttonNode),this._disposables.add((0,te.ko)(this.input,te.Bx.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add((0,te.ko)(this.input,te.Bx.KEY_DOWN,fe=>{const Se=new ne.Z(fe);(Se.keyCode===15||Se.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add((0,te.ko)(this.input,te.Bx.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add((0,te.ko)(this.input,te.Bx.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add((0,te.ko)(this.input,te.Bx.BLUR,()=>{this.domNode.style.outline="none"}
201))),this._domNode}get input(){return(0,g.j)(this._inputNode),this._inputNode}get button(){return(0,g.j)(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){this._buttonState="sparkle",this._sparkleIcon??=(0,I.s)(X.W.sparkle),(0,te.w_)(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),this._buttonHoverContent=this._buttonGenHoverText,this.input.focus()}setStopButton(){this._buttonState="stop",this._stopIcon??=(0,I.s)(X.W.stopCircle),(0,te.w_)(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),this._buttonHoverContent=this._buttonCancelHoverText,this.input.focus()}dispose(){this._disposables.dispose()}}const J=class J{constructor(fe,Se){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height=`${Se.lineHeight}px`,this._domNode.style.padding=`${J._PADDING}px`;const pe=document.createElement("div");pe.style.display="flex",pe.style.alignItems="center",pe.style.width=pe.style.height=`${Se.lineHeight*.8}px`,this._domNode.appendChild(pe),this._icon=(0,I.s)(X.W.sparkle),this._icon.style.display="none",pe.appendChild(this._icon),this._label=document.createElement("div"),(0,j.M)(this._label,Se),this._domNode.appendChild(this._label),fe.appendChild(this._domNo
201de)}populate(fe){this._updateIcon(fe),this._updateLabel(fe)}_updateIcon(fe){const Se=!!fe.tags?.includes(D.OV.AIGenerated);this._icon.style.display=Se?"inherit":"none"}_updateLabel(fe){this._label.innerText=fe.newSymbolName}static getLayoutInfo({lineHeight:fe}){return{totalHeight:fe+J._PADDING*2}}dispose(){}};J._PADDING=2;let $e=J;var Ye=function(De,fe,Se,pe){var Ae=arguments.length,Xe=Ae<3?fe:pe===null?pe=Object.getOwnPropertyDescriptor(fe,Se):pe,dt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Xe=Reflect.decorate(De,fe,Se,pe);else for(var gt=De.length-1;gt>=0;gt--)(dt=De[gt])&&(Xe=(Ae<3?dt(Xe):Ae>3?dt(fe,Se,Xe):dt(fe,Se))||Xe);return Ae>3&&Xe&&Object.defineProperty(fe,Se,Xe),Xe},Ce=function(De,fe){return function(Se,pe){fe(Se,pe,De)}},He;class Ke{constructor(fe,Se,pe){this.model=fe,this.position=Se,this._providerRenameIdx=0,this._providers=pe.ordered(fe)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(fe){const Se=[];for(this._providerRenameIdx=0;this._providerRenameIdx<this._providers.length;this._providerRenameIdx++){const Ae=this._providers[this._providerRenameIdx];if(!Ae.resolveRenameLocation)break;const Xe=await Ae.resolveRenameLocation(this.model,this.position,fe);if(Xe){if(Xe.rejectReason){Se.push(Xe.rejectReason);continue}return Xe}}this._providerRenameIdx=0;const pe=this.model.getWordAtPosition(this.position);return pe?{range:new S.Q(this.position.lineNumber,pe.startColumn,this.position.lineNumber,pe.endColumn),text:pe.word,rejectReason:Se.length>0?Se.join(`
202`):void 0}:{range:S.Q.fromPositions(this.position),text:"",rejectReason:Se.length>0?Se.join(`
203`):void 0}}async provideRenameEdits(fe,Se){return this._provideRenameEdits(fe,this._providerRenameIdx,[],Se)}async _provideRenameEdits(fe,Se,pe,Ae){const Xe=this._providers[Se];if(!Xe)return{edits:[],rejectReason:pe.join(`
204`)};const dt=await Xe.provideRenameEdits(this.model,this.position,fe,Ae);if(dt){if(dt.rejectReason)return this._provideRenameEdits(fe,Se+1,pe.concat(dt.rejectReason),Ae)}else return this._provideRenameEdits(fe,Se+1,pe.concat((0,b.kg)(1429,"No result.")),Ae);return dt}}function qe(De,fe){return De.ordered(fe).length>0}async function ht(De,fe,Se,pe,Ae){return new Ke(fe,Se,De).provideRenameEdits(pe,Ae??x.XO.None)}async function Te(De,fe,Se,pe){const Ae=new Ke(fe,Se,De),Xe=await Ae.resolveRenameLocation(x.XO.None);return Xe?.rejectReason?{edits:[],rejectReason:Xe.rejectReason}:Ae.provideRenameEdits(pe,x.XO.None)}let oe=(ve=class{static get(fe){return fe.getContribution(He.ID)}constructor(fe,Se,pe,Ae,Xe,dt,gt,Bt){this.editor=fe,this._instaService=Se,this._notificationService=pe,this._bulkEditService=Ae,this._progressService=Xe,this._logService=dt,this._configService=gt,this._languageFeaturesService=Bt,this._disposableStore=new A.Cm,this._cts=new x.Qi,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Ee,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){const fe=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new x.Qi,!this.editor.hasModel()){fe("editor has no model");return}const Se=this.editor.getPosition(),pe=new Ke(this.editor.getModel(),Se,this._languageFeaturesService.renameProvider);if(!pe.hasProvider()){fe("skeleton has no provider");return}const Ae=new U.gI(this.editor,5,void 0,this._cts.token);let Xe;try{fe("resolving rename location");const pt=pe.resolveRenameLocation(Ae.token);this._progressService.showWhile(pt,250),Xe=await pt,fe("resolved rename location")}catch(pt){pt instanceof T.AL?fe("resolve rename location cancelled",JSON.stringify(pt,null,"	")):(fe("resolve rename location failed",pt instanceof Error?pt:JSON.stringify(pt,null,"	")),(typeof pt=="string"||(0,y.VS)(pt))&&$.k.get(this.editor)?.showMessage(pt||(0,b.kg)(1430,"An unknown error occurred while resolving rename location"),Se));return}finally{Ae.dispose()}if(!Xe){fe("returning early - no loc");return}if(Xe.rejectReason){fe(`returning early - rejected with reason: ${Xe.rejectReason}`,Xe.rejectReason),$.k.get(this.editor)?.showMessage(Xe.rejectReason,Se);return}if(Ae.token.isCancellationRequested){fe("returning early - cts1 cancelled");return}const dt=new U.gI(this.editor,5,Xe.range,this._cts.token),gt=this.editor.getModel(),Bt=this._languageFeaturesService.newSymbolNamesProvider.all(gt),_t=await Promise.all(Bt.map(async pt=>[pt,await pt.supportsAutomaticNewSymbolNamesTriggerKind??!1])),ri=(pt,Fe)=>{let st=_t.slice();return pt===D.YT.Automatic&&(st=st.filter(([vt,Yt])=>Yt)),st.map(([vt])=>vt.provideNewSymbolNames(gt,Xe.range,pt,Fe))};fe("creating rename input field and awaiting its result");const Gt=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),ei=await this._renameWidget.getInput(Xe.range,Xe.text,Gt,Bt.length>0?ri:void 0,dt);if(fe("received response from rename input field"),typeof ei=="boolean"){fe(`returning early - rename input field response - ${ei}`),ei&&this.editor.focus(),dt.dispose();return}this.editor.focus(),fe("requesting rename edits");const Zt=(0,R.PK)(pe.provideRenameEdits(ei.newName,dt.token),dt.token).then(async pt=>{if(!pt){fe("returning early - no rename edits result");return}if(!this.editor.hasModel()){fe("returning early - no model after rename edits are provided");return}if(pt.rejectReason){fe(`returning early - rejected with reason: ${pt.rejectReason}`),this._notificationService.info(pt.rejectReason);return}this.editor.setSelection(S.Q.fromPositions(this.editor.getSelection().getPosition())),fe("applying edits"),this._bulkEditService.apply(pt,{editor:this.editor,showPreview:ei.wantsPreview,label:(0,b.kg)(1431,"Renaming '{0}' to '{1}
204'",Xe?.text,ei.newName),code:"undoredo.rename",quotableLabel:(0,b.kg)(1432,"Renaming {0} to {1}",Xe?.text,ei.newName),respectAutoSaveConfig:!0,reason:W.dg.rename(Xe?.text,ei.newName)}).then(Fe=>{fe("edits applied"),Fe.ariaSummary&&(0,v.xE)((0,b.kg)(1433,"Successfully renamed '{0}' to '{1}'. Summary: {2}",Xe.text,ei.newName,Fe.ariaSummary))}).catch(Fe=>{fe(`error when applying edits ${JSON.stringify(Fe,null,"	")}`),this._notificationService.error((0,b.kg)(1434,"Rename failed to apply edits")),this._logService.error(Fe)})},pt=>{fe("error when providing rename edits",JSON.stringify(pt,null,"	")),this._notificationService.error((0,b.kg)(1435,"Rename failed to compute edits")),this._logService.error(pt)}).finally(()=>{dt.dispose()});return fe("returning rename operation"),this._progressService.showWhile(Zt,250),Zt}acceptRenameInput(fe){this._renameWidget.acceptInput(fe)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}},He=ve,ve.ID="editor.contrib.renameController",ve);oe=He=Ye([Ce(1,r._Y),Ce(2,l.Ot),Ce(3,p.nu),Ce(4,o.N8),Ce(5,d.rr),Ce(6,N.U),Ce(7,k.u)],oe);class q extends a.ks{constructor(){super({id:"editor.action.rename",label:(0,b.aS)(1437,"Rename Symbol"),precondition:i.M$.and(h.R.writable,h.R.hasRenameProvider),kbOpts:{kbExpr:h.R.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1},canTriggerInlineEdits:!0})}runCommand(fe,Se){const pe=fe.get(_.T),[Ae,Xe]=Array.isArray(Se)&&Se||[void 0,void 0];return L.r.isUri(Ae)&&E.y.isIPosition(Xe)?pe.openCodeEditor({resource:Ae},pe.getActiveCodeEditor()).then(dt=>{dt&&(dt.setPosition(Xe),dt.invokeWithinContext(gt=>(this.reportTelemetry(gt,dt),this.run(gt,dt))))},T.dz):super.runCommand(fe,Se)}run(fe,Se){const pe=fe.get(d.rr),Ae=oe.get(Se);return Ae?(pe.trace("[RenameAction] got controller, running..."),Ae.run()):(pe.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}(0,a.HW)(oe.ID,oe,4),(0,a.Fl)(q);const ue=a.DX.bindToContribution(oe.get);(0,a.E_)(new ue({id:"acceptRenameInput",precondition:ae,handler:De=>De.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:i.M$.and(h.R.focus,i.M$.not("isComposing")),primary:3}})),(0,a.E_)(new ue({id:"acceptRenameInputWithPreview",precondition:i.M$.and(ae,i.M$.has("config.editor.rename.enablePreview")),handler:De=>De.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:i.M$.and(h.R.focus,i.M$.not("isComposing")),primary:2051}})),(0,a.E_)(new ue({id:"cancelRenameInput",precondition:ae,handler:De=>De.cancelRenameInput(),kbOpts:{weight:199,kbExpr:h.R.focus,primary:9,secondary:[1033]}})),(0,C.ug)(class extends C.L{constructor(){super({id:"focusNextRenameSuggestion",title:{...(0,b.aS)(1438,"Focus Next Rename Suggestion")},precondition:ae,keybinding:[{primary:18,weight:199}]})}run(fe){const Se=fe.get(_.T).getFocusedCodeEditor();if(!Se)return;const pe=oe.get(Se);pe&&pe.focusNextRenameSuggestion()}}),(0,C.ug)(class extends C.L{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...(0,b.aS)(1439,"Focus Previous Rename Suggestion")},precondition:ae,keybinding:[{primary:16,weight:199}]})}run(fe){const Se=fe.get(_.T).getFocusedCodeEditor();if(!Se)return;const pe=oe.get(Se);pe&&pe.focusPreviousRenameSuggestion()}}),(0,a.ke)("_executeDocumentRenameProvider",function(De,fe,Se,...pe){const[Ae]=pe;(0,g.j)(typeof Ae=="string");const{renameProvider:Xe}=De.get(k.u);return Te(Xe,fe,Se,Ae)}),(0,a.ke)("_executePrepareRename",async function(De,fe,Se){const{renameProvider:pe}=De.get(k.u),Xe=await new Ke(fe,Se,pe).resolveRenameLocation(x.XO.None);if(Xe?.rejectReason)throw new Error(Xe.rejectReason);return Xe}),c.O.as(u.Fd.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:6,description:(0,b.kg)(1436,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}})},61618:(St,We,e)=>{var Ke;e.d(We,{WR:()=>j,BP:()=>z});var v=e(65958),R=e(78903),x=e(94327),T=e(68387),y=e(10998),A=e(16844),g=e(79359),L=e(80878),b=e(50946),C=e(38122),u=e(47317),i=e(52394),r=e(99039),d=e(97393),l=e(2106),o=e(28061),c=e(44657);class a{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(Te){this._updateEventEmitter=new l.vl,this._hasLineChanges=!1,this._foldingModel=Te,this._foldingModelListener=Te.onDidChange(oe=>
204this.updateHiddenRanges()),this._hiddenRanges=[],Te.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(Te){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=Te.changes.some(oe=>oe.range.endLineNumber!==oe.range.startLineNumber||(0,c.W)(oe.text)[0]!==0))}updateHiddenRanges(){let Te=!1;const oe=[];let q=0,ue=0,J=Number.MAX_VALUE,ve=-1;const De=this._foldingModel.regions;for(;q<De.length;q++){if(!De.isCollapsed(q))continue;const fe=De.getStartLineNumber(q)+1,Se=De.getEndLineNumber(q);J<=fe&&Se<=ve||(!Te&&ue<this._hiddenRanges.length&&this._hiddenRanges[ue].startLineNumber===fe&&this._hiddenRanges[ue].endLineNumber===Se?(oe.push(this._hiddenRanges[ue]),ue++):(Te=!0,oe.push(new o.Q(fe,1,Se,1))),J=fe,ve=Se)}(this._hasLineChanges||Te||ue<this._hiddenRanges.length)&&this.applyHiddenRanges(oe)}applyHiddenRanges(Te){this._hiddenRanges=Te,this._hasLineChanges=!1,this._updateEventEmitter.fire(Te)}hasRanges(){return this._hiddenRanges.length>0}isHidden(Te){return _(this._hiddenRanges,Te)!==null}adjustSelections(Te){let oe=!1;const q=this._foldingModel.textModel;let ue=null;const J=ve=>((!ue||!p(ve,ue))&&(ue=_(this._hiddenRanges,ve)),ue?ue.startLineNumber-1:null);for(let ve=0,De=Te.length;ve<De;ve++){let fe=Te[ve];const Se=J(fe.startLineNumber);Se&&(fe=fe.setStartPosition(Se,q.getLineMaxColumn(Se)),oe=!0);const pe=J(fe.endLineNumber);pe&&(fe=fe.setEndPosition(pe,q.getLineMaxColumn(pe)),oe=!0),Te[ve]=fe}return oe}dispose(){this.hiddenRanges.length>
2040&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null),this._updateEventEmitter.dispose()}}function p(ht,Te){return ht>=Te.startLineNumber&&ht<=Te.endLineNumber}function _(ht,Te){const oe=(0,d.hw)(ht,q=>Te<q.startLineNumber)-1;return oe>=0&&ht[oe].endLineNumber>=Te?ht[oe]:null}var E=e(90695),S=e(3765),h=e(31540),D=e(18917),k=e(18146),N=e(49440),W=e(29879),U=e(12060),$=e(23013),te=e(29849),ne=e(82096),V=e(37264),I=e(64830),H=e(85753),Z=function(ht,Te,oe,q){var ue=arguments.length,J=ue<3?Te:q===null?q=Object.getOwnPropertyDescriptor(Te,oe):q,ve;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")J=Reflect.decorate(ht,Te,oe,q);else for(var De=ht.length-1;De>=0;De--)(ve=ht[De])&&(J=(ue<3?ve(J):ue>3?ve(Te,oe,J):ve(Te,oe))||J);return ue>3&&J&&Object.defineProperty(Te,oe,J),J},X=function(ht,Te){return function(oe,q){Te(oe,q,ht)}},G;const Y=new h.N1("foldingEnabled",!1);let j=(Ke=class extends y.jG{static get(Te){return Te.getContribution(G.ID)}static getFoldingRangeProviders(Te,oe){const q=Te.foldingRangeProvider.ordered(oe);return G._foldingRangeSelector?.(q,oe)??q}constructor(Te,oe,q,ue,J,ve){super(),this.contextKeyService=oe,this.languageConfigurationService=q,this.languageFeaturesService=ve,this.localToDispose=this._register(new y.Cm),this.editor=Te,this._foldingLimitReporter=this._register(new z(Te));const De=this.editor.getOptions();this._isEnabled=De.get(52),this._useFoldingProviders=De.get(53)!=="indentation",this._unfoldOnClickAfterEndOfLine=De.get(57),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=De.get(55),this.updateDebounceInfo=J.for(ve.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new D.rv(Te),this.foldingDecorationProvider.showFoldingControls=De.get(126),this.foldingDecorationProvider.showFoldingHighlights=De.get(54),this.foldingEnabled=Y.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(fe=>{if(fe.hasChanged(52)&&(this._isEnabled=this.editor.getOptions().get(52),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),fe.hasChanged(56)&&this.onModelChanged(),fe.hasChanged(126)||fe.hasChanged(54)){const Se=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=Se.get(126),this.foldingDecorationProvider.showFoldingHighlights=Se.get(54),this.triggerFoldingModelChanged()}fe.hasChanged(53)&&(this._useFoldingProviders=this.editor.getOptions().get(53)!=="indentation",this.onFoldingStrategyChanged()),fe.hasChanged(57)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(57)),fe.hasChanged(55)&&(this._foldingImportsByDefault=this.editor.getOptions().get(55))})),this.onModelChanged()}saveViewState(){const Te=this.editor.getModel();if(!Te||!this._isEnabled||Te.isTooLargeForTokenization())return{};if(this.foldingModel){const oe=this.foldingModel.getMemento(),q=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:oe,lineCount:Te.getLineCount(),provider:q,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(Te){const oe=this.editor.getModel();if(!(!oe||!this._isEnabled||oe.isTooLargeForTokenization()||!this.hiddenRangeModel)&&Te&&(this._currentModelHasFoldedImports=!!Te.foldedImports,Te.collapsedRegions&&Te.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(Te.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const Te=this.editor.getModel();!this._isEnabled||!Te||Te.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new r.pN(Te,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new a(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(oe=>
204this.onHiddenRangesChanges(oe))),this.updateScheduler=new v.ve(this.updateDebounceInfo.get(Te)),this.localToDispose.add(this.updateScheduler),this.cursorChangedScheduler=new v.uC(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(oe=>this.onDidChangeModelContent(oe))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(oe=>this.onEditorMouseDown(oe))),this.localToDispose.add(this.editor.onMouseUp(oe=>this.onEditorMouseUp(oe))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler?.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.rangeProvider?.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){this.rangeProvider?.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(Te){if(this.rangeProvider)return this.rangeProvider;const oe=new E.hW(Te,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=oe,this._useFoldingProviders&&this.foldingModel){const q=G.getFoldingRangeProviders(this.languageFeaturesService,Te);q.length>0&&(this.rangeProvider=new N.M(Te,q,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,oe))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(Te){this.hiddenRangeModel?.notifyChangeModelContent(Te),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const Te=this.foldingModel;if(!Te)return null;const oe=new $.W,q=this.getRangeProvider(Te.textModel),ue=this.foldingRegionPromise=(0,v.SS)(J=>q.compute(J));return ue.then(J=>{if(J&&ue===this.foldingRegionPromise){let ve;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const Se=J.setCollapsedAllOfType(u.lO.Imports.value,!0);Se&&(ve=L.D.capture(this.editor),this._currentModelHasFoldedImports=Se)}const De=this.editor.getSelections();Te.update(J,re(De)),ve?.restore(this.editor);const fe=this.updateDebounceInfo.update(Te.textModel,oe.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=fe)}return Te})}).then(void 0,Te=>((0,x.dz)(Te),null)))}onHiddenRangesChanges(Te){if(this.hiddenRangeModel&&Te.length&&!this._restoringViewState){const oe=this.editor.getSelections();oe&&this.hiddenRangeModel.adjustSelections(oe)&&this.editor.setSelections(oe)}this.editor.setHiddenAreas(Te,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const Te=this.getFoldingModel();Te&&Te.then(oe=>{if(oe){const q=this.editor.getSelections();if(q&&q.length>0){const ue=[];for(const J of q){const ve=J.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(ve)&&ue.push(...oe.getAllRegionsAtLine(ve,De=>De.isCollapsed&&ve>De.startLineNumber))}ue.length&&(oe.toggleCollapseState(ue),this.reveal(q[0].getPosition()))}}}).then(void 0,x.dz)}onEditorMouseDown(Te){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!Te.target||!Te.target.range||!Te.event.leftButton&&!Te.event.middleButton)return;const oe=Te.target.range;let q=!1;switch(Te.target.type){case 4:{const ue=Te.target.detail,J=Te.target.element.offsetLeft;if(ue.offsetX-J<4)return;q=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!Te.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const ue=this.editor.getModel();if(ue&&oe.startColumn===ue.getLineMaxColumn(oe.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:oe.startLineNumber,iconClicked:q}}onEditorMouseUp(Te){const oe=this.foldingModel;if(!oe||!this.mouseDownInfo||!Te.target)return;const q=this.mouseDownInfo.lineNumber,ue=this.mouseDownInfo.iconClicked,J=Te.target.range;if(!J||J.startLineNumber!==q)return;if(ue){if(Te.target.type!==4)return}else{const De=this.editor.getModel();if(!De||J.startColumn!==De.getLineMaxColumn(q))return}const ve=oe.getRegionAtLine(q);if(ve&&ve.startLineNumber===q){const De=ve.isCollapsed;if(ue||De){const fe=Te.event.altKey;let Se=[];if(fe){const pe=Xe=>!Xe.containedBy(ve)&&!ve.containedBy(Xe),Ae=oe.getRegionsInside(null,pe);for(const Xe of Ae)Xe.isCollapsed&&Se.push(Xe);Se.length===0&&(Se=Ae)}else{const pe=Te.event.middleButton||Te.event.shiftKey;if(pe)for(const Ae of oe.getRegionsInside(ve))Ae.isCollapsed===De&&Se.pu
204sh(Ae);(De||!pe||Se.length===0)&&Se.push(ve)}oe.toggleCollapseState(Se),this.reveal({lineNumber:q,column:1})}}}reveal(Te){this.editor.revealPositionInCenterIfOutsideViewport(Te,0)}},G=Ke,Ke.ID="editor.contrib.folding",Ke);j=G=Z([X(1,h.fN),X(2,i.JZ),X(3,W.Ot),X(4,U.U),X(5,te.u)],j);class z extends y.jG{constructor(Te){super(),this.editor=Te,this._onDidChange=this._register(new l.vl),this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(56)}update(Te,oe){(Te!==this._computed||oe!==this._limited)&&(this._computed=Te,this._limited=oe,this._onDidChange.fire())}}class ie extends b.ks{runEditorCommand(Te,oe,q){const ue=Te.get(i.JZ),J=j.get(oe);if(!J)return;const ve=J.getFoldingModel();if(ve)return this.reportTelemetry(Te,oe),ve.then(De=>{if(De){this.invoke(J,De,oe,q,ue);const fe=oe.getSelection();fe&&J.reveal(fe.getStartPosition())}})}getSelectedLines(Te){const oe=Te.getSelections();return oe?oe.map(q=>q.startLineNumber):[]}getLineNumbers(Te,oe){return Te&&Te.selectionLines?Te.selectionLines.map(q=>q+1):this.getSelectedLines(oe)}run(Te,oe){}}function re(ht){return!ht||ht.length===0?{startsInside:()=>!1}:{startsInside(Te,oe){for(const q of ht){const ue=q.startLineNumber;if(ue>=Te&&ue<=oe)return!0}return!1}}}function de(ht){if(!(0,g.b0)(ht)){if(!(0,g.Gv)(ht))return!1;const Te=ht;if(!(0,g.b0)(Te.levels)&&!(0,g.Et)(Te.levels)||!(0,g.b0)(Te.direction)&&!(0,g.Kg)(Te.direction)||!(0,g.b0)(Te.selectionLines)&&(!Array.isArray(Te.selectionLines)||!Te.selectionLines.every(g.Et)))return!1}return!0}class le extends ie{constructor(){super({id:"editor.unfold",label:(0,S.aS)(1025,"Unfold"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
205						* 'levels': Number of levels to unfold. If not set, defaults to 1.
206						* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
207						* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
208						`,constraint:de,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(Te,oe,q,ue){const J=ue&&ue.levels||1,ve=this.getLineNumbers(ue,q);ue&&ue.direction==="up"?(0,r.dN)(oe,!1,J,ve):(0,r.uV)(oe,!1,J,ve)}}class he extends ie{constructor(){super({id:"editor.unfoldRecursively",label:(0,S.aS)(1026,"Unfold Recursively"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2142),weight:100}})}invoke(Te,oe,q,ue){(0,r.uV)(oe,!1,Number.MAX_VALUE,this.getSelectedLines(q))}}class we extends ie{constructor(){super({id:"editor.fold",label:(0,S.aS)(1027,"Fold"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
209							* 'levels': Number of levels to fold.
210							* 'direction': If 'up', folds given number of levels up otherwise folds down.
211							* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
212							If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
213						`,constraint:de,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(Te,oe,q,ue){const J=this.getLineNumbers(ue,q),ve=ue&&ue.levels,De=ue&&ue.direction;typeof ve!="number"&&typeof De!="string"?(0,r.W8)(oe,!0,J):De==="up"?(0,r.dN)(oe,!0,ve||1,J):(0,r.uV)(oe,!0,ve||1,J)}}class xe extends ie{constructor(){super({id:"editor.toggleFold",label:(0,S.aS)(1028,"Toggle Fold"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2090),weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);(0,r.bC)(oe,1,ue)}}class Be extends ie{constructor(){super({id:"editor.foldRecursively",label:(0,S.aS)(1029,"Fold Recursively"),prec
213ondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2140),weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);(0,r.uV)(oe,!0,Number.MAX_VALUE,ue)}}class M extends ie{constructor(){super({id:"editor.toggleFoldRecursively",label:(0,S.aS)(1030,"Toggle Fold Recursively"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,3114),weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);(0,r.bC)(oe,Number.MAX_VALUE,ue)}}class Ve extends ie{constructor(){super({id:"editor.foldAllBlockComments",label:(0,S.aS)(1031,"Fold All Block Comments"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2138),weight:100}})}invoke(Te,oe,q,ue,J){if(oe.regions.hasTypes())(0,r.cL)(oe,u.lO.Comment.value,!0);else{const ve=q.getModel();if(!ve)return;const De=J.getLanguageConfiguration(ve.getLanguageId()).comments;if(De&&De.blockCommentStartToken){const fe=new RegExp("^\\s*"+(0,A.bm)(De.blockCommentStartToken));(0,r.AI)(oe,fe,!0)}}}}class Me extends ie{constructor(){super({id:"editor.foldAllMarkerRegions",label:(0,S.aS)(1032,"Fold All Regions"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2077),weight:100}})}invoke(Te,oe,q,ue,J){if(oe.regions.hasTypes())(0,r.cL)(oe,u.lO.Region.value,!0);else{const ve=q.getModel();if(!ve)return;const De=J.getLanguageConfiguration(ve.getLanguageId()).foldingRules;if(De&&De.markers&&De.markers.start){const fe=new RegExp(De.markers.start);(0,r.AI)(oe,fe,!0)}}}}class Le extends ie{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:(0,S.aS)(1033,"Unfold All Regions"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2078),weight:100}})}invoke(Te,oe,q,ue,J){if(oe.regions.hasTypes())(0,r.cL)(oe,u.lO.Region.value,!1);else{const ve=q.getModel();if(!ve)return;const De=J.getLanguageConfiguration(ve.getLanguageId()).foldingRules;if(De&&De.markers&&De.markers.start){const fe=new RegExp(De.markers.start);(0,r.AI)(oe,fe,!1)}}}}class _e extends ie{constructor(){super({id:"editor.foldAllExcept",label:(0,S.aS)(1034,"Fold All Except Selected"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2136),weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);(0,r.GR)(oe,!0,ue)}}class Qe extends ie{constructor(){super({id:"editor.unfoldAllExcept",label:(0,S.aS)(1035,"Unfold All Except Selected"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2134),weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);(0,r.GR)(oe,!1,ue)}}class je extends ie{constructor(){super({id:"editor.foldAll",label:(0,S.aS)(1036,"Fold All"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2069),weight:100}})}invoke(Te,oe,q){(0,r.uV)(oe,!0)}}class ae extends ie{constructor(){super({id:"editor.unfoldAll",label:(0,S.aS)(1037,"Unfold All"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2088),weight:100}})}invoke(Te,oe,q){(0,r.uV)(oe,!1)}}const qe=class qe extends ie{getFoldingLevel(){return parseInt(this.id.substr(qe.ID_PREFIX.length))}invoke(Te,oe,q){(0,r.sO)(oe,this.getFoldingLevel(),!0,this.getSelectedLines(q))}};qe.ID_PREFIX="editor.foldLevel",qe.ID=Te=>qe.ID_PREFIX+Te;let Ee=qe;class Ie extends ie{constructor(){super({id:"editor.gotoParentFold",label:(0,S.aS)(1038,"Go to Parent Fold"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);if(ue.length>0){const J=(0,r.kK)(ue[0],oe);J!==null&&q.setSelection({startLineNumber:J,startColumn:1,endLineNumber:J,endColumn:1})}}}class Ue extends ie{constructor(){super({id:"editor.gotoPreviousFold",label:(0,S.aS)(1039,"Go to Previous Folding Range"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);if(ue.length>0){const J=(0,r.JX)(ue[0],oe);J!==null&&q.setSelection({startLineNumber:J,startColumn:1,endLineNumber:J,endColumn:1})}}}class $e extends ie{constructor(){super({id:"editor.gotoNextFold",label:(0,S.aS)(1040,"Go to Next Folding Range"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,weight:100}})}invoke(Te,oe,q){const ue=this.getSelectedLines(q);if(ue.length>0){const J=(0,r.pr)(ue[0],oe);J!==null&&q.setSelection({startLineNumber:J,startColumn:1,endLineNumber:J,endColumn:1})}}}class Ye extends ie{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:(0,S.aS)(1041,"Create Folding Range from Selection"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2135),weight:100}})}invoke(Te,oe,q){const ue=[],J=q.getSelections();if(J){for(const ve of J){let De=ve.endLineNumber;ve.endColumn===1&&--De,De>ve.startLineNumber&&(ue.push({startLineNumber:ve.startLineNumber,endLineNumber:De,type:void 0,isCollapsed:!0,source:1}),q.setSelection({startLineNumber:ve.startLineNumber,startColumn:1,endLineNumber:ve.startLineNumber,endColumn:1}))}if(ue.length>0){ue.sort((De,fe)=>De.startLineNumber-fe.startLineNumber);const ve=k.tz.sanitizeAndMerge(oe.regions,ue,q.getModel()?.getLineCount());oe.updatePost(k.tz.fromFoldRanges(ve))}}}}class Ce extends ie{constructor(){super({id:"editor.removeManualFoldingRanges",label:(0,S.aS)(1042,"Remove Manual Folding Ranges"),prec
213ondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2137),weight:100}})}invoke(Te,oe,q){const ue=q.getSelections();if(ue){const J=[];for(const ve of ue){const{startLineNumber:De,endLineNumber:fe}=ve;J.push(fe>=De?{startLineNumber:De,endLineNumber:fe}:{endLineNumber:fe,startLineNumber:De})}oe.removeManualRanges(J),Te.triggerFoldingModelChanged()}}}class He extends ie{constructor(){super({id:"editor.toggleImportFold",label:(0,S.aS)(1043,"Toggle Import Fold"),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,weight:100}})}async invoke(Te,oe){const q=[],ue=oe.regions;for(let J=ue.length-1;J>=0;J--)ue.getType(J)===u.lO.Imports.value&&q.push(ue.toRegion(J));oe.toggleCollapseState(q),Te.triggerFoldingModelChanged()}}(0,b.HW)(j.ID,j,0),(0,b.Fl)(le),(0,b.Fl)(he),(0,b.Fl)(we),(0,b.Fl)(Be),(0,b.Fl)(M),(0,b.Fl)(je),(0,b.Fl)(ae),(0,b.Fl)(Ve),(0,b.Fl)(Me),(0,b.Fl)(Le),(0,b.Fl)(_e),(0,b.Fl)(Qe),(0,b.Fl)(xe),(0,b.Fl)(Ie),(0,b.Fl)(Ue),(0,b.Fl)($e),(0,b.Fl)(Ye),(0,b.Fl)(Ce),(0,b.Fl)(He);for(let ht=1;ht<=7;ht++)(0,b.xX)(new Ee({id:Ee.ID(ht),label:(0,S.aS)(1044,"Fold Level {0}",ht),precondition:Y,kbOpts:{kbExpr:C.R.editorTextFocus,primary:(0,T.m5)(2089,2048|21+ht),weight:100}}));ne.w.registerCommand("_executeFoldingRangeProvider",async function(ht,...Te){const[oe]=Te;if(!(oe instanceof V.r))throw(0,x.Qg)();const q=ht.get(te.u),ue=ht.get(I.S).getModel(oe);if(!ue)throw(0,x.Qg)();const J=ht.get(H.pG);if(!J.getValue("editor.folding",{resource:oe}))return[];const ve=ht.get(i.JZ),De=J.getValue("editor.foldingStrategy",{resource:oe}),fe={get limit(){return J.getValue("editor.foldingMaximumRegions",{resource:oe})},update:(dt,gt)=>{}},Se=new E.hW(ue,ve,fe);let pe=Se;if(De!=="indentation"){const dt=j.getFoldingRangeProviders(q,ue);dt.length&&(pe=new N.M(ue,dt,()=>{},fe,Se))}const Ae=await pe.compute(R.XO.None),Xe=[];try{if(Ae)for(let dt=0;dt<Ae.length;dt++){const gt=Ae.getType(dt);Xe.push({start:Ae.getStartLineNumber(dt),end:Ae.getEndLineNumber(dt),kind:gt?u.lO.fromValue(gt):void 0})}return Xe}finally{pe.dispose()}})},61659:(St,We,e)=>{var a;var v=e(44385),R=e(90028),x=e(68387),T=e(50946),y=e(93702),A=e(38122),g=e(3765),L=e(31540),b=function(p,_,E,S){var h=arguments.length,D=h<3?_:S===null?S=Object.getOwnPropertyDescriptor(_,E):S,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(p,_,E,S);else for(var N=p.length-1;N>=0;N--)(k=p[N])&&(D=(h<3?k(D):h>3?k(_,E,D):k(_,E))||D);return h>3&&D&&Object.defineProperty(_,E,D),D},C=function(p,_){return function(E,S){_(E,S,p)}},u;const i=new L.N1("selectionAnchorSet",!1);let r=(a=class{static get(_){return _.getContribution(u.ID)}constructor(_,E){this.editor=_,this.selectionAnchorSetContextKey=i.bindTo(E),this.modelChangeListener=_.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const _=this.editor.getPosition();this.editor.changeDecorations(E=>{this.decorationId&&E.removeDecoration(this.decorationId),this.decorationId=E.addDecoration(y.L.fromPositions(_,_),{description:"selection-anchor",stickiness:1,hoverMessage:new R.Bc().appendText((0,g.kg)(834,"Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),(0,v.xE)((0,g.kg)(835,"Anchor set at {0}:{1}",_.lineNumber,_.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const _=this.editor.getModel().getDecorationRange(this.decorationId);_&&this.editor.setPosition(_.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const _=this.editor.getModel().getDecorationRange(this.decorationId);if(_){const E=this.editor.getPosition();this.editor.setSelection(y.L.fromPositions(_.getStartPosition(),E)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const _=this.decorationId;this.editor.changeDecorations(E=>{E.removeDecoration(_),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},u=a,a.ID="editor.contrib.selectionAnchorController",a);r=u=b([C(1,L.fN)],r);class d extends T.ks{constructor(){super({id:"editor.action.setSelectionAnchor",label:(0,g.aS)(836,"Set Selection Anchor"),precondition:void 0,kbOpts:{kbExpr:A.R.editorTextFocus,primary:(0,x.m5)(2089,2080),weight:100}})}async run(_,E){r.get(E)?.setSelectionAnchor()}}class l extends T.ks{constructor(){super({id:"editor.action.goToSelectionAnchor",label:(0,g.aS)(837,"Go to Selection Anchor"),precondition:i})}async run(_,E){r.get(E)?.goToSelectionAnchor()}}class o extends T.ks{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:(0,g.aS)(838,"Select from Anchor to Cursor"),precondition:i,kbOpts:{kbExpr:A.R.editorTextFocus,primary:(0,x.m5)(2089,2089),weight:100}})}async run(_,E){r.get(E)?.selectFromAnchorToCursor()}}class c extends T.ks{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:(0,g.aS)(839,"Cancel Selection Anchor"),precondition:i,kbOpts:{kbExpr:A.R.editorTextFocus,primary:9,weight:100}})}async run(_,E){r.get(E)?.cancelSelectionAnchor()}}(0,T.HW)(r.ID,r,4),(0,T.Fl)(d),(0,T.Fl)(l),(0,T.Fl)(o),(0,T.Fl)(c)},61694:(St,We,e)=>{e.d(We,{B:()=>i,m:()=>E});var v=e(14333),R=e(83952),x=e(34061),T=e(30474),y=e(65958),A=e(88846),g=e(2106),L=e(10998),b=e(63339),C=function(S,h,D,k){var N=arguments.length,W=N<3?h:k===null?k=Object.getOwnPropertyDescriptor(h,D):k,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(S,h,D,k);else for(var $=S.length-1;$>=0;$--)(U=S[$])&&(W=(N<3?U(W):N>3?U(h,D,W):U(h,D))||W);return N>3&&W&&Object.defineProperty(h,D,W),W};const u=!1;var i;(function(S){S.North="north",S.South="south",S.East="east",S.West="west"})(i||(i={}));let r=4;const d=new g.vl;let l=300;const o=new g.vl;class c{constructor(h){this.el=h,this.disposables=new L.Cm}get onPointerMove(){return this.disposables.add(new x.f((0,v.zk)(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new x.f((0,v.zk)(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}
213C([A.B],c.prototype,"onPointerMove",null),C([A.B],c.prototype,"onPointerUp",null);class a{get onPointerMove(){return this.disposables.add(new x.f(this.el,T.B.Change)).event}get onPointerUp(){return this.disposables.add(new x.f(this.el,T.B.End)).event}constructor(h){this.el=h,this.disposables=new L.Cm}dispose(){this.disposables.dispose()}}C([A.B],a.prototype,"onPointerMove",null),C([A.B],a.prototype,"onPointerUp",null);class p{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(h){this.factory=h}dispose(){}}C([A.B],p.prototype,"onPointerMove",null),C([A.B],p.prototype,"onPointerUp",null);const _="pointer-events-disabled";class E extends L.jG{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(h){this._state!==h&&(this.el.classList.toggle("disabled",h===0),this.el.classList.toggle("minimum",h===1),this.el.classList.toggle("maximum",h===2),this._state=h,this.onDidEnablementChange.fire(h))}get onDidStart(){return this._onDidStart.event}get onDidChange(){return this._onDidChange.event}get onDidReset(){return this._onDidReset.event}get onDidEnd(){return this._onDidEnd.event}set orthogonalStartSash(h){if(this._orthogonalStartSash!==h){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),h){const D=k=>{this.orthogonalStartDragHandleDisposables.clear(),k!==0&&(this._orthogonalStartDragHandle=(0,v.BC)(this.el,(0,v.$)(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add((0,L.s)(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add((0,v.ko)(this._orthogonalStartDragHandle,"mouseenter",()=>E.onMouseEnter(h))),this.orthogonalStartDragHandleDisposables.add((0,v.ko)(this._orthogonalStartDragHandle,"mouseleave",()=>E.onMouseLeave(h))))};this.orthogonalStartSashDisposables.add(h.onDidEnablementChange.event(D,this)),D(h.state)}this._orthogonalStartSash=h}}set orthogonalEndSash(h){if(this._orthogonalEndSash!==h){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),h){const D=k=>{this.orthogonalEndDragHandleDisposables.clear(),k!==0&&(this._orthogonalEndDragHandle=(0,v.BC)(this.el,(0,v.$)(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add((0,L.s)(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add((0,v.ko)(this._orthogonalEndDragHandle,"mouseenter",()=>E.onMouseEnter(h))),this.orthogonalEndDragHandleDisposables.add((0,v.ko)(this._orthogonalEndDragHandle,"mouseleave",()=>E.onMouseLeave(h))))};this.orthogonalEndSashDisposables.add(h.onDidEnablementChange.event(D,this)),D(h.state)}this._orthogonalEndSash=h}}constructor(h,D,k){super(),this.hoverDelay=l,this.hoverDelayer=this._register(new y.ve(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new g.vl),this._onDidStart=this._register(new g.vl),this._onDidChange=this._register(new g.vl),this._onDidReset=this._register(new g.vl),this._onDidEnd=this._register(new g.vl),this.orthogonalStartSashDisposables=this._register(new L.Cm),this.orthogonalStartDragHandleDisposables=this._register(new L.Cm),this.orthogonalEndSashDisposables=this._register(new L.Cm),this.orthogonalEndDragHandleDisposables=this._register(new L.Cm),this.linkedSash=void 0,this.el=(0,v.BC)(h,(0,v.$)(".monaco-sash")),k.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${k.orthogonalEdge}`),b.zx&&this.el.classList.add("mac"),this._register((0,v.ko)(this.el,"mousedown",W=>this.onPointerStart(W,new c(h)))),this._register((0,v.ko)(this.el,"dblclick",W=>this.onPointerDoublePress(W))),this._register((0,v.ko)(this.el,"mouseenter",()=>E.onMouseEnter(this))),this._register((0,v.ko)(this.el,"mouseleave",()=>E.onMouseLeave(this))),this._register(T.q.addTarget(this.el)),this._register((0,v.ko)(this.el,T.B.Start,W=>this.onPointerStart(W,new a(this.el))));let N;this._register((0,v.ko)(this.el,T.B.Tap,W=>{if(N){clearTimeout(N),N=void 0,this.onPointerDoublePress(W);return}clearTimeout(N),N=setTimeout(()=>N=void 0,250)})),typeof k.size=="number"?(this.size=k.size,k.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=r,this._register(d.event(W=>{this.size=W,this.layout()}))),this._register(o.event(W=>this.hoverDelay=W)),this.layoutProvider=D,this.orthogonalStartSash=k.orthogonalStartSash,this.orthogonalEndSash=k.orthogonalEndSash,this.orientation=k.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",u),this.layout()}onPointerStart(h,D){v.fs.stop(h);let k=!1;if(!h.__orthogonalSashEvent){const X=this.getOrthogonalSash(h);X&&(k=!0,h.__orthogonalSashEvent=!0,X.onPointerStart(h,new p(D)))}if(this.linkedSash&&!h.__linkedSashEvent&&(h.__linkedSashEvent=!0,this.linkedSash.onPointerStart(h,new p(D))),!this.state)return;const N=this.el.ownerDocument.getElementsByTagName("iframe");for(const X of N)X.classList.add(_);const W=h.pageX,U=h.pageY,$=h.altKey,te={startX:W,currentX:W,startY:U,currentY:U,altKey:$};this.el.classList.add("active"),this._onDidStart.fire(te);const ne=(0,R.li)(this.el),V=()=>{let X="";k?X="all-scroll":this.orientation===1?this.state===1?X="s-resize":this.state===2?X="n-resize":X=b.zx?"row-resize":"ns-resize":this.state===1?X="e-resize":this.state===2?X="w-resize":X=b.zx?"col-resize":"ew-resize",ne.textContent=`* { cursor: ${X} !important; }`},I=new L.Cm;V(),k||this.onDidEnablementChange.event(V,null,I);const H=X=>{v.fs.stop(X,!1);const G={startX:W,currentX:X.pageX,startY:U,currentY:X.pageY,altKey:$};this._onDidChange.fire(G)}
213,Z=X=>{v.fs.stop(X,!1),ne.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),I.dispose();for(const G of N)G.classList.remove(_)};D.onPointerMove(H,null,I),D.onPointerUp(Z,null,I),I.add(D)}onPointerDoublePress(h){const D=this.getOrthogonalSash(h);D&&D._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(h,D=!1){h.el.classList.contains("active")?(h.hoverDelayer.cancel(),h.el.classList.add("hover")):h.hoverDelayer.trigger(()=>h.el.classList.add("hover"),h.hoverDelay).then(void 0,()=>{}),!D&&h.linkedSash&&E.onMouseEnter(h.linkedSash,!0)}static onMouseLeave(h,D=!1){h.hoverDelayer.cancel(),h.el.classList.remove("hover"),!D&&h.linkedSash&&E.onMouseLeave(h.linkedSash,!0)}clearSashHoverState(){E.onMouseLeave(this)}layout(){if(this.orientation===0){const h=this.layoutProvider;this.el.style.left=h.getVerticalSashLeft(this)-this.size/2+"px",h.getVerticalSashTop&&(this.el.style.top=h.getVerticalSashTop(this)+"px"),h.getVerticalSashHeight&&(this.el.style.height=h.getVerticalSashHeight(this)+"px")}else{const h=this.layoutProvider;this.el.style.top=h.getHorizontalSashTop(this)-this.size/2+"px",h.getHorizontalSashLeft&&(this.el.style.left=h.getHorizontalSashLeft(this)+"px"),h.getHorizontalSashWidth&&(this.el.style.width=h.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(h){const D=h.initialTarget??h.target;if(!(!D||!(0,v.sb)(D))&&D.classList.contains("orthogonal-drag-handle"))return D.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}},61988:(St,We,e)=>{e.d(We,{U:()=>a});var v=e(8897),R=e(10998),x=e(73678),T=e(80816),y=e(77011),A=e(15365),g=e(93702),L=e(67885),b=e(39084),C=e(46933),u=e(99859),i=e(57955),r=e(47936),d=e(96016),l=e(48655),o=e(99429),c=e(68541);function a(E){return p.get(E)}const _=class _ extends R.jG{static get(S){let h=_._map.get(S);if(!h){h=new _(S),_._map.set(S,h);const D=S.onDidDispose(()=>{const k=_._map.get(S);k&&(_._map.delete(S),k.dispose(),D.dispose())})}return h}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new b.XL(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const S=this._currentTransaction;this._currentTransaction=void 0,S.finish()}}constructor(S){super(),this.editor=S,this._sawZeroLineWidth=!1,this._onDidContainerResize=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},h=>{const D=this.editor.getContainerDomNode(),k=new ResizeObserver(()=>{this._sawZeroLineWidth&&(this._sawZeroLineWidth=!1,this.editor.resetLineWidthCaches()),h(void 0)});return k.observe(D),{dispose:()=>k.disconnect()}},()=>({})),this._updateCounter=0,this._currentTransaction=void 0,this._model=(0,d.FY)(this,this.editor.getModel()),this.model=this._model,this.isReadonly=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidChangeConfiguration,()=>this.editor.getOption(104)),this._versionId=(0,l.Z)({owner:this,lazy:!0},this.editor.getModel()?.getVersionId()??null),this.versionId=this._versionId,this._selections=(0,l.Z)({owner:this,equalsFn:(0,v.jb)((0,v.We)(g.L.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.positions=(0,u.C)({owner:this,equalsFn:(0,v.jb)((0,v.We)(A.y.equals))},h=>this.selections.read(h)?.map(D=>D.getStartPosition())??null),this.isFocused=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},h=>{const D=this.editor.onDidFocusEditorWidget(h),k=this.editor.onDidBlurEditorWidget(h);return{dispose(){D.dispose(),k.dispose()}}},()=>this.editor.hasWidgetFocus()),this.isTextFocused=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},h=>{const D=this.editor.onDidFocusEditorText(h),k=this.editor.onDidBlurEditorText(h);return{dispose(){D.dispose(),k.dispose()}}},()=>this.editor.hasTextFocus()),this.inComposition=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},h=>{const D=this.editor.onDidCompositionStart(()=>{h(void 0)}),k=this.editor.onDidCompositionEnd(()=>{h(void 0)});return{dispose(){D.dispose(),k.dispose()}}},()=>this.editor.inComposition),this.value=(0,u.dQ)(this,h=>(this.versionId.read(h),this.model.read(h)?.getValue()??""),(h,D)=>{const k=this.model.get();k!==null&&h!==k.getValue()&&k.setValue(h)}),this.valueIsEmpty=(0,u.un)(this,h=>(this.versionId.read(h),this.editor.getModel()?.getValueLength()===0)),this.cursorSelection=(0,u.C)({owner:this,equalsFn:(0,v.jb)(g.L.selectionsEqual)},h=>this.selections.read(h)?.[0]??null),this.cursorPosition=(0,u.C)({owner:this,equalsFn:A.y.equals},h=>this.selections.read(h)?.[0]?.getPosition()??null),this.cursorLineNumber=(0,u.un)(this,h=>this.cursorPosition.read(h)?.lineNumber??null),this.onDidType=(0,o.Y)(this),this.onDidPaste=(0,o.Y)(this),this.scrollTop=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(h=>
213h.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(h=>h.decorationsLeft),this.layoutInfoWidth=this.layoutInfo.map(h=>h.width),this.layoutInfoHeight=this.layoutInfo.map(h=>h.height),this.layoutInfoMinimap=this.layoutInfo.map(h=>h.minimap),this.layoutInfoVerticalScrollbarWidth=this.layoutInfo.map(h=>h.verticalScrollbarWidth),this.contentWidth=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this.contentHeight=(0,C.eP)({owner:this,getTransaction:()=>this._currentTransaction},this.editor.onDidContentSizeChange,()=>this.editor.getContentHeight()),this._onDidChangeViewZones=(0,c.y)(this,this.editor.onDidChangeViewZones),this._onDidHiddenAreasChanged=(0,c.y)(this,this.editor.onDidChangeHiddenAreas),this._onDidLineHeightChanged=(0,c.y)(this,this.editor.onDidChangeLineHeight),this._widgetCounter=0,this.openedPeekWidgets=(0,d.FY)(this,0),this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(h=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,h)}finally{this._endUpdate()}})),this._register(this.editor.onDidPaste(h=>{this._beginUpdate();try{this._forceUpdate(),this.onDidPaste.trigger(this._currentTransaction,h)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(h=>{this._beginUpdate();try{this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,h),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(h=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,h),this._forceUpdate()}finally{this._endUpdate()}})),this.domNode=(0,u.un)(h=>(this.model.read(h),this.editor.getDomNode()))}transaction(S){this._beginUpdate();try{return S(this._currentTransaction)}finally{this._endUpdate()}}forceUpdate(S){this._beginUpdate();try{return this._forceUpdate(),S?S(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(this.editor.getModel()?.getVersionId()??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(S,h=i.j.ofCaller()){return(0,C.y0)(this,D=>this.editor.onDidChangeConfiguration(k=>{k.hasChanged(S)&&D(void 0)}),()=>this.editor.getOption(S),h)}setDecorations(S){const h=new R.Cm,D=this.editor.createDecorationsCollection();return h.add((0,r.zL)({owner:this,debugName:()=>`Apply decorations from ${S.debugName}`},k=>{const N=S.read(k);D.set(N)})),h.add({dispose:()=>{D.clear()}}),h}createOverlayWidget(S){const h="observableOverlayWidget"+this._widgetCounter++,D={getDomNode:()=>S.domNode,getPosition:()=>S.position.get(),getId:()=>h,allowEditorOverflow:S.allowEditorOverflow,getMinContentWidthInPx:()=>S.minContentWidthInPx.get()};this.editor.addOverlayWidget(D);const k=(0,r.fm)(N=>{S.position.read(N),S.minContentWidthInPx.read(N),this.editor.layoutOverlayWidget(D)});return(0,R.s)(()=>{k.dispose(),this.editor.removeOverlayWidget(D)})}createContentWidget(S){const h="observableContentWidget"+this._widgetCounter++,D={getDomNode:()=>S.domNode,getPosition:()=>S.position.get(),getId:()=>h,allowEditorOverflow:S.allowEditorOverflow};this.editor.addContentWidget(D);const k=(0,r.fm)(N=>{S.position.read(N),this.editor.layoutContentWidget(D)});return(0,R.s)(()=>{k.dispose(),this.editor.removeContentWidget(D)})}observeLineOffsetRange(S,h){const D=this.observePosition(S.map(N=>new A.y(N.startLineNumber,1)),h),k=this.observePosition(S.map(N=>new A.y(N.endLineNumberExclusive+1,1)),h);return(0,u.un)(N=>{D.read(N),k.read(N);const W=S.read(N),U=this.model.read(N)?.getLineCount(),$=(typeof U<"u"&&W.startLineNumber>U?this.editor.getBottomForLineNumber(U):this.editor.getTopForLineNumber(W.startLineNumber))-this.scrollTop.read(N),te=W.isEmpty?$:this.editor.getBottomForLineNumber(W.endLineNumberExclusive-1)-this.scrollTop.read(N);return new y.L($,te)})}getLeftOfPosition(S,h){this.layoutInfo.read(h),this.value.read(h);let D=this.editor.getOffsetForColumn(S.lineNumber,S.column);
213if(D===-1){const k=this.editor.getOption(59).typicalHalfwidthCharacterWidth;D=S.column*k}return D}observePosition(S,h){let D=S.get();const k=(0,l.Z)({owner:this,debugName:()=>`topLeftOfPosition${D?.toString()}`,equalsFn:(0,v.jb)(L.b.equals)},new L.b(0,0)),N="observablePositionWidget"+this._widgetCounter++,W=document.createElement("div"),U={getDomNode:()=>W,getPosition:()=>D?{preference:[0],position:S.get()}:null,getId:()=>N,allowEditorOverflow:!1,useDisplayNone:!0,afterRender:($,te)=>{const ne=this._model.get();ne&&D&&D.lineNumber>ne.getLineCount()?k.set(new L.b(0,this.editor.getBottomForLineNumber(ne.getLineCount())-this.scrollTop.get()),void 0):k.set(te?new L.b(te.left,te.top):null,void 0)}};return this.editor.addContentWidget(U),h.add((0,r.fm)($=>{D=S.read($),this.editor.layoutContentWidget(U)})),h.add((0,R.s)(()=>{this.editor.removeContentWidget(U)})),k}isTargetHovered(S,h){const D=(0,d.FY)("isInjectedTextHovered",!1);return h.add(this.editor.onMouseMove(k=>{const N=S(k);D.set(N,void 0)})),h.add(this.editor.onMouseLeave(k=>{D.set(!1,void 0)})),D}observeLineHeightForPosition(S){return(0,u.un)(h=>{const D=S instanceof A.y?S:S.read(h);return D===null?null:(this.getOption(75).read(h),this.editor.getLineHeightForPosition(D))})}observeLineHeightForLine(S){return typeof S=="number"?this.observeLineHeightForPosition(new A.y(S,1)):(0,u.un)(h=>{const D=S.read(h);return D===null?null:this.observeLineHeightForPosition(new A.y(D,1)).read(h)})}observeLineHeightsForLineRange(S){return(0,u.un)(h=>{const D=S instanceof T.M?S:S.read(h),k=[];for(let N=D.startLineNumber;N<D.endLineNumberExclusive;N++)k.push(this.observeLineHeightForLine(N).read(h));return k})}getWidthOfLine(S,h){this.layoutInfo.read(h),this.value.read(h),this.scrollTop.read(h);const D=this.editor.getWidthOfLine(S);return this._onDidContainerResize.read(h),D===0&&(this._sawZeroLineWidth=!0),D}observeTopForLineNumber(S){return(0,u.un)(h=>(this.layoutInfo.read(h),this._onDidChangeViewZones.read(h),this._onDidHiddenAreasChanged.read(h),this._onDidLineHeightChanged.read(h),this._versionId.read(h),this.editor.getTopForLineNumber(S)))}};_._map=new Map;let p=_},62105:(St,We,e)=>{e.d(We,{$t:()=>d,gI:()=>l,ER:()=>o});var v=e(16844),R=e(28061),x=e(78903),T=e(10998),y=e(50946),A=e(31540),g=e(85525),L=e(82399),b=e(66726),C=e(3765);const u=(0,L.u1)("IEditorCancelService"),i=new A.N1("cancellableOperation",!1,(0,C.kg)(978,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));(0,b.v)(u,class{constructor(){this._tokens=new WeakMap}add(c,a){let p=this._tokens.get(c);p||(p=c.invokeWithinContext(E=>{const S=i.bindTo(E.get(A.fN)),h=new g.w;return{key:S,tokens:h}}),this._tokens.set(c,p));let _;return p.key.set(!0),_=p.tokens.push(a),()=>{_&&(_(),p.key.set(!p.tokens.isEmpty()),_=void 0)}}cancel(c){const a=this._tokens.get(c);if(!a)return;const p=a.tokens.pop();p&&(p.cancel(),a.key.set(!a.tokens.isEmpty()))}},1);class r extends x.Qi{constructor(a,p){super(p),this.editor=a,this._unregister=a.invokeWithinContext(_=>_.get(u).add(a,this))}dispose(){this._unregister(),super.dispose()}}(0,y.E_)(new class extends y.DX{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:i})}runEditorCommand(c,a){c.get(u).cancel(a)}});class d{constructor(a,p){if(this.flags=p,(this.flags&1)!==0){const _=a.getModel();this.modelVersionId=_?(0,v.GP)("{0}#{1}",_.uri.toString(),_.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=a.getPosition():this.position=null,(this.flags&2)!==0?this.selection=a.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=a.getScrollLeft(),this.scrollTop=a.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(a){if(!(a instanceof d))return!1;const p=a;return!(this.modelVersionId!==p.modelVersionId||this.scrollLeft!==p.scrollLeft||this.scrollTop!==p.scrollTop||!this.position&&p.position||this.position&&!p.position||this.position&&p.position&&!this.position.equals(p.position)||!this.selection&&p.selection||this.selection&&!p.selection||this.selection&&p.selection&&!this.selection.equalsRange(p.selection))}validate(a){return this._equals(new d(a,this.flags))}}class l extends r{constructor(a,p,_,E){super(a,E),this._listener=new T.Cm,p&4&&this._listener.add(a.onDidChangeCursorPosition(S=>
213{(!_||!R.Q.containsPosition(_,S.position))&&this.cancel()})),p&2&&this._listener.add(a.onDidChangeCursorSelection(S=>{(!_||!R.Q.containsRange(_,S.selection))&&this.cancel()})),p&8&&this._listener.add(a.onDidScrollChange(S=>this.cancel())),p&1&&(this._listener.add(a.onDidChangeModel(S=>this.cancel())),this._listener.add(a.onDidChangeModelContent(S=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class o extends x.Qi{constructor(a,p){super(p),this._listener=a.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}},62549:(St,We,e)=>{e.d(We,{A:()=>R});var v=e(16844);class R{static _nextVisibleColumn(T,y,A){return T===9?R.nextRenderTabStop(y,A):(0,v.ne)(T)||(0,v.Ss)(T)?y+2:y+1}static visibleColumnFromColumn(T,y,A){const g=Math.min(y-1,T.length),L=T.substring(0,g),b=new v.km(L);let C=0;for(;!b.eol();){const u=(0,v.Z5)(L,g,b.offset);b.nextGraphemeLength(),C=this._nextVisibleColumn(u,C,A)}return C}static columnFromVisibleColumn(T,y,A){if(y<=0)return 1;const g=T.length,L=new v.km(T);let b=0,C=1;for(;!L.eol();){const u=(0,v.Z5)(T,g,L.offset);L.nextGraphemeLength();const i=this._nextVisibleColumn(u,b,A),r=L.offset+1;if(i>=y){const d=y-b;return i-y<d?r:C}b=i,C=r}return g+1}static nextRenderTabStop(T,y){return T+y-T%y}static nextIndentTabStop(T,y){return R.nextRenderTabStop(T,y)}static prevRenderTabStop(T,y){return Math.max(0,T-1-(T-1)%y)}static prevIndentTabStop(T,y){return R.prevRenderTabStop(T,y)}}},62789:(St,We,e)=>{var Be;e.d(We,{r4:()=>z,Yl:()=>le});var v=e(65958),R=e(78903),x=e(10998),T=e(73678),y=e(66726),A=e(82399),g=e(2106),L=e(23013),b=e(80816),C=e(39331),u=e(90304),i=e(76243),r=function(M,Ve,Me,Le){var _e=arguments.length,Qe=_e<3?Ve:Le===null?Le=Object.getOwnPropertyDescriptor(Ve,Me):Le,je;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Qe=Reflect.decorate(M,Ve,Me,Le);else for(var ae=M.length-1;ae>=0;ae--)(je=M[ae])&&(Qe=(_e<3?je(Qe):_e>3?je(Ve,Me,Qe):je(Ve,Me))||Qe);return _e>3&&Qe&&Object.defineProperty(Ve,Me,Qe),Qe},d=function(M,Ve){return function(Me,Le){Ve(Me,Le,M)}},l;const o=(0,A.u1)("diffProviderFactoryService");let c=class{constructor(Ve){this.instantiationService=Ve}createDiffProvider(Ve){return this.instantiationService.createInstance(a,Ve)}};c=r([d(0,A._Y)],c),(0,y.v)(o,c,1);let a=(Be=class{constructor(Ve,Me,Le){this.editorWorkerService=Me,this.telemetryService=Le,this.onDidChangeEventEmitter=new g.vl,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(Ve)}dispose(){this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.onDidChangeEventEmitter.dispose()}async computeDiff(Ve,Me,Le,_e){if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(Ve,Me,Le,_e);if(Ve.isDisposed()||Me.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(Ve.getLineCount()===1&&Ve.getLineMaxColumn(1)===1)return Me.getLineCount()===1&&Me.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new C.wm(new b.M(1,2),new b.M(1,Me.getLineCount()+1),[new C.q6(Ve.getFullModelRange(),Me.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const Qe=JSON.stringify([Ve.uri.toString(),Me.uri.toString()]),je=JSON.stringify([Ve.id,Me.id,Ve.getAlternativeVersionId(),Me.getAlternativeVersionId(),JSON.stringify(Le)]),ae=l.diffCache.get(Qe);if(ae&&ae.context===je)return ae.result;const Ee=L.W.create(),Ie=await this.editorWorkerService.computeDiff(Ve.uri,Me.uri,Le,this.diffAlgorithm),Ue=Ee.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:Ue,timedOut:Ie?.quitEarly??!0,detectedMoves:Le.computeMoves?Ie?.moves.length??0:-1}),_e.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!Ie)throw new Error("no diff result available");return l.diffCache.size>10&&l.diffCache.delete(l.diffCache.keys().next().value),l.diffCache.set(Qe,{result:Ie,context:je}),Ie}setOptions(Ve){let Me=!1;Ve.diffAlgorithm&&this.diffAlgorithm!==Ve.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription?.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=Ve.diffAlgorithm,typeof Ve.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=Ve.diffAlgorithm.onDidChange(()=>
213this.onDidChangeEventEmitter.fire())),Me=!0),Me&&this.onDidChangeEventEmitter.fire()}},l=Be,Be.diffCache=new Map,Be);a=l=r([d(1,u.w),d(2,i.k)],a);var p=e(2744),_=e(13338),E=e(87110),S=e(92215),h=e(85811),D=e(75090),k=e(74550),N=e(97393),W=e(27992),U=e(22994),$=e(47132),te=e(79359),ne=e(80499),V=e(96016),I=e(99859),H=e(39084),Z=e(68541),X=e(99429),G=e(47936),Y=function(M,Ve,Me,Le){var _e=arguments.length,Qe=_e<3?Ve:Le===null?Le=Object.getOwnPropertyDescriptor(Ve,Me):Le,je;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Qe=Reflect.decorate(M,Ve,Me,Le);else for(var ae=M.length-1;ae>=0;ae--)(je=M[ae])&&(Qe=(_e<3?je(Qe):_e>3?je(Ve,Me,Qe):je(Ve,Me))||Qe);return _e>3&&Qe&&Object.defineProperty(Ve,Me,Qe),Qe},j=function(M,Ve){return function(Me,Le){Ve(Me,Le,M)}};let z=class extends x.jG{setActiveMovedText(Ve){this._activeMovedText.set(Ve,void 0)}constructor(Ve,Me,Le){super(),this.model=Ve,this._options=Me,this._diffProviderFactoryService=Le,this._isDiffUpToDate=(0,V.FY)(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=(0,V.FY)(this,void 0),this.diff=this._diff,this._unchangedRegions=(0,V.FY)(this,void 0),this.unchangedRegions=(0,I.un)(this,ae=>
213this._options.hideUnchangedRegions.read(ae)?this._unchangedRegions.read(ae)?.regions??[]:((0,H.Rn)(Ee=>{for(const Ie of this._unchangedRegions.read(void 0)?.regions||[])Ie.collapseAll(Ee)}),[])),this.movedTextToCompare=(0,V.FY)(this,void 0),this._activeMovedText=(0,V.FY)(this,void 0),this._hoveredMovedText=(0,V.FY)(this,void 0),this.activeMovedText=(0,I.un)(this,ae=>this.movedTextToCompare.read(ae)??this._hoveredMovedText.read(ae)??this._activeMovedText.read(ae)),this._cancellationTokenSource=new R.Qi,this._diffProvider=(0,I.un)(this,ae=>{const Ee=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(ae)}),Ie=(0,Z.y)("onDidChange",Ee.onDidChange);return{diffProvider:Ee,onChangeSignal:Ie}}),this._register((0,x.s)(()=>this._cancellationTokenSource.cancel()));const _e=(0,X.Y)("contentChangedSignal"),Qe=this._register(new v.uC(()=>_e.trigger(void 0),200));this._register((0,G.fm)(ae=>{const Ee=this._unchangedRegions.read(ae);if(!Ee||Ee.regions.some(He=>He.isDragged.read(ae)))return;const Ie=Ee.originalDecorationIds.map(He=>Ve.original.getDecorationRange(He)).map(He=>He?b.M.fromRangeInclusive(He):void 0),Ue=Ee.modifiedDecorationIds.map(He=>Ve.modified.getDecorationRange(He)).map(He=>He?b.M.fromRangeInclusive(He):void 0),$e=Ee.regions.map((He,Ke)=>!Ie[Ke]||!Ue[Ke]?void 0:new he(Ie[Ke].startLineNumber,Ue[Ke].startLineNumber,Ie[Ke].length,He.visibleLineCountTop.read(ae),He.visibleLineCountBottom.read(ae))).filter(te.O9),Ye=[];let Ce=!1;for(const He of(0,_.n)($e,(Ke,qe)=>Ke.getHiddenModifiedRange(ae).endLineNumberExclusive===qe.getHiddenModifiedRange(ae).startLineNumber))if(He.length>1){Ce=!0;const Ke=He.reduce((ht,Te)=>ht+Te.lineCount,0),qe=new he(He[0].originalLineNumber,He[0].modifiedLineNumber,Ke,He[0].visibleLineCountTop.read(void 0),He[He.length-1].visibleLineCountBottom.read(void 0));Ye.push(qe)}else Ye.push(He[0]);if(Ce){const He=Ve.original.deltaDecorations(Ee.originalDecorationIds,Ye.map(qe=>({range:qe.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),Ke=Ve.modified.deltaDecorations(Ee.modifiedDecorationIds,Ye.map(qe=>({range:qe.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));(0,H.Rn)(qe=>{this._unchangedRegions.set({regions:Ye,originalDecorationIds:He,modifiedDecorationIds:Ke},qe)})}}));const je=(ae,Ee,Ie)=>{const Ue=he.fromDiffs(ae.changes,Ve.original.getLineCount(),Ve.modified.getLineCount(),this._options.hideUnch
213angedRegionsMinimumLineCount.read(Ie),this._options.hideUnchangedRegionsContextLineCount.read(Ie));let $e;const Ye=this._unchangedRegions.get();if(Ye){const qe=Ye.originalDecorationIds.map(q=>Ve.original.getDecorationRange(q)).map(q=>q?b.M.fromRangeInclusive(q):void 0),ht=Ye.modifiedDecorationIds.map(q=>Ve.modified.getDecorationRange(q)).map(q=>q?b.M.fromRangeInclusive(q):void 0);let oe=(0,p.EK)(Ye.regions.map((q,ue)=>{if(!qe[ue]||!ht[ue])return;const J=qe[ue].length;return new he(qe[ue].startLineNumber,ht[ue].startLineNumber,J,Math.min(q.visibleLineCountTop.get(),J),Math.min(q.visibleLineCountBottom.get(),J-q.visibleLineCountTop.get()))}).filter(te.O9),(q,ue)=>!ue||q.modifiedLineNumber>=ue.modifiedLineNumber+ue.lineCount&&q.originalLineNumber>=ue.originalLineNumber+ue.lineCount).map(q=>new C.WL(q.getHiddenOriginalRange(Ie),q.getHiddenModifiedRange(Ie)));oe=C.WL.clip(oe,b.M.ofLength(1,Ve.original.getLineCount()),b.M.ofLength(1,Ve.modified.getLineCount())),$e=C.WL.inverse(oe,Ve.original.getLineCount(),Ve.modified.getLineCount())}const Ce=[];if($e)for(const qe of Ue){const ht=$e.filter(Te=>Te.original.intersectsStrict(qe.originalUnchangedRange)&&Te.modified.intersectsStrict(qe.modifiedUnchangedRange));Ce.push(...qe.setVisibleRanges(ht,Ee))}else Ce.push(...Ue);const He=Ve.original.deltaDecorations(Ye?.originalDecorationIds||[],Ce.map(qe=>({range:qe.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),Ke=Ve.modified.deltaDecorations(Ye?.modifiedDecorationIds||[],Ce.map(qe=>({range:qe.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:Ce,originalDecorationIds:He,modifiedDecorationIds:Ke},Ee)};this._register(Ve.modified.onDidChangeContent(ae=>{if(this._diff.get()){const Ie=U.c.fromModelContentChanges(ae.changes);this._lastDiff,Ve.original,Ve.modified}this._isDiffUpToDate.set(!1,void 0),Qe.schedule()})),this._register(Ve.original.onDidChangeContent(ae=>{if(this._diff.get()){const Ie=U.c.fromModelContentChanges(ae.changes);this._lastDiff,Ve.original,Ve.modified}this._isDiffUpToDate.set(!1,void 0),Qe.schedule()})),this._register((0,G.fm)(async ae=>{const Ee=ae.store;
213this._options.hideUnchangedRegionsMinimumLineCount.read(ae),this._options.hideUnchangedRegionsContextLineCount.read(ae),Qe.cancel(),_e.read(ae);const Ie=this._diffProvider.read(ae);Ie.onChangeSignal.read(ae),this._isDiffUpToDate.set(!1,void 0);let Ue=[];Ee.add(Ve.original.onDidChangeContent(Ce=>{const He=U.c.fromModelContentChanges(Ce.changes);Ue=(0,$.M)(Ue,He)}));let $e=[];Ee.add(Ve.modified.onDidChangeContent(Ce=>{const He=U.c.fromModelContentChanges(Ce.changes);$e=(0,$.M)($e,He)}));let Ye=await Ie.diffProvider.computeDiff(Ve.original,Ve.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(ae),maxComputationTimeMs:this._options.maxComputationTimeMs.read(ae),computeMoves:this._options.showMoves.read(ae)},this._cancellationTokenSource.token).catch(v.VK);!Ye||this._cancellationTokenSource.token.isCancellationRequested||Ve.original.isDisposed()||Ve.modified.isDisposed()||(Ye=ie(Ye,Ve.original,Ve.modified),Ye=(Ve.original,Ve.modified,void 0)??Ye,Ye=(Ve.original,Ve.modified,void 0)??Ye,(0,H.Rn)(Ce=>{je(Ye,Ce),this._lastDiff=Ye;const He=de.fromDiffResult(Ye);this._diff.set(He,Ce),this._isDiffUpToDate.set(!0,Ce);const Ke=this.movedTextToCompare.read(void 0);this.movedTextToCompare.set(Ke?this._lastDiff.moves.find(qe=>qe.lineRangeMapping.modified.intersect(Ke.lineRangeMapping.modified)):void 0,Ce)}))}))}ensureModifiedLineIsVisible(Ve,Me,Le){if(this.diff.get()?.mappings.length===0)return;const _e=this._unchangedRegions.get()?.regions||[];for(const Qe of _e)if(Qe.getHiddenModifiedRange(void 0).contains(Ve)){Qe.showModifiedLine(Ve,Me,Le);return}}ensureOriginalLineIsVisible(Ve,Me,Le){if(this.diff.get()?.mappings.length===0)return;const _e=this._unchangedRegions.get()?.regions||[];for(const Qe of _e)if(Qe.getHiddenOriginalRange(void 0).contains(Ve)){Qe.showOriginalLine(Ve,Me,Le);return}}async waitForDiff(){await(0,ne.o)(this.isDiffUpToDate,Ve=>Ve,void 0,this._cancellationTokenSource.token).catch(v.VK)}serializeState(){return{collapsedRegions:this._unchangedRegions.get()?.regions.map(Me=>({range:Me.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(Ve){const Me=Ve.collapsedRegions?.map(_e=>b.M.deserialize(_e.range)),Le=this._unchangedRegions.get();!Le||!Me||(0,H.Rn)(_e=>{for(const Qe of Le.regions)for(const je of Me)if(Qe.modifiedUnchangedRange.intersect(je)){Qe.setHiddenModifiedRange(je,_e);break}})}};z=Y([j(2,o)],z);function ie(M,Ve,Me){return{changes:M.changes.map(Le=>new C.wm(Le.original,Le.modified,Le.innerChanges?Le.innerChanges.map(_e=>re(_e,Ve,Me)):void 0)),moves:M.moves,identical:M.identical,quitEarly:M.quitEarly}}function re(M,Ve,Me){let Le=M.originalRange,_e=M.modifiedRange;return Le.startColumn===1&&_e.startColumn===1&&(Le.endColumn!==1||_e.endColumn!==1)&&Le.endColumn===Ve.getLineMaxColumn(Le.endLineNumber)&&_e.endColumn===Me.getLineMaxColumn(_e.endLineNumber)&&Le.endLineNumber<Ve.getLineCount()&&_e.endLineNumber<Me.getLineCount()&&(Le=Le.setEndPosition(Le.endLineNumber+1,1),_e=_e.setEndPosition(_e.endLineNumber+1,1)),new C.q6(Le,_e)}class de{static fromDiffResult(Ve){return new de(Ve.changes.map(Me=>new le(Me)),Ve.moves||[],Ve.identical,Ve.quitEarly)}constructor(Ve,Me,Le,_e){this.mappings=Ve,this.movedTexts=Me,this.identical=Le,this.quitEarly=_e}}class le{constructor(Ve){this.lineRangeMapping=Ve}}class he{static fromDiffs(Ve,Me,Le,_e,Qe){const je=C.wm.inverse(Ve,Me,Le),ae=[];for(const Ee of je){let Ie=Ee.original.startLineNumber,Ue=Ee.modified.startLineNumber,$e=Ee.original.length;const Ye=Ie===1&&Ue===1,Ce=Ie+$e===Me+1&&Ue+$e===Le+1;(Ye||Ce)&&$e>=Qe+_e?(Ye&&!Ce&&($e-=Qe),Ce&&!Ye&&(Ie+=Qe,Ue+=Qe,$e-=Qe),ae.push(new he(Ie,Ue,$e,0,0))):$e>=Qe*2+_e&&(Ie+=Qe,Ue+=Qe,$e-=Qe*2,ae.push(new he(Ie,Ue,$e,0,0)))}return ae}get originalUnchangedRange(){return b.M.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return b.M.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(Ve,Me,Le,_e,Qe){this.originalLineNumber=Ve,this.modifiedLineNumber=Me,this.lineCount=Le,this._visibleLineCountTop=(0,V.FY)(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=(0,V.FY)(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=(0,I.un)(this,Ee=>this.visibleLineCountTop.read(Ee)+this.visibleLineCountBottom.read(Ee)===this.lineCount&&!this.isDragged.read(Ee)),this.isDragged=(0,V.FY)(this,void 0);const je=Math.max(Math.min(_e,this.lineCount),0),ae=Math.max(Math.min(Qe,this.lineCount-_e),0);(0,E.V7)(_e===je),(0,E.V7)(Qe===ae),this._visibleLineCountTop.set(je,void 0),this._visibleLineCountBottom.set(ae,void 0)}setVisibleRanges(Ve,Me){const Le=[],_e=new b.S(Ve.map(Ee=>Ee.modified)).subtractFrom(this.modifiedUnchangedRange);let Qe=this.originalLineNumber,je=this.modifiedLineNumber;const ae=this.modifiedLineNumber+this.lineCount;
213if(_e.ranges.length===0)this.showAll(Me),Le.push(this);else{let Ee=0;for(const Ie of _e.ranges){const Ue=Ee===_e.ranges.length-1;Ee++;const $e=(Ue?ae:Ie.endLineNumberExclusive)-je,Ye=new he(Qe,je,$e,0,0);Ye.setHiddenModifiedRange(Ie,Me),Le.push(Ye),Qe=Ye.originalUnchangedRange.endLineNumberExclusive,je=Ye.modifiedUnchangedRange.endLineNumberExclusive}}return Le}shouldHideControls(Ve){return this._shouldHideControls.read(Ve)}getHiddenOriginalRange(Ve){return b.M.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(Ve),this.lineCount-this._visibleLineCountTop.read(Ve)-this._visibleLineCountBottom.read(Ve))}getHiddenModifiedRange(Ve){return b.M.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(Ve),this.lineCount-this._visibleLineCountTop.read(Ve)-this._visibleLineCountBottom.read(Ve))}setHiddenModifiedRange(Ve,Me){const Le=Ve.startLineNumber-this.modifiedLineNumber,_e=this.modifiedLineNumber+this.lineCount-Ve.endLineNumberExclusive;this.setState(Le,_e,Me)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(Ve=10,Me){const Le=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+Ve,Le),Me)}showMoreBelow(Ve=10,Me){const Le=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+Ve,Le),Me)}showAll(Ve){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),Ve)}showModifiedLine(Ve,Me,Le){const _e=Ve+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),Qe=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-Ve;Me===0&&_e<Qe||Me===1?this._visibleLineCountTop.set(this._visibleLineCountTop.get()+_e,Le):this._visibleLineCountBottom.set(this._visibleLineCountBottom.get()+Qe,Le)}showOriginalLine(Ve,Me,Le){const _e=Ve-this.originalLineNumber,Qe=this.originalLineNumber+this.lineCount-Ve;Me===0&&_e<Qe||Me===1?this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+Qe-_e,this.getMaxVisibleLineCountTop()),Le):this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+_e-Qe,this.getMaxVisibleLineCountBottom()),Le)}collapseAll(Ve){this._visibleLineCountTop.set(0,Ve),this._visibleLineCountBottom.set(0,Ve)}setState(Ve,Me,Le){Ve=Math.max(Math.min(Ve,this.lineCount),0),Me=Math.max(Math.min(Me,this.lineCount-Ve),0),this._visibleLineCountTop.set(Ve,Le),this._visibleLineCountBottom.set(Me,Le)}}function we(M,Ve,Me,Le){}function xe(M,Ve,Me,Le){}},62885:(St,We,e)=>{e.d(We,{AO:()=>h,Dr:()=>D,Hs:()=>U,K4:()=>c,Ls:()=>S,Tl:()=>p,UN:()=>N,YA:()=>k,dU:()=>l,ey:()=>j,h0:()=>W,is:()=>_,kr:()=>E,oi:()=>a,sx:()=>o});var v=e(94327),R=e(16844),x=e(66316),T=e(41672),y=e(6020),A=e(29895),g=e(82862),L=e(28061),b=e(15365),C=e(49550),u=e(52394),i=e(19184),r=e(70645),d=e(80794);class l{static getEdits(ie,re,de,le,he){if(!he&&this._isAutoIndentType(ie,re,de)){const we=[];for(const Be of de){const M=this._findActualIndentationForSelection(ie,re,Be,le);if(M===null)return;we.push({selection:Be,indentation:M})}const xe=a.getAutoClosingPairClose(ie,re,de,le,!1);return this._getIndentationAndAutoClosingPairEdits(ie,re,we,le,xe)}}static _isAutoIndentType(ie,re,de){if(ie.autoIndent<4)return!1;for(let le=0,he=de.length;le<he;le++)if(!re.tokenization.isCheapToTokenize(de[le].getEndPosition().lineNumber))return!1;return!0}static _findActualIndentationForSelection(ie,re,de,le){const he=(0,r._t)(ie,re,de,le,{shiftIndent:xe=>G(ie,xe),unshiftIndent:xe=>Y(ie,xe)},ie.languageConfigurationService);if(he===null)return null;const we=(0,u.Cw)(re,de.startLineNumber,de.startColumn);return he===ie.normalizeIndentation(we)?null:he}static _getIndentationAndAutoClosingPairEdits(ie,re,de,le,he){const we=de.map(({selection:Be,indentation:M})=>{if(he!==null){const Ve=this._getEditFromIndentationAndSelection(ie,re,M,Be,le,!1);return new te(Ve,Be,le,he)}else{const Ve=this._getEditFromIndentationAndSelection(ie,re,M,Be,le,!0);return X(Ve.range,Ve.text,!1)}}
213),xe={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new A.vY(4,we,xe)}static _getEditFromIndentationAndSelection(ie,re,de,le,he,we=!0){const xe=le.startLineNumber,Be=re.getLineFirstNonWhitespaceColumn(xe);let M=ie.normalizeIndentation(de);if(Be!==0){const Me=re.getLineContent(xe);M+=Me.substring(Be-1,le.startColumn-1)}return M+=we?he:"",{range:new L.Q(xe,1,le.endLineNumber,le.endColumn),text:M}}}class o{static getEdits(ie,re,de,le,he,we){if(Z(re,de,le,he,we))return this._runAutoClosingOvertype(ie,le,we)}static _runAutoClosingOvertype(ie,re,de){const le=[];for(let he=0,we=re.length;he<we;he++){const Be=re[he].getPosition(),M=new L.Q(Be.lineNumber,Be.column,Be.lineNumber,Be.column+1);le[he]=new x.iu(M,de)}return new A.vY(4,le,{shouldPushStackElementBefore:V(ie,4),shouldPushStackElementAfter:!1})}}class c{static getEdits(ie,re,de,le,he){if(Z(ie,re,de,le,he)){const we=de.map(xe=>new x.iu(new L.Q(xe.positionLineNumber,xe.positionColumn,xe.positionLineNumber,xe.positionColumn+1),"",!1));return new A.vY(4,we,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class a{static getEdits(ie,re,de,le,he,we){if(!we){const xe=this.getAutoClosingPairClose(ie,re,de,le,he);if(xe!==null)return this._runAutoClosingOpenCharType(de,le,he,xe)}}static _runAutoClosingOpenCharType(ie,re,de,le){const he=[];for(let we=0,xe=ie.length;we<xe;we++){const Be=ie[we];he[we]=new $(Be,re,!de,le)}return new A.vY(4,he,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static getAutoClosingPairClose(ie,re,de,le,he){for(const Qe of de)if(!Qe.isEmpty())return null;const we=de.map(Qe=>{const je=Qe.getPosition();return he?{lineNumber:je.lineNumber,beforeColumn:je.column-le.length,afterColumn:je.column}:{lineNumber:je.lineNumber,beforeColumn:je.column,afterColumn:je.column}}),xe=this._findAutoClosingPairOpen(ie,re,we.map(Qe=>new b.y(Qe.lineNumber,Qe.beforeColumn)),le);if(!xe)return null;let Be,M;if((0,A.vG)(le)?(Be=ie.autoClosingQuotes,M=ie.shouldAutoCloseBefore.quote):(ie.blockCommentStartToken?xe.open.includes(ie.blockCommentStartToken):!1)?(Be=ie.autoClosingComments,M=ie.shouldAutoCloseBefore.comment):(Be=ie.autoClosingBrackets,M=ie.shouldAutoCloseBefore.bracket),Be==="never")return null;const Me=this._findContainedAutoClosingPair(ie,xe),Le=Me?Me.close:"";let _e=!0;for(const Qe of we){const{lineNumber:je,beforeColumn:ae,afterColumn:Ee}=Qe,Ie=re.getLineContent(je),Ue=Ie.substring(0,ae-1),$e=Ie.substring(Ee-1);if($e.startsWith(Le)||(_e=!1),$e.length>0){const Ke=$e.charAt(0);if(!this._isBeforeClosingBrace(ie,$e)&&!M(Ke))return null}if(xe.open.length===1&&(le==="'"||le==='"')&&Be!=="always"){const Ke=(0,g.i)(ie.wordSeparators,[]);if(Ue.length>0){const qe=Ue.charCodeAt(Ue.length-1);if(Ke.get(qe)===0)return null}}if(!re.tokenization.isCheapToTokenize(je))return null;re.tokenization.forceTokenization(je);const Ye=re.tokenization.getLineTokens(je),Ce=(0,i.BQ)(Ye,ae-1);if(!xe.shouldAutoClose(Ce,ae-Ce.firstCharOffset))return null;const He=xe.findNeutralCharacter();if(He){const Ke=re.tokenization.getTokenTypeIfInsertingCharacter(je,ae,He);if(!xe.isOK(Ke))return null}}return _e?xe.close.substring(0,xe.close.length-Le.length):xe.close}static _findContainedAutoClosingPair(ie,re){if(re.open.length<=1)return null;const de=re.close.charAt(re.close.length-1),le=ie.autoClosingPairs.autoClosingPairsCloseByEnd.get(de)||[];let he=null;for(const we of le)we.open!==re.open&&re.open.includes(we.open)&&re.close.endsWith(we.close)&&(!he||we.open.length>he.open.length)&&(he=we);return he}static _findAutoClosingPairOpen(ie,re,de,le){const he=ie.autoClosingPairs.autoClosingPairsOpenByEnd.get(le);if(!he)return null;let we=null;for(const xe of he)if(we===null||xe.open.length>we.open.length){let Be=!0;for(const M of de)if(re.getValueInRange(new L.Q(M.lineNumber,M.column-xe.open.length+1,M.lineNumber,M.column))+le!==xe.open){Be=!1;break}Be&&(we=xe)}return we}static _isBeforeClosingBrace(ie,re){const de=re.charAt(0),le=ie.autoClosingPairs.autoClosingPairsOpenByStart.get(de)||[],he=ie.autoClosingPairs.autoClosingPairsCloseByStart.get(de)||[],we=le.some(Be=>re.startsWith(Be.open)),xe=he.some(Be=>re.startsWith(Be.close));return!we&&xe}}class p{static getEdits(ie,re){if(!(ie.inputMode==="overtype"))return null;const le=re.map(he=>new x.gr(he.insertedTextRange));return new A.vY(4,le,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}class _{static getEdits(ie,re,de,le,he){if(!he&&this._isSurroundSelectionType(ie,re,de,le))return this._runSurroundSelectionType(ie,de,le)}static _runSurroundSelectionType(ie,re,de){const le=[];for(let he=0,we=re.length;he<we;he++){const xe=re[he],Be=ie.surroundingPairs[de];le[he]=new y.i(xe,de,Be)}return new A.vY(0,le,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _isSurroundSelectionType(ie,re,de,le){if(!j(ie,le)||!ie.surroundingPairs.hasOwnProperty(le))return!1;const he=(0,A.vG)(le);for(const we of de){if(we.isEmpty())return!1;let xe=!0;for(let Be=we.startLineNumber;Be<=we.endLineNumber;Be++){const M=re.getLineContent(Be),Ve=Be===we.startLineNumber?we.startColumn-1:0,Me=Be===we.endLineNumber?we.endColumn-1:M.length,Le=M.substring(Ve,Me);if(/[^ \t]/.test(Le)){xe=!1;break}}if(xe)return!1;if(he&&we.startLineNumber===we.endLineNumber&&we.startColumn+1===we.endColumn){const Be=re.getValueInRange(we);if((0,A.vG)(Be))return!1}}return!0}}class E{static getEdits(ie,re,de,le,he,we){if(!we&&this._isTypeInterceptorElectricChar(re,de,le)){const xe=this._typeInterceptorElectricChar(ie,re,de,le[0],he);if(xe)return xe}}static _isTypeInterceptorElectricChar(ie,re,de){return!!(de.length===1&&re.tokenization.isCheapToTokenize(de[0].getEndPosition().lineNumber))}static _typeInterceptorElectricChar(ie,re,de,le,he){if(!re.electricChars.hasOwnProperty(he)||!le.isEmpty())return null;const we=le.getPosition();de.tokenization.forceTokenization(we.lineNumber);const xe=de.tokenization.getLineTokens(we.lineNumber);let Be;try{Be=re.onElectricCharacter(he,xe,we.column)}catch(M){return(0,v.dz)(M),null}if(!Be)return null;if(Be.matchOpenBracket){const M=(xe.getLineContent()+he).lastIndexOf(Be.matchOpenBracket)+1,Ve=de.bracketPairs.findMatchingBracketUp(Be.matchOpenBracket,{lineNumber:we.lineNumber,column:M},500);if(Ve){if(Ve.startLineNumber===we.lineNumber)return null;const Me=de.getLineContent(Ve.startLineNumber),Le=(0,R.UU)(Me),_e=re.normalizeIndentation(Le),Qe
213=de.getLineContent(we.lineNumber),je=de.getLineFirstNonWhitespaceColumn(we.lineNumber)||we.column,ae=Qe.substring(je-1,we.column-1),Ee=_e+ae+he,Ie=new L.Q(we.lineNumber,1,we.lineNumber,we.column),Ue=new x.iu(Ie,Ee);return new A.vY(ne(Ee,ie),[Ue],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null}}class S{static getEdits(ie,re,de,le,he){const we=[];for(let Be=0,M=de.length;Be<M;Be++){const Ve=ie.inputMode==="overtype"&&!he?x.AS:x.iu;we[Be]=new Ve(de[Be],le)}const xe=ne(le,re);return new A.vY(xe,we,{shouldPushStackElementBefore:V(re,xe),shouldPushStackElementAfter:!1})}}class h{static getEdits(ie,re,de,le,he){if(!he&&le===`
214`){const we=[];for(let xe=0,Be=de.length;xe<Be;xe++)we[xe]=this._enter(ie,re,!1,de[xe]);return new A.vY(4,we,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}static _enter(ie,re,de,le){if(ie.autoIndent===0)return X(le,`
215`,de);if(!re.tokenization.isCheapToTokenize(le.getStartPosition().lineNumber)||ie.autoIndent===1){const Be=re.getLineContent(le.startLineNumber),M=(0,R.UU)(Be).substring(0,le.startColumn-1);return X(le,`
216`+ie.normalizeIndentation(M),de)}const he=(0,d.h)(ie.autoIndent,re,le,ie.languageConfigurationService);if(he){if(he.indentAction===C.l.None)return X(le,`
217`+ie.normalizeIndentation(he.indentation+he.appendText),de);if(he.indentAction===C.l.Indent)return X(le,`
218`+ie.normalizeIndentation(he.indentation+he.appendText),de);if(he.indentAction===C.l.IndentOutdent){const Be=ie.normalizeIndentation(he.indentation),M=ie.normalizeIndentation(he.indentation+he.appendText),Ve=`
219`+M+`
220`+Be;return de?new x.q2(le,Ve,!0):new x.iP(le,Ve,-1,M.length-Be.length,!0)}else if(he.indentAction===C.l.Outdent){const Be=Y(ie,he.indentation);return X(le,`
221`+ie.normalizeIndentation(Be+he.appendText),de)}}const we=re.getLineContent(le.startLineNumber),xe=(0,R.UU)(we).substring(0,le.startColumn-1);if(ie.autoIndent>=4){const Be=(0,r.MU)(ie.autoIndent,re,le,{unshiftIndent:M=>Y(ie,M),shiftIndent:M=>G(ie,M),normalizeIndentation:M=>ie.normalizeIndentation(M)},ie.languageConfigurationService);if(Be){let M=ie.visibleColumnFromColumn(re,le.getEndPosition());const Ve=le.endColumn,Me=re.getLineContent(le.endLineNumber),Le=(0,R.HG)(Me);if(Le>=0?le=le.setEndPosition(le.endLineNumber,Math.max(le.endColumn,Le+1)):le=le.setEndPosition(le.endLineNumber,re.getLineMaxColumn(le.endLineNumber)),de)return new x.q2(le,`
222`+ie.normalizeIndentation(Be.afterEnter),!0);{let _e=0;return Ve<=Le+1&&(ie.insertSpaces||(M=Math.ceil(M/ie.indentSize)),_e=Math.min(M+1-ie.normalizeIndentation(Be.afterEnter).length-1,0)),new x.iP(le,`
223`+ie.normalizeIndentation(Be.afterEnter),0,_e,!0)}}}return X(le,`
224`+ie.normalizeIndentation(xe),de)}static lineInsertBefore(ie,re,de){if(re===null||de===null)return[];const le=[];for(let he=0,we=de.length;he<we;he++){let xe=de[he].positionLineNumber;if(xe===1)le[he]=new x.q2(new L.Q(1,1,1,1),`
225`);else{xe--;const Be=re.getLineMaxColumn(xe);le[he]=this._enter(ie,re,!1,new L.Q(xe,Be,xe,Be))}}return le}static lineInsertAfter(ie,re,de){if(re===null||de===null)return[];const le=[];for(let he=0,we=de.length;he<we;he++){const xe=de[he].positionLineNumber,Be=re.getLineMaxColumn(xe);le[he]=this._enter(ie,re,!1,new L.Q(xe,Be,xe,Be))}return le}static lineBreakInsert(ie,re,de){const le=[];for(let he=0,we=de.length;he<we;he++)le[he]=this._enter(ie,re,!0,de[he]);return le}}class D{static getEdits(ie,re,de,le,he,we){const xe=this._distributePasteToCursors(ie,de,le,he,we);return xe?(de=de.sort(L.Q.compareRangesUsingStarts),this._distributedPaste(ie,re,de,xe)):this._simplePaste(ie,re,de,le,he)}static _distributePasteToCursors(ie,re,de,le,he){if(re.length===1)return null;if(he&&he.length===re.length)return he;if(le)return null;if(ie.multiCursorPaste==="spread"){de.charCodeAt(de.length-1)===10&&(de=de.substring(0,de.length-1)),de.charCodeAt(de.length-1)===13&&(de=de.substring(0,de.length-1));const we=(0,R.uz)(de);if(we.length===re.length)return we}return null}static _distributedPaste(ie,re,de,le){const he=[];for(let we=0,xe=de.length;we<xe;we++){const M=ie.overtypeOnPaste&&ie.inputMode==="overtype"?x.AS:x.iu;
225he[we]=new M(de[we],le[we])}return new A.vY(0,he,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}static _simplePaste(ie,re,de,le,he){const we=[];for(let xe=0,Be=de.length;xe<Be;xe++){const M=de[xe],Ve=M.getPosition();if(he&&!M.isEmpty()&&(he=!1),he&&le.indexOf(`
226`)!==le.length-1&&(he=!1),he){const Me=new L.Q(Ve.lineNumber,1,Ve.lineNumber,1);we[xe]=new x.ui(Me,le,M,!0)}else{const Le=ie.overtypeOnPaste&&ie.inputMode==="overtype"?x.AS:x.iu;we[xe]=new Le(M,le)}}return new A.vY(0,we,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class k{static getEdits(ie,re,de,le,he,we,xe,Be){const M=le.map(Ve=>this._compositionType(de,Ve,he,we,xe,Be));return new A.vY(4,M,{shouldPushStackElementBefore:V(ie,4),shouldPushStackElementAfter:!1})}static _compositionType(ie,re,de,le,he,we){if(!re.isEmpty())return null;const xe=re.getPosition(),Be=Math.max(1,xe.column-le),M=Math.min(ie.getLineMaxColumn(xe.lineNumber),xe.column+he),Ve=new L.Q(xe.lineNumber,Be,xe.lineNumber,M);return new x.iP(Ve,de,0,we)}}class N{static getEdits(ie,re,de){const le=[];for(let we=0,xe=re.length;we<xe;we++)le[we]=new x.iu(re[we],de);const he=ne(de,ie);return new A.vY(he,le,{shouldPushStackElementBefore:V(ie,he),shouldPushStackElementAfter:!1})}}class W{static getCommands(ie,re,de){const le=[];for(let he=0,we=de.length;he<we;he++){const xe=de[he];if(xe.isEmpty()){const Be=re.getLineContent(xe.startLineNumber);if(/^\s*$/.test(Be)&&re.tokenization.isCheapToTokenize(xe.startLineNumber)){let M=this._goodIndentForLine(ie,re,xe.startLineNumber);M=M||"	";const Ve=ie.normalizeIndentation(M);if(!Be.startsWith(Ve)){le[he]=new x.iu(new L.Q(xe.startLineNumber,1,xe.startLineNumber,Be.length+1),Ve,!0);continue}}le[he]=this._replaceJumpToNextIndent(ie,re,xe,!0)}else{if(xe.startLineNumber===xe.endLineNumber){const Be=re.getLineMaxColumn(xe.startLineNumber);if(xe.startColumn!==1||xe.endColumn!==Be){le[he]=this._replaceJumpToNextIndent(ie,re,xe,!1);continue}}le[he]=new T.Y(xe,{isUnshift:!1,tabSize:ie.tabSize,indentSize:ie.indentSize,insertSpaces:ie.insertSpaces,useTabStops:ie.useTabStops,autoIndent:ie.autoIndent},ie.languageConfigurationService)}}return le}static _goodIndentForLine(ie,re,de){let le=null,he="";const we=(0,r.vn)(ie.autoIndent,re,de,!1,ie.languageConfigurationService);if(we)le=we.action,he=we.indentation;else if(de>1){let xe;for(xe=de-1;xe>=1;xe--){const Ve=re.getLineContent(xe);if((0,R.lT)(Ve)>=0)break}if(xe<1)return null;const Be=re.getLineMaxColumn(xe),M=(0,d.h)(ie.autoIndent,re,new L.Q(xe,Be,xe,Be),ie.languageConfigurationService);M&&(he=M.indentation+M.appendText)}return le&&(le===C.l.Indent&&(he=G(ie,he)),le===C.l.Outdent&&(he=Y(ie,he)),he=ie.normalizeIndentation(he)),he||null}static _replaceJumpToNextIndent(ie,re,de,le){let he="";const we=de.getStartPosition();if(ie.insertSpaces){const xe=ie.visibleColumnFromColumn(re,we),Be=ie.indentSize,M=Be-xe%Be;for(let Ve=0;Ve<M;Ve++)he+=" "}else he="	";return new x.iu(de,he,le)}}class U extends x.iP{constructor(ie,re,de,le,he,we){super(ie,re,de,le),this._openCharacter=he,this._closeCharacter=we,this.closeCharacterRange=null,this.enclosingRange=null}_computeCursorStateWithRange(ie,re,de){return this.closeCharacterRange=new L.Q(re.startLineNumber,re.endColumn-this._closeCharacter.length,re.endLineNumber,re.endColumn),this.enclosingRange=new L.Q(re.startLineNumber,re.endColumn-this._openCharacter.length-this._closeCharacter.length,re.endLineNumber,re.endColumn),super.computeCursorState(ie,de)}}class $ extends U{constructor(ie,re,de,le){const he=(de?re:"")+le,we=0,xe=-le.length;super(ie,he,we,xe,re,le)}computeCursorState(ie,re){const le=re.getInverseEditOperations()[0].range;return this._computeCursorStateWithRange(ie,le,re)}}class te extends U{constructor(ie,re,de,le){const he=de+le,we=0,xe=de.length;super(re,he,we,xe,de,le),this._autoIndentationEdit=ie,this._autoClosingEdit={range:re,text:he}}getEditOperations(ie,re){re.addTrackedEditOperation(this._autoIndentationEdit.range,this._autoIndentationEdit.text),re.addTrackedEditOperation(this._autoClosingEdit.range,this._autoClosingEdit.text)}computeCursorState(ie,re){const de=re.getInverseEditOperations();if(de.length!==2)throw new Error("There should be two inverse edit operations!");const le=de[0].range,he=de[1].range,we=le.plusRange(he);return this._computeCursorStateWithRange(ie,we,re)}}function ne(z,ie){return z===" "?ie===5||ie===6?6:5:4}function V(z,ie){return H(z)&&!H(ie)?!0:z===5?!1:I(z)!==I(ie)}function I(z){return z===6||z===5?"space":z}function H(z){return z===4||z===5||z===6}function Z(z,ie,re,de,le){if(z.autoClosingOvertype==="never"||!z.autoClosingPairs.autoClosingPairsCloseSingleChar.has(le))return!1;for(let he=0,we=re.length;he<we;he++){const xe=re[he];if(!xe.isEmpty())return!1;const Be=xe.getPosition(),M=ie.getLineContent(Be.lineNumber);if(M.charAt(Be.column-1)!==le)return!1;const Me=(0,A.vG)(le);if((Be.column>2?M.charCodeAt(Be.column-2):0)===92&&Me)return!1;if(z.autoClosingOvertype==="auto"){let _e=!1;for(let Qe=0,je=de.length;Qe<je;Qe++){const ae=de[Qe];if(Be.lineNumber===ae.startLineNumber&&Be.column===ae.startColumn){_e=!0;break}}if(!_e)return!1}}return!0}function X(z,ie,re){return re?new x.q2(z,ie,!0):new x.iu(z,ie,!0)}function G(z,ie,re){return re=re||1,T.Y.shiftIndent(ie,ie.length+re,z.tabSize,z.indentSize,z.insertSpaces)}function Y(z,ie,re){return re=re||1,T.Y.unshiftIndent(ie,ie.length+re,z.tabSize,z.indentSize,z.insertSpaces)}function j(z,ie){return(0,A.vG)(ie)?z.autoSurround==="quotes"||z.autoSurround==="languageDefined":z.autoSurround==="brackets"||z.autoSurround==="languageDefined"}},62919:(St,We,e)=>{e.d(We,{QA:()=>L,Vi:()=>b,aF:()=>A,fo:()=>T,gB:()=>x,uJ:()=>y});var v=e(94327),R=e(14731);const x=new class{constructor(){this.QuickFix=new R.k("quickfix"),this.Refactor=new R.k("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new R.k("notebook"),this.Source=new R.k("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var T;(function(C){C.Refactor="refactor",C.RefactorPreview="refactor preview",C.Lightbulb="lightbulb",C.Default="other (default)",C.SourceAction="source action",C.QuickFix="quick fix action",C.FixAll="fix all",C.OrganizeImports="organize imports",C.AutoFix="auto fix",C.QuickFixHover="quick fix hover window",C.OnSave="save participants",C.ProblemsView="problems view"})(T||(T={}));function y(C,u){return!(C.include&&!C.include.intersects(u)||C.excludes&&C.excludes.some(i=>g(u,i,C.include))||!C.includeSourceActions&&x.Source.contains(u))}function A(C,u){const i=u.kind?new R.k(u.kind):void 0;return!(C.include&&(!i||!C.include.contains(i))||C.excludes&&i&&C.excludes.some(r=>g(i,r,C.include))||!C.includeSourceActions&&i&&x.Source.contains(i)||C.onlyIncludePreferredActions&&!u.isPreferred)}function g(C,u,i){return!(!u.contains(C)||i&&u.contains(i))}class L{static fromUser(u,i){return!u||typeof u!="object"?new L(i.kind,i.apply,!1):new L(L.getKindFromUser(u,i.kind),L.getApplyFromUser(u,i.apply),L.getPreferredUser(u))}static getApplyFromUser(u,i){switch(typeof u.apply=="string"?u.apply.toLowerCase():""){case"first":return"first";
226case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(u,i){return typeof u.kind=="string"?new R.k(u.kind):i}static getPreferredUser(u){return typeof u.preferred=="boolean"?u.preferred:!1}constructor(u,i,r){this.kind=u,this.apply=i,this.preferred=r}}class b{constructor(u,i,r){this.action=u,this.provider=i,this.highlightRange=r}async resolve(u){if(this.provider?.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,u)}catch(r){(0,v.M_)(r)}i&&(this.action.edit=i.edit)}return this}}},62992:(St,We,e)=>{e.d(We,{Uq:()=>R,mu:()=>x,qE:()=>v});function v(T,y,A){return Math.min(Math.max(T,y),A)}class R{constructor(){this._n=1,this._val=0}update(y){return this._val=this._val+(y-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class x{constructor(y){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(y),this._values.fill(0,0,y)}update(y){const A=this._values[this._index];return this._values[this._index]=y,this._index=(this._index+1)%this._values.length,this._sum-=A,this._sum+=y,this._n<this._values.length&&(this._n+=1),this._val=this._sum/this._n,this._val}get value(){return this._val}}},63151:(St,We,e)=>{var v=e(14469);let R=!1;function x(A){if(R)throw new Error("WebWorker already initialized!");R=!0;const g=new v.QL(L=>globalThis.postMessage(L),L=>A(L));return globalThis.onmessage=L=>{g.onmessage(L.data)},g}function T(A){globalThis.onmessage=g=>{R||x(A)}}var y=e(56848);T(()=>new y.Q(null))},63339:(St,We,e)=>{e.d(We,{BH:()=>V,Fr:()=>$,H8:()=>j,HZ:()=>k,OS:()=>Z,UP:()=>re,_p:()=>H,cm:()=>Y,gm:()=>z,iD:()=>te,ib:()=>D,j9:()=>h,lg:()=>W,m0:()=>de,nr:()=>ie,ti:()=>x,uF:()=>E,un:()=>U,zx:()=>S});var v=e(3765),R=e(65606);const x="en";let T=!1,y=!1,A=!1,g=!1,L=!1,b=!1,C=!1,u,i=x,r=null,d=null,l;const o=globalThis;let c;typeof o.vscode<"u"&&typeof o.vscode.process<"u"?c=o.vscode.process:typeof R<"u"&&typeof R?.versions?.node=="string"&&(c=R);const p=typeof c?.versions?.electron=="string"&&c?.type==="renderer";if(typeof c=="object"){T=c.platform==="win32",y=c.platform==="darwin",A=c.platform==="linux",A&&c.env.SNAP&&c.env.SNAP_REVISION,c.env.CI||c.env.BUILD_ARTIFACTSTAGINGDIRECTORY||c.env.GITHUB_WORKSPACE,u=x,i=x;const le=c.env.VSCODE_NLS_CONFIG;if(le)try{const he=JSON.parse(le);u=he.userLocale,r=he.osLocale,i=he.resolvedLanguage||x,d=he.languagePack?.translationsConfigFile}catch{}g=!0}else typeof navigator=="object"&&!p?(l=navigator.userAgent,T=l.indexOf("Windows")>=0,y=l.indexOf("Macintosh")>=0,b=(l.indexOf("Macintosh")>=0||l.indexOf("iPad")>=0||l.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,A=l.indexOf("Linux")>=0,C=l?.indexOf("Mobi")>=0,L=!0,i=(0,v.i8)()||x,u=navigator.language.toLowerCase(),r=u):console.error("Unable to resolve platform.");let _=0;y?_=1:T?_=3:A&&(_=2);const E=T,S=y,h=A,D=g,k=L,W=L&&typeof o.importScripts=="function"?o.origin:void 0,U=b,$=C,te=_,ne=l,V=i,I=typeof o.postMessage=="function"&&!o.importScripts,H=(()=>
226{if(I){const le=[];o.addEventListener("message",we=>{if(we.data&&we.data.vscodeScheduleAsyncWork)for(let xe=0,Be=le.length;xe<Be;xe++){const M=le[xe];if(M.id===we.data.vscodeScheduleAsyncWork){le.splice(xe,1),M.callback();return}}});let he=0;return we=>{const xe=++he;le.push({id:xe,callback:we}),o.postMessage({vscodeScheduleAsyncWork:xe},"*")}}return le=>setTimeout(le)})(),Z=y||b?2:T?1:3;let X=!0,G=!1;function Y(){if(!G){G=!0;const le=new Uint8Array(2);le[0]=1,le[1]=2,X=new Uint16Array(le.buffer)[0]===513}return X}const j=!!(ne&&ne.indexOf("Chrome")>=0),z=!!(ne&&ne.indexOf("Firefox")>=0),ie=!!(!j&&ne&&ne.indexOf("Safari")>=0),re=!!(ne&&ne.indexOf("Edg/")>=0),de=!!(ne&&ne.indexOf("Android")>=0)},63786:(St,We,e)=>{e.d(We,{i:()=>r,b:()=>d});var v=e(89044),R=e(46441),x=e(15365),T=e(28061),y=e(44657);class A{constructor(_=5){this.timesPerSecond=_,this._lastRun=0,this._minimumTimeBetweenRuns=1e3/_}runIfNotLimited(_){const E=Date.now();E-this._lastRun>=this._minimumTimeBetweenRuns&&(this._lastRun=E,_())}}class g{static create(_,E){return new g(_,new L(E))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(_,E){this._startLineNumber=_,this._tokens=E,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(_){return this._startLineNumber<=_&&_<=this._endLineNumber?this._tokens.getLineTokens(_-this._startLineNumber):null}getRange(){const _=this._tokens.getRange();return _&&new T.Q(this._startLineNumber+_.startLineNumber,_.startColumn,this._startLineNumber+_.endLineNumber,_.endColumn)}removeTokens(_){const E=_.startLineNumber-this._startLineNumber,S=_.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(E,_.startColumn-1,S,_.endColumn-1),this._updateEndLineNumber()}split(_){const E=_.startLineNumber-this._startLineNumber,S=_.endLineNumber-this._startLineNumber,[h,D,k]=this._tokens.split(E,_.startColumn-1,S,_.endColumn-1);return[new g(this._startLineNumber,h),new g(this._startLineNumber+k,D)]}applyEdit(_,E){const[S,h,D]=(0,y.W)(E);this.acceptEdit(_,S,h,D,E.length>0?E.charCodeAt(0):0)}acceptEdit(_,E,S,h,D){this._acceptDeleteRange(_),this._acceptInsertText(new x.y(_.startLineNumber,_.startColumn),E,S,h,D),this._updateEndLineNumber()}_acceptDeleteRange(_){if(_.startLineNumber===_.endLineNumber&&_.startColumn===_.endColumn)return;const E=_.startLineNumber-this._startLineNumber,S=_.endLineNumber-this._startLineNumber;if(S<0){const D=S-E;this._startLineNumber-=D;return}const h=this._tokens.getMaxDeltaLine();if(!(E>=h+1)){if(E<0&&S>=h+1){this._startLineNumber=0,this._tokens.clear();return}if(E<0){const D=-E;this._startLineNumber-=D,this._tokens.acceptDeleteRange(_.startColumn-1,0,0,S,_.endColumn-1)}else this._tokens.acceptDeleteRange(0,E,_.startColumn-1,S,_.endColumn-1)}}_acceptInsertText(_,E,S,h,D){if(E===0&&S===0)return;const k=_.lineNumber-this._startLineNumber;if(k<0){this._startLineNumber+=E;return}const N=this._tokens.getMaxDeltaLine();k>=N+1||this._tokens.acceptInsertText(k,_.column-1,E,S,h,D)}reportIfInvalid(_){this._tokens.reportIfInvalid(_,this._startLineNumber)}}const c=class c{constructor(_){this._tokens=_,this._tokenCount=_.length/4}toString(_){const E=[];for(let S=0;S<this._tokenCount;S++)E.push(`(${this._getDeltaLine(S)+_},${this._getStartCharacter(S)}-${this._getEndCharacter(S)})`);return`[${E.join(",")}]`}getMaxDeltaLine(){const _=this._getTokenCount();return _===0?-1:this._getDeltaLine(_-1)}getRange(){const _=this._getTokenCount();if(_===0)return null;const E=this._getStartCharacter(0),S=this._getDeltaLine(_-1),h=this._getEndCharacter(_-1);return new T.Q(0,E+1,S,h+1)}_getTokenCount(){return this._tokenCount}_getDeltaLine(_){return this._tokens[4*_]}_getStartCharacter(_){return this._tokens[4*_+1]}_getEndCharacter(_){return this._tokens[4*_+2]}isEmpty(){return this._getTokenCount()===0}getLineTokens(_){let E=0,S=this._getTokenCount()-1;for(;E<S;){const h=E+Math.floor((S-E)/2),D=this._getDeltaLine(h);if(D<_)E=h+1;else if(D>_)S=h-1;else{let k=h;for(;k>E&&this._getDeltaLine(k-1)===_;)k--;let N=h;for(;N<S&&this._getDeltaLine(N+1)===_;)N++;return new b(this._tokens.subarray(4*k,4*N+4))}}return this._getDeltaLine(E)===_?new b(this._tokens.subarray(4*E,4*E+4)):null}clear(){this._tokenCount=0}removeTokens(_,E,S,h){const D=this._tokens,k=this._tokenCount;let N=0,W=!1,U=0;for(let $=0;$<k;$++){const te=4*$,ne=D[te],V=D[te+1],I=D[te+2],H=D[te+3];if((ne>_||ne===_&&I>=E)&&(ne<S||ne===S&&V<=h))W=!0;else{if(N===0&&(U=ne),W){const Z=4*N;D[Z]=ne-U,D[Z+1]=V,D[Z+2]=I,D[Z+3]=H}else U!==0&&(D[te]=ne-U);N++}}return this._tokenCount=N,U}split(_,E,S,h){const D=this._tokens,k=this._tokenCount,N=[],W=[];let U=N,$=0,te=0;for(let ne=0;ne<k;ne++){const V=4*ne,I=D[V],H=D[V+1],Z=D[V+2],X=D[V+3];if(I>_||I===_&&Z>=E){if(I<S||I===S&&H<=h)continue;U!==W&&(U=W,$=0,te=I)}U[$++]=I-te,U[$++]=H,U[$++]=Z,U[$++]=X}return[new c(new Uint32Array(N)),new c(new Uint32Array(W)),te]}acceptDeleteRange(_,E,S,h,D){const k=this._tokens,N=this._tokenCount,W=h-E;let U=0,$=!1;for(let te=0;te<N;te++){const ne=4*te;let V=k[ne],I=k[ne+1],H=k[ne+2];const Z=k[ne+3];if(V<E||V===E&&H<=S){U++;continue}else if(V===E&&I<S)V===h&&H>D?H-=D-S:H=S;else if(V===E&&I===S)if(V===h&&H>D)H-=D-S;else{$=!0;continue}else if(V<h||V===h&&I<D)if(V===h&&H>D)V=E,I=S,H=I+(H-D);else{$=!0;continue}else if(V>h){if(W===0&&!$){U=N;break}V-=W}else if(V===h&&I>=D)_&&V===0&&(I+=_,H+=_),V-=W,I-=D-S,H-=D-S;else throw new Error("Not possible!");const X=4*U;k[X]=V,k[X+1]=I,k[X+2]=H,k[X+3]=Z,U++}this._tokenCount=U}acceptInsertText(_,E,S,h,D,k){const N=S===0&&h===1&&(k>=48&&k<=57||k>=65&&k<=90||k>=97&&k<=122),W=this._tokens,U=this._tokenCount;for(let $=0;$<U;$++){const te=4*$;
226let ne=W[te],V=W[te+1],I=W[te+2];if(!(ne<_||ne===_&&I<E)){if(ne===_&&I===E)if(N)I+=1;else continue;else if(ne===_&&V<E&&E<I)S===0?I+=h:I=E;else{if(ne===_&&V===E&&N)continue;if(ne===_)if(ne+=S,S===0)V+=h,I+=h;else{const H=I-V;V=D+(V-E),I=V+H}else ne+=S}W[te]=ne,W[te+1]=V,W[te+2]=I}}}reportIfInvalid(_,E){for(let S=0;S<this._tokenCount;S++){const h=this._getDeltaLine(S)+E;h<1?c._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber < 1")}):h>_.getLineCount()?c._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: lineNumber > model.getLineCount()")}):this._getEndCharacter(S)>_.getLineLength(h)&&c._rateLimiter.runIfNotLimited(()=>{console.error("Invalid Semantic Tokens Data From Extension: end character > model.getLineLength(lineNumber)")})}}};c._rateLimiter=new A(10/60);let L=c;class b{constructor(_){this._tokens=_}getCount(){return this._tokens.length/4}getStartCharacter(_){return this._tokens[4*_+1]}getEndCharacter(_){return this._tokens[4*_+2]}getMetadata(_){return this._tokens[4*_+3]}}var C=e(77922),u=function(p,_,E,S){var h=arguments.length,D=h<3?_:S===null?S=Object.getOwnPropertyDescriptor(_,E):S,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(p,_,E,S);else for(var N=p.length-1;N>=0;N--)(k=p[N])&&(D=(h<3?k(D):h>3?k(_,E,D):k(_,E))||D);return h>3&&D&&Object.defineProperty(_,E,D),D},i=function(p,_){return function(E,S){_(E,S,p)}};let r=class{constructor(_,E,S,h){this._legend=_,this._themeService=E,this._languageService=S,this._logService=h,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new o}getMetadata(_,E,S){const h=this._languageService.languageIdCodec.encodeLanguageId(S),D=this._hashTable.get(_,E,h);let k;if(D)k=D.metadata;else{let N=this._legend.tokenTypes[_];const W=[];if(N){let U=E;for(let te=0;U>0&&te<this._legend.tokenModifiers.length;te++)U&1&&W.push(this._legend.tokenModifiers[te]),U=U>>1;const $=this._themeService.getColorTheme().getTokenStyleMetadata(N,W,S);if(typeof $>"u")k=2147483647;else{if(k=0,typeof $.italic<"u"){const te=($.italic?1:0)<<11;k|=te|1}if(typeof $.bold<"u"){const te=($.bold?2:0)<<11;k|=te|2}if(typeof $.underline<"u"){const te=($.underline?4:0)<<11;k|=te|4}if(typeof $.strikethrough<"u"){const te=($.strikethrough?8:0)<<11;k|=te|8}if($.foreground){const te=$.foreground<<15;k|=te|16}k===0&&(k=2147483647)}}else k=2147483647,N="not-in-legend";this._hashTable.add(_,E,h,k)}return k}warnOverlappingSemanticTokens(_,E){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn(`Overlapping semantic tokens detected at lineNumber ${_}, column ${E}`))}warnInvalidLengthSemanticTokens(_,E){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn(`Semantic token with invalid length detected at lineNumber ${_}, column ${E}`))}warnInvalidEditStart(_,E,S,h,D){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn(`Invalid semantic tokens edit detected (previousResultId: ${_}, resultId: ${E}) at edit #${S}: The provided start offset ${h} is outside the previous data (length ${D}).`))}};r=u([i(1,v.Gy),i(2,C.L),i(3,R.rr)],r);function d(p,_,E){const S=p.data,h=p.data.length/5|0,D=Math.max(Math.ceil(h/1024),400),k=[];let N=0,W=1,U=0;for(;N<h;){const $=N;let te=Math.min($+D,h);if(te<h){let G=te;for(;G-1>$&&S[5*G]===0;)G--;if(G-1===$){let Y=te;for(;Y+1<h&&S[5*Y]===0;)Y++;te=Y}else te=G}let ne=new Uint32Array((te-$)*4),V=0,I=0,H=0,Z=0;for(;N<te;){const G=5*N,Y=S[G],j=S[G+1],z=W+Y|0,ie=Y===0?U+j|0:j,re=S[G+2],de=ie+re|0,le=S[G+3],he=S[G+4];if(de<=ie)_.warnInvalidLengthSemanticTokens(z,ie+1);else if(H===z&&Z>ie)_.warnOverlappingSemanticTokens(z,ie+1);else{const we=_.getMetadata(le,he,E);we!==2147483647&&(I===0&&(I=z),ne[V]=z-I,ne[V+1]=ie,ne[V+2]=de,ne[V+3]=we,V+=4,H=z,Z=de)}W=z,U=ie,N++}V!==ne.length&&(ne=ne.subarray(0,V));const X=g.create(I,ne);k.push(X)}return k}class l{constructor(_,E,S,h){this.tokenTypeIndex=_,this.tokenModifierSet=E,this.languageId=S,this.metadata=h,this.next=null}}const a=class a{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=a._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<a._SIZES.length?2/3*this._currentLength:0),this._elements=[],a._nullOutEntries(this._elements,this._currentLength)}static _nullOutEntries(_,E){for(let S=0;S<E;S++)_[S]=null}_hash2(_,E){return(_<<5)-_+E|0}_hashFunc(_,E,S){return this._hash2(this._hash2(_,E),S)%this._currentLength}get(_,E,S){const h=this._hashFunc(_,E,S);let D=this._elements[h];for(;D;){if(D.tokenTypeIndex===_&&D.tokenModifierSet===E&&D.languageId===S)return D;D=D.next}return null}
226add(_,E,S,h){if(this._elementsCount++,this._growCount!==0&&this._elementsCount>=this._growCount){const D=this._elements;this._currentLengthIndex++,this._currentLength=a._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1<a._SIZES.length?2/3*this._currentLength:0),this._elements=[],a._nullOutEntries(this._elements,this._currentLength);for(const k of D){let N=k;for(;N;){const W=N.next;N.next=null,this._add(N),N=W}}}this._add(new l(_,E,S,h))}_add(_){const E=this._hashFunc(_.tokenTypeIndex,_.tokenModifierSet,_.languageId);_.next=this._elements[E],this._elements[E]=_}};a._SIZES=[3,7,13,31,61,127,251,509,1021,2039,4093,8191,16381,32749,65521,131071,262139,524287,1048573,2097143];let o=a},64569:St=>{St.exports={}},64651:(St,We,e)=>{e.d(We,{Gc:()=>o,Nn:()=>A,Xw:()=>g,rh:()=>l,yF:()=>d});var v=e(94327),R=e(62549),x=e(34883),T=e(60756);class y{get length(){return this._length}constructor(a){this._length=a}}class A extends y{static create(a,p,_){let E=a.length;return p&&(E=(0,x.QB)(E,p.length)),_&&(E=(0,x.QB)(E,_.length)),new A(E,a,p,_,p?p.missingOpeningBracketIds:T.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(a){switch(a){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const a=[];return a.push(this.openingBracket),this.child&&a.push(this.child),this.closingBracket&&a.push(this.closingBracket),a}constructor(a,p,_,E,S){super(a),this.openingBracket=p,this.child=_,this.closingBracket=E,this.missingOpeningBracketIds=S}canBeReused(a){return!(this.closingBracket===null||a.intersects(this.missingOpeningBracketIds))}deepClone(){return new A(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(a,p){return this.child?this.child.computeMinIndentation((0,x.QB)(a,this.openingBracket.length),p):Number.MAX_SAFE_INTEGER}}class g extends y{static create23(a,p,_,E=!1){let S=a.length,h=a.missingOpeningBracketIds;if(a.listHeight!==p.listHeight)throw new Error("Invalid list heights");if(S=(0,x.QB)(S,p.length),h=h.merge(p.missingOpeningBracketIds),_){if(a.listHeight!==_.listHeight)throw new Error("Invalid list heights");S=(0,x.QB)(S,_.length),h=h.merge(_.missingOpeningBracketIds)}return E?new b(S,a.listHeight+1,a,p,_,h):new L(S,a.listHeight+1,a,p,_,h)}static getEmpty(){return new u(x.Vp,0,[],T.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(a,p,_){super(a),this.listHeight=p,this._missingOpeningBracketIds=_,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const a=this.childrenLength;if(a===0)return;const p=this.getChild(a-1),_=p.kind===4?p.toMutable():p;return p!==_&&this.setChild(a-1,_),_}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const p=this.getChild(0),_=p.kind===4?p.toMutable():p;return p!==_&&this.setChild(0,_),_}canBeReused(a){if(a.intersects(this.missingOpeningBracketIds)||this.childrenLength===0)return!1;let p=this;for(;p.kind===4;){const _=p.childrenLength;if(_===0)throw new v.D7;p=p.getChild(_-1)}return p.canBeReused(a)}handleChildrenChanged(){this.throwIfImmutable();const a=this.childrenLength;let p=this.getChild(0).length,_=this.getChild(0).missingOpeningBracketIds;for(let E=1;E<a;E++){const S=this.getChild(E);p=(0,x.QB)(p,S.length),_=_.merge(S.missingOpeningBracketIds)}this._length=p,this._missingOpeningBracketIds=_,this.cachedMinIndentation=-1}computeMinIndentation(a,p){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let _=Number.MAX_SAFE_INTEGER,E=a;for(let S=0;S<this.childrenLength;S++){const h=this.getChild(S);h&&(_=Math.min(_,h.computeMinIndentation(E,p)),E=(0,x.QB)(E,h.length))}return this.cachedMinIndentation=_,_}}class L extends g{get childrenLength(){return this._item3!==null?3:2}getChild(a){switch(a){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(a,p){switch(a){case 0:this._item1=p;return;case 1:this._item2=p;return;case 2:this._item3=p;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(a,p,_,E,S,h){super(a,p,h),this._item1=_,this._item2=E,this._item3=S}deepClone(){return new L(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=a,this.handleChildrenChanged()}
226unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const a=this._item3;return this._item3=null,this.handleChildrenChanged(),a}prependChildOfSameHeight(a){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=a,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const a=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),a}toMutable(){return this}}class b extends L{toMutable(){return new L(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class C extends g{get childrenLength(){return this._children.length}getChild(a){return this._children[a]}setChild(a,p){this._children[a]=p}get children(){return this._children}constructor(a,p,_,E){super(a,p,E),this._children=_}deepClone(){const a=new Array(this._children.length);for(let p=0;p<this._children.length;p++)a[p]=this._children[p].deepClone();return new C(this.length,this.listHeight,a,this.missingOpeningBracketIds)}appendChildOfSameHeight(a){this.throwIfImmutable(),this._children.push(a),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const a=this._children.pop();return this.handleChildrenChanged(),a}prependChildOfSameHeight(a){this.throwIfImmutable(),this._children.unshift(a),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const a=this._children.shift();return this.handleChildrenChanged(),a}toMutable(){return this}}class u extends C{toMutable(){return new C(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const i=[];class r extends y{get listHeight(){return 0}get childrenLength(){return 0}getChild(a){return null}get children(){return i}deepClone(){return this}}class d extends r{get kind(){return 0}get missingOpeningBracketIds(){return T.gV.getEmpty()}canBeReused(a){return!0}computeMinIndentation(a,p){const _=(0,x.l4)(a),E=(_.columnCount===0?_.lineCount:_.lineCount+1)+1,S=(0,x.eu)((0,x.QB)(a,this.length))+1;let h=Number.MAX_SAFE_INTEGER;for(let D=E;D<=S;D++){const k=p.getLineFirstNonWhitespaceColumn(D),N=p.getLineContent(D);if(k===0)continue;const W=R.A.visibleColumnFromColumn(N,k,p.getOptions().tabSize);h=Math.min(h,W)}return h}}class l extends r{static create(a,p,_){return new l(a,p,_)}get kind(){return 1}get missingOpeningBracketIds(){return T.gV.getEmpty()}constructor(a,p,_){super(a),this.bracketInfo=p,this.bracketIds=_}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(a){return!1}computeMinIndentation(a,p){return Number.MAX_SAFE_INTEGER}}class o extends r{get kind(){return 3}constructor(a,p){super(p),this.missingOpeningBracketIds=a}canBeReused(a){return!a.intersects(this.missingOpeningBracketIds)}computeMinIndentation(a,p){return Number.MAX_SAFE_INTEGER}}},64830:(St,We,e)=>{e.d(We,{S:()=>R});var v=e(82399);const R=(0,v.u1)("modelService")},65014:(St,We,e)=>{var Fa,sa;e.d(We,{x:()=>_a});var v=e(66726),R=e(90304),x=e(50946),T=e(19572),y=e(80886),A=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},g=function(ft,t){return function(s,m){t(s,m,ft)}};let L=(Fa=class{constructor(t,s){}dispose(){}},Fa.ID="editor.contrib.markerDecorations",Fa);L=A([g(1,y.A)],L),(0,v.v)(R.w,T.B,0),(0,x.HW)(L.ID,L,0);var b=e(14333),C=e(94327),u=e(2106),i=e(10998),r=e(13072),d=e(25837),l=e(55893),o=e(13338),c=e(71386),a=e(63339),p=e(5711),_=e(41106);const ko=class ko{constructor(t,s){this.key=t,this.migrate=s}apply(t){const s=ko._read(t,this.key),m=F=>ko._read(t,F),O=(F,se)=>ko._write(t,F,se);this.migrate(s,m,O)}static _read(t,s){if(typeof t>"u"||t===null)return;const m=s.indexOf(".");if(m>=0){const O=s.substring(0,m);return this._read(t[O],s.substring(m+1))}return t[s]}static _write(t,s,m){const O=s.indexOf(".");if(O>=0){const F=s.substring(0,O);t[F]=t[F]||{},this._write(t[F],s.substring(O+1),m);return}t[s]=m}};ko.items=[];let E=ko;function S(ft,t){E.items.push(new E(ft,t))}function h(ft,t){S(ft,(s,m,O)=>{if(typeof s<"u"){for(const[F,se]of t)if(s===F){O(ft,se);return}}})}
226function D(ft){E.items.forEach(t=>t.apply(ft))}h("wordWrap",[[!0,"on"],[!1,"off"]]),h("lineNumbers",[[!0,"on"],[!1,"off"]]),h("cursorBlinking",[["visible","solid"]]),h("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),h("renderLineHighlight",[[!0,"line"],[!1,"none"]]),h("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),h("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),h("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),h("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),h("autoIndent",[[!1,"advanced"],[!0,"full"]]),h("matchBrackets",[[!0,"always"],[!1,"never"]]),h("renderFinalNewline",[[!0,"on"],[!1,"off"]]),h("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),h("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),h("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),h("defaultColorDecorators",[[!0,"auto"],[!1,"never"]]),h("minimap.autohide",[[!0,"mouseover"],[!1,"none"]]),S("autoClosingBrackets",(ft,t,s)=>{ft===!1&&(s("autoClosingBrackets","never"),typeof t("autoClosingQuotes")>"u"&&s("autoClosingQuotes","never"),typeof t("autoSurround")>"u"&&s("autoSurround","never"))}),S("renderIndentGuides",(ft,t,s)=>{typeof ft<"u"&&(s("renderIndentGuides",void 0),typeof t("guides.indentation")>"u"&&s("guides.indentation",!!ft))}),S("highlightActiveIndentGuide",(ft,t,s)=>{typeof ft<"u"&&(s("highlightActiveIndentGuide",void 0),typeof t("guides.highlightActiveIndentation")>"u"&&s("guides.highlightActiveIndentation",!!ft))});const k={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};S("suggest.filteredTypes",(ft,t,s)=>{if(ft&&typeof ft=="object"){for(const m of Object.entries(k))ft[m[0]]===!1&&typeof t(`suggest.${m[1]}`)>"u"&&s(`suggest.${m[1]}`,!1);s("suggest.filteredTypes",void 0)}}),S("quickSuggestions",(ft,t,s)=>{if(typeof ft=="boolean"){const m=ft?"on":"off";s("quickSuggestions",{comments:m,strings:m,other:m})}}),S("experimental.stickyScroll.enabled",(ft,t,s)=>{typeof ft=="boolean"&&(s("experimental.stickyScroll.enabled",void 0),typeof t("stickyScroll.enabled")>"u"&&s("stickyScroll.enabled",ft))}),S("experimental.stickyScroll.maxLineCount",(ft,t,s)=>{typeof ft=="number"&&(s("experimental.stickyScroll.maxLineCount",void 0),typeof t("stickyScroll.maxLineCount")>"u"&&s("stickyScroll.maxLineCount",ft))}),S("editor.experimentalEditContextEnabled",(ft,t,s)=>{typeof ft=="boolean"&&(s("editor.experimentalEditContextEnabled",void 0),typeof t("editor.editContext")>"u"&&s("editor.editContext",ft))}),S("codeActionsOnSave",(ft,t,s)=>{if(ft&&typeof ft=="object"){let m=!1;const O={};for(const F of Object.entries(ft))typeof F[1]=="boolean"?(m=!0,O[F[0]]=F[1]?"explicit":"never"):O[F[0]]=F[1];m&&s("codeActionsOnSave",O)}}),S("codeActionWidget.includeNearbyQuickfixes",(ft,t,s)=>{typeof ft=="boolean"&&(s("codeActionWidget.includeNearbyQuickfixes",void 0),typeof t("codeActionWidget.includeNearbyQuickFixes")>"u"&&s("codeActionWidget.includeNearbyQuickFixes",ft))}),S("lightbulb.enabled",(ft,t,s)=>{typeof ft=="boolean"&&s("lightbulb.enabled",ft?void 0:"off")}),S("inlineSuggest.edits.codeShifting",(ft,t,s)=>{typeof ft=="boolean"&&(s("inlineSuggest.edits.codeShifting",void 0),s("inlineSuggest.edits.allowCodeShifting",ft?"always":"never"))}),S("hover.enabled",(ft,t,s)=>{typeof ft=="boolean"&&s("hover.enabled",ft?"on":"off")});var N=e(47536),W=e(66476),U=e(84587),$=e(70233),te=e(53909),ne=e(4770),V=e(55857),I=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},H=function(ft,t){return function(s,m){t(s,m,ft)}};let Z=class extends i.jG{constructor(t,s,m,O,F){super(),this._accessibilityService=F,this._onDidChange=this._register(new u.vl),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new u.vl),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new W.n0,this.isSimpleWidget=t,this.contextMenuId=s,this._containerObserver=this._register(new p.u(O,m.dimension)),this._targetWindowId=(0,b.zk)(O).vscodeWindowId,this._rawOptions=ie(m),this._val
226idatedOptions=z.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(19)&&this._containerObserver.startObserving(),this._register(U.D.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(N.M.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(_.T.onDidChange(()=>this._recomputeOptions())),this._register(ne.c.getInstance((0,b.zk)(O)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._register(V.U.onDidChangeInputMode(()=>this._recomputeOptions()))}_recomputeOptions(){const t=this._computeOptions(),s=z.checkEquals(this.options,t);s!==null&&(this.options=t,this._onDidChangeFast.fire(s),this._onDidChange.fire(s))}_computeOptions(){const t=this._readEnvConfiguration(),s=(0,$.l)(this._validatedOptions,t.pixelRatio,this.isSimpleWidget),m=this._readFontInfo(s),O={memory:this._computeOptionsMemory,outerWidth:t.outerWidth,outerHeight:t.outerHeight-this._reservedHeight,fontInfo:m,extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:this._validatedOptions.get(164)||N.M.getTabFocusMode(),inputMode:V.U.getInputMode(),accessibilitySupport:t.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount,editContextSupported:t.editContextSupported};return z.computeOptions(this._validatedOptions,O)}_readEnvConfiguration(){return{extraEditorClassName:G(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:l.Tc||l.gm,pixelRatio:ne.c.getInstance((0,b.ZF)(this._targetWindowId,!0).window).value,editContextSupported:typeof globalThis.EditContext=="function",accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(t){return _.T.readFontInfo((0,b.ZF)(this._targetWindowId,!0).window,t)}getRawOptions(){return this._rawOptions}updateOptions(t){const s=ie(t);z.applyUpdate(this._rawOptions,s)&&(this._validatedOptions=z.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(t){this._containerObserver.observe(t)}setIsDominatedByLongLines(t){this._isDominatedByLongLines!==t&&(this._isDominatedByLongLines=t,this._recomputeOptions())}setModelLineCount(t){const s=X(t);this._lineNumbersDigitCount!==s&&(this._lineNumbersDigitCount=s,this._recomputeOptions())}setViewLineCount(t){this._viewLineCount!==t&&(this._viewLineCount=t,this._recomputeOptions())}setReservedHeight(t){this._reservedHeight!==t&&(this._reservedHeight=t,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(t){this._glyphMarginDecorationLaneCount!==t&&(this._glyphMarginDecorationLaneCount=t,this._recomputeOptions())}};Z=I([H(4,te.j)],Z);function X(ft){let t=0;for(;ft;)ft=Math.floor(ft/10),t++;return t||1}function G(){let ft="";return l.nr||l.c8?(ft+="no-minimap-shadow ",ft+="enable-user-select "):ft+="no-user-select ",a.zx&&(ft+="mac "),ft}class Y{constructor(){this._values=[]}_read(t){return this._values[t]}get(t){return this._values[t]}_write(t,s){this._values[t]=s}}class j{constructor(){this._values=[]}_read(t){if(t>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[t]}get(t){return this._read(t)}_write(t,s){this._values[t]=s}}class z{static validateOptions(t){const s=new Y;for(const m of W.BE){const O=m.name==="_never_"?void 0:t[m.name];s._write(m.id,m.validate(O))}return s}static computeOptions(t,s){const m=new j;for(const O of W.BE)m._write(O.id,O.compute(s,m,t._read(O.id)));return m}static _deepEquals(t,s){if(typeof t!="object"||typeof s!="object"||!t||!s)return t===s;if(Array.isArray(t)||Array.isArray(s))return Array.isArray(t)&&Array.isArray(s)?(0,o.aI)(t,s):!1;if(Object.keys(t).length!==Object.keys(s).length)return!1;for(const m in t)if(!z._deepEquals(t[m],s[m]))return!1;return!0}
226static checkEquals(t,s){const m=[];let O=!1;for(const F of W.BE){const se=!z._deepEquals(t._read(F.id),s._read(F.id));m[F.id]=se,se&&(O=!0)}return O?new W.lw(m):null}static applyUpdate(t,s){let m=!1;for(const O of W.BE)if(s.hasOwnProperty(O.name)){const F=O.applyUpdate(t[O.name],s[O.name]);t[O.name]=F.newValue,m=m||F.didChange}return m}}function ie(ft){const t=(0,c.Go)(ft);return D(t),t}var re=e(87301),de=e(27424),le=e(73678),he=e(96016),we;(function(ft){const t={total:0,min:Number.MAX_VALUE,max:0},s={...t},m={...t},O={...t};let F=0;ft.sampleCount=(0,he.FY)("inputLatency.sampleCount",0);const se={keydown:0,input:0,render:0};function be(){oi(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),se.keydown=1,queueMicrotask(Oe)}ft.onKeyDown=be;function Oe(){se.keydown===1&&(performance.mark("keydown/end"),se.keydown=2)}function it(){performance.mark("input/start"),se.input=1,ii()}ft.onBeforeInput=it;function ct(){se.input===0&&it(),queueMicrotask(lt)}ft.onInput=ct;function lt(){se.input===1&&(performance.mark("input/end"),se.input=2)}function Dt(){oi()}ft.onKeyUp=Dt;function It(){oi()}ft.onSelectionChange=It;function Ut(){se.keydown===2&&se.input===2&&se.render===0&&(performance.mark("render/start"),se.render=1,queueMicrotask(ti),ii())}ft.onRenderStart=Ut;function ti(){se.render===1&&(performance.mark("render/end"),se.render=2)}function ii(){setTimeout(oi)}function oi(){se.keydown===2&&se.input===2&&se.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),yi("keydown",t),yi("input",s),yi("render",m),yi("inputlatency",O),F++,ft.sampleCount.set(ft.sampleCount.get()+1,void 0),Ti())}function yi(Ji,mn){const rn=performance.getEntriesByName(Ji)[0].duration;mn.total+=rn,mn.min=Math.min(mn.min,rn),mn.max=Math.max(mn.max,rn)}function Ti(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),se.keydown=0,se.input=0,se.render=0}function ji(){if(F===0)return;const Ji={keydown:an(t),input:an(s),render:an(m),total:an(O),sampleCount:F};return Qi(t),Qi(s),Qi(m),Qi(O),F=0,Ji}ft.getAndClearMeasurements=ji;function an(Ji){return{average:Ji.total/F,max:Ji.max,min:Ji.min}}function Qi(Ji){Ji.total=0,Ji.min=Number.MAX_VALUE,Ji.max=0}})(we||(we={}));var xe=e(58574),Be=e(92405);class M extends Be.i{constructor(t){super(),this._context=t,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onBeforeRender(t){}}class Ve{static write(t,s){t.setAttribute("data-mprt",String(s))}static read(t){const s=t.getAttribute("data-mprt");return s===null?0:parseInt(s,10)}static collect(t,s){const m=[];let O=0;for(;t&&t!==t.ownerDocument.body&&t!==s;)t.nodeType===t.ELEMENT_NODE&&(m[O++]=this.read(t)),t=t.parentElement;const F=new Uint8Array(O);for(let se=0;se<O;se++)F[se]=m[O-se-1];return F}}var Me=e(60042),Le=e(15365),_e=e(28061),Qe=e(62549),je=e(71937),ae=e(66055),Ee=e(63946);class Ie{constructor(t=null){this.hitTarget=t,this.type=0}}class Ue{get hitTarget(){return this.spanNode}constructor(t,s,m){this.position=t,this.spanNode=s,this.injectedText=m,this.type=1}}var $e;(function(ft){function t(s,m,O){const F=s.getPositionFromDOMInfo(m,O);return F?new Ue(F,m,null):new Ie(m)}ft.createFromDOMInfo=t})($e||($e={}));class Ye{constructor(t,s){this.lastViewCursorsRenderData=t,this.lastTextareaPosition=s}}class Ce{static _deduceRage(t,s=null){return!s&&t?new _e.Q(t.lineNumber,t.column,t.lineNumber,t.column):s??null}static createUnknown(t,s,m){return{type:0,element:t,mouseColumn:s,position:m,range:this._deduceRage(m)}}static createTextarea(t,s){return{type:1,element:t,mouseColumn:s,position:null,range:null}}
226static createMargin(t,s,m,O,F,se){return{type:t,element:s,mouseColumn:m,position:O,range:F,detail:se}}static createViewZone(t,s,m,O,F){return{type:t,element:s,mouseColumn:m,position:O,range:this._deduceRage(O),detail:F}}static createContentText(t,s,m,O,F){return{type:6,element:t,mouseColumn:s,position:m,range:this._deduceRage(m,O),detail:F}}static createContentEmpty(t,s,m,O){return{type:7,element:t,mouseColumn:s,position:m,range:this._deduceRage(m),detail:O}}static createContentWidget(t,s,m){return{type:9,element:t,mouseColumn:s,position:null,range:null,detail:m}}static createScrollbar(t,s,m){return{type:11,element:t,mouseColumn:s,position:m,range:this._deduceRage(m)}}static createOverlayWidget(t,s,m){return{type:12,element:t,mouseColumn:s,position:null,range:null,detail:m}}static createOutsideEditor(t,s,m,O){return{type:13,element:null,mouseColumn:t,position:s,range:this._deduceRage(s),outsidePosition:m,outsideDistance:O}}static _typeToString(t){return t===1?"TEXTAREA":t===2?"GUTTER_GLYPH_MARGIN":t===3?"GUTTER_LINE_NUMBERS":t===4?"GUTTER_LINE_DECORATIONS":t===5?"GUTTER_VIEW_ZONE":t===6?"CONTENT_TEXT":t===7?"CONTENT_EMPTY":t===8?"CONTENT_VIEW_ZONE":t===9?"CONTENT_WIDGET":t===10?"OVERVIEW_RULER":t===11?"SCROLLBAR":t===12?"OVERLAY_WIDGET":"UNKNOWN"}static toString(t){return this._typeToString(t.type)+": "+t.position+" - "+t.range+" - "+JSON.stringify(t.detail)}}class He{static isTextArea(t){return t.length===2&&t[0]===3&&t[1]===7}static isChildOfViewLines(t){return t.length>=4&&t[0]===3&&t[3]===8}static isStrictChildOfViewLines(t){return t.length>4&&t[0]===3&&t[3]===8}static isChildOfScrollableElement(t){return t.length>=2&&t[0]===3&&t[1]===6}static isChildOfMinimap(t){return t.length>=2&&t[0]===3&&t[1]===9}static isChildOfContentWidgets(t){return t.length>=4&&t[0]===3&&t[3]===1}static isChildOfOverflowGuard(t){return t.length>=1&&t[0]===3}static isChildOfOverflowingContentWidgets(t){return t.length>=1&&t[0]===2}static isChildOfOverlayWidgets(t){return t.length>=2&&t[0]===3&&t[1]===4}static isChildOfOverflowingOverlayWidgets(t){return t.length>=1&&t[0]===5}}class Ke{constructor(t,s,m){this.viewModel=t.viewModel;const O=t.configuration.options;this.layoutInfo=O.get(165),this.viewDomNode=s.viewDomNode,this.viewLinesGpu=s.viewLinesGpu,this.lineHeight=O.get(75),this.stickyTabStops=O.get(132),this.typicalHalfwidthCharacterWidth=O.get(59).typicalHalfwidthCharacterWidth,this.lastRenderData=m,this._context=t,this._viewHelper=s}getZoneAtCoord(t){return Ke.getZoneAtCoord(this._context,t)}static getZoneAtCoord(t,s){const m=t.viewLayout.getWhitespaceAtVerticalOffset(s);if(m){const O=m.verticalOffset+m.height/2,F=t.viewModel.getLineCount();let se=null,be,Oe=null;return m.afterLineNumber!==F&&(Oe=new Le.y(m.afterLineNumber+1,1)),m.afterLineNumber>0&&(se=new Le.y(m.afterLineNumber,t.viewModel.getLineMaxColumn(m.afterLineNumber))),Oe===null?be=se:se===null?be=Oe:s<O?be=se:be=Oe,{viewZoneId:m.id,afterLineNumber:m.afterLineNumber,positionBefore:se,positionAfter:Oe,position:be}}return null}getFullLineRangeAtCoord(t){if(this._context.viewLayout.isAfterLines(t)){const O=this._context.viewModel.getLineCount(),F=this._context.viewModel.getLineMaxColumn(O);return{range:new _e.Q(O,F,O,F),isAfterLines:!0}}const s=this._context.viewLayout.getLineNumberAtVerticalOffset(t),m=this._context.viewModel.getLineMaxColumn(s);return{range:new _e.Q(s,1,s,m),isAfterLines:!1}}getLineNumberAtVerticalOffset(t){return this._context.viewLayout.getLineNumberAtVerticalOffset(t)}isAfterLines(t){return this._context.viewLayout.isAfterLines(t)}isInTopPadding(t){return this._context.viewLayout.isInTopPadding(t)}isInBottomPadding(t){return this._context.viewLayout.isInBottomPadding(t)}getVerticalOffsetForLineNumber(t){return this._context.viewLayout.getVerticalOffsetForLineNumber(t)}findAttribute(t,s){return Ke._findAttribute(t,s,this._viewHelper.viewDomNode)}static _findAttribute(t,s,m){for(;t&&t!==t.ownerDocument.body;){if(t.hasAttribute&&t.hasAttribute(s))return t.getAttribute(s);if(t===m)return null;t=t.parentNode}return null}getLineWidth(t){return this._viewHelper.getLineWidth(t)}isRtl(t){return this.viewModel.getTextDirection(t)===ae.z4.RTL}visibleRangeForPosition(t,s){return this._viewHelper.visibleRangeForPosition(t,s)}getPositionFromDOMInfo(t,s){return this._viewHelper.getPositionFromDOMInfo(t,s)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}}class qe{constructor(t,s,m,O){this.editorPos=s,this.pos=m,this.relativePos=O,this.mouseVerticalOffset=Math.max(0,t.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=t.getCurrentScrollLeft()+this.relativePos.x-t.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<t.layoutInfo.contentLeft&&this.relativePos.x>=t.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,q._getMouseColumn(this.mouseContentHorizontalOffset,t.typicalHalfwidthCharacterWidth))}}class ht extends qe{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=Ve.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(t,s,m,O,F){super(t,s,m,O),this.hitTestResult=new Ee.d(()=>
226q.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=t,this._eventTarget=F;const se=!!this._eventTarget;this._useHitTestTarget=!se}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}
227	target: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(t=null){return t&&t.column<this._ctx.viewModel.getLineMaxColumn(t.lineNumber)?Qe.A.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(t.lineNumber),t.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(t=null){return Ce.createUnknown(this.target,this._getMouseColumn(t),t)}fulfillTextarea(){return Ce.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(t,s,m,O){return Ce.createMargin(t,this.target,this._getMouseColumn(s),s,m,O)}fulfillViewZone(t,s,m){return Ce.createViewZone(t,this.target,this._getMouseColumn(),s,m)}fulfillContentText(t,s,m){return Ce.createContentText(this.target,this._getMouseColumn(t),t,s,m)}fulfillContentEmpty(t,s){return Ce.createContentEmpty(this.target,this._getMouseColumn(t),t,s)}fulfillContentWidget(t){return Ce.createContentWidget(this.target,this._getMouseColumn(),t)}fulfillScrollbar(t){return Ce.createScrollbar(this.target,this._getMouseColumn(t),t)}fulfillOverlayWidget(t){return Ce.createOverlayWidget(this.target,this._getMouseColumn(),t)}}const Te={isAfterLines:!0};function oe(ft){return{isAfterLines:!1,horizontalDistanceToText:ft}}class q{constructor(t,s){this._context=t,this._viewHelper=s}mouseTargetIsWidget(t){const s=t.target,m=Ve.collect(s,this._viewHelper.viewDomNode);return!!(He.isChildOfContentWidgets(m)||He.isChildOfOverflowingContentWidgets(m)||He.isChildOfOverlayWidgets(m)||He.isChildOfOverflowingOverlayWidgets(m))}createMouseTarget(t,s,m,O,F){const se=new Ke(this._context,this._viewHelper,t),be=new ht(se,s,m,O,F);try{const Oe=q._createMouseTarget(se,be);if(Oe.type===6&&se.stickyTabStops&&Oe.position!==null){const it=q._snapToSoftTabBoundary(Oe.position,se.viewModel),ct=_e.Q.fromPositions(it,it).plusRange(Oe.range);return be.fulfillContentText(it,ct,Oe.detail)}return Oe}catch{return be.fulfillUnknown()}}static _createMouseTarget(t,s){if(s.target===null)return s.fulfillUnknown();const m=s;let O=null;return!He.isChildOfOverflowGuard(s.targetPath)&&!He.isChildOfOverflowingContentWidgets(s.targetPath)&&!He.isChildOfOverflowingOverlayWidgets(s.targetPath)&&(O=O||s.fulfillUnknown()),O=O||q._hitTestContentWidget(t,m),O=O||q._hitTestOverlayWidget(t,m),O=O||q._hitTestMinimap(t,m),O=O||q._hitTestScrollbarSlider(t,m),O=O||q._hitTestViewZone(t,m),O=O||q._hitTestMargin(t,m),O=O||q._hitTestViewCursor(t,m),O=O||q._hitTestTextArea(t,m),O=O||q._hitTestViewLines(t,m),O=O||q._hitTestScrollbar(t,m),O||s.fulfillUnknown()}static _hitTestContentWidget(t,s){if(He.isChildOfContentWidgets(s.targetPath)||He.isChildOfOverflowingContentWidgets(s.targetPath)){const m=t.findAttribute(s.target,"widgetId");return m?s.fulfillContentWidget(m):s.fulfillUnknown()}return null}static _hitTestOverlayWidget(t,s){if(He.isChildOfOverlayWidgets(s.targetPath)||He.isChildOfOverflowingOverlayWidgets(s.targetPath)){const m=t.findAttribute(s.target,"widgetId");return m?s.fulfillOverlayWidget(m):s.fulfillUnknown()}return null}static _hitTestViewCursor(t,s){if(s.target){const m=t.lastRenderData.lastViewCursorsRenderData;for(const O of m)if(s.target===O.domNode)return s.fulfillContentText(O.position,null,{mightBeForeignElement:!1,injectedText:null})}if(s.isInContentArea){const m=t.lastRenderData.lastViewCursorsRenderData,O=s.mouseContentHorizontalOffset,F=s.mouseVerticalOffset;for(const se of m){if(O<se.contentLeft||O>se.contentLeft+se.width)continue;const be=t.getVerticalOffsetForLineNumber(se.position.lineNumber);if(be<=F&&F<=be+se.height)return s.fulfillContentText(se.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(t,s){const m=t.getZoneAtCoord(s.mouseVerticalOffset);if(m){const O=s.isInContentArea?8:5;return s.fulfillViewZone(O,m.position,m)}return null}static _hitTestTextArea(t,s){return He.isTextArea(s.targetPath)?t.lastRenderData.lastTextareaPosition?s.fulfillContentText(t.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):s.fulfillTextarea():null}static _hitTestMargin(t,s){if(s.isInMarginArea){const m=t.getFullLineRangeAtCoord(s.mouseVerticalOffset),O=m.range.getStartPosition();let F=Math.abs(s.relativePos.x);const se={isAfterLines:m.isAfterLines,glyphMarginLeft:t.layoutInfo.glyphMarginLeft,glyphMarginWidth:t.layoutInfo.glyphMarginWidth,lineNumbersWidth:t.layoutInfo.lineNumbersWidth,offsetX:F};if(F-=t.layoutInfo.glyphMarginLeft,F<=t.layoutInfo.glyphMarginWidth){const be=t.viewModel.coordinatesConverter.convertViewPositionToModelPosition(m.range.getStartPosition()),Oe=t.viewModel.glyphLanes.getLanesAtLine(be.lineNumber);return se.glyphMarginLane=Oe[Math.floor(F/t.lineHeight)],s.fulfillMargin(2,O,m.range,se)}return F-=t.layoutInfo.glyphMarginWidth,F<=t.layoutInfo.lineNumbersWidth?s.fulfillMargin(3,O,m.range,se):(F-=t.layoutInfo.lineNumbersWidth,s.fulfillMargin(4,O,m.range,se))}return null}static _hitTestViewLines(t,s){if(!He.isChildOfViewLines(s.targetPath))return null;if(t.isInTopPadding(s.mouseVerticalOffset))return s.fulfillContentEmpty(new Le.y(1,1),Te);if(t.isAfterLines(s.mouseVerticalOffset)||t.isInBottomPadding(s.mouseVerticalOffset)){const O=t.viewModel.getLineCount(),F=t.viewModel.getLineMaxColumn(O);return s.fulfillContentEmpty(new Le.y(O,F),Te)}if(He.isStrictChildOfViewLines(s.targetPath)){const O=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset),F=t.viewModel.getLineLength(O),se=t.getLineWidth(O);if(F===0){const Oe=oe(s.mouseContentHorizontalOffset-se);return s.fulfillContentEmpty(new Le.y(O,1),Oe)}if(t.isRtl(O)){if(s.mouseContentHorizontalOffset+se<=t.layoutInfo.contentWidth-t.layoutInfo.verticalScrollbarWidth){const Oe=oe(s.mouseContentHorizontalOffset-se),it=ne
227w Le.y(O,t.viewModel.getLineMaxColumn(O));return s.fulfillContentEmpty(it,Oe)}}else if(s.mouseContentHorizontalOffset>=se){const Oe=oe(s.mouseContentHorizontalOffset-se),it=new Le.y(O,t.viewModel.getLineMaxColumn(O));return s.fulfillContentEmpty(it,Oe)}}else if(t.viewLinesGpu){const O=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset);if(t.viewModel.getLineLength(O)===0){const Oe=t.getLineWidth(O),it=oe(s.mouseContentHorizontalOffset-Oe);return s.fulfillContentEmpty(new Le.y(O,1),it)}const F=t.getLineWidth(O);if(t.isRtl(O)){if(s.mouseContentHorizontalOffset+F<=t.layoutInfo.contentWidth-t.layoutInfo.verticalScrollbarWidth){const Oe=oe(s.mouseContentHorizontalOffset-F),it=new Le.y(O,t.viewModel.getLineMaxColumn(O));return s.fulfillContentEmpty(it,Oe)}}else if(s.mouseContentHorizontalOffset>=F){const Oe=oe(s.mouseContentHorizontalOffset-F),it=new Le.y(O,t.viewModel.getLineMaxColumn(O));return s.fulfillContentEmpty(it,Oe)}const be=t.viewLinesGpu.getPositionAtCoordinate(O,s.mouseContentHorizontalOffset);if(be){const Oe={injectedText:null,mightBeForeignElement:!1};return s.fulfillContentText(be,_e.Q.fromPositions(be,be),Oe)}}const m=s.hitTestResult.value;return m.type===1?q.createMouseTargetFromHitTestPosition(t,s,m.spanNode,m.position,m.injectedText):s.wouldBenefitFromHitTestTargetSwitch?(s.switchToHitTestTarget(),this._createMouseTarget(t,s)):s.fulfillUnknown()}static _hitTestMinimap(t,s){if(He.isChildOfMinimap(s.targetPath)){const m=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset),O=t.viewModel.getLineMaxColumn(m);return s.fulfillScrollbar(new Le.y(m,O))}return null}static _hitTestScrollbarSlider(t,s){if(He.isChildOfScrollableElement(s.targetPath)&&s.target&&s.target.nodeType===1){const m=s.target.className;if(m&&/\b(slider|scrollbar)\b/.test(m)){const O=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset),F=t.viewModel.getLineMaxColumn(O);return s.fulfillScrollbar(new Le.y(O,F))}}return null}static _hitTestScrollbar(t,s){if(He.isChildOfScrollableElement(s.targetPath)){const m=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset),O=t.viewModel.getLineMaxColumn(m);return s.fulfillScrollbar(new Le.y(m,O))}return null}getMouseColumn(t){const s=this._context.configuration.options,m=s.get(165),O=this._context.viewLayout.getCurrentScrollLeft()+t.x-m.contentLeft;return q._getMouseColumn(O,s.get(59).typicalHalfwidthCharacterWidth)}static _getMouseColumn(t,s){return t<0?1:Math.round(t/s)+1}static createMouseTargetFromHitTestPosition(t,s,m,O,F){const se=O.lineNumber,be=O.column,Oe=t.getLineWidth(se);if(s.mouseContentHorizontalOffset>Oe){const oi=oe(s.mouseContentHorizontalOffset-Oe);return s.fulfillContentEmpty(O,oi)}const it=t.visibleRangeForPosition(se,be);if(!it)return s.fulfillUnknown(O);const ct=it.left;if(Math.abs(s.mouseContentHorizontalOffset-ct)<1)return s.fulfillContentText(O,null,{mightBeForeignElement:!!F,injectedText:F});const lt=[];if(lt.push({offset:it.left,column:be}),be>1){const oi=t.visibleRangeForPosition(se,be-1);oi&&lt.push({offset:oi.left,column:be-1})}const Dt=t.viewModel.getLineMaxColumn(se);if(be<Dt){const oi=t.visibleRangeForPosition(se,be+1);oi&&lt.push({offset:oi.left,column:be+1})}lt.sort((oi,yi)=>oi.offset-yi.offset);const It=s.pos.toClientCoordinates((0,b.zk)(t.viewDomNode)),Ut=m.getBoundingClientRect(),ti=Ut.left<=It.clientX&&It.clientX<=Ut.right;let ii=null;for(let oi=1;oi<lt.length;oi++){const yi=lt[oi-1],Ti=lt[oi];if(yi.offset<=s.mouseContentHorizontalOffset&&s.mouseContentHorizontalOffset<=Ti.offset){ii=new _e.Q(se,yi.column,se,Ti.column);const ji=Math.abs(yi.offset-s.mouseContentHorizontalOffset),an=Math.abs(Ti.offset-s.mouseContentHorizontalOffset);O=ji<an?new Le.y(se,yi.column):new Le.y(se,Ti.column);break}}return s.fulfillContentText(O,ii,{mightBeForeignElement:!ti||!!F,injectedText:F})}static _doHitTestWithCaretRangeFromPoint(t,s){const m=t.getLineNumberAtVerticalOffset(s.mouseVerticalOffset),O=t.getVerticalOffsetForLineNumber(m),F=O+t.lineHeight;if(!(m===t.viewModel.getLineCount()&&s.mouseVerticalOffset>F)){const be=Math.floor((O+F)/2);let Oe=s.pos.y+(be-s.mouseVerticalOffset);Oe<=s.editorPos.y&&(Oe=s.editorPos.y+1),Oe>=s.editorPos.y+s.editorPos.height&&(Oe=s.editorPos.y+s.editorPos.height-1);const it=new xe.nz(s.pos.x,Oe),ct=this._actualDoHitTestWithCaretRangeFromPoint(t,it.toClientCoordinates((0,b.zk)(t.viewDomNode)));if(ct.type===1)return ct}return this._actualDoHitTestWithCaretRangeFromPoint(t,s.pos.toClientCoordinates((0,b.zk)(t.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(t,s){const m=(0,b.jG)(t.viewDomNode);let O;if(m?typeof m.caretRangeFromPoint>"u"?O=ue(m,s.clientX,s.clientY):O=m.caretRangeFromPoint(s.clientX,s.clientY):O=t.viewDomNode.ownerDocument.caretRangeFromPoint(s.clientX,s.clientY),!O||!O.startContainer)return new Ie;const F=O.startContainer;if(F.nodeType===F.TEXT_NODE){const se=F.parentNode,be=se?se.parentNode:null,Oe=be?be.parentNode:null;return(Oe&&Oe.nodeType===Oe.ELEMENT_NODE?Oe.className:null)===Me.G.CLASS_NAME?$e.createFromDOMInfo(t,se,O.startOffset):new Ie(F.parentNode)}else if(F.nodeType===F.ELEMENT_NODE){const se=F.parentNode,be=se?se.parentNode:null;return(be&&be.nodeType===be.ELEMENT_NODE?be.className:null)===Me.G.CLASS_NAME?$e.createFromDOMInfo(t,F,F.textContent.length):new Ie(F)}return new Ie}static _doHitTestWithCaretPositionFromPoint(t,s){const m=t.viewDomNode.ownerDocument.caretPositionFromPoint(s.clientX,s.clientY);if(m.offsetNode.nodeType===m.offsetNode.TEXT_NODE){const O=m.offsetNode.parentNode,F=O?O.parentNode:null,se=F?F.parentNode:null;return(se&&se.nodeType===se.ELEMENT_NODE?se.className:null)===Me.G.CLASS_NAME?$e.createFromDOMInfo(t,m.offsetNode.parentNode,m.offset):new Ie(m.offsetNode.parentNode)}if(m.offsetNode.nodeType===m.offsetNode.ELEMENT_NODE){const O=m.offsetNode.parentNode,F=O&&O.nodeType===O.ELEMENT_NODE?O.className:null,se=O?O.parentNode:null,be=se&&se.nodeType===se.ELEMENT_NODE?se.className:null;if(F===Me.G.CLASS_NAME){const Oe=m.offsetNode.childNodes[Math.min(m.offset,m.offsetNode.childNodes.length-1)];if(Oe)return $e.createFromDOMInfo(t,Oe,0)}else if(be===Me.G.CLASS_NAME)return $e.createFromDOMInfo(t,m.offsetNode,0)}return new Ie(m.offsetNode)}static _snapToSoftTabBoundary(t,s){const m=s.getLineContent(t.lineNumber),{tabSize:O}=s.model.getOptions(),F=je.s.atomicPosition(m,t.column-1,O,2);return F!==-1?new Le.y(t.lineNumber,F+1):t}
227static doHitTest(t,s){let m=new Ie;if(typeof t.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?m=this._doHitTestWithCaretRangeFromPoint(t,s):t.viewDomNode.ownerDocument.caretPositionFromPoint&&(m=this._doHitTestWithCaretPositionFromPoint(t,s.pos.toClientCoordinates((0,b.zk)(t.viewDomNode)))),m.type===1){const O=t.viewModel.getInjectedTextAt(m.position),F=t.viewModel.normalizePosition(m.position,2);(O||!F.equals(m.position))&&(m=new Ue(F,m.spanNode,O))}return m}}function ue(ft,t,s){const m=document.createRange();let O=ft.elementFromPoint(t,s);if(O?.hasChildNodes()){for(;O&&O.firstChild&&O.firstChild.nodeType!==O.firstChild.TEXT_NODE&&O.lastChild&&O.lastChild.firstChild;)O=O.lastChild;const F=O.getBoundingClientRect(),be=(0,b.zk)(O).getComputedStyle(O,null),Oe=be.getPropertyValue("font-style"),it=be.getPropertyValue("font-variant"),ct=be.getPropertyValue("font-weight"),lt=be.getPropertyValue("font-size"),Dt=be.getPropertyValue("line-height"),It=be.getPropertyValue("font-family"),Ut=`${Oe} ${it} ${ct} ${lt}/${Dt} ${It}`,ti=O.innerText;let ii=F.left,oi=0,yi;if(t>F.left+F.width)oi=ti.length;else{const Ti=J.getInstance();for(let ji=0;ji<ti.length+1;ji++){if(yi=Ti.getCharWidth(ti.charAt(ji),Ut)/2,ii+=yi,t<ii){oi=ji;break}ii+=yi}}m.setStart(O.firstChild,oi),m.setEnd(O.firstChild,oi)}return m}const Ha=class Ha{static getInstance(){return Ha._INSTANCE||(Ha._INSTANCE=new Ha),Ha._INSTANCE}constructor(){this._cache={},this._canvas=document.createElement("canvas")}getCharWidth(t,s){const m=t+s;if(this._cache[m])return this._cache[m];const O=this._canvas.getContext("2d");O.font=s;const se=O.measureText(t).width;return this._cache[m]=se,se}};Ha._INSTANCE=null;let J=Ha;var ve=e(51577),De=e(30474),fe=e(48877),Se=e(9715),pe=e(93702),Ae=e(16831);class Xe extends i.jG{constructor(t,s,m,O){super(),this._context=t,this._viewHelper=s,this._mouseTargetFactory=m,this._dispatchMouse=O,this._operation=null}dispose(){super.dispose(),this.stop()}start(t,s){this._operation?this._operation.setPosition(t,s):this._operation=this._createDragScrollingOperation(t,s)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class dt extends i.jG{constructor(t,s,m,O,F,se){super(),this._context=t,this._viewHelper=s,this._mouseTargetFactory=m,this._dispatchMouse=O,this._position=F,this._mouseEvent=se,this._lastTime=Date.now(),this._animationFrameDisposable=(0,b.PG)((0,b.zk)(se.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(t,s){this._position=t,this._mouseEvent=s}_tick(){const t=Date.now(),s=t-this._lastTime;return this._lastTime=t,s}}class gt extends Xe{_createDragScrollingOperation(t,s){return new Bt(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,t,s)}}class Bt extends dt{_getScrollSpeed(){const t=this._context.configuration.options.get(75),s=this._context.configuration.options.get(165).height/t,m=this._position.outsideDistance/t;return m<=1.5?Math.max(30,s*(1+m)):m<=3?Math.max(60,s*(2+m)):Math.max(200,s*(7+m))}_execute(){const t=this._context.configuration.options.get(75),s=this._getScrollSpeed(),m=this._tick(),O=s*(m/1e3)*t,F=this._position.outsidePosition==="above"?-O:O;this._context.viewModel.viewLayout.deltaScrollNow(0,F),this._viewHelper.renderNow();const se=this._context.viewLayout.getLinesViewportData(),be=this._position.outsidePosition==="above"?se.startLineNumber:se.endLineNumber,Oe=this._position.outsidePosition==="above"?se.startLineNumber===1:se.endLineNumber===this._context.viewModel.getLineCount();let it;{const ct=(0,xe.wt)(this._viewHelper.viewDomNode),lt=this._context.configuration.options.get(165).horizontalScrollbarHeight,Dt=new xe.nz(this._mouseEvent.pos.x,ct.y+ct.height-lt-.1),It=(0,xe.i_)(this._viewHelper.viewDomNode,ct,Dt);it=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),ct,Dt,It,null)}(!it.position||it.position.lineNumber!==be||Oe)&&(this._position.outsidePosition==="above"?it=Ce.createOutsideEditor(this._position.mouseColumn,new Le.y(be,1),"above",this._position.outsideDistance):it=Ce.createOutsideEditor(this._position.mouseColumn,new Le.y(be,this._context.viewModel.getLineMaxColumn(be)),"below",this._position.outsideDistance)),this._dispatchMouse(it,!0,2),this._animationFrameDisposable=(0,b.PG)((0,b.zk)(it.element),()=>this._execute())}}class _t extends Xe{_createDragScrollingOperation(t,s){return new ri(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,t,s
227)}}class ri extends dt{_getScrollSpeed(){const t=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,s=this._context.configuration.options.get(165).contentWidth/t,m=this._position.outsideDistance/t;return m<=1.5?Math.max(30,s*(1+m)):m<=3?Math.max(60,s*(2+m)):Math.max(200,s*(7+m))}_execute(){const t=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,s=this._getScrollSpeed(),m=this._tick(),O=s*(m/1e3)*t*.5,F=this._position.outsidePosition==="left"?-O:O;if(this._context.viewModel.viewLayout.deltaScrollNow(F,0),this._viewHelper.renderNow(),!this._position.position)return;const se=this._position.position.lineNumber;let be;{const Oe=(0,xe.wt)(this._viewHelper.viewDomNode),it=this._context.configuration.options.get(165).horizontalScrollbarHeight,ct=new xe.nz(this._mouseEvent.pos.x,Oe.y+Oe.height-it-.1),lt=(0,xe.i_)(this._viewHelper.viewDomNode,Oe,ct);be=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),Oe,ct,lt,null)}this._position.outsidePosition==="left"?be=Ce.createOutsideEditor(be.mouseColumn,new Le.y(se,be.mouseColumn),"left",this._position.outsideDistance):be=Ce.createOutsideEditor(be.mouseColumn,new Le.y(se,be.mouseColumn),"right",this._position.outsideDistance),this._dispatchMouse(be,!0,2),this._animationFrameDisposable=(0,b.PG)((0,b.zk)(be.element),()=>this._execute())}}class Gt extends Be.i{constructor(t,s,m){super(),this._mouseLeaveMonitor=null,this._context=t,this.viewController=s,this.viewHelper=m,this.mouseTargetFactory=new q(this._context,m),this._mouseDownOperation=this._register(new ei(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(se,be)=>this._createMouseTarget(se,be),se=>this._getMouseColumn(se))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(165).height;const O=new xe.$z(this.viewHelper.viewDomNode);this._register(O.onContextMenu(this.viewHelper.viewDomNode,se=>this._onContextMenu(se,!0))),this._register(O.onMouseMove(this.viewHelper.viewDomNode,se=>{this._onMouseMove(se),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=(0,b.ko)(this.viewHelper.viewDomNode.ownerDocument,"mousemove",be=>{this.viewHelper.viewDomNode.contains(be.target)||this._onMouseLeave(new xe.dO(be,!1,this.viewHelper.viewDomNode))}))})),this._register(O.onMouseUp(this.viewHelper.viewDomNode,se=>this._onMouseUp(se))),this._register(O.onMouseLeave(this.viewHelper.viewDomNode,se=>this._onMouseLeave(se)));let F=0;this._register(O.onPointerDown(this.viewHelper.viewDomNode,(se,be)=>{F=be})),this._register((0,b.ko)(this.viewHelper.viewDomNode,b.Bx.POINTER_UP,se=>{this._mouseDownOperation.onPointerUp()})),this._register(O.onMouseDown(this.viewHelper.viewDomNode,se=>this._onMouseDown(se,F))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const t=Ae.QC.INSTANCE;let s=0,m=U.D.getZoomLevel(),O=!1,F=0;const se=Oe=>{if(this.viewController.emitMouseWheel(Oe),!this._context.configuration.options.get(84))return;const it=new Se.$(Oe);if(t.acceptStandardWheelEvent(it),t.isPhysicalMouseWheel()){if(be(Oe)){const ct=U.D.getZoomLevel(),lt=it.deltaY>0?1:-1;U.D.setZoomLevel(ct+lt),it.preventDefault(),it.stopPropagation()}}else Date.now()-s>50&&(m=U.D.getZoomLevel(),O=be(Oe),F=0),s=Date.now(),F+=it.deltaY,O&&(U.D.setZoomLevel(m+F/5),it.preventDefault(),it.stopPropagation())};this._register((0,b.ko)(this.viewHelper.viewDomNode,b.Bx.MOUSE_WHEEL,se,{capture:!0,passive:!1}));function be(Oe){return a.zx?(Oe.metaKey||Oe.ctrlKey)&&!Oe.shiftKey&&!Oe.altKey:Oe.ctrlKey&&!Oe.metaKey&&!Oe.shiftKey&&!Oe.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(t){if(t.hasChanged(165)){const s=this._context.configuration.options.get(165).height;this._height!==s&&(this._height=s,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(t){return this._mouseDownOperation.onCursorStateChanged(t),!1}onFocusChanged(t){return!1}getTargetAtClientPoint(t,s){const O=new xe.Hh(t,s).toPageCoordinates((0,b.zk)(this.viewHelper.viewDomNode)),F=(0,xe.wt)(this.viewHelper.viewDomNode);
227if(O.y<F.y||O.y>F.y+F.height||O.x<F.x||O.x>F.x+F.width)return null;const se=(0,xe.i_)(this.viewHelper.viewDomNode,F,O);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),F,O,se,null)}_createMouseTarget(t,s){let m=t.target;if(!this.viewHelper.viewDomNode.contains(m)){const O=(0,b.jG)(this.viewHelper.viewDomNode);O&&(m=O.elementsFromPoint(t.posx,t.posy).find(se=>this.viewHelper.viewDomNode.contains(se))??null)}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),t.editorPos,t.pos,t.relativePos,s?m:null)}_getMouseColumn(t){return this.mouseTargetFactory.getMouseColumn(t.relativePos)}_onContextMenu(t,s){this.viewController.emitContextMenu({event:t,target:this._createMouseTarget(t,s)})}_onMouseMove(t){this.mouseTargetFactory.mouseTargetIsWidget(t)||t.preventDefault(),!(this._mouseDownOperation.isActive()||t.timestamp<this.lastMouseLeaveTime)&&this.viewController.emitMouseMove({event:t,target:this._createMouseTarget(t,!0)})}_onMouseLeave(t){this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:t,target:null})}_onMouseUp(t){this.viewController.emitMouseUp({event:t,target:this._createMouseTarget(t,!0)})}_onMouseDown(t,s){const m=this._createMouseTarget(t,!0),O=m.type===6||m.type===7,F=m.type===2||m.type===3||m.type===4,se=m.type===3,be=this._context.configuration.options.get(125),Oe=m.type===8||m.type===5,it=m.type===9;let ct=t.leftButton||t.middleButton;a.zx&&t.leftButton&&t.ctrlKey&&(ct=!1);const lt=()=>{t.preventDefault(),this.viewHelper.focusTextArea()};if(ct&&(O||se&&be))lt(),this._mouseDownOperation.start(m.type,t,s);else if(F)t.preventDefault();else if(Oe){const Dt=m.detail;ct&&this.viewHelper.shouldSuppressMouseDownOnViewZone(Dt.viewZoneId)&&(lt(),this._mouseDownOperation.start(m.type,t,s),t.preventDefault())}else it&&this.viewHelper.shouldSuppressMouseDownOnWidget(m.detail)&&(lt(),t.preventDefault());this.viewController.emitMouseDown({event:t,target:m})}}class ei extends i.jG{constructor(t,s,m,O,F,se){super(),this._context=t,this._viewController=s,this._viewHelper=m,this._mouseTargetFactory=O,this._createMouseTarget=F,this._getMouseColumn=se,this._mouseMoveMonitor=this._register(new xe.BA(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new gt(this._context,this._viewHelper,this._mouseTargetFactory,(be,Oe,it)=>this._dispatchMouse(be,Oe,it))),this._leftRightDragScrolling=this._register(new _t(this._context,this._viewHelper,this._mouseTargetFactory,(be,Oe,it)=>this._dispatchMouse(be,Oe,it))),this._mouseState=new Zt,this._currentSelection=new pe.L(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}isActive(){return this._isActive}_onMouseDownThenMove(t){this._lastMouseEvent=t,this._mouseState.setModifiers(t);const s=this._findMousePosition(t,!1);s&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:t,target:s}):s.type===13?s.outsidePosition==="above"||s.outsidePosition==="below"?(this._topBottomDragScrolling.start(s,t),this._leftRightDragScrolling.stop()):(this._leftRightDragScrolling.start(s,t),this._topBottomDragScrolling.stop()):(this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop(),this._dispatchMouse(s,!0,1)))}start(t,s,m){this._lastMouseEvent=s,this._mouseState.setStartedOnLineNumbers(t===3),this._mouseState.setStartButtons(s),this._mouseState.setModifiers(s);const O=this._findMousePosition(s,!0);if(!O||!O.position)return;this._mouseState.trySetCount(s.detail,O.position),s.detail=this._mouseState.count;const F=this._context.configuration.options;if(!F.get(104)&&F.get(42)&&!F.get(28)&&!this._mouseState.altKey&&s.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&O.type===6&&O.position&&this._currentSelection.containsPosition(O.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,m,s.buttons,se=>this._onMouseDownThenMove(se),se=>{const be=this._findMousePosition(this._lastMouseEvent,!1);(0,b.kx)(se)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:be?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}
227this._mouseState.isDragAndDrop=!1,this._dispatchMouse(O,s.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,m,s.buttons,se=>this._onMouseDownThenMove(se),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(t){this._currentSelection=t.selections[0]}_getPositionOutsideEditor(t){const s=t.editorPos,m=this._context.viewModel,O=this._context.viewLayout,F=this._getMouseColumn(t);if(t.posy<s.y){const lt=s.y-t.posy,Dt=Math.max(O.getCurrentScrollTop()-lt,0),It=Ke.getZoneAtCoord(this._context,Dt);if(It){const ti=this._helpPositionJumpOverViewZone(It);if(ti)return Ce.createOutsideEditor(F,ti,"above",lt)}const Ut=O.getLineNumberAtVerticalOffset(Dt);return Ce.createOutsideEditor(F,new Le.y(Ut,1),"above",lt)}if(t.posy>s.y+s.height){const lt=t.posy-s.y-s.height,Dt=O.getCurrentScrollTop()+t.relativePos.y,It=Ke.getZoneAtCoord(this._context,Dt);if(It){const ti=this._helpPositionJumpOverViewZone(It);if(ti)return Ce.createOutsideEditor(F,ti,"below",lt)}const Ut=O.getLineNumberAtVerticalOffset(Dt);return Ce.createOutsideEditor(F,new Le.y(Ut,m.getLineMaxColumn(Ut)),"below",lt)}const se=O.getLineNumberAtVerticalOffset(O.getCurrentScrollTop()+t.relativePos.y),be=this._context.configuration.options.get(165),Oe=be.contentLeft;if(t.relativePos.x<=Oe){const lt=Oe-t.relativePos.x,Dt=m.getTextDirection(se)===ae.z4.RTL;return Ce.createOutsideEditor(F,new Le.y(se,Dt?m.getLineMaxColumn(se):1),"left",lt)}const ct=be.minimap.minimapLeft===0?be.width-be.verticalScrollbarWidth:be.minimap.minimapLeft;if(t.relativePos.x>=ct){const lt=t.relativePos.x-ct,Dt=m.getTextDirection(se)===ae.z4.RTL;return Ce.createOutsideEditor(F,new Le.y(se,Dt?1:m.getLineMaxColumn(se)),"right",lt)}return null}_findMousePosition(t,s){const m=this._getPositionOutsideEditor(t);if(m)return m;const O=this._createMouseTarget(t,s);if(!O.position)return null;if(O.type===8||O.type===5){const se=this._helpPositionJumpOverViewZone(O.detail);if(se)return Ce.createViewZone(O.type,O.element,O.mouseColumn,se,O.detail)}return O}_helpPositionJumpOverViewZone(t){const s=new Le.y(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),m=t.positionBefore,O=t.positionAfter;return m&&O?m.isBefore(s)?m:O:null}_dispatchMouse(t,s,m){t.position&&this._viewController.dispatchMouse({position:t.position,mouseColumn:t.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:m,inSelectionMode:s,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:t.type===6&&t.detail.injectedText!==null})}}const ba=class ba{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(t){this._altKey=t.altKey,this._ctrlKey=t.ctrlKey,this._metaKey=t.metaKey,this._shiftKey=t.shiftKey}setStartButtons(t){this._leftButton=t.leftButton,this._middleButton=t.middleButton}setStartedOnLineNumbers(t){this._startedOnLineNumbers=t}trySetCount(t,s){const m=new Date().getTime();m-this._lastSetMouseDownCountTime>ba.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=m,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(s)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=s,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}};ba.CLEAR_MOUSE_DOWN_COUNT_TIME=400;let Zt=ba;var pt=e(34061),Fe=e(87594),st=e(65958),vt=e(16844),Yt=e(46441),Si=e(71739);const ia=class ia{constructor(t,s,m,O,F){this.value=t,this.selectionStart=s,this.selectionEnd=m,this.selection=O,this.newlineCountBeforeSelection=F}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t,s){const m=t.getValue(),O=t.getSelectionStart(),F=t.getSelectionEnd();let se;if(s){const be=m.substring(0,O),Oe=s.value.substring(0,s.selectionStart);be===Oe&&(se=s.newlineCountBeforeSelection)}return new ia(m,O,F,null,se)}collapseSelection(){return this.selectionStart===this.value.length?this:new ia(this.value,this.value.length,this.value.length,null,void 0)}isWrittenToTextArea(t,s){const m=this.value===t.getValue();return s?this.selectionStart===t.getSelectionStart()&&this.selectionEnd===t.getSelectionEnd()&&m:m}writeToTextArea(t,s,m){s.setValue(t,this.value),m&&s.setSelectionRange(t,this.selectionStart,this.selectionEnd)}deduceEditorPosition(t){if(t<=this.selectionStart){const O=this.value.substring(t,this.selectionStart);return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,O,-1)}if(t>=this.selectionEnd){const O=this.value.substring(this.selectionEnd,t);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,O,1)}const s=this.value.substring(this.selectionStart,t);if(s.indexOf("\u2026")===-1)return this._finishDeduceEditorPosition(this.selection?.getStartPosition()??null,s,1);const m=this.value.substring(t,this.selectionEnd);return this._finishDeduceEditorPosition(this.selection?.getEndPosition()??null,m,-1)}
227_finishDeduceEditorPosition(t,s,m){let O=0,F=-1;for(;(F=s.indexOf(`
228`,F+1))!==-1;)O++;return[t,m*s.length,O]}static deduceInput(t,s,m){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const O=Math.min((0,vt.Qp)(t.value,s.value),t.selectionStart,s.selectionStart),F=Math.min((0,vt.Vi)(t.value,s.value),t.value.length-t.selectionEnd,s.value.length-s.selectionEnd);t.value.substring(O,t.value.length-F);const se=s.value.substring(O,s.value.length-F),be=t.selectionStart-O,Oe=t.selectionEnd-O,it=s.selectionStart-O,ct=s.selectionEnd-O;if(it===ct){const Dt=t.selectionStart-O;return{text:se,replacePrevCharCnt:Dt,replaceNextCharCnt:0,positionDelta:0}}const lt=Oe-be;return{text:se,replacePrevCharCnt:lt,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(t,s){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(t.value===s.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:s.selectionEnd-t.selectionEnd};const m=Math.min((0,vt.Qp)(t.value,s.value),t.selectionEnd),O=Math.min((0,vt.Vi)(t.value,s.value),t.value.length-t.selectionEnd),F=t.value.substring(m,t.value.length-O),se=s.value.substring(m,s.value.length-O);t.selectionStart-m;const be=t.selectionEnd-m;s.selectionStart-m;const Oe=s.selectionEnd-m;return{text:se,replacePrevCharCnt:be,replaceNextCharCnt:F.length-be,positionDelta:Oe-se.length}}static fromScreenReaderContentState(t){let s,m;switch(t.selection.getDirection()){case 0:s=t.selectionStart,m=t.selectionEnd;break;case 1:s=t.selectionEnd,m=t.selectionStart;break}return new ia(t.value,s,m,t.selection,t.newlineCountBeforeSelection)}};ia.EMPTY=new ia("",0,0,null,void 0);let Bi=ia;var pi=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},$i=function(ft,t){return function(s,m){t(s,m,ft)}},fn;(function(ft){ft.Tap="-monaco-textarea-synthetic-tap"})(fn||(fn={}));class Sn{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(t){t=t||"";const s={text:t,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=t.length,s}}let On=class extends i.jG{get textAreaState(){return this._textAreaState}constructor(t,s,m,O,F,se){super(),this._host=t,this._textArea=s,this._OS=m,this._browser=O,this._accessibilityService=F,this._logService=se,this._onFocus=this._register(new u.vl),this.onFocus=this._onFocus.event,this._onBlur=this._register(new u.vl),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new u.vl),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new u.vl),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new u.vl),this.onCut=this._onCut.event,this._onPaste=this._register(new u.vl),this.onPaste=this._onPaste.event,this._onWillCopy=this._register(new u.vl),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new u.vl),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new u.vl),this.onWillPaste=this._onWillPaste.event,this._onType=this._register(new u.vl),this.onType=this._onType.event,this._onCompositionStart=this._register(new u.vl),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new u.vl),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new u.vl),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new u.vl),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new i.HE),this._asyncTriggerCut=this._register(new st.uC(()=>this._onCut.fire(),0)),this._textAreaState=Bi.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(u.Jh.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=new st.uC(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0):this._asyncFocusGainWriteScreenReaderContent.clear()}
228)),this._hasFocus=!1,this._currentComposition=null;let be=null;this._register(this._textArea.onKeyDown(Oe=>{const it=new Fe.Z(Oe);(it.keyCode===114||this._currentComposition&&it.keyCode===1)&&it.stopPropagation(),it.equals(9)&&it.preventDefault(),be=it,this._onKeyDown.fire(it)})),this._register(this._textArea.onKeyUp(Oe=>{const it=new Fe.Z(Oe);this._onKeyUp.fire(it)})),this._register(this._textArea.onCompositionStart(Oe=>{const it=new Sn;if(this._currentComposition){this._currentComposition=it;return}if(this._currentComposition=it,this._OS===2&&be&&be.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===Oe.data&&(be.code==="ArrowRight"||be.code==="ArrowLeft")){it.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:Oe.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:Oe.data});return}this._onCompositionStart.fire({data:Oe.data})})),this._register(this._textArea.onCompositionUpdate(Oe=>{const it=this._currentComposition;if(!it)return;if(this._browser.isAndroid){const lt=Bi.readFromTextArea(this._textArea,this._textAreaState),Dt=Bi.deduceAndroidCompositionInput(this._textAreaState,lt);this._textAreaState=lt,this._onType.fire(Dt),this._onCompositionUpdate.fire(Oe);return}const ct=it.handleCompositionUpdate(Oe.data);this._textAreaState=Bi.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(ct),this._onCompositionUpdate.fire(Oe)})),this._register(this._textArea.onCompositionEnd(Oe=>{const it=this._currentComposition;if(!it)return;if(this._currentComposition=null,this._browser.isAndroid){const lt=Bi.readFromTextArea(this._textArea,this._textAreaState),Dt=Bi.deduceAndroidCompositionInput(this._textAreaState,lt);this._textAreaState=lt,this._onType.fire(Dt),this._onCompositionEnd.fire();return}const ct=it.handleCompositionUpdate(Oe.data);this._textAreaState=Bi.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(ct),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(Oe=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const it=Bi.readFromTextArea(this._textArea,this._textAreaState),ct=Bi.deduceInput(this._textAreaState,it,this._OS===2);ct.replacePrevCharCnt===0&&ct.text.length===1&&((0,vt.pc)(ct.text.charCodeAt(0))||ct.text.charCodeAt(0)===127)||(this._textAreaState=it,(ct.text!==""||ct.replacePrevCharCnt!==0||ct.replaceNextCharCnt!==0||ct.positionDelta!==0)&&(Oe.inputType==="insertFromPaste"?this._onPaste.fire({text:ct.text,metadata:Si.bs.INSTANCE.get(ct.text)}):this._onType.fire(ct)))})),this._register(this._textArea.onCut(Oe=>{this._logService.trace("TextAreaInput#onCut",Oe);const it=(0,Si.y)(Oe,!0,this._host.context,this._logService,this._browser.isFirefox);this._onWillCut.fire(it),!it.isHandled&&(this._textArea.setIgnoreSelectionChangeTime("received cut event"),it.ensureClipboardGetsEditorData(),this._asyncTriggerCut.schedule())})),this._register(this._textArea.onCopy(Oe=>{this._logService.trace("TextAreaInput#onCopy",Oe),Si.Eq.electronBugWorkaroundCopyEventHasFired=!0;const it=(0,Si.y)(Oe,!1,this._host.context,this._logService,this._browser.isFirefox);this._onWillCopy.fire(it),!it.isHandled&&it.ensureClipboardGetsEditorData()})),this._register(this._textArea.onPaste(Oe=>{this._logService.trace("TextAreaInput#onPaste",Oe);const it=(0,Si.wL)(Oe);this._onWillPaste.fire(it),!it.isHandled&&(this._textArea.setIgnoreSelectionChangeTime("received paste event"),Oe.preventDefault(),this._logService.trace("TextAreaInput#onPaste with id : ",it.metadata?.id," with text.length: ",it.text.length),it.text&&(this._logService.trace("TextAreaInput#onPaste (before onPaste)"),this._onPaste.fire({text:it.text,metadata:it.metadata})))})),this._register(this._textArea.onFocus(()=>{const Oe=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!Oe&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new st.uC(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}
228)),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let t=0;return(0,b.ko)(this._textArea.ownerDocument,"selectionchange",s=>{if(we.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const m=Date.now(),O=m-t;if(t=m,O<5)return;const F=m-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),F<100||!this._textAreaState.selection)return;const se=this._textArea.getValue();if(this._textAreaState.value!==se)return;const be=this._textArea.getSelectionStart(),Oe=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===be&&this._textAreaState.selectionEnd===Oe)return;const it=this._textAreaState.deduceEditorPosition(be),ct=this._host.deduceModelPosition(it[0],it[1],it[2]),lt=this._textAreaState.deduceEditorPosition(Oe),Dt=this._host.deduceModelPosition(lt[0],lt[1],lt[2]),It=new pe.L(ct.lineNumber,ct.column,Dt.lineNumber,Dt.column);this._onSelectionChangeRequest.fire(It)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(t){this._hasFocus!==t&&(this._hasFocus=t,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(t,s){this._hasFocus||(s=s.collapseSelection()),s.isWrittenToTextArea(this._textArea,this._hasFocus)||this._logService.trace(`writeTextAreaState(reason: ${t})`),s.writeToTextArea(t,this._textArea,this._hasFocus),this._textAreaState=s}writeNativeTextAreaContent(t){!this._accessibilityService.isScreenReaderOptimized()&&t==="render"||this._currentComposition||this._setAndWriteTextAreaState(t,this._host.getScreenReaderContent())}};On=pi([$i(4,te.j),$i(5,Yt.rr)],On);class Dn extends i.jG{get ownerDocument(){return this._actual.ownerDocument}
228constructor(t){super(),this._actual=t,this._onSyntheticTap=this._register(new u.vl),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this.onKeyDown=this._register(new pt.f(this._actual,"keydown")).event,this.onKeyPress=this._register(new pt.f(this._actual,"keypress")).event,this.onKeyUp=this._register(new pt.f(this._actual,"keyup")).event,this.onCompositionStart=this._register(new pt.f(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new pt.f(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new pt.f(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new pt.f(this._actual,"beforeinput")).event,this.onInput=this._register(new pt.f(this._actual,"input")).event,this.onCut=this._register(new pt.f(this._actual,"cut")).event,this.onCopy=this._register(new pt.f(this._actual,"copy")).event,this.onPaste=this._register(new pt.f(this._actual,"paste")).event,this.onFocus=this._register(new pt.f(this._actual,"focus")).event,this.onBlur=this._register(new pt.f(this._actual,"blur")).event,this._register(this.onKeyDown(()=>we.onKeyDown())),this._register(this.onBeforeInput(()=>we.onBeforeInput())),this._register(this.onInput(()=>we.onInput())),this._register(this.onKeyUp(()=>we.onKeyUp())),this._register((0,b.ko)(this._actual,fn.Tap,()=>
228this._onSyntheticTap.fire()))}hasFocus(){const t=(0,b.jG)(this._actual);return t?t.activeElement===this._actual:this._actual.isConnected?(0,b.bq)()===this._actual:!1}setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(t,s){const m=this._actual;m.value!==s&&(this.setIgnoreSelectionChangeTime("setValue"),m.value=s)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(t,s,m){const O=this._actual;let F=null;const se=(0,b.jG)(O);se?F=se.activeElement:F=(0,b.bq)();const be=(0,b.zk)(F),Oe=F===O,it=O.selectionStart,ct=O.selectionEnd;if(Oe&&it===s&&ct===m){l.gm&&be.parent!==be&&O.focus();return}if(Oe){this.setIgnoreSelectionChangeTime("setSelectionRange"),O.setSelectionRange(s,m),l.gm&&be.parent!==be&&O.focus();return}try{const lt=(0,b.zK)(O);this.setIgnoreSelectionChangeTime("setSelectionRange"),O.focus(),O.setSelectionRange(s,m),(0,b.wk)(O,lt)}catch{}}}class Qn extends Gt{constructor(t,s,m){super(t,s,m),this._register(De.q.addTarget(this.viewHelper.linesContentDomNode)),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Tap,F=>this.onTap(F))),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Change,F=>this.onChange(F))),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Contextmenu,F=>this._onContextMenu(new xe.dO(F,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register((0,b.ko)(this.viewHelper.linesContentDomNode,"pointerdown",F=>{const se=F.pointerType;if(se==="mouse"){this._lastPointerType="mouse";return}else se==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const O=new xe.DW(this.viewHelper.viewDomNode);this._register(O.onPointerMove(this.viewHelper.viewDomNode,F=>this._onMouseMove(F))),this._register(O.onPointerUp(this.viewHelper.viewDomNode,F=>this._onMouseUp(F))),this._register(O.onPointerLeave(this.viewHelper.viewDomNode,F=>this._onMouseLeave(F))),this._register(O.onPointerDown(this.viewHelper.viewDomNode,(F,se)=>this._onMouseDown(F,se)))}onTap(t){!t.initialTarget||!this.viewHelper.linesContentDomNode.contains(t.initialTarget)||(t.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(t,!1))}onChange(t){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(t,!0)}_dispatchGesture(t,s){const m=this._createMouseTarget(new xe.dO(t,!1,this.viewHelper.viewDomNode),!1);m.position&&this.viewController.dispatchMouse({position:m.position,mouseColumn:m.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:t.tapCount,inSelectionMode:s,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:m.type===6&&m.detail.injectedText!==null})}_onMouseDown(t,s){t.browserEvent.pointerType!=="touch"&&super._onMouseDown(t,s)}}class rs extends Gt{constructor(t,s,m){super(t,s,m),this._register(De.q.addTarget(this.viewHelper.linesContentDomNode)),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Tap,O=>this.onTap(O))),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Change,O=>this.onChange(O))),this._register((0,b.ko)(this.viewHelper.linesContentDomNode,De.B.Contextmenu,O=>this._onContextMenu(new xe.dO(O,!1,this.viewHelper.viewDomNode),!1)))}onTap(t){t.preventDefault(),this.viewHelper.focusTextArea();const s=this._createMouseTarget(new xe.dO(t,!1,this.viewHelper.viewDomNode),!1);if(s.position){const m=document.createEvent("CustomEvent");m.initEvent(fn.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(m),this.viewController.moveTo(s.position,1)}}onChange(t){this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}}class us extends i.jG{constructor(t,s,m){super(),(a.un||a.m0&&a.Fr)&&ve.e.pointerEvents?this.handler=this._register(new Qn(t,s,m)):fe.G.TouchEvent?this.handler=this._register(new rs(t,s,m)):this.handler=this._register(new Gt(t,s,m))}getTargetAtClientPoint(t,s){return this.handler.getTargetAtClientPoint(t,s)}}var Zn=e(26283),zn=e(72521);class ms{constructor(t,s,m,O){this.configuration=t,this.viewModel=s,this.userInputEvents=m,this.commandDelegate=O}paste(t,s,m,O){this.commandDelegate.paste(t,s,m,O)}type(t){this.commandDelegate.type(t)}compositionType(t,s,m,O){this.commandDelegate.compositionType(t,s,m,O)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(t){zn.QM.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:t})}_validateViewColumn(t){const s=this.viewModel.getLineMinColumn(t.lineNumber);
228return t.column<s?new Le.y(t.lineNumber,s):t}_hasMulticursorModifier(t){switch(this.configuration.options.get(86)){case"altKey":return t.altKey;case"ctrlKey":return t.ctrlKey;case"metaKey":return t.metaKey;default:return!1}}_hasNonMulticursorModifier(t){switch(this.configuration.options.get(86)){case"altKey":return t.ctrlKey||t.metaKey;case"ctrlKey":return t.altKey||t.metaKey;case"metaKey":return t.ctrlKey||t.altKey;default:return!1}}static _trySelectBracketContent(t,s){if(s.column>1){const m=t.bracketPairs.matchBracket(s.with(void 0,s.column-1));if(m&&m[0].getEndPosition().equals(s))return pe.L.fromPositions(m[0].getEndPosition(),m[1].getStartPosition())}if(s.column<=t.getLineMaxColumn(s.lineNumber)){const m=t.bracketPairs.matchBracket(s);if(m&&m[1].getStartPosition().equals(s))return pe.L.fromPositions(m[0].getEndPosition(),m[1].getStartPosition())}}static _trySelectStringContent(t,s){const{lineNumber:m,column:O}=s,{tokenization:F}=t;if(!F.hasAccurateTokensForLine(m))if(F.isCheapToTokenize(m))F.forceTokenization(m);else return;const se=F.getLineTokens(m);let be=se.findTokenIndexAtOffset(O-1),Oe=be;for(;be>0&&se.getStandardTokenType(be-1)===2;)be--;for(;Oe+1<se.getCount()&&se.getStandardTokenType(Oe+1)===2;)Oe++;const it=se.getStartOffset(be),ct=se.getEndOffset(Oe);if(O!==it+2&&O!==ct)return;const lt=t.getLineContent(m),Dt=lt.charAt(it);if(Dt!=='"'&&Dt!=="'"&&Dt!=="`"||lt.charAt(ct-1)!==Dt)return;const It=lt.substring(it+1,ct-1);if(!(0,vt.E_)(It))return new pe.L(m,it+2,m,ct)}dispatchMouse(t){const s=this.configuration.options,m=a.j9&&s.get(121),O=s.get(28),F=s.get(171);if(t.middleButton&&!m)F||this._columnSelect(t.position,t.mouseColumn,t.inSelectionMode);else if(t.startedOnLineNumbers)this._hasMulticursorModifier(t)?t.inSelectionMode?this._lastCursorLineSelect(t.position,t.revealType):this._createCursor(t.position,!0):t.inSelectionMode?this._lineSelectDrag(t.position,t.revealType):this._lineSelect(t.position,t.revealType);else if(t.mouseDownCount>=4)this._selectAll();else if(t.mouseDownCount===3)this._hasMulticursorModifier(t)?t.inSelectionMode?this._lastCursorLineSelectDrag(t.position,t.revealType):this._lastCursorLineSelect(t.position,t.revealType):t.inSelectionMode?this._lineSelectDrag(t.position,t.revealType):this._lineSelect(t.position,t.revealType);else if(t.mouseDownCount===2){if(!t.onInjectedText)if(this._hasMulticursorModifier(t))this._lastCursorWordSelect(t.position,t.revealType);else if(t.inSelectionMode)this._wordSelectDrag(t.position,t.revealType);else{let se;if(s.get(173)){const be=this.viewModel.model,Oe=this._convertViewToModelPosition(t.position);se=ms._trySelectBracketContent(be,Oe)||ms._trySelectStringContent(be,Oe)}se?this._select(se):this._wordSelect(t.position,t.revealType)}}else this._hasMulticursorModifier(t)?this._hasNonMulticursorModifier(t)||(t.shiftKey?this._columnSelect(t.position,t.mouseColumn,!0):t.inSelectionMode?this._lastCursorMoveToSelect(t.position,t.revealType):this._createCursor(t.position,!1)):t.inSelectionMode?t.altKey?this._columnSelect(t.position,t.mouseColumn,!0):O?this._columnSelect(t.position,t.mouseColumn,!0):this._moveToSelect(t.position,t.revealType):this.moveTo(t.position,t.revealType)}_usualArgs(t,s){return t=this._validateViewColumn(t),{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,revealType:s}}moveTo(t,s){zn.QM.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_moveToSelect(t,s){zn.QM.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_columnSelect(t,s,m){t=this._validateViewColumn(t),zn.QM.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,mouseColumn:s,doColumnSelect:m})}_createCursor(t,s){t=this._validateViewColumn(t),zn.QM.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,wholeLine:s})}
228_lastCursorMoveToSelect(t,s){zn.QM.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_wordSelect(t,s){zn.QM.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_wordSelectDrag(t,s){zn.QM.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_lastCursorWordSelect(t,s){zn.QM.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_lineSelect(t,s){zn.QM.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_lineSelectDrag(t,s){zn.QM.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_lastCursorLineSelect(t,s){zn.QM.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_lastCursorLineSelectDrag(t,s){zn.QM.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,s))}_select(t){zn.QM.SetSelection.runCoreEditorCommand(this.viewModel,{source:"mouse",selection:t})}_selectAll(){zn.QM.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t)}emitKeyDown(t){this.userInputEvents.emitKeyDown(t)}emitKeyUp(t){this.userInputEvents.emitKeyUp(t)}emitContextMenu(t){this.userInputEvents.emitContextMenu(t)}emitMouseMove(t){this.userInputEvents.emitMouseMove(t)}emitMouseLeave(t){this.userInputEvents.emitMouseLeave(t)}emitMouseUp(t){this.userInputEvents.emitMouseUp(t)}emitMouseDown(t){this.userInputEvents.emitMouseDown(t)}emitMouseDrag(t){this.userInputEvents.emitMouseDrag(t)}emitMouseDrop(t){this.userInputEvents.emitMouseDrop(t)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(t){this.userInputEvents.emitMouseWheel(t)}}var es=e(13021),Xn=e(54324);class Ts{constructor(t){this._lineFactory=t,this._set(1,[])}flush(){this._set(1,[])}_set(t,s){this._lines=s,this._rendLineNumberStart=t}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(t){const s=t-this._rendLineNumberStart;if(s<0||s>=this._lines.length)throw new C.D7("Illegal value for lineNumber");return this._lines[s]}onLinesDeleted(t,s){if(this.getCount()===0)return null;const m=this.getStartLineNumber(),O=this.getEndLineNumber();if(s<m){const Oe=s-t+1;return this._rendLineNumberStart-=Oe,null}if(t>O)return null;let F=0,se=0;for(let Oe=m;Oe<=O;Oe++){const it=Oe-this._rendLineNumberStart;t<=Oe&&Oe<=s&&(se===0?(F=it,se=1):se++)}if(t<m){let Oe=0;s<m?Oe=s-t+1:Oe=m-t,this._rendLineNumberStart-=Oe}return this._lines.splice(F,se)}onLinesChanged(t,s){const m=t+s-1;if(this.getCount()===0)return!1;const O=this.getStartLineNumber(),F=this.getEndLineNumber();let se=!1;for(let be=t;be<=m;be++)be>=O&&be<=F&&(this._lines[be-this._rendLineNumberStart].onContentChanged(),se=!0);return se}onLinesInserted(t,s){if(this.getCount()===0)return null;const m=s-t+1,O=this.getStartLineNumber(),F=this.getEndLineNumber();if(t<=O)return this._rendLineNumberStart+=m,null;if(t>F)return null;if(m+t>F)return this._lines.splice(t-this._rendLineNumberStart,F-t+1);const se=[];for(let lt=0;lt<m;lt++)se[lt]=this._lineFactory.createLine();const be=t-this._rendLineNumberStart,Oe=this._lines.slice(0,be),it=this._lines.slice(be,this._lines.length-m),ct=this._lines.slice(this._lines.length-m,this._lines.length);return this._lines=Oe.concat(se).concat(it),ct}onTokensChanged(t){if(this.getCount()===0)return!1;const s=this.getStartLineNumber(),m=this.getEndLineNumber();let O=!1;for(let F=0,se=t.length;F<se;F++){const be=t[F];if(be.toLineNumber<s||be.fromLineNumber>m)continue;const Oe=Math.max(s,be.fromLineNumber),it=Math.min(m,be.toLineNumber);for(let ct=Oe;ct<=it;ct++){const lt=ct-this._rendLineNumberStart;
228this._lines[lt].onTokensChanged(),O=!0}}return O}}class ps{constructor(t,s){this._viewContext=t,this._lineFactory=s,this.domNode=this._createDomNode(),this._linesCollection=new Ts(this._lineFactory)}_createDomNode(){const t=(0,de.Z)(document.createElement("div"));return t.setClassName("view-layer"),t.setPosition("absolute"),t.domNode.setAttribute("role","presentation"),t.domNode.setAttribute("aria-hidden","true"),t}onConfigurationChanged(t){return!!t.hasChanged(165)}onFlushed(t,s){if(s){const m=this._linesCollection.getStartLineNumber(),O=this._linesCollection.getEndLineNumber();for(let F=m;F<=O;F++)this._linesCollection.getLine(F).getDomNode()?.remove()}return this._linesCollection.flush(),!0}onLinesChanged(t){return this._linesCollection.onLinesChanged(t.fromLineNumber,t.count)}onLinesDeleted(t){const s=this._linesCollection.onLinesDeleted(t.fromLineNumber,t.toLineNumber);if(s)for(let m=0,O=s.length;m<O;m++)s[m].getDomNode()?.remove();return!0}onLinesInserted(t){const s=this._linesCollection.onLinesInserted(t.fromLineNumber,t.toLineNumber);if(s)for(let m=0,O=s.length;m<O;m++)s[m].getDomNode()?.remove();return!0}onScrollChanged(t){return t.scrollTopChanged}onTokensChanged(t){return this._linesCollection.onTokensChanged(t.ranges)}onZonesChanged(t){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(t){return this._linesCollection.getLine(t)}renderLines(t){const s=this._linesCollection._get(),m=new Yn(this.domNode.domNode,this._lineFactory,t,this._viewContext),O={rendLineNumberStart:s.rendLineNumberStart,lines:s.lines,linesLength:s.lines.length},F=m.render(O,t.startLineNumber,t.endLineNumber,t.relativeVerticalOffset);this._linesCollection._set(F.rendLineNumberStart,F.lines)}}const uo=class uo{constructor(t,s,m,O){this._domNode=t,this._lineFactory=s,this._viewportData=m,this._viewContext=O}render(t,s,m,O){const F={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines.slice(0),linesLength:t.linesLength};if(F.rendLineNumberStart+F.linesLength-1<s||m<F.rendLineNumberStart){F.rendLineNumberStart=s,F.linesLength=m-s+1,F.lines=[];for(let se=s;se<=m;se++)F.lines[se-s]=this._lineFactory.createLine();return this._finishRendering(F,!0,O),F}if(this._renderUntouchedLines(F,Math.max(s-F.rendLineNumberStart,0),Math.min(m-F.rendLineNumberStart,F.linesLength-1),O,s),F.rendLineNumberStart>s){const se=s,be=Math.min(m,F.rendLineNumberStart-1);se<=be&&(this._insertLinesBefore(F,se,be,O,s),F.linesLength+=be-se+1)}else if(F.rendLineNumberStart<s){const se=Math.min(F.linesLength,s-F.rendLineNumberStart);se>0&&(this._removeLinesBefore(F,se),F.linesLength-=se)}if(F.rendLineNumberStart=s,F.rendLineNumberStart+F.linesLength-1<m){const se=F.rendLineNumberStart+F.linesLength,be=m;se<=be&&(this._insertLinesAfter(F,se,be,O,s),F.linesLength+=be-se+1)}else if(F.rendLineNumberStart+F.linesLength-1>m){const se=Math.max(0,m-F.rendLineNumberStart+1),Oe=F.linesLength-1-se+1;Oe>0&&(this._removeLinesAfter(F,Oe),F.linesLength-=Oe)}return this._finishRendering(F,!1,O),F}_renderUntouchedLines(t,s,m,O,F){const se=t.rendLineNumberStart,be=t.lines;for(let Oe=s;Oe<=m;Oe++){const it=se+Oe;be[Oe].layoutLine(it,O[it-F],this._lineHeightForLineNumber(it))}}_insertLinesBefore(t,s,m,O,F){const se=[];let be=0;for(let Oe=s;Oe<=m;Oe++)se[be++]=this._lineFactory.createLine();t.lines=se.concat(t.lines)}_removeLinesBefore(t,s){for(let m=0;m<s;m++)t.lines[m].getDomNode()?.remove();t.lines.splice(0,s)}_insertLinesAfter(t,s,m,O,F){const se=[];let be=0;for(let Oe=s;Oe<=m;Oe++)se[be++]=this._lineFactory.createLine();t.lines=t.lines.concat(se)}_removeLinesAfter(t,s){const m=t.linesLength-s;for(let O=0;O<s;O++)t.lines[m+O].getDomNode()?.remove();t.lines.splice(m,s)}_finishRenderingNewLines(t,s,m,O){uo._ttPolicy&&(m=uo._ttPolicy.createHTML(m));
228const F=this._domNode.lastChild;s||!F?this._domNode.innerHTML=m:F.insertAdjacentHTML("afterend",m);let se=this._domNode.lastChild;for(let be=t.linesLength-1;be>=0;be--){const Oe=t.lines[be];O[be]&&(Oe.setDomNode(se),se=se.previousSibling)}}_finishRenderingInvalidLines(t,s,m){const O=document.createElement("div");uo._ttPolicy&&(s=uo._ttPolicy.createHTML(s)),O.innerHTML=s;for(let F=0;F<t.linesLength;F++){const se=t.lines[F];if(m[F]){const be=O.firstChild;se.getDomNode().replaceWith(be),se.setDomNode(be)}}}_finishRendering(t,s,m){const O=uo._sb,F=t.linesLength,se=t.lines,be=t.rendLineNumberStart,Oe=[];{O.reset();let it=!1;for(let ct=0;ct<F;ct++){const lt=se[ct];if(Oe[ct]=!1,lt.getDomNode())continue;const It=ct+be;lt.renderLine(It,m[ct],this._lineHeightForLineNumber(It),this._viewportData,O)&&(Oe[ct]=!0,it=!0)}it&&this._finishRenderingNewLines(t,s,O.build(),Oe)}{O.reset();let it=!1;const ct=[];for(let lt=0;lt<F;lt++){const Dt=se[lt];if(ct[lt]=!1,Oe[lt])continue;const It=lt+be;Dt.renderLine(It,m[lt],this._lineHeightForLineNumber(It),this._viewportData,O)&&(ct[lt]=!0,it=!0)}it&&this._finishRenderingInvalidLines(t,O.build(),ct)}}_lineHeightForLineNumber(t){return this._viewContext.viewLayout.getLineHeightForLineNumber(t)}};uo._ttPolicy=(0,es.H)("editorViewLayer",{createHTML:t=>t}),uo._sb=new Xn.fe(1e5);let Yn=uo;class zs extends M{constructor(t){super(t),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new ps(this._context,{createLine:()=>new Kn(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const m=this._context.configuration.options.get(59);(0,d.M)(this.domNode,m),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let t=0,s=this._dynamicOverlays.length;t<s;t++)if(this._dynamicOverlays[t].shouldRender())return!0;return!1}dispose(){super.dispose();for(let t=0,s=this._dynamicOverlays.length;t<s;t++)this._dynamicOverlays[t].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(t){this._dynamicOverlays.push(t)}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t);const m=this._context.configuration.options.get(59);return(0,d.M)(this.domNode,m),!0}onFlushed(t){return this._visibleLines.onFlushed(t)}onFocusChanged(t){return this._isFocused=t.isFocused,!0}onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onScrollChanged(t){return this._visibleLines.onScrollChanged(t)||!0}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._visibleLines.onZonesChanged(t)}prepareRender(t){const s=this._dynamicOverlays.filter(m=>m.shouldRender());for(let m=0,O=s.length;m<O;m++){const F=s[m];F.prepareRender(t),F.onDidRender()}}render(t){this._viewOverlaysRender(t),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(t){this._visibleLines.renderLines(t.viewportData)}}class Kn{constructor(t){this._dynamicOverlays=t,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(t){this._domNode=(0,de.Z)(t)}onContentChanged(){}onTokensChanged(){}renderLine(t,s,m,O,F){let se="";for(let be=0,Oe=this._dynamicOverlays.length;be<Oe;be++){const it=this._dynamicOverlays[be];se+=it.render(O.startLineNumber,t)}return this._renderedContent===se?!1:(this._renderedContent=se,F.appendString('
228<div style="top:'),F.appendString(String(s)),F.appendString("px;height:"),F.appendString(String(m)),F.appendString("px;line-height:"),F.appendString(String(m)),F.appendString('px;">'),F.appendString(se),F.appendString("</div>"),!0)}layoutLine(t,s,m){this._domNode&&(this._domNode.setTop(s),this._domNode.setHeight(m),this._domNode.setLineHeight(m))}}class jt extends zs{constructor(t){super(t);const m=this._context.configuration.options.get(165);this._contentWidth=m.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(t){const m=this._context.configuration.options.get(165);return this._contentWidth=m.contentWidth,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollWidthChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))}}class $t extends zs{constructor(t){super(t);const s=this._context.configuration.options,m=s.get(165);this._contentLeft=m.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,d.M)(this.domNode,s.get(59))}onConfigurationChanged(t){const s=this._context.configuration.options;(0,d.M)(this.domNode,s.get(59));const m=s.get(165);return this._contentLeft=m.contentLeft,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollHeightChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t);const s=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(s),this.domNode.setWidth(this._contentLeft)}}class Ei{constructor(t){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=t}emitKeyDown(t){this.onKeyDown?.(t)}emitKeyUp(t){this.onKeyUp?.(t)}emitContextMenu(t){this.onContextMenu?.(this._convertViewToModelMouseEvent(t))}emitMouseMove(t){this.onMouseMove?.(this._convertViewToModelMouseEvent(t))}emitMouseLeave(t){this.onMouseLeave?.(this._convertViewToModelMouseEvent(t))}emitMouseDown(t){this.onMouseDown?.(this._convertViewToModelMouseEvent(t))}emitMouseUp(t){this.onMouseUp?.(this._convertViewToModelMouseEvent(t))}emitMouseDrag(t){this.onMouseDrag?.(this._convertViewToModelMouseEvent(t))}emitMouseDrop(t){this.onMouseDrop?.(this._convertViewToModelMouseEvent(t))}emitMouseDropCanceled(){this.onMouseDropCanceled?.()}emitMouseWheel(t){this.onMouseWheel?.(t)}_convertViewToModelMouseEvent(t){return t.target?{event:t.event,target:this._convertViewToModelMouseTarget(t.target)}:t}_convertViewToModelMouseTarget(t){return Ei.convertViewToModelMouseTarget(t,this._coordinatesConverter)}static convertViewToModelMouseTarget(t,s){const m={...t};return m.position&&(m.position=s.convertViewPositionToModelPosition(m.position)),m.range&&(m.range=s.convertViewRangeToModelRange(m.range)),(m.type===5||m.type===8)&&(m.detail=this.convertViewToModelViewZoneData(m.detail,s)),m}static convertViewToModelViewZoneData(t,s){return{viewZoneId:t.viewZoneId,positionBefore:t.positionBefore?s.convertViewPositionToModelPosition(t.positionBefore):t.positionBefore,positionAfter:t.positionAfter?s.convertViewPositionToModelPosition(t.positionAfter):t.positionAfter,position:s.convertViewPositionToModelPosition(t.position),afterLineNumber:s.convertViewPositionToModelPosition(new Le.y(t.afterLineNumber,1)).lineNumber}}}class zi extends M{constructor(t){super(t),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=(0,de.Z)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let t=!1;const m=this._context.configuration.options.get(165),O=m.contentWidth-m.verticalScrollbarWidth;this.contentWidth!==O&&(this.contentWidth=O,t=!0);const F=m.contentLeft;return this.contentLeft!==F&&(this.contentLeft=F,t=!0),t}onConfigurationChanged(t){return this.update()}onScrollChanged(t){return t.scrollTopChanged||t.scrollLeftChanged}onDecorationsChanged(t){return!0}onZonesChanged(t){return!0}prepareRender(t){}render(t){let s=0;const m=t.getDecorationsInViewport();for(const O of m){if(!O.options.blockClassName)continue;let F=this.blocks[s];F||(F=this.blocks[s]=(0,de.Z)(document.createElement("div")),this.domNode.appendChild(F));let se,be;O.options.blockIsAfterEnd?(se=t.getVerticalOffsetAfterLineNumber(O.range.endLineNumber,!1),be=t.getVerticalOffsetAfterLineNumber(O.range.endLineNumber,!0)):(se=t.getVerticalOffsetForLineNumber(O.range.startLineNumber,!0),be=O.range.isEmpty()&&!O.options.blockDoesNotCollapse?t.getVerticalOffsetForLineNumber(O.range.startLineNumber,!1):t.getVerticalOffsetAfterLineNumber(O.range.endLineNumber,!0));const[Oe,it,ct,lt]=O.options.blockPadding??[0,0,0,0];F.setClassName("blockDecorations-block "+O.options.blockClassName),F.setLeft(this.contentLeft-lt),F.setWidth(this.contentWidth+lt+it),F.setTop(se-t.scrollTop-Oe),F.setHeight(be-se+Oe+ct),s++}for(let O=s;O<this.blocks.length;O++)this.blocks[O].domNode.remove();this.blocks.length=s}}
228class hn extends M{constructor(t,s){super(t),this._viewDomNode=s,this._widgets={},this.domNode=(0,de.Z)(document.createElement("div")),Ve.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,de.Z)(document.createElement("div")),Ve.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(t){const s=Object.keys(this._widgets);for(const m of s)this._widgets[m].onConfigurationChanged(t);return!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLineMappingChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(t){return this._updateAnchorsViewPositions(),!0}onLinesInserted(t){return this._updateAnchorsViewPositions(),!0}onScrollChanged(t){return!0}onZonesChanged(t){return!0}_updateAnchorsViewPositions(){const t=Object.keys(this._widgets);for(const s of t)this._widgets[s].updateAnchorViewPosition()}addWidget(t){const s=new wn(this._context,this._viewDomNode,t);this._widgets[s.id]=s,s.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(s.domNode):this.domNode.appendChild(s.domNode),this.setShouldRender()}setWidgetPosition(t,s,m,O,F){const se=this._widgets[t.getId()];se.setPosition(s,m,O,F),se.useDisplayNone||this.setShouldRender()}removeWidget(t){const s=t.getId();if(this._widgets.hasOwnProperty(s)){const m=this._widgets[s];delete this._widgets[s];const O=m.domNode.domNode;O.remove(),O.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(t){return this._widgets.hasOwnProperty(t)?this._widgets[t].suppressMouseDown:!1}onBeforeRender(t){const s=Object.keys(this._widgets);for(const m of s)this._widgets[m].onBeforeRender(t)}prepareRender(t){const s=Object.keys(this._widgets);for(const m of s)this._widgets[m].prepareRender(t)}render(t){const s=Object.keys(this._widgets);for(const m of s)this._widgets[m].render(t)}}class wn{constructor(t,s,m){this._primaryAnchor=new en(null,null),this._secondaryAnchor=new en(null,null),this._context=t,this._viewDomNode=s,this._actual=m;const O=this._context.configuration.options,F=O.get(165),se=O.get(4);this.domNode=(0,de.Z)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=(this._actual.allowEditorOverflow||!1)&&se,this.suppressMouseDown=this._actual.suppressMouseDown||!1,this.useDisplayNone=this._actual.useDisplayNone||!1,this._fixedOverflowWidgets=O.get(51),this._contentWidth=F.contentWidth,this._contentLeft=F.contentLeft,this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(t){const s=this._context.configuration.options;if(t.hasChanged(165)){const m=s.get(165);this._contentLeft=m.contentLeft,this._contentWidth=m.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(t,s,m){this._affinity=t,this._primaryAnchor=O(s,this._context.viewModel,this._affinity),this._secondaryAnchor=O(m,this._context.viewModel,this._affinity);function O(F,se,be){if(!F)return new en(null,null);const Oe=se.model.validatePosition(F);if(se.coordinatesConverter.modelPositionIsVisible(Oe)){const it=se.coordinatesConverter.convertModelPositionToViewPosition(Oe,be??void 0);return new en(F,it)}return new en(F,null)}}_getMaxWidth(){const t=this.domNode.domNode.ownerDocument,s=t.defaultView;return this.allowEditorOverflow?s?.innerWidth||t.documentElement.offsetWidth||t.body.offsetWidth:this._contentWidth}setPosition(t,s,m,O){this._setPosition(O,t,s),this._preference=m,!this.useDisplayNone&&this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(t,s,m,O){const F=t.top,se=F,be=t.top+t.height,Oe=O.viewportHe
228ight-be,it=F-m,ct=se>=m,lt=be,Dt=Oe>=m;let It=t.left;return It+s>O.scrollLeft+O.viewportWidth&&(It=O.scrollLeft+O.viewportWidth-s),It<O.scrollLeft&&(It=O.scrollLeft),{fitsAbove:ct,aboveTop:it,fitsBelow:Dt,belowTop:lt,left:It}}_layoutHorizontalSegmentInPage(t,s,m,O){const be=Math.max(15,s.left-O),Oe=Math.min(s.left+s.width+O,t.width-15),ct=this._viewDomNode.domNode.ownerDocument.defaultView;let lt=s.left+m-(ct?.scrollX??0);if(lt+O>Oe){const Dt=lt-(Oe-O);lt-=Dt,m-=Dt}if(lt<be){const Dt=lt-be;lt-=Dt,m-=Dt}return[m,lt]}_layoutBoxInPage(t,s,m,O){const F=t.top-m,se=t.top+t.height,be=(0,b.BK)(this._viewDomNode.domNode),Oe=this._viewDomNode.domNode.ownerDocument,it=Oe.defaultView,ct=be.top+F-(it?.scrollY??0),lt=be.top+se-(it?.scrollY??0),Dt=(0,b.tG)(Oe.body),[It,Ut]=this._layoutHorizontalSegmentInPage(Dt,be,t.left-O.scrollLeft+this._contentLeft,s),ti=22,ii=22,oi=ct>=ti,yi=lt+m<=Dt.height-ii;return this._fixedOverflowWidgets?{fitsAbove:oi,aboveTop:Math.max(ct,ti),fitsBelow:yi,belowTop:lt,left:Ut}:{fitsAbove:oi,aboveTop:F,fitsBelow:yi,belowTop:se,left:It}}_prepareRenderWidgetAtExactPositionOverflowing(t){return new In(t.top,t.left+this._contentLeft)}_getAnchorsCoordinates(t){const s=F(this._primaryAnchor.viewPosition,this._affinity),m=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,O=F(m,this._affinity);return{primary:s,secondary:O};function F(se,be){if(!se)return null;const Oe=t.visibleRangeForPosition(se);if(!Oe)return null;const it=se.column===1&&be===3?0:Oe.left,ct=t.getVerticalOffsetForLineNumber(se.lineNumber)-t.scrollTop,lt=t.getLineHeightForLineNumber(se.lineNumber);return new Bn(ct,it,lt)}}_reduceAnchorCoordinates(t,s,m){if(!s)return t;const O=this._context.configuration.options.get(59);let F=s.left;return F<t.left?F=Math.max(F,t.left-m+O.typicalFullwidthCharacterWidth):F=Math.min(F,t.left+m-O.typicalFullwidthCharacterWidth),new Bn(t.top,F,t.height)}_prepareRenderWidget(t){if(!this._preference||this._preference.length===0)return null;const{primary:s,secondary:m}=this._getAnchorsCoordinates(t);if(!s)return{kind:"offViewport",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let se=null;if(typeof this._actual.beforeRender=="function"&&(se=Wi(this._actual.beforeRender,this._actual)),se)this._cachedDomNodeOffsetWidth=se.width,this._cachedDomNodeOffsetHeight=se.height;else{const Oe=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(Oe.width),this._cachedDomNodeOffsetHeight=Math.round(Oe.height)}}const O=this._reduceAnchorCoordinates(s,m,this._cachedDomNodeOffsetWidth);let F;this.allowEditorOverflow?F=this._layoutBoxInPage(O,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,t):F=this._layoutBoxInViewport(O,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,t);for(let se=1;se<=2;se++)for(const be of this._preference)if(be===1){if(!F)return null;if(se===2||F.fitsAbove)return{kind:"inViewport",coordinate:new In(F.aboveTop,F.left),position:1}}else if(be===2){if(!F)return null;if(se===2||F.fitsBelow)return{kind:"inViewport",coordinate:new In(F.belowTop,F.left),position:2}}else return this.allowEditorOverflow?{kind:"inViewport",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new In(O.top,O.left)),position:0}:{kind:"inViewport",coordinate:new In(O.top,O.left),position:0};return null}onBeforeRender(t){!this._primaryAnchor.viewPosition||!this._preference||this._primaryAnchor.viewPosition.lineNumber<t.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>t.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(t){this._renderData=this._prepareRenderWidget(t)}render(t){if(!this._renderData||this._renderData.kind==="offViewport"){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this._renderData?.kind==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),typeof this._actual.afterRe
228nder=="function"&&Wi(this._actual.afterRender,this._actual,null,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+t.scrollTop-t.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&Wi(this._actual.afterRender,this._actual,this._renderData.position,this._renderData.coordinate)}}class en{constructor(t,s){this.modelPosition=t,this.viewPosition=s}}class In{constructor(t,s){this.top=t,this.left=s,this._coordinateBrand=void 0}}class Bn{constructor(t,s,m){this.top=t,this.left=s,this.height=m,this._anchorCoordinateBrand=void 0}}function Wi(ft,t,...s){try{return ft.call(t,...s)}catch{return null}}class At extends Be.i{}var Xt=e(48295),li=e(89044),Mi=e(89563);class vi extends At{constructor(t){super(),this._context=t;const s=this._context.configuration.options,m=s.get(165);this._renderLineHighlight=s.get(110),this._renderLineHighlightOnlyWhenFocus=s.get(111),this._wordWrap=m.isViewportWrapping,this._contentLeft=m.contentLeft,this._contentWidth=m.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new pe.L(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const s=new Set;for(const F of this._selections)s.add(F.positionLineNumber);const m=Array.from(s);m.sort((F,se)=>F-se),(0,o.aI)(this._cursorLineNumbers,m)||(this._cursorLineNumbers=m,t=!0);const O=this._selections.every(F=>F.isEmpty());return this._selectionIsEmpty!==O&&(this._selectionIsEmpty=O,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(165);return this._renderLineHighlight=s.get(110),this._renderLineHighlightOnlyWhenFocus=s.get(111),this._wordWrap=m.isViewportWrapping,this._contentLeft=m.contentLeft,this._contentWidth=m.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return this._renderLineHighlightOnlyWhenFocus?(this._focused=t.isFocused,!0):!1}prepareRender(t){if(!this._shouldRenderThis()){this._renderData=null;return}const s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber,O=[];for(let se=s;se<=m;se++){const be=se-s;O[be]=""}if(this._wordWrap){const se=this._renderOne(t,!1);for(const be of this._cursorLineNumbers){const Oe=this._context.viewModel.coordinatesConverter,it=Oe.convertViewPositionToModelPosition(new Le.y(be,1)).lineNumber,ct=Oe.convertModelPositionToViewPosition(new Le.y(it,1)).lineNumber,lt=Oe.convertModelPositionToViewPosition(new Le.y(it,this._context.viewModel.model.getLineMaxColumn(it))).lineNumber,Dt=Math.max(ct,s),It=Math.min(lt,m);for(let Ut=Dt;Ut<=It;Ut++){const ti=Ut-s;O[ti]=se}}}const F=this._renderOne(t,!0);for(const se of this._cursorLineNumbers){if(se<s||se>m)continue;const be=se-s;O[be]=F}this._renderData=O}render(t,s){if(!this._renderData)return"";const m=s-t;return m>=this._renderData.length?"":this._renderData[m]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class Vi extends vi{_renderOne(t,s){return`<div class="${"current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(s?" current-line-exact":"")}" style="width:${Math.max(t.scrollWidth,this._contentWidth)}px;"></div>`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class ui extends vi{_renderOne(t,s){return`<div class="${"current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&s?" current-line-exact-margin":"")}" style="width:${this._contentLeft}px"></div>`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}(0,li.zy)((ft,t)=>{const s=ft.getColor(Xt.kG),m=ft.getColor(Xt.xU);if(s&&(t.addRule(`.monaco-editor.focused .view-overlays .current-line { background-color: ${s}; }`),t.addRule(`.monaco-editor.focused .margin-view-overlays .current-line-margin { background-color: ${s}; border: none; }`)),m&&(t.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${m}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${m}; border: none; }
228`)),!s||s.isTransparent()||ft.defines(Xt.Mf)){const O=ft.getColor(Xt.Mf);O&&(t.addRule(`.monaco-editor .view-overlays .current-line-exact { border: 2px solid ${O}; }`),t.addRule(`.monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ${O}; }`),(0,Mi.Bb)(ft.type)&&(t.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),t.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class Wt extends At{constructor(t){super(),this._context=t;const s=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const s=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged||t.scrollWidthChanged}onZonesChanged(t){return!0}prepareRender(t){const s=t.getDecorationsInViewport();let m=[],O=0;for(let Oe=0,it=s.length;Oe<it;Oe++){const ct=s[Oe];ct.options.className&&(m[O++]=ct)}m=m.sort((Oe,it)=>{if(Oe.options.zIndex<it.options.zIndex)return-1;if(Oe.options.zIndex>it.options.zIndex)return 1;const ct=Oe.options.className,lt=it.options.className;return ct<lt?-1:ct>lt?1:_e.Q.compareRangesUsingStarts(Oe.range,it.range)});const F=t.visibleRange.startLineNumber,se=t.visibleRange.endLineNumber,be=[];for(let Oe=F;Oe<=se;Oe++){const it=Oe-F;be[it]=""}this._renderWholeLineDecorations(t,m,be),this._renderNormalDecorations(t,m,be),this._renderResult=be}_renderWholeLineDecorations(t,s,m){const O=t.visibleRange.startLineNumber,F=t.visibleRange.endLineNumber;for(let se=0,be=s.length;se<be;se++){const Oe=s[se];if(!Oe.options.isWholeLine)continue;const it='<div class="cdr '+Oe.options.className+'" style="left:0;width:100%;"></div>',ct=Math.max(Oe.range.startLineNumber,O),lt=Math.min(Oe.range.endLineNumber,F);for(let Dt=ct;Dt<=lt;Dt++){const It=Dt-O;m[It]+=it}}}_renderNormalDecorations(t,s,m){const O=t.visibleRange.startLineNumber;let F=null,se=!1,be=null,Oe=!1;for(let it=0,ct=s.length;it<ct;it++){const lt=s[it];if(lt.options.isWholeLine)continue;const Dt=lt.options.className,It=!!lt.options.showIfCollapsed;let Ut=lt.range;if(It&&Ut.endColumn===1&&Ut.endLineNumber!==Ut.startLineNumber&&(Ut=new _e.Q(Ut.startLineNumber,Ut.startColumn,Ut.endLineNumber-1,this._context.viewModel.getLineMaxColumn(Ut.endLineNumber-1))),F===Dt&&se===It&&_e.Q.areIntersectingOrTouching(be,Ut)){be=_e.Q.plusRange(be,Ut);continue}F!==null&&this._renderNormalDecoration(t,be,F,Oe,se,O,m),F=Dt,se=It,be=Ut,Oe=lt.options.shouldFillLineOnLineBreak??!1}F!==null&&this._renderNormalDecoration(t,be,F,Oe,se,O,m)}_renderNormalDecoration(t,s,m,O,F,se,be){const Oe=t.linesVisibleRangesForRange(s,m==="findMatch");if(Oe)for(let it=0,ct=Oe.length;it<ct;it++){const lt=Oe[it];if(lt.outsideRenderedLine)continue;const Dt=lt.lineNumber-se;if(F&&lt.ranges.length===1){const It=lt.ranges[0];if(It.width<this._typicalHalfwidthCharacterWidth){const Ut=Math.round(It.left+It.width/2),ti=Math.max(0,Math.round(Ut-this._typicalHalfwidthCharacterWidth/2));lt.ranges[0]=new Zn.Y(ti,this._typicalHalfwidthCharacterWidth)}}for(let It=0,Ut=lt.ranges.length;It<Ut;It++){const ti=O&&lt.continuesOnNextLine&&Ut===1,ii=lt.ranges[It],oi='<div class="cdr '+m+'" style="left:'+String(ii.left)+"px;width:"+(ti?"100%;":String(ii.width)+"px;")+'"></div>';be[Dt]+=oi}}}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}}class Nn extends M{constructor(t,s,m,O){super(t);const F=this._context.configuration.options,se=F.get(117),be=F.get(83),Oe=F.get(49),it=F.get(120),ct=F.get(158),lt={listenOnDomNode:m.domNode,className:"editor-scrollable "+(0,li.Pz)(t.theme.type),useShadows:!1,lazyRender:!0,vertical:se.vertical,horizontal:se.horizontal,verticalHasArrows:se.verticalHasArrows,horizontalHasArrows:se.horizontalHasArrows,verticalScrollbarSize:se.verticalScrollbarSize,verticalSliderSize:se.verticalSliderSize,horizontalScrollbarSize:se.horizontalScrollbarSize,horizontalSliderSize:se.horizontalSliderSize,handleMouseWheel:se.handleMouseWheel,alwaysConsumeMouseWheel:se.alwaysConsumeMouseWheel,arrowSize:se.arrowSize,mouseWheelScrollSensitivity:be,fastScrollSensitivity:Oe,scrollPredominantAxis:it,scrollByPage:se.scrollByPage,inertialScroll:ct};this.scrollbar=this._register(new Ae.oO(s.domNode,lt,this._context.viewLayout.getScrollable())),Ve.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=(0,de.Z)(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const Dt=(It,Ut,ti)=>{const ii={};{const oi=It.scrollTop;oi&&(ii.scrollTop=this._context.viewLayout.getCurrentScrollTop()+oi,It.scrollTop=0)}if(ti){const oi=It.scrollLeft;oi&&(ii.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+oi,It.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(ii,1)};this._register((0,b.ko)(m.domNode,"scroll",It=>Dt(m.domNode,!0,!0))),this._register((0,b.ko)(s.domNode,"scroll",It=>Dt(s.domNode,!0,!1))),this._register((0,b.ko)(O.domNode,"scroll",It=>Dt(O.domNode,!0,!1))),this._register((0,b.ko)(this.scrollbarDomNode.domNode,"scroll",It=>Dt(this.scrollbarDomNode.domNode,!0,!1)))}_setLayout(){const t=this._context.configuration.options,s=t.get(165);this.scrollbarDomNode.setLeft(s.contentLeft),t.get(81).side==="right"?this.scrollbarDomNode.setWidth(s.contentWidth+s.minimap.minimapWidth):this.scrollbarDomNode.setWidth(s.contentWidth),this.scrollbarDomNode.setHeight(s.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(t){this.scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this.scrollbar.delegateScrollFromMouseWheelEvent(t)}onConfigurationChanged(t){if(t.hasChanged(117)||t.hasChanged(83)||t.hasChanged(49)){const s=this._context.configuration.options,m=s.get(117),O=s.get(83),F=s.get(49),se=s.get(120),be={vertical:m.vertical,horizontal:m.horizontal,verticalScrollbarSize:m.verticalScrollbarSize,horizontalScrollbarSize:m.horizontalScrollbarSize,scrollByPage:m.scrollByPage,handleMouseWheel:m.handleMouseWheel,mouseWheelScrollSensitivity:O,fastScrollSensitivity:F,scrollPredominantAxis:se};this.scrollbar.updateOptions(be)}return t.hasChanged(165)&&this._setLayout(),!0}onScrollChanged(t){return!0}onThemeChanged(t){return this.scrollbar.updateClassName("editor-scrollable "+(0,li.Pz)(this._context.theme.type)),!0}prepareRender(t){}render(t){this.scrollbar.renderNow()}}class ci{constructor(t,s,m,O,F){this.startLineNumber=t,this.endLineNumber=s,this.className=m,this.tooltip=O,this._decorationToRenderBrand=void 0,this.zIndex=F??0}}class ut{constructor(t,s,m){this.className=t,this.zIndex=s,this.tooltip=m}}class Rt{constructor(){this.decorations=[]}add(t){this.decorations.push(t)}getDecorations(){return this.decorations}}class xt extends At{_render(t,s,m){const O=[];for(let be=t;be<=s;be++){const Oe=be-t;O[Oe]=new Rt}if(m.length===0)return O;m.sort((be,Oe)=>be.className===Oe.className?be.startLineNumber===Oe.startLineNumber?be.endLineNumber-Oe.endLineNumber:be.startLineNumber-Oe.startLineNumber:be.className<Oe.className?-1:1);let F=null,se=0;for(const be of m){const Oe=be.className,it=be.zIndex;let ct=Math.max(be.startLineNumber,t)-t;const lt=Math.min(be.endLineNumber,s)-t;F===Oe?(ct=Math.max(se+1,ct),se=Math.max(se,lt)):(F=Oe,se=lt);for(let Dt=ct;Dt<=se;Dt++)O[Dt].add(new ut(Oe,it,be.tooltip))}return O}}class Ot extends M{constructor(t){super(t),this._widgets={},this._context=t;const s=this._context.configuration.options,m=s.get(165);this.domNode=(0,de.Z)(document.createElement("div")),this.domNode.setClassName("glyph-margin-widgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this._lineHeight=s.get(75),this._glyphMargin=s.get(66),this._glyphMarginLeft=m.glyphMarginLeft,this._glyphMarginWidth=m.glyphMarginWidth,this._glyphMarginDecorationLaneCount=m.glyphMarginDecorationLaneCount,this._managedDomNodes=[],this._decorationGlyphsToRender=[]}dispose(){this._managedDomNodes=[],this._decorationGlyphsToRender=[],this._widgets={},super.dispose()}getWidgets(){return Object.values(this._widgets)}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(165);return this._lineHeight=s.get(75),this._glyphMargin=s.get(66),this._glyphMarginLeft=m.glyphMarginLeft,this._glyphMarginWidth=m.glyphMarginWidth,this._glyphMarginDecorationLaneCount=m.glyphMarginDecorationLaneCount,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}addWidget(t){const s=(0,de.Z)(t.getDomNode());this._widgets[t.getId()]={widget:t,preference:t.getPosition(),domNode:s,renderInfo:null},s.setPosition("absolute"),s.setDisplay("none"),s.setAttribute("widgetId",t.getId()),this.domNode.appendChild(s),this.setShouldRender()}setWidgetPosition(t,s){const m=this._widgets[t.getId()];return m.preference.lane===s.lane&&m.preference.zIndex===s.zIndex&&_e.Q.equalsRange(m.preference.range,s.range)?!1:(m.preference=s,this.setShouldRender(),!0)}removeWidget(t){const s=t.getId();
228if(this._widgets[s]){const O=this._widgets[s].domNode.domNode;delete this._widgets[s],O.remove(),this.setShouldRender()}}_collectDecorationBasedGlyphRenderRequest(t,s){const m=t.visibleRange.startLineNumber,O=t.visibleRange.endLineNumber,F=t.getDecorationsInViewport();for(const se of F){const be=se.options.glyphMarginClassName;if(!be)continue;const Oe=Math.max(se.range.startLineNumber,m),it=Math.min(se.range.endLineNumber,O),ct=se.options.glyphMargin?.position??ae.ZS.Center,lt=se.options.zIndex??0;for(let Dt=Oe;Dt<=it;Dt++){const It=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(Dt,0)),Ut=this._context.viewModel.glyphLanes.getLanesAtLine(It.lineNumber).indexOf(ct);s.push(new Qt(Dt,Ut,lt,be))}}}_collectWidgetBasedGlyphRenderRequest(t,s){const m=t.visibleRange.startLineNumber,O=t.visibleRange.endLineNumber;for(const F of Object.values(this._widgets)){const se=F.preference.range,{startLineNumber:be,endLineNumber:Oe}=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(_e.Q.lift(se));if(!be||!Oe||Oe<m||be>O)continue;const it=Math.max(be,m),ct=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(it,0)),lt=this._context.viewModel.glyphLanes.getLanesAtLine(ct.lineNumber).indexOf(F.preference.lane);s.push(new ai(it,lt,F.preference.zIndex,F))}}_collectSortedGlyphRenderRequests(t){const s=[];return this._collectDecorationBasedGlyphRenderRequest(t,s),this._collectWidgetBasedGlyphRenderRequest(t,s),s.sort((m,O)=>m.lineNumber===O.lineNumber?m.laneIndex===O.laneIndex?m.zIndex===O.zIndex?O.type===m.type?m.type===0&&O.type===0?m.className<O.className?-1:1:0:O.type-m.type:O.zIndex-m.zIndex:m.laneIndex-O.laneIndex:m.lineNumber-O.lineNumber),s}prepareRender(t){if(!this._glyphMargin){this._decorationGlyphsToRender=[];return}for(const O of Object.values(this._widgets))O.renderInfo=null;const s=new o.j3(this._collectSortedGlyphRenderRequests(t)),m=[];for(;s.length>0;){const O=s.peek();if(!O)break;const F=s.takeWhile(be=>be.lineNumber===O.lineNumber&&be.laneIndex===O.laneIndex);if(!F||F.length===0)break;const se=F[0];if(se.type===0){const be=[];for(const Oe of F){if(Oe.zIndex!==se.zIndex||Oe.type!==se.type)break;(be.length===0||be[be.length-1]!==Oe.className)&&be.push(Oe.className)}m.push(se.accept(be.join(" ")))}else se.widget.renderInfo={lineNumber:se.lineNumber,laneIndex:se.laneIndex}}this._decorationGlyphsToRender=m}render(t){if(!this._glyphMargin){for(const m of Object.values(this._widgets))m.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;)this._managedDomNodes.pop()?.domNode.remove();return}const s=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const m of Object.values(this._widgets))if(!m.renderInfo)m.domNode.setDisplay("none");else{const O=t.viewportData.relativeVerticalOffset[m.renderInfo.lineNumber-t.viewportData.startLineNumber],F=this._glyphMarginLeft+m.renderInfo.laneIndex*this._lineHeight;m.domNode.setDisplay("block"),m.domNode.setTop(O),m.domNode.setLeft(F),m.domNode.setWidth(s),m.domNode.setHeight(this._lineHeight)}for(let m=0;m<this._decorationGlyphsToRender.length;m++){const O=this._decorationGlyphsToRender[m],F=O.lineNumber,se=t.viewportData.relativeVerticalOffset[F-t.viewportData.startLineNumber],be=this._glyphMarginLeft+O.laneIndex*this._lineHeight;let Oe;m<this._managedDomNodes.length?Oe=this._managedDomNodes[m]:(Oe=(0,de.Z)(document.createElement("div")),this._managedDomNodes.push(Oe),this.domNode.appendChild(Oe));const it=this._context.viewLayout.getLineHeightForLineNumber(F);Oe.setClassName("cgmr codicon "+O.combinedClassName),Oe.setPosition("absolute"),Oe.setTop(se),Oe.setLeft(be),Oe.setWidth(s),Oe.setHeight(it)}for(;this._managedDomNodes.length>this._decorationGlyphsToRender.length;)this._managedDomNodes.pop()?.domNode.remove()}}class Qt{constructor(t,s,m,O){this.lineNumber=t,this.laneIndex=s,this.zIndex=m,this.className=O,this.type=0}accept(t){return new gi(this.lineNumber,this.laneIndex,t)}}class ai{constructor(t,s,m,O){this.lineNumber=t,this.laneIndex=s,this.zIndex=m,this.widget=O,this.type=1}}class gi{constructor(t,s,m){this.lineNumber=t,this.laneIndex=s,this.combinedClassName=m}}var Ki=e(79359),Zi=e(52818),bi=e(60779);class ot extends At{constructor(t){super(),this._context=t,this._primaryPosition=null;
228const s=this._context.configuration.options,m=s.get(166),O=s.get(59);this._spaceWidth=O.spaceWidth,this._maxIndentLeft=m.wrappingColumn===-1?-1:m.wrappingColumn*O.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=s.get(22),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(166),O=s.get(59);return this._spaceWidth=O.spaceWidth,this._maxIndentLeft=m.wrappingColumn===-1?-1:m.wrappingColumn*O.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=s.get(22),!0}onCursorStateChanged(t){const m=t.selections[0].getPosition();return this._primaryPosition?.equals(m)?!1:(this._primaryPosition=m,!0)}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}onLanguageConfigurationChanged(t){return!0}prepareRender(t){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber,O=t.scrollWidth,F=this._primaryPosition,se=this.getGuidesByLine(s,Math.min(m+1,this._context.viewModel.getLineCount()),F),be=[];for(let Oe=s;Oe<=m;Oe++){const it=Oe-s,ct=se[it];let lt="";const Dt=t.visibleRangeForPosition(new Le.y(Oe,1))?.left??0;for(const It of ct){const Ut=It.column===-1?Dt+(It.visibleColumn-1)*this._spaceWidth:t.visibleRangeForPosition(new Le.y(Oe,It.column)).left;if(Ut>O||this._maxIndentLeft>0&&Ut>this._maxIndentLeft)break;const ti=It.horizontalLine?It.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",ii=It.horizontalLine?(t.visibleRangeForPosition(new Le.y(Oe,It.horizontalLine.endColumn))?.left??Ut+this._spaceWidth)-Ut:this._spaceWidth;lt+=`<div class="core-guide ${It.className} ${ti}" style="left:${Ut}px;width:${ii}px"></div>`}be[it]=lt}this._renderResult=be}getGuidesByLine(t,s,m){const O=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(t,s,m,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?bi.N6.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?bi.N6.EnabledForActive:bi.N6.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,F=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,s):null;let se=0,be=0,Oe=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&m){const lt=this._context.viewModel.getActiveIndentGuide(m.lineNumber,t,s);se=lt.startLineNumber,be=lt.endLineNumber,Oe=lt.indent}const{indentSize:it}=this._context.viewModel.model.getOptions(),ct=[];for(let lt=t;lt<=s;lt++){const Dt=new Array;ct.push(Dt);const It=O?O[lt-t]:[],Ut=new o.j3(It),ti=F?F[lt-t]:0;for(let ii=1;ii<=ti;ii++){const oi=(ii-1)*it+1,yi=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||It.length===0)&&se<=lt&&lt<=be&&ii===Oe;Dt.push(...Ut.takeWhile(ji=>ji.visibleColumn<oi)||[]);const Ti=Ut.peek();(!Ti||Ti.visibleColumn!==oi||Ti.horizontalLine)&&Dt.push(new bi.TH(oi,-1,`core-guide-indent lvl-${(ii-1)%30}`+(yi?" indent-active":""),null,-1,-1))}Dt.push(...Ut.takeWhile(ii=>!0)||[])}return ct}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}}function ge(ft){if(!(ft&&ft.isTransparent()))return ft}(0,li.zy)((ft,t)=>{const s=[{bracketColor:Xt.sN,guideColor:Xt.n4,guideColorActive:Xt.bB},{bracketColor:Xt.lQ,guideColor:Xt.I2,guideColorActive:Xt.WS},{bracketColor:Xt.ss,guideColor:Xt.Bo,guideColorActive:Xt.Pe},{bracketColor:Xt.l5,guideColor:Xt.If,guideColorActive:Xt.WD},{bracketColor:Xt.sH,guideColor:Xt.BD,guideColorActive:Xt.P1},{bracketColor:Xt.zp,guideColor:Xt.IW,guideColorActive:Xt.WY}],m=new Zi.k,O=[{indentColor:Xt.vV,indentColorActive:Xt.H0},{indentColor:Xt.ob,indentColorActive:Xt.Am},{indentColor:Xt.hz,indentColorActive:Xt.tK},{indentColor:Xt.ow,indentColorActive:Xt.A3},{indentColor:Xt.vP,indentColorActive:Xt.tp},{indentColor:Xt.CM,indentColorActive:Xt.As}],F=s.map(be=>{const Oe=ft.getColor(be.bracketColor),it=ft.getColor(be.guideColor),ct=ft.getColor(be.guideColorActive),lt=ge(ge(it)??Oe?.transparent
228(.3)),Dt=ge(ge(ct)??Oe);if(!(!lt||!Dt))return{guideColor:lt,guideColorActive:Dt}}).filter(Ki.O9),se=O.map(be=>{const Oe=ft.getColor(be.indentColor),it=ft.getColor(be.indentColorActive),ct=ge(Oe),lt=ge(it);if(!(!ct||!lt))return{indentColor:ct,indentColorActive:lt}}).filter(Ki.O9);if(F.length>0){for(let be=0;be<30;be++){const Oe=F[be%F.length];t.addRule(`.monaco-editor .${m.getInlineClassNameOfLevel(be).replace(/ /g,".")} { --guide-color: ${Oe.guideColor}; --guide-color-active: ${Oe.guideColorActive}; }`)}t.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),t.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),t.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),t.addRule(`.monaco-editor .vertical.${m.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${m.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${m.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(se.length>0){for(let be=0;be<30;be++){const Oe=se[be%se.length];t.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${be} { --indent-color: ${Oe.indentColor}; --indent-color-active: ${Oe.indentColorActive}; }`)}t.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),t.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});const rl=class rl extends At{constructor(t){super(),this._context=t,this._readConfig(),this._lastCursorModelPosition=new Le.y(1,1),this._renderResult=null,this._activeModelLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const t=this._context.configuration.options;this._lineHeight=t.get(75);const s=t.get(76);this._renderLineNumbers=s.renderType,this._renderCustomLineNumbers=s.renderFn,this._renderFinalNewline=t.get(109);const m=t.get(165);this._lineNumbersLeft=m.lineNumbersLeft,this._lineNumbersWidth=m.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return this._readConfig(),!0}onCursorStateChanged(t){const s=t.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(s);let m=!1;return this._activeModelLineNumber!==this._lastCursorModelPosition.lineNumber&&(this._activeModelLineNumber=this._lastCursorModelPosition.lineNumber,m=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(m=!0),m}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}onDecorationsChanged(t){return t.affectsLineNumber}_getLineRenderLineNumber(t){const s=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(t,1));if(s.column!==1)return"";const m=s.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(m);if(this._renderLineNumbers===2){const O=Math.abs(this._lastCursorModelPosition.lineNumber-m);return O===0?'<span class="relative-current-line-number">'+m+"</span>":String(O)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===m||m%10===0)return String(m);const O=this._context.viewModel.getLineCount();return m===O?String(m):""}return String(m)}prepareRender(t){if(this._renderLineNumbers===0){this._renderResult=null;return}const s=a.j9?this._lineHeight%2===0?" lh-even":" lh-odd":"",m=t.visibleRange.startLineNumber,O=t.visibleRange.endLineNumber,F=this._context.viewModel.getDecorationsInViewport(t.visibleRange).filter(it=>!!it.options.lineNumberClassName);F.sort((it,ct)=>_e.Q.compareRangesUsingEnds(it.range,ct.range));let se=0;const be=this._context.viewModel.getLineCount(),Oe=[];for(let it=m;it<=O;it++){const ct=it-m,lt=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(it,1)).lineNumber;let Dt=this._getLineRenderLineNumber(it),It="";for(;se<F.length&&F[se].range.endLineNumber<it;)se++;for(let Ut=se;Ut<F.length;Ut++){const{range:ti,options:ii}=F[Ut];ti.startLineNumber<=it&&(It+=" "+ii.lineNumberClassName)}if(!Dt&&!It){Oe[ct]="";continue}it===be&&this._context.viewModel.getLineLength(it)===0&&(this._renderFinalNewline==="off"&&(Dt=""),this._renderFinalNewline==="dimmed"&&(It+=" dimmed-line-number")),lt===this._activeModelLineNumber&&(It+=" active-line-number"),Oe[ct]=`<div class="${rl.CLASS_NAME}${s}${It}" style="left:${this._lineNumbersLeft}px;width:${this._lineNumbersWidth}px;">${Dt}</div>`}this._renderResult=Oe}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}};rl.CLASS_NAME="line-numbers";let Ze=rl;(0,li.zy)((ft,t)=>{const s=ft.getColor(Xt.Qt),m=ft.getColor(Xt.JB);m?t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${m}; }`):s&&t.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${s.transparent
228(.4)}; }`)});const at="monaco-mouse-cursor-text";class Et{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const t=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=t.left;const s=this._domNode.offsetWidth;this._clientRectScale=s>0?t.width/s:1}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(t,s){this._domNode=t,this.endNode=s,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class Ft{constructor(t,s){this.themeType=s;const m=t.options,O=m.get(59);this.renderWhitespace=m.get(113),this.experimentalWhitespaceRendering=m.get(47),this.renderControlCharacters=m.get(108),this.spaceWidth=O.spaceWidth,this.middotWidth=O.middotWidth,this.wsmiddotWidth=O.wsmiddotWidth,this.useMonospaceOptimizations=O.isMonospace&&!m.get(40),this.canUseHalfwidthRightwardsArrow=O.canUseHalfwidthRightwardsArrow,this.lineHeight=m.get(75),this.stopRenderingLineAfter=m.get(133),this.fontLigatures=m.get(60),this.verticalScrollbarSize=m.get(117).verticalScrollbarSize,this.useGpu=m.get(46)==="on"}equals(t){return this.themeType===t.themeType&&this.renderWhitespace===t.renderWhitespace&&this.experimentalWhitespaceRendering===t.experimentalWhitespaceRendering&&this.renderControlCharacters===t.renderControlCharacters&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.useMonospaceOptimizations===t.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter&&this.fontLigatures===t.fontLigatures&&this.verticalScrollbarSize===t.verticalScrollbarSize&&this.useGpu===t.useGpu}}class qt{constructor(){this._currentVisibleRange=new _e.Q(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(t){this._currentVisibleRange=t}}class Li{constructor(t,s,m,O,F,se,be){this.minimalReveal=t,this.lineNumber=s,this.startColumn=m,this.endColumn=O,this.startScrollTop=F,this.stopScrollTop=se,this.scrollType=be,this.type="range",this.minLineNumber=s,this.maxLineNumber=s}}class Ni{constructor(t,s,m,O,F){this.minimalReveal=t,this.selections=s,this.startScrollTop=m,this.stopScrollTop=O,this.scrollType=F,this.type="selections";let se=s[0].startLineNumber,be=s[0].endLineNumber;for(let Oe=1,it=s.length;Oe<it;Oe++){const ct=s[Oe];se=Math.min(se,ct.startLineNumber),be=Math.max(be,ct.endLineNumber)}this.minLineNumber=se,this.maxLineNumber=be}}const Va=class Va extends M{constructor(t,s,m){super(t);const O=this._context.configuration,F=this._context.configuration.options,se=F.get(59),be=F.get(166);this._lineHeight=F.get(75),this._typicalHalfwidthCharacterWidth=se.typicalHalfwidthCharacterWidth,this._isViewportWrapping=be.isViewportWrapping,this._revealHorizontalRightPadding=F.get(114),this._cursorSurroundingLines=F.get(35),this._cursorSurroundingLinesStyle=F.get(36),this._canUseLayerHinting=!F.get(39),this._viewLineOptions=new Ft(O,this._context.theme.type),this._linesContent=m,this._textRangeRestingSpot=document.createElement("div"),this._visibleLines=new ps(this._context,{createLine:()=>new Me.G(s,this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,Ve.write(this.domNode,8),this.domNode.setClassName(`view-lines ${at}`),(0,d.M)(this.domNode,se),this._maxLineWidth=0,this._asyncUpdateLineWidths=new st.uC(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new st.uC(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new qt,this._horizontalRevealRequest=null,this._stickyScrollEnabled=F.get(131).enabled,this._maxNumberStickyLines=F.get(131).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t),t.hasChanged(166)&&(this._maxLineWidth=0);const s=this._context.configuration.options,m=s.get(59),O=s.get(166);return this._lineHeight=s.get(75),this._typicalHalfwidthCharacterWidth=m.typicalHalfwidthCharacterWidth,this._isViewportWrapping=O.isViewportWrapping,this._revealHorizontalRightPadding=s.get(114),this._cursorSurroundingLines=s.get(35),this._cursorSurroundingLinesStyle=s.get(36),this._canUseLayerHinting=!s.get(39),this._stickyScrollEnabled=s.get(131).enabled,this._maxNumberStickyLines=s.get(131).maxLineCount,(0,d.M)(this.domNode,m),this._onOptionsMaybeChanged(),t.hasChanged(165)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const t=this._context.configuration,s=new Ft(t,this._context.theme.type);if(!this._viewLineOptions.equals(s)){this._viewLineOptions=s;const m=this._visibleLines.getStartLineNumber(),O=this._visibleLines.getEndLineNumber();for(let F=m;F<=O;F++)this._visibleLines.getVisibleLine(F).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(t){const s=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();let O=!1;for(let F=s;F<=m;F++)O=this._visibleLines.getVisibleLine(F).onSelectionChanged()||O;return O}onDecorationsChanged(t){const s=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();for(let O=s;O<=m;O++)this._visibleLines.getVisibleLine(O).onDecorationsChanged();return!0}onFlushed(t){const s=this._visibleLines.onFlushed(t,this._viewLineOptions.useGpu);return this._maxLineWidth=0,s}
228onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onRevealRangeRequest(t){const s=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),t.source,t.minimalReveal,t.range,t.selections,t.verticalType);if(s===-1)return!1;let m=this._context.viewLayout.validateScrollPosition({scrollTop:s});t.revealHorizontal?t.range&&t.range.startLineNumber!==t.range.endLineNumber?m={scrollTop:m.scrollTop,scrollLeft:0}:t.range?this._horizontalRevealRequest=new Li(t.minimalReveal,t.range.startLineNumber,t.range.startColumn,t.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),m.scrollTop,t.scrollType):t.selections&&t.selections.length>0&&(this._horizontalRevealRequest=new Ni(t.minimalReveal,t.selections,this._context.viewLayout.getCurrentScrollTop(),m.scrollTop,t.scrollType)):this._horizontalRevealRequest=null;const F=Math.abs(this._context.viewLayout.getCurrentScrollTop()-m.scrollTop)<=this._lineHeight?1:t.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(m,F),!0}onScrollChanged(t){if(this._horizontalRevealRequest&&t.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&t.scrollTopChanged){const s=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),m=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(t.scrollTop<s||t.scrollTop>m)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(t.scrollWidth),this._visibleLines.onScrollChanged(t)||t.scrollTopChanged||t.scrollLeftChanged}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(t)}onThemeChanged(t){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(t,s){const m=this._getViewLineDomNode(t);if(m===null)return null;const O=this._getLineNumberFor(m);if(O===-1||O<1||O>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(O)===1)return new Le.y(O,1);const F=this._visibleLines.getStartLineNumber(),se=this._visibleLines.getEndLineNumber();if(O<F||O>se)return null;let be=this._visibleLines.getVisibleLine(O).getColumnOfNodeOffset(t,s);const Oe=this._context.viewModel.getLineMinColumn(O);return be<Oe&&(be=Oe),new Le.y(O,be)}_getViewLineDomNode(t){for(;t&&t.nodeType===1;){if(t.className===Me.G.CLASS_NAME)return t;t=t.parentElement}return null}_getLineNumberFor(t){const s=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();for(let O=s;O<=m;O++){const F=this._visibleLines.getVisibleLine(O);if(t===F.getDomNode())return O}return-1}getLineWidth(t){const s=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();if(t<s||t>m)return-1;const O=new Et(this.domNode.domNode,this._textRangeRestingSpot),F=this._visibleLines.getVisibleLine(t).getWidth(O);return this._updateLineWidthsSlowIfDomDidLayout(O),F}resetLineWidthCaches(){const t=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let m=t;m<=s;m++)this._visibleLines.getVisibleLine(m).resetCachedWidth()}linesVisibleRangesForRange(t,s){const m=t.endLineNumber,O=_e.Q.intersectRanges(t,this._lastRenderedData.getCurrentVisibleRange());if(!O)return null;const F=[];let se=0;const be=new Et(this.domNode.domNode,this._textRangeRestingSpot);let Oe=0;s&&(Oe=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(O.startLineNumber,1)).lineNumber);const it=this._visibleLines.getStartLineNumber(),ct=this._visibleLines.getEndLineNumber();for(let lt=O.startLineNumber;lt<=O.endLineNumber;lt++){if(lt<it||lt>ct)continue;const Dt=lt===O.startLineNumber?O.startColumn:1,It=lt!==m,Ut=It?this._context.viewModel.getLineMaxColumn(lt):O.endColumn,ii=this._visibleLines.getVisibleLine(lt).getVisibleRangesForRange(lt,Dt,Ut,be);if(ii){if(s&&lt<m){const oi=Oe;if(Oe=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(lt+1,1)).lineNumber,oi!==Oe){const yi=ii.ranges[ii.ranges.length-1];yi.width+=this._typicalHalfwidthCharacterWidth,this._context.viewModel.getTextDirection(oi)===ae.z4.RTL&&(yi.left-=this._typicalHalfwidthCharacterWidth)}}F[se++]=new Zn.BG(ii.outsideRenderedLine,lt,Zn.Y.from(ii.ranges),It)}}return this._updateLineWidthsSlowIfDomDidLayout(be),se===0?null:F}_visibleRangesForLineRange(t,s,m){if(t<this._visibleLines.getStartLineNumber()||t>this._visibleLines.getEndLineNumber())return null;const O=new Et(this.domNode.domNode,this._textRangeRestingSpot),F=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,s,m,O);return this._updateLineWidthsSlowIfDomDidLayout(O),F}_lineIsRenderedRTL(t){return t<this._visibleLines.getStartLineNumber()||t>this._visibleLines.getEndLineNumber()?!1:this._visibleLines.getVisibleLine(t).isRenderedRTL()}visibleRangeForPosition(t){const s=this._visibleRangesForLineRange(t.lineNumber,t.column,t.column);return s?new Zn.qN(s.outsideRenderedLine,s.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(t){t.didDomLayout&&this._asyncUpdateLineWidths.isScheduled()&&(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow())}_updateLineWidths(t){const s=this._visibleLines.getStartLineNumber(),m=this._visibleLines.getEndLineNumber();let O=1,F=!0;for(let se=s;se<=m;se++){const be=this._visibleLines.getVisibleLine(se);if(t&&!be.getWidthIsFast()){F=!1;continue}O=Math.max(O,be.getWidth(null))}return F&&s===1&&m===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(O),F}_checkMonospaceFontAssumptions(){let t=-1,s=-1;const m=this._visibleLines.getStartLineNumber(),O=this._visibleLines.getEndLineNumber();for(let F=m;F<=O;F++){const se=this._visibleLines.getVisibleLine(F);if(se.needsMonospaceFontCheck()){const be=se.getWidth(null);be>s&&(s=be,t=F)}}if(t!==-1&&!this._visibleLines.getVisibleLine(t).monospaceAssumptionsAreValid())for(let F=m;F<=O;F++)this._visibleLines.getVisibleLine(F).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(t){if(this._visibleLines.renderLines(t),this._lastRenderedData.setCurrentVisibleRange(t.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const m=this._horizontalRevealRequest;if(t.startLineNumber<=m.minLineNumber&&m.maxLineNumber<=t.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const O=this._computeScrollLeftToReveal(m);O&&(!this._isViewportWrapping&&!O.hasRTL&&this._ensureMaxLineWidth(O.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:O.scrollLeft},m.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),a.j9&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const m=this._visibleLines.getStartLineNumber(),O=this._visibleLines.getEndLineNumber();for(let F=m;F<=O;F++)if(this._visibleLines.getVisibleLine(F).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const s=this._context.viewLayout.getCurrentScrollTop()-t.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(t){if(this._viewLineOptions.useGpu)return;const s=Math.ceil(t);this._maxLineWidth<s&&(this._maxLineWidth=s,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(t,s,m,O,F,se){const be=t.top,Oe=t.height,it=be+Oe;let ct,lt,Dt;if(F&&F.length>0){let oi=F[0].startLineNumber,yi=F[0].endLineNumber;for(let Ti=1,ji=F.length;Ti<ji;Ti++){const an=F[Ti];oi=Math.min(oi,an.startLineNumber),yi=Math.max(yi,an.endLineNumber)}ct=!1,lt=this._context.viewLayout.getVerticalOffsetForLineNumber(oi),Dt=this._context.viewLayout.getVerticalOffsetForLineNumber(yi)+this._lineHeight}else if(O)ct=!0,lt=this._context.viewLayout.getVerticalOffsetForLineNumber(O.startLineNumber),Dt=this._context.viewLayout.getVerticalOffsetForLineNumber(O.endLineNumber)+this._lineHeight;else return-1;const It=(s==="mouse"||m)&&this._cursorSurroundingLinesStyle==="default";let Ut=0,ti=0;if(It)m||(Ut=this._lineHeight);else{const oi=Oe/this._lineHeight,yi=Math.max(this._cursorSurroundingLines,this._stickyScrollEnabled?this._maxNumberStickyLines:0),Ti=Math.min(oi/2,yi);Ut=Ti*this._lineHeight,ti=Math.max(0,Ti-1)*this._lineHeight}m||(se===0||se===4)&&(ti+=this._lineHeight),lt-=Ut,Dt+=ti;let ii;if(Dt-lt>Oe){if(!ct)return-1;ii=lt}else if(se===5||se===6)if(se===6&&be<=lt&&Dt<=it)ii=be;else{const oi=Math.max(5*this._lineHeight,Oe*.2),yi=lt-oi,Ti=Dt-Oe;ii=Math.max(Ti,yi)}else if(se===1||se===2)if(se===2&&be<=lt&&Dt<=it)ii=be;else{const oi=(lt+Dt)/2;ii=Math.max(0,oi-Oe/2)}else ii=this._computeMinimumScrolling(be,it,lt,Dt,se===3,se===4);return ii}_computeScrollLeftToReveal(t){const s=this._context.viewLayout.getCurrentViewport(),m=this._context.configuration.options.get(165),O=s.left,F=O+s.width-m.verticalScrollbarWidth;let se=1073741824,be=0,Oe=!1;if(t.type==="range"){Oe=this._lineIsRenderedRTL(t.lineNumber);const ct=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!ct)return null;for(const lt of ct.ranges)se=Math.min(se,Math.round(lt.left)),be=Math.max(be,Math.round(lt.left+lt.width))}else for(const ct of t.selections){if(ct.startLineNumber!==ct.endLineNumber)return null;const lt=this._visibleRangesForLineRange(ct.startLineNumber,ct.startColumn,ct.endColumn);if(Oe||=this._lineIsRenderedRTL(ct.startLineNumber),!lt)return null;for(const Dt of lt.ranges)se=Math.min(se,Math.round(Dt.left)),be=Math.max(be,Math.round(Dt.left+Dt.width))}return t.minimalReveal||(se=Math.max(0,se-Va.HORIZONTAL_EXTRA_PX),be+=this._revealHorizontalRightPadding),t.type==="selections"&&be-se>s.width?null:{scrollLeft:this._computeMinimumScrolling(O,F,se,be),maxHorizontalOffset:be,hasRTL:Oe}}_computeMinimumScrolling(t,s,m,O,F,se){t=t|0,s=s|0,m=m|0,O=O|0,F=!!F,se=!!se;const be=s-t;if(O-m<be){if(F)return m;if(se)return Math.max(0,O-be);if(m<t)return m;if(O>s)return Math.max(0,O-be)}else return m;return t}};Va.HORIZONTAL_EXTRA_PX=30;let xi=Va;class Ci extends xt{constructor(t){super(),this._context=t;const m=this._context.configuration.options.get(165);this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const m=this._context.configuration.options.get(165);return this._decorationsLeft=m.decorationsLeft,this._decorationsWidth=m.decorationsWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getDecorations(t){const s=t.getDecorationsInViewport(),m=[];let O=0;for(let F=0,se=s.length;F<se;F++){const be=s[F],Oe=be.options.linesDecorationsClassName,it=be.options.zIndex;Oe&&(m[O++]=new ci(be.range.startLineNumber,be.range.endLineNumber,Oe,be.options.linesDecorationsTooltip??null,it));const ct=be.options.firstLineDecorationClassName;ct&&(m[O++]=new ci(be.range.startLineNumber,be.range.startLineNumber,ct,be.options.linesDecorationsTooltip??null,it))}return m}prepareRender(t){const s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber,O=this._render(s,m,this._getDecorations(t)),F=this._decorationsLeft.toString(),se=this._decorationsWidth.toString(),be='" style="left:'+F+"px;width:"+se+'px;"></div>',Oe=[];for(let it=s;it<=m;it++){const ct=it-s,lt=O[ct].getDecorations();let Dt="";for(const It of lt){let Ut='<div class="cldr '+It.className;It.tooltip!==null&&(Ut+='" title="'+It.tooltip),Ut+=be,Dt+=Ut}Oe[ct]=Dt}this._renderResult=Oe}render(t,s){return this._renderResult?this._renderResult[s-t]:""}}const Wr=class Wr extends M{constructor(t){super(t);const s=this._context.configuration.options,m=s.get(165);this._canUseLayerHinting=!s.get(39),this._contentLeft=m.contentLeft,this._glyphMarginLeft=m.glyphMarginLeft,this._glyphMarginWidth=m.glyphMarginWidth,this._domNo
228de=(0,de.Z)(document.createElement("div")),this._domNode.setClassName(Wr.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=(0,de.Z)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Wr.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}getDomNode(){return this._domNode}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(165);return this._canUseLayerHinting=!s.get(39),this._contentLeft=m.contentLeft,this._glyphMarginLeft=m.glyphMarginLeft,this._glyphMarginWidth=m.glyphMarginWidth,!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollTopChanged}prepareRender(t){}render(t){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const s=t.scrollTop-t.bigNumbersDelta;this._domNode.setTop(-s);const m=Math.min(t.scrollHeight,1e6);this._domNode.setHeight(m),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(m)}};Wr.CLASS_NAME="glyph-margin",Wr.OUTER_CLASS_NAME="margin";let Di=Wr;class Fi extends xt{constructor(t){super(),this._context=t,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getDecorations(t){const s=t.getDecorationsInViewport(),m=[];let O=0;for(let F=0,se=s.length;F<se;F++){const be=s[F],Oe=be.options.marginClassName,it=be.options.zIndex;Oe&&(m[O++]=new ci(be.range.startLineNumber,be.range.endLineNumber,Oe,null,it))}return m}prepareRender(t){const s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber,O=this._render(s,m,this._getDecorations(t)),F=[];for(let se=s;se<=m;se++){const be=se-s,Oe=O[be].getDecorations();let it="";for(const ct of Oe)it+='<div class="cmdr '+ct.className+'" style=""></div>';F[be]=it}this._renderResult=F}render(t,s){return this._renderResult?this._renderResult[s-t]:""}}var Gi=e(10176);const Or=class Or{constructor(t,s,m,O){this._rgba8Brand=void 0,this.r=Or._clamp(t),this.g=Or._clamp(s),this.b=Or._clamp(m),this.a=Or._clamp(O)}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}static _clamp(t){return t<0?0:t>255?255:t|0}};Or.Empty=new Or(0,0,0,0);let Xi=Or;var tn=e(47317);const na=class na extends i.jG{static getInstance(){return this._INSTANCE||(this._INSTANCE=(0,i.lC)(new na)),this._INSTANCE}constructor(){super(),this._onDidChange=this._register(new u.vl),this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(tn.dG.onDidChange(t=>{t.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const t=tn.dG.getColorMap();if(!t){this._colors=[];for(let m=0;m<=2;m++)this._colors[m]=Xi.Empty;this._backgroundIsLight=!0;return}this._colors=[Xi.Empty];for(let m=1;m<t.length;m++){const O=t[m].rgba;this._colors[m]=new Xi(O.r,O.g,O.b,Math.round(O.a*255))}const s=t[2].getRelativeLuminance();this._backgroundIsLight=s>=.5,this._onDidChange.fire(void 0)}getColor(t){(t<1||t>=this._colors.length)&&(t=2);let s=this._colors[t];return s||((0,C.dz)(new C.D7(`Missing color for colorId ${t}`)),s=Xi.Empty),s}backgroundIsLight(){return this._backgroundIsLight}};na._INSTANCE=null;let yn=na;var Gn=e(87676),Ys=e(18382),nn=e(75962),Cn=e(73858),kn=e(69227),Ds=e(82735),Gs=e(75712),xs=e(10680),Ms=e(58687),$n=e(94865),_s=e(74707);const ao=(()=>{const ft=[];for(let t=32;t<=126;t++)ft.push(t);return ft.push(65533),ft})(),ks=(ft,t)=>(ft-=32,ft<0||ft>96?t<=2?(ft+96)%96:95:ft);var Fs=e(37512);class as{constructor(t,s){this.scale=s,this._minimapCharRendererBrand=void 0,this.charDataNormal=as.soften(t,12/15),this.charDataLight=as.soften(t,50/60)}static soften(t,s){const m=new Uint8ClampedArray(t.length);for(let O=0,F=t.length;O<F;O++)m[O]=(0,Fs.W)(t[O]*s);return m}renderChar(t,s,m,O,F,se,be,Oe,it,ct,lt){const Dt=1*this.scale,It=2*this.scale,Ut=lt?1:It;if(s+Dt>t.width||m+Ut>t.height){console.warn("bad render request outside image data");return}const ti=ct?this.charDataLight:this.charDataNormal,ii=ks(O,it),oi=t.width*4,yi=be.r,Ti=be.g,ji=be.b,an=F.r-yi,Qi=F.g-Ti,Ji=F.b-ji,mn=Math.max(se,Oe),rn=t.data;let vn=ii*Dt*It,Hn=m*oi+s*4;for(let Rn=0;Rn<Ut;Rn++){let xn=Hn;for(let ds=0;ds<Dt;ds++){const ls=ti[vn++]/255*(se/255);rn[xn++]=yi+an*ls,rn[xn++]=Ti+Qi*ls,rn[xn++]=ji+Ji*ls,rn[xn++]=mn}Hn+=oi}}blockRenderChar(t,s,m,O,F,se,be,Oe){const it=1*this.scale,ct=2*this.scale,lt=Oe?1:ct;if(s+it>t.width||m+lt>t.height){console.warn("bad render request outside image data");return}const Dt=t.width*4,It=.5*(F/255),Ut=se.r,ti=se.g,ii=se.b,oi=O.r-Ut,yi=O.g-ti,Ti=O.b-ii,ji=Ut+oi*It,an=ti+yi*It,Qi=ii+Ti*It,Ji=Math.max(F,be),mn=t.data;let rn=m*Dt+s*4;for(let vn=0;vn<lt;vn++){let Hn=rn;for(let Rn=0;Rn<it;
228Rn++)mn[Hn++]=ji,mn[Hn++]=an,mn[Hn++]=Qi,mn[Hn++]=Ji;rn+=Dt}}}var vs=e(48289);const Ns={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},Er=ft=>{const t=new Uint8ClampedArray(ft.length/2);for(let s=0;s<ft.length;s+=2)t[s>>1]=Ns[ft[s]]<<4|Ns[ft[s+1]]&15;return t},Lr={1:(0,vs.P)(()=>Er("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:(0,vs.P)(()=>Er("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class ur{static create(t,s){if(this.lastCreated&&t===this.lastCreated.scale&&s===this.lastFontFamily)return this.lastCreated;let m;return Lr[t]?m=new as(Lr[t](),t):m=ur.createFromSampleData(ur.createSampleData(s).data,t),this.lastFontFamily=s,this.lastCreated=m,m}static createSampleData(t){const s=document.createElement("canvas"),m=s.getContext("2d");s.style.height="16px",s.height=16,s.width=96*10,s.style.width=96*10+"px",m.fillStyle="#ffffff",m.font=`bold 16px ${t}`,m.textBaseline="middle";let O=0;for(const F of ao)m.fillText(String.fromCharCode(F),O,16/2),O+=10;return m.getImageData(0,0,96*10,16)}static createFromSampleData(t,s){if(t.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const O=ur._downsample(t,s);return new as(O,s)}static _downsampleChar(t,s,m,O,F){const se=1*F,be=2*F;let Oe=O,it=0;for(let ct=0;ct<be;ct++){const lt=ct/be*16,Dt=(ct+1)/be*16;for(let It=0;It<se;It++){const Ut=It/se*10,ti=(It+1)/se*10;let ii=0,oi=0;for(let Ti=lt;Ti<Dt;Ti++){const ji=s+Math.floor(Ti)*3840,an=1-(Ti-Math.floor(Ti));for(let Qi=Ut;Qi<ti;Qi++){const Ji=1-(Qi-Math.floor(Qi)),mn=ji+Math.floor(Qi)*4,rn=Ji*an;oi+=rn,ii+=t[mn]*t[mn+3]/255*rn}}const yi=ii/oi;it=Math.max(it,yi),m[Oe++]=(0,Fs.W)(yi)}}return it}static _downsample(t,s){const m=2*s*1*s,O=m*96,F=new Uint8ClampedArray(O);let se=0,be=0,Oe=0;for(let it=0;it<96;it++)Oe=Math.max(Oe,this._downsampleChar(t,be,F,se,s)),se+=m,be+=10*4;if(Oe>0){const it=255/Oe;for(let ct=0;ct<O;ct++)F[ct]*=it}return F}}var Da=e(27992);const za=a.uF?'"Segoe WPC", "Segoe UI", sans-serif':a.zx?"-apple-system, BlinkMacSystemFont, sans-serif":'system-ui, "Ubuntu", "Droid Sans", sans-serif';var fo=e(71043);const nr=140,Ur=2;class sr{constructor(t,s,m){const O=t.options,F=O.get(163),se=O.get(165),be=se.minimap,Oe=O.get(59),it=O.get(81);this.renderMinimap=be.renderMinimap,this.size=it.size,this.minimapHeightIsEditorHeight=be.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=O.get(119),this.paddingTop=O.get(96).top,this.paddingBottom=O.get(96).bottom,this.showSlider=it.showSlider,this.autohide=it.autohide,this.pixelRatio=F,this.typicalHalfwidthCharacterWidth=Oe.typicalHalfwidthCharacterWidth,this.lineHeight=O.get(75),this.minimapLeft=be.minimapLeft,this.minimapWidth=be.minimapWidth,this.minimapHeight=se.height,this.canvasInnerWidth=be.minimapCanvasInnerWidth,this.canvasInnerHeight=be.minimapCanvasInnerHeight,this.canvasOuterWidth=be.minimapCanvasOuterWidth,this.canvasOuterHeight=be.minimapCanvasOuterHeight,this.isSampling=be.minimapIsSampling,this.editorHeight=se.height,this.fontScale=be.minimapScale,this.minimapLineHeight=be.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.sectionHeaderFontFamily=za,this.sectionHeaderFontSize=it.sectionHeaderFontSize*F,this.sectionHeaderLetterSpacing=it.sectionHeaderLetterSpacing,this.sectionHeaderFontColor=sr._getSectionHeaderColor(s,m.getColor(1)),this.charRenderer=(0,vs.P)(()=>
228ur.create(this.fontScale,Oe.fontFamily)),this.defaultBackgroundColor=m.getColor(2),this.backgroundColor=sr._getMinimapBackground(s,this.defaultBackgroundColor),this.foregroundAlpha=sr._getMinimapForegroundOpacity(s)}static _getMinimapBackground(t,s){const m=t.getColor(xs.IL);return m?new Xi(m.rgba.r,m.rgba.g,m.rgba.b,Math.round(255*m.rgba.a)):s}static _getMinimapForegroundOpacity(t){const s=t.getColor(xs.K1);return s?Xi._clamp(Math.round(255*s.rgba.a)):255}static _getSectionHeaderColor(t,s){const m=t.getColor(Cn.By);return m?new Xi(m.rgba.r,m.rgba.g,m.rgba.b,Math.round(255*m.rgba.a)):s}equals(t){return this.renderMinimap===t.renderMinimap&&this.size===t.size&&this.minimapHeightIsEditorHeight===t.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===t.scrollBeyondLastLine&&this.paddingTop===t.paddingTop&&this.paddingBottom===t.paddingBottom&&this.showSlider===t.showSlider&&this.autohide===t.autohide&&this.pixelRatio===t.pixelRatio&&this.typicalHalfwidthCharacterWidth===t.typicalHalfwidthCharacterWidth&&this.lineHeight===t.lineHeight&&this.minimapLeft===t.minimapLeft&&this.minimapWidth===t.minimapWidth&&this.minimapHeight===t.minimapHeight&&this.canvasInnerWidth===t.canvasInnerWidth&&this.canvasInnerHeight===t.canvasInnerHeight&&this.canvasOuterWidth===t.canvasOuterWidth&&this.canvasOuterHeight===t.canvasOuterHeight&&this.isSampling===t.isSampling&&this.editorHeight===t.editorHeight&&this.fontScale===t.fontScale&&this.minimapLineHeight===t.minimapLineHeight&&this.minimapCharWidth===t.minimapCharWidth&&this.sectionHeaderFontSize===t.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===t.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(t.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(t.backgroundColor)&&this.foregroundAlpha===t.foregroundAlpha}}class Qo{constructor(t,s,m,O,F,se,be,Oe,it){this.scrollTop=t,this.scrollHeight=s,this.sliderNeeded=m,this._computedSliderRatio=O,this.sliderTop=F,this.sliderHeight=se,this.topPaddingLineCount=be,this.startLineNumber=Oe,this.endLineNumber=it}getDesiredScrollTopFromDelta(t){return Math.round(this.scrollTop+t/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(t){return Math.round((t-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(t){const s=Math.max(this.startLineNumber,t.startLineNumber),m=Math.min(this.endLineNumber,t.endLineNumber);return s>m?null:[s,m]}getYForLineNumber(t,s){return+(t-this.startLineNumber+this.topPaddingLineCount)*s}static create(t,s,m,O,F,se,be,Oe,it,ct,lt){const Dt=t.pixelRatio,It=t.minimapLineHeight,Ut=Math.floor(t.canvasInnerHeight/It),ti=t.lineHeight;if(t.minimapHeightIsEditorHeight){let Qi=Oe*t.lineHeight+t.paddingTop+t.paddingBottom;t.scrollBeyondLastLine&&(Qi+=Math.max(0,F-t.lineHeight-t.paddingBottom));const Ji=Math.max(1,Math.floor(F*F/Qi)),mn=Math.max(0,t.minimapHeight-Ji),rn=mn/(ct-F),vn=it*rn,Hn=mn>0,Rn=Math.floor(t.canvasInnerHeight/t.minimapLineHeight),xn=Math.floor(t.paddingTop/t.lineHeight);return new Qo(it,ct,Hn,rn,vn,Ji,xn,1,Math.min(be,Rn))}let ii;if(se&&m!==be){const Qi=m-s+1;ii=Math.floor(Qi*It/Dt)}else{const Qi=F/ti;ii=Math.floor(Qi*It/Dt)}const oi=Math.floor(t.paddingTop/ti);let yi=Math.floor(t.paddingBottom/ti);if(t.scrollBeyondLastLine){const Qi=F/ti;yi=Math.max(yi,Qi-1)}let Ti;if(yi>0){const Qi=F/ti;Ti=(oi+be+yi-Qi-1)*It/Dt}else Ti=Math.max(0,(oi+be)*It/Dt-ii);Ti=Math.min(t.minimapHeight-ii,Ti);const ji=Ti/(ct-F),an=it*ji;if(Ut>=oi+be+yi){const Qi=Ti>0;return new Qo(it,ct,Qi,ji,an,ii,oi,1,be)}else{let Qi;s>1?Qi=s+oi:Qi=Math.max(1,it/ti);let Ji,mn=Math.max(1,Math.floor(Qi-an*Dt/It));mn<oi?(Ji=oi-mn+1,mn=1):(Ji=0,mn=Math.max(1,mn-oi)),lt&&lt.scrollHeight===ct&&(lt.scrollTop>it&&(mn=Math.min(mn,lt.startLineNumber),Ji=Math.max(Ji,lt.topPaddingLineCount)),lt.scrollTop<it&&(mn=Math.max(mn,lt.startLineNumber),Ji=Math.min(Ji,lt.topPaddingLineCount)));const rn=Math.min(be,mn-Ji+Ut-1),vn=(it-O)/ti;let Hn;return it>=t.paddingTop?Hn=(s-mn+Ji+vn)*It/Dt:Hn=it/t.paddingTop*(Ji+vn)*It/Dt,new Qo(it,ct,!0,ji,Hn,ii,Ji,mn,rn)}}}const ed=class ed{constructor(t){this.dy=t}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};ed.INVALID=new ed(-1);let kr=ed;class zo{constructor(t,s,m){this.renderedLayout=t,this._imageData=s,this._renderedLine
228s=new Ts({createLine:()=>kr.INVALID}),this._renderedLines._set(t.startLineNumber,m)}linesEquals(t){if(!this.scrollEquals(t))return!1;const m=this._renderedLines._get().lines;for(let O=0,F=m.length;O<F;O++)if(m[O].dy===-1)return!1;return!0}scrollEquals(t){return this.renderedLayout.startLineNumber===t.startLineNumber&&this.renderedLayout.endLineNumber===t.endLineNumber}_get(){const t=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:t.rendLineNumberStart,lines:t.lines}}onLinesChanged(t,s){return this._renderedLines.onLinesChanged(t,s)}onLinesDeleted(t,s){this._renderedLines.onLinesDeleted(t,s)}onLinesInserted(t,s){this._renderedLines.onLinesInserted(t,s)}onTokensChanged(t){return this._renderedLines.onTokensChanged(t)}}class gr{constructor(t,s,m,O){this._backgroundFillData=gr._createBackgroundFillData(s,m,O),this._buffers=[t.createImageData(s,m),t.createImageData(s,m)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;const t=this._buffers[this._lastUsedBuffer];return t.data.set(this._backgroundFillData),t}static _createBackgroundFillData(t,s,m){const O=m.r,F=m.g,se=m.b,be=m.a,Oe=new Uint8ClampedArray(t*s*4);let it=0;for(let ct=0;ct<s;ct++)for(let lt=0;lt<t;lt++)Oe[it]=O,Oe[it+1]=F,Oe[it+2]=se,Oe[it+3]=be,it+=4;return Oe}}class sn{static compute(t,s,m){if(t.renderMinimap===0||!t.isSampling)return[null,[]];const{minimapLineCount:O}=W.xZ.computeContainedMinimapLineCount({viewLineCount:s,scrollBeyondLastLine:t.scrollBeyondLastLine,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:t.editorHeight,lineHeight:t.lineHeight,pixelRatio:t.pixelRatio}),F=s/O,se=F/2;if(!m||m.minimapLines.length===0){const ii=[];if(ii[0]=1,O>1){for(let oi=0,yi=O-1;oi<yi;oi++)ii[oi]=Math.round(oi*F+se);ii[O-1]=s}return[new sn(F,ii),[]]}const be=m.minimapLines,Oe=be.length,it=[];let ct=0,lt=0,Dt=1;const It=10;let Ut=[],ti=null;for(let ii=0;ii<O;ii++){const oi=Math.max(Dt,Math.round(ii*F)),yi=Math.max(oi,Math.round((ii+1)*F));for(;ct<Oe&&be[ct]<oi;){if(Ut.length<It){const ji=ct+1+lt;ti&&ti.type==="deleted"&&ti._oldIndex===ct-1?ti.deleteToLineNumber++:(ti={type:"deleted",_oldIndex:ct,deleteFromLineNumber:ji,deleteToLineNumber:ji},Ut.push(ti)),lt--}ct++}let Ti;if(ct<Oe&&be[ct]<=yi)Ti=be[ct],ct++;else if(ii===0?Ti=1:ii+1===O?Ti=s:Ti=Math.round(ii*F+se),Ut.length<It){const ji=ct+1+lt;ti&&ti.type==="inserted"&&ti._i===ii-1?ti.insertToLineNumber++:(ti={type:"inserted",_i:ii,insertFromLineNumber:ji,insertToLineNumber:ji},Ut.push(ti)),lt++}it[ii]=Ti,Dt=Ti}if(Ut.length<It)for(;ct<Oe;){const ii=ct+1+lt;ti&&ti.type==="deleted"&&ti._oldIndex===ct-1?ti.deleteToLineNumber++:(ti={type:"deleted",_oldIndex:ct,deleteFromLineNumber:ii,deleteToLineNumber:ii},Ut.push(ti)),lt--,ct++}else Ut=[{type:"flush"}];return[new sn(F,it),Ut]}constructor(t,s){this.samplingRatio=t,this.minimapLines=s}modelLineToMinimapLine(t){return Math.min(this.minimapLines.length,Math.max(1,Math.round(t/this.samplingRatio)))}modelLineRangeToMinimapLineRange(t,s){let m=this.modelLineToMinimapLine(t)-1;for(;m>0&&this.minimapLines[m-1]>=t;)m--;let O=this.modelLineToMinimapLine(s)-1;for(;O+1<this.minimapLines.length&&this.minimapLines[O+1]<=s;)O++;if(m===O){const F=this.minimapLines[m];if(F<t||F>s)return null}return[m+1,O+1]}decorationLineRangeToMinimapLineRange(t,s){let m=this.modelLineToMinimapLine(t),O=this.modelLineToMinimapLine(s);return t!==s&&O===m&&(O===this.minimapLines.length?m>1&&m--:O++),[m,O]}onLinesDeleted(t){const s=t.toLineNumber-t.fromLineNumber+1;let m=this.minimapLines.length,O=0;for(let F=this.minimapLines.length-1;F>=0&&!(this.minimapLines[F]<t.fromLineNumber);F--)this.minimapLines[F]<=t.toLineNumber?(this.minimapLines[F]=Math.max(1,t.fromLineNumber-1),m=Math.min(m,F),O=Math.max(O,F)):this.minimapLines[F]-=s;return[m,O]}onLinesInserted(t){const s=t.toLineNumber-t.fromLineNumber+1;for(let m=this.minimapLines.length-1;m>=0&&!(this.minimapLines[m]<t.fromLineNumber);m--)this.minimapLines[m]+=s}}class jr extends M{constructor(t){super(t),this._sectionHeaderCache=new Da.qK(10,1.5),this.tokensColorTracker=yn.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new sr(this._context.configuration,this._context.theme,this.tokensColorTracker);const[s]=sn.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=s,this._shouldCheckSampling=!1,this._actual=new jn(t.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){const t=new sr(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(t)?!1:(this.options=t,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(t){return this._onOptionsMaybeChanged()}onCursorStateChanged(t){return this._selections=t.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(t){return t.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(t){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}
228onLinesChanged(t){if(this._samplingState){const s=this._samplingState.modelLineRangeToMinimapLineRange(t.fromLineNumber,t.fromLineNumber+t.count-1);return s?this._actual.onLinesChanged(s[0],s[1]-s[0]+1):!1}else return this._actual.onLinesChanged(t.fromLineNumber,t.count)}onLinesDeleted(t){if(this._samplingState){const[s,m]=this._samplingState.onLinesDeleted(t);return s<=m&&this._actual.onLinesChanged(s+1,m-s+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(t.fromLineNumber,t.toLineNumber)}onLinesInserted(t){return this._samplingState?(this._samplingState.onLinesInserted(t),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(t.fromLineNumber,t.toLineNumber)}onScrollChanged(t){return this._actual.onScrollChanged(t)}onThemeChanged(t){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(t){if(this._samplingState){const s=[];for(const m of t.ranges){const O=this._samplingState.modelLineRangeToMinimapLineRange(m.fromLineNumber,m.toLineNumber);O&&s.push({fromLineNumber:O[0],toLineNumber:O[1]})}return s.length?this._actual.onTokensChanged(s):!1}else return this._actual.onTokensChanged(t.ranges)}onTokensColorsChanged(t){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(t){return this._actual.onZonesChanged()}prepareRender(t){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(t){let s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber;this._samplingState&&(s=this._samplingState.modelLineToMinimapLine(s),m=this._samplingState.modelLineToMinimapLine(m));const O={viewportContainsWhitespaceGaps:t.viewportData.whitespaceViewportData.length>0,scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight,viewportStartLineNumber:s,viewportEndLineNumber:m,viewportStartLineNumberVerticalOffset:t.getVerticalOffsetForLineNumber(s),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft,viewportWidth:t.viewportWidth,viewportHeight:t.viewportHeight};this._actual.render(O)}_recreateLineSampling(){this._minimapSelections=null;const t=!!this._samplingState,[s,m]=sn.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=s,t&&this._samplingState)for(const O of m)switch(O.type){case"deleted":this._actual.onLinesDeleted(O.deleteFromLineNumber,O.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(O.insertFromLineNumber,O.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(t){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[t-1]):this._context.viewModel.getLineContent(t)}getLineMaxColumn(t){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[t-1]):this._context.viewModel.getLineMaxColumn(t)}getMinimapLinesRenderingData(t,s,m){if(this._samplingState){const O=[];for(let F=0,se=s-t+1;F<se;F++)m[F]?O[F]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[t+F-1]):O[F]=null;return O}return this._context.viewModel.getMinimapLinesRenderingData(t,s,m).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(const t of this._selections){const[s,m]=this._samplingState.decorationLineRangeToMinimapLineRange(t.startLineNumber,t.endLineNumber);this._minimapSelections.push(new pe.L(s,t.startColumn,m,t.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(t,s){return this._getMinimapDecorationsInViewport(t,s).filter(m=>!m.options.minimap?.sectionHeaderStyle)}getSectionHeaderDecorationsInViewport(t,s){const m=this.options.sectionHeaderFontSize/this.options.minimapLineHeight;return t=Math.floor(Math.max(1,t-m)),this._getMinimapDecorationsInViewport(t,s).filter(O=>!!O.options.minimap?.sectionHeaderStyle)}_getMinimapDecorationsInViewport(t,s){let m;if(this._samplingState){const F=this._samplingState.minimapLines[t-1],se=this._samplingState.minimapLines[s-1];m=new _e.Q(F,1,se,this._context.viewModel.getLineMaxColumn(se))}else m=new _e.Q(t,1,s,this._context.viewModel.getLineMaxColumn(s));const O=this._context.viewModel.getMinimapDecorationsInRange(m);if(this._samplingState){const F=[];for(const se of O){if(!se.options.minimap)continue;const be=se.range,Oe=this._samplingState.modelLineToMinimapLine(be.startLineNumber),it=this._samplingState.modelLineToMinimapLine(be.endLineNumber);F.push(new fo.vo(new _e.Q(Oe,be.startColumn,it,be.endColumn),se.options))}return F}return O}getSectionHeaderText(t,s){const m=t.options.minimap?.sectionHeaderText;if(!m)return null;const O=this._sectionHeaderCache.get(m);
228if(O)return O;const F=s(m);return this._sectionHeaderCache.set(m,F),F}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(t){this._samplingState&&(t=this._samplingState.minimapLines[t-1]),this._context.viewModel.revealRange("mouse",!1,new _e.Q(t,1,t,1),1,0)}setScrollTop(t){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:t},1)}}class jn extends i.jG{constructor(t,s){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._isMouseOverMinimap=!1,this._theme=t,this._model=s,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(xs.yr),this._domNode=(0,de.Z)(document.createElement("div")),Ve.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=(0,de.Z)(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=(0,de.Z)(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=(0,de.Z)(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=(0,de.Z)(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=(0,de.Z)(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._hideDelayedScheduler=this._register(new st.uC(()=>this._hideImmediatelyIfMouseIsOutside(),500)),this._register((0,b.un)(this._domNo
228de.domNode,b.Bx.MOUSE_OVER,()=>{this._isMouseOverMinimap=!0})),this._register((0,b.un)(this._domNode.domNode,b.Bx.MOUSE_LEAVE,()=>{this._isMouseOverMinimap=!1})),this._pointerDownListener=(0,b.un)(this._domNode.domNode,b.Bx.POINTER_DOWN,m=>{m.preventDefault();const O=m.pointerType==="mouse",F=m.button===0;if(this._model.options.renderMinimap!==0&&this._lastRenderData){if(this._model.options.size!=="proportional"){if(F&&this._lastRenderData){const be=(0,b.BK)(this._slider.domNode),Oe=be.top+be.height/2;this._startSliderDragging(m,Oe,this._lastRenderData.renderedLayout)}return}if(F||!O){const be=this._model.options.minimapLineHeight,Oe=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*m.offsetY;let ct=Math.floor(Oe/be)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;ct=Math.min(ct,this._model.getLineCount()),this._model.revealLineNumber(ct)}}}),this._sliderPointerMoveMonitor=new Gi._,this._sliderPointerDownListener=(0,b.un)(this._slider.domNode,b.Bx.POINTER_DOWN,m=>{m.preventDefault(),m.stopPropagation(),m.button===0&&this._lastRenderData&&this._startSliderDragging(m,m.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=De.q.addTarget(this._domNode.domNode),this._sliderTouchStartListener=(0,b.ko)(this._domNo
228de.domNode,De.B.Start,m=>{m.preventDefault(),m.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(m))},{passive:!1}),this._sliderTouchMoveListener=(0,b.ko)(this._domNode.domNode,De.B.Change,m=>{m.preventDefault(),m.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(m)},{passive:!1}),this._sliderTouchEndListener=(0,b.un)(this._domNode.domNode,De.B.End,m=>{m.preventDefault(),m.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_hideSoon(){this._hideDelayedScheduler.cancel(),this._hideDelayedScheduler.schedule()}_hideImmediatelyIfMouseIsOutside(){if(this._isMouseOverMinimap){this._hideSoon();return}this._domNode.toggleClassName("active",!1)}_startSliderDragging(t,s,m){if(!t.target||!(t.target instanceof Element))return;const O=t.pageX;this._slider.toggleClassName("active",!0);const F=(se,be)=>{const Oe=(0,b.BK)(this._domNode.domNode),it=Math.min(Math.abs(be-O),Math.abs(be-Oe.left),Math.abs(be-Oe.left-Oe.width));if(a.uF&&it>nr){this._model.setScrollTop(m.scrollTop);return}const ct=se-s;this._model.setScrollTop(m.getDesiredScrollTopFromDelta(ct))};t.pageY!==s&&F(t.pageY,O),this._sliderPointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,se=>F(se.pageY,se.pageX),()=>{this._slider.toggleClassName("active",!1)})}
228scrollDueToTouchEvent(t){const s=this._domNode.domNode.getBoundingClientRect().top,m=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(t.pageY-s);this._model.setScrollTop(m)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const t=["minimap"];return this._model.options.showSlider==="always"?t.push("slider-always"):t.push("slider-mouseover"),this._model.options.autohide==="mouseover"?t.push("minimap-autohide-mouseover"):this._model.options.autohide==="scroll"&&t.push("minimap-autohide-scroll"),t.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new gr(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(t,s){return this._lastRenderData?this._lastRenderData.onLinesChanged(t,s):!1}onLinesDeleted(t,s){return this._lastRenderData?.onLinesDeleted(t,s),!0}onLinesInserted(t,s){return this._lastRenderData?.onLinesInserted(t,s),!0}onScrollChanged(t){return this._model.options.autohide==="scroll"&&(t.scrollTopChanged||t.scrollHeightChanged)&&(this._domNode.toggleClassName("active",!0),this._hideSoon()),this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(xs.yr),this._renderDecorations=!0,!0}onTokensChanged(t){return this._lastRenderData?this._lastRenderData.onTokensChanged(t):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(t){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}t.scrollLeft+t.viewportWidth>=t.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const m=Qo.create(this._model.options,t.viewportStartLineNumber,t.viewportEndLineNumber,t.viewportStartLineNumberVerticalOffset,t.viewportHeight,t.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),t.scrollTop,t.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(m.sliderNeeded?"block":"none"),this._slider.setTop(m.sliderTop),this._slider.setHeight(m.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(m.sliderHeight),this.renderDecorations(m),this._lastRenderData=this.renderLines(m)}renderDecorations(t){if(this._renderDecorations){this._renderDecorations=!1;const s=this._model.getSelections();s.sort(_e.Q.compareRangesUsingStarts);const m=this._model.getMinimapDecorationsInViewport(t.startLineNumber,t.endLineNumber);m.sort((Dt,It)=>
228(Dt.options.zIndex||0)-(It.options.zIndex||0));const{canvasInnerWidth:O,canvasInnerHeight:F}=this._model.options,se=this._model.options.minimapLineHeight,be=this._model.options.minimapCharWidth,Oe=this._model.getOptions().tabSize,it=this._decorationsCanvas.domNode.getContext("2d");it.clearRect(0,0,O,F);const ct=new Do(t.startLineNumber,t.endLineNumber,!1);this._renderSelectionLineHighlights(it,s,ct,t,se),this._renderDecorationsLineHighlights(it,m,ct,t,se);const lt=new Do(t.startLineNumber,t.endLineNumber,null);this._renderSelectionsHighlights(it,s,lt,t,se,Oe,be,O),this._renderDecorationsHighlights(it,m,lt,t,se,Oe,be,O),this._renderSectionHeaders(t)}}_renderSelectionLineHighlights(t,s,m,O,F){if(!this._selectionColor||this._selectionColor.isTransparent())return;t.fillStyle=this._selectionColor.transparent(.5).toString();let se=0,be=0;for(const Oe of s){const it=O.intersectWithViewport(Oe);if(!it)continue;const[ct,lt]=it;for(let Ut=ct;Ut<=lt;Ut++)m.set(Ut,!0);const Dt=O.getYForLineNumber(ct,F),It=O.getYForLineNumber(lt,F);be>=Dt||(be>se&&t.fillRect(W.xq,se,t.canvas.width,be-se),se=Dt),be=It}be>se&&t.fillRect(W.xq,se,t.canvas.width,be-se)}_renderDecorationsLineHighlights(t,s,m,O,F){const se=new Map;for(let be=s.length-1;be>=0;be--){const Oe=s[be],it=Oe.options.minimap;if(!it||it.position!==1)continue;const ct=O.intersectWithViewport(Oe.range);if(!ct)continue;const[lt,Dt]=ct,It=it.getColor(this._theme.value);if(!It||It.isTransparent())continue;let Ut=se.get(It.toString());Ut||(Ut=It.transparent(.5).toString(),se.set(It.toString(),Ut)),t.fillStyle=Ut;for(let ti=lt;ti<=Dt;ti++){if(m.has(ti))continue;m.set(ti,!0);const ii=O.getYForLineNumber(ti,F);t.fillRect(W.xq,ii,t.canvas.width,F)}}}_renderSelectionsHighlights(t,s,m,O,F,se,be,Oe){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const it of s){const ct=O.intersectWithViewport(it);if(!ct)continue;const[lt,Dt]=ct;for(let It=lt;It<=Dt;It++)this.renderDecorationOnLine(t,m,it,this._selectionColor,O,It,F,F,se,be,Oe)}}_renderDecorationsHighlights(t,s,m,O,F,se,be,Oe){for(const it of s){const ct=it.options.minimap;if(!ct)continue;const lt=O.intersectWithViewport(it.range);if(!lt)continue;const[Dt,It]=lt,Ut=ct.getColor(this._theme.value);if(!(!Ut||Ut.isTransparent()))for(let ti=Dt;ti<=It;ti++)switch(ct.position){case 1:this.renderDecorationOnLine(t,m,it.range,Ut,O,ti,F,F,se,be,Oe);continue;case 2:{const ii=O.getYForLineNumber(ti,F);this.renderDecoration(t,Ut,2,ii,Ur,F);continue}}}}renderDecorationOnLine(t,s,m,O,F,se,be,Oe,it,ct,lt){const Dt=F.getYForLineNumber(se,Oe);if(Dt+be<0||Dt>this._model.options.canvasInnerHeight)return;const{startLineNumber:It,endLineNumber:Ut}=m,ti=It===se?m.startColumn:1,ii=Ut===se?m.endColumn:this._model.getLineMaxColumn(se),oi=this.getXOffsetForPosition(s,se,ti,it,ct,lt),yi=this.getXOffsetForPosition(s,se,ii,it,ct,lt);this.renderDecoration(t,O,oi,Dt,yi-oi,be)}getXOffsetForPosition(t,s,m,O,F,se){if(m===1)return W.xq;if((m-1)*F>=se)return se;let Oe=t.get(s);if(!Oe){const it=this._model.getLineContent(s);Oe=[W.xq];let ct=W.xq;for(let lt=1;lt<it.length+1;lt++){const Dt=it.charCodeAt(lt-1),It=Dt===9?O*F:(0,vt.ne)(Dt)?2*F:F,Ut=ct+It;if(Ut>=se){Oe[lt]=se;break}Oe[lt]=Ut,ct=Ut}t.set(s,Oe)}return m-1<Oe.length?Oe[m-1]:se}renderDecoration(t,s,m,O,F,se){t.fillStyle=s&&s.toString()||"",t.fillRect(m,O,F,se)}_renderSectionHeaders(t){const s=this._model.options.minimapLineHeight,m=this._model.options.sectionHeaderFontSize,O=this._model.options.sectionHeaderLetterSpacing,F=m*1.5,{canvasInnerWidth:se}=this._model.options,be=this._model.options.backgroundColor,Oe=`rgb(${be.r} ${be.g} ${be.b} / .7)`,it=this._model.options.sectionHeaderFontColor,ct=`rgb(${it.r} ${it.g} ${it.b})`,lt=ct,Dt=this._decorationsCanvas.domNode.getContext("2d");Dt.letterSpacing=O+"px",Dt.font="500 "+m+"px "+this._model.options.sectionHeaderFontFamily,Dt.strokeStyle=lt,Dt.lineWidth=.4;const It=this._model.getSectionHeaderDecorationsInViewport(t.startLineNumber,t.endLineNumber);It.sort((ti,ii)=>ti.range.startLineNumber-ii.range.startLineNumber);const Ut=jn._fitSectionHeader.bind(null,Dt,se-W.xq);for(const ti of It){const ii=t.getYForLineNumber(ti.range.startLineNumber,s)+m,oi=ii-m,yi=oi+2,Ti=this._model.getSectionHeaderText(ti,Ut);jn._renderSectionLabel(Dt,Ti,ti.options.minimap?.sectionHeaderStyle===2,Oe,ct,se,oi,F,ii,yi)}}static _fitSectionHeader(t,s,m){if(!m)return m;const O="\u2026",F=t.measureText(m).width,se=t.measureText(O).width;if(F<=s||F<=se)return m;const be=m.length,Oe=F/m.length,it=Math.floor((s-se)/Oe)-1;let ct=Math.ceil(it/2);for(;ct>0&&/\s/.test(m[ct-1]);)--ct;return m.substring(0,ct)+O+m.substring(be-(it-ct))}static _renderSectionLabel(t,s,m,O,F,se,be,Oe,it,ct){s&&(t.fillStyle=O,t.f
228illRect(0,be,se,Oe),t.fillStyle=F,t.fillText(s,W.xq,it)),m&&(t.beginPath(),t.moveTo(0,ct),t.lineTo(se,ct),t.closePath(),t.stroke())}renderLines(t){const s=t.startLineNumber,m=t.endLineNumber,O=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(t)){const ls=this._lastRenderData._get();return new zo(t,ls.imageData,ls.lines)}const F=this._getBuffer();if(!F)return null;const[se,be,Oe]=jn._renderUntouchedLines(F,t.topPaddingLineCount,s,m,O,this._lastRenderData),it=this._model.getMinimapLinesRenderingData(s,m,Oe),ct=this._model.getOptions().tabSize,lt=this._model.options.defaultBackgroundColor,Dt=this._model.options.backgroundColor,It=this._model.options.foregroundAlpha,Ut=this._model.tokensColorTracker,ti=Ut.backgroundIsLight(),ii=this._model.options.renderMinimap,oi=this._model.options.charRenderer(),yi=this._model.options.fontScale,Ti=this._model.options.minimapCharWidth,an=(ii===1?2:3)*yi,Qi=O>an?Math.floor((O-an)/2):0,Ji=Dt.a/255,mn=new Xi(Math.round((Dt.r-lt.r)*Ji+lt.r),Math.round((Dt.g-lt.g)*Ji+lt.g),Math.round((Dt.b-lt.b)*Ji+lt.b),255);let rn=t.topPaddingLineCount*O;const vn=[];for(let ls=0,Es=m-s+1;ls<Es;ls++)Oe[ls]&&jn._renderLine(F,mn,Dt.a,ti,ii,Ti,Ut,It,oi,rn,Qi,ct,it[ls],yi,O),vn[ls]=new kr(rn),rn+=O;const Hn=se===-1?0:se,xn=(be===-1?F.height:be)-Hn;return this._canvas.domNode.getContext("2d").putImageData(F,0,0,0,Hn,F.width,xn),new zo(t,F,vn)}static _renderUntouchedLines(t,s,m,O,F,se){const be=[];if(!se){for(let rn=0,vn=O-m+1;rn<vn;rn++)be[rn]=!0;return[-1,-1,be]}const Oe=se._get(),it=Oe.imageData.data,ct=Oe.rendLineNumberStart,lt=Oe.lines,Dt=lt.length,It=t.width,Ut=t.data,ti=(O-m+1)*F*It*4;let ii=-1,oi=-1,yi=-1,Ti=-1,ji=-1,an=-1,Qi=s*F;for(let rn=m;rn<=O;rn++){const vn=rn-m,Hn=rn-ct,Rn=Hn>=0&&Hn<Dt?lt[Hn].dy:-1;if(Rn===-1){be[vn]=!0,Qi+=F;continue}const xn=Rn*It*4,ds=(Rn+F)*It*4,ls=Qi*It*4,Es=(Qi+F)*It*4;Ti===xn&&an===ls?(Ti=ds,an=Es):(yi!==-1&&(Ut.set(it.subarray(yi,Ti),ji),ii===-1&&yi===0&&yi===ji&&(ii=Ti),oi===-1&&Ti===ti&&yi===ji&&(oi=yi)),yi=xn,Ti=ds,ji=ls,an=Es),be[vn]=!1,Qi+=F}yi!==-1&&(Ut.set(it.subarray(yi,Ti),ji),ii===-1&&yi===0&&yi===ji&&(ii=Ti),oi===-1&&Ti===ti&&yi===ji&&(oi=yi));const Ji=ii===-1?-1:ii/(It*4),mn=oi===-1?-1:oi/(It*4);return[Ji,mn,be]}static _renderLine(t,s,m,O,F,se,be,Oe,it,ct,lt,Dt,It,Ut,ti){const ii=It.content,oi=It.tokens,yi=t.width-se,Ti=ti===1;let ji=W.xq,an=0,Qi=0;for(let Ji=0,mn=oi.getCount();Ji<mn;Ji++){const rn=oi.getEndOffset(Ji),vn=oi.getForeground(Ji),Hn=be.getColor(vn);for(;an<rn;an++){if(ji>yi)return;const Rn=ii.charCodeAt(an);if(Rn===9){const xn=Dt-(an+Qi)%Dt;Qi+=xn-1,ji+=xn*se}else if(Rn===32)ji+=se;else{const xn=(0,vt.ne)(Rn)?2:1;for(let ds=0;ds<xn;ds++)if(F===2?it.blockRenderChar(t,ji,ct+lt,Hn,Oe,s,m,Ti):it.renderChar(t,ji,ct+lt,Rn,Hn,Oe,s,m,Ut,O,Ti),ji+=se,ji>yi)return}}}}}class Do{constructor(t,s,m){this._startLineNumber=t,this._endLineNumber=s,this._defaultValue=m,this._values=[];for(let O=0,F=this._endLineNumber-this._startLineNumber+1;O<F;O++)this._values[O]=m}has(t){return this.get(t)!==this._defaultValue}set(t,s){t<this._startLineNumber||t>this._endLineNumber||(this._values[t-this._startLineNumber]=s)}get(t){return t<this._startLineNumber||t>this._endLineNumber?this._defaultValue:this._values[t-this._startLineNumber]}}class Ln extends M{constructor(t,s){super(t),this._viewDomNode=s;const O=this._context.configuration.options.get(165);this._widgets={},this._verticalScrollbarWidth=O.verticalScrollbarWidth,this._minimapWidth=O.minimap.minimapWidth,this._horizontalScrollbarHeight=O.horizontalScrollbarHeight,this._editorHeight=O.height,this._editorWidth=O.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=(0,de.Z)(document.createElement("div")),Ve.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=(0,de.Z)(document.createElement("div")),Ve.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(t){const m=this._context.configuration.options.get(165);return this._verticalScrollbarWidth=m.verticalScrollbarWidth,this._minimapWidth=m.minimap.minimapWidth,this._horizontalScrollbarHeight=m.horizontalScrollbarHeight,this._editorHeight=m.height,this._editorWidth=m.width,!0}_widgetCanOverflow(t){const m=this._context.configuration.options.get(4);return(t.allowEditorOverflow||!1)&&m}addWidget(t){const s=(0,de.Z)(t.getDomNode());this._widgets[t.getId()]={widget:t,preference:null,domNode:s},s.setPosition("absolute"),s.setAttribute("widgetId",t.getId()),this._widgetCanOverflow(t)?this.overflowingOverlayWidgetsDomNode.appendChild(s):this._domNo
228de.appendChild(s),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(t,s){const m=this._widgets[t.getId()],O=s?s.preference:null,F=s?.stackOrdinal;return m.preference===O&&m.stack===F?(this._updateMaxMinWidth(),!1):(m.preference=O,m.stack=F,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(t){const s=t.getId();if(this._widgets.hasOwnProperty(s)){const O=this._widgets[s].domNode.domNode;delete this._widgets[s],O.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let t=0;const s=Object.keys(this._widgets);for(let m=0,O=s.length;m<O;m++){const F=s[m],be=this._widgets[F].widget.getMinContentWidthInPx?.();typeof be<"u"&&(t=Math.max(t,be))}this._context.viewLayout.setOverlayWidgetsMinWidth(t)}_renderWidget(t,s){const m=t.domNode;if(t.preference===null){m.setTop("");return}const O=2*this._verticalScrollbarWidth+this._minimapWidth;if(t.preference===0||t.preference===1){if(t.preference===1){const F=m.domNode.clientHeight;m.setTop(this._editorHeight-F-2*this._horizontalScrollbarHeight)}else m.setTop(0);t.stack!==void 0?(m.setTop(s[t.preference]),s[t.preference]+=m.domNode.clientWidth):m.setRight(O)}else if(t.preference===2)m.domNode.style.right="50%",t.stack!==void 0?(m.setTop(s[2]),s[2]+=m.domNode.clientHeight):m.setTop(0);else{const{top:F,left:se}=t.preference;if(this._context.configuration.options.get(51)&&this._widgetCanOverflow(t.widget)){const Oe=this._viewDomNodeRect;m.setTop(F+Oe.top),m.setLeft(se+Oe.left),m.setPosition("fixed")}else m.setTop(F),m.setLeft(se),m.setPosition("absolute")}}prepareRender(t){this._viewDomNodeRect=(0,b.BK)(this._viewDomNode.domNode)}render(t){this._domNode.setWidth(this._editorWidth);const s=Object.keys(this._widgets),m=Array.from({length:3},()=>0);s.sort((O,F)=>(this._widgets[O].stack||0)-(this._widgets[F].stack||0));for(let O=0,F=s.length;O<F;O++){const se=s[O];this._renderWidget(this._widgets[se],m)}}}var xo=e(94901),io=e(11608);class fr{constructor(t,s){const m=t.options;this.lineHeight=m.get(75),this.pixelRatio=m.get(163),this.overviewRulerLanes=m.get(95),this.renderBorder=m.get(94);const O=s.getColor(Xt.x9);this.borderColor=O?O.toString():null,this.hideCursor=m.get(68);const F=s.getColor(Xt.D0);this.cursorColorSingle=F?F.transparent(.7).toString():null;const se=s.getColor(Xt.sC);this.cursorColorPrimary=se?se.transparent(.7).toString():null;const be=s.getColor(Xt.we);this.cursorColorSecondary=be?be.transparent(.7).toString():null,this.themeType=s.type;const Oe=m.get(81),it=Oe.enabled,ct=Oe.side,lt=s.getColor(Xt.Xr),Dt=tn.dG.getDefaultBackground();lt?this.backgroundColor=lt:it&&ct==="right"?this.backgroundColor=Dt:this.backgroundColor=null;const Ut=m.get(165).overviewRuler;this.top=Ut.top,this.right=Ut.right,this.domWidth=Ut.width,this.domHeight=Ut.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);const[ti,ii]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=ti,this.w=ii}_initLanes(t,s,m){const O=s-t;if(m>=3){const F=Math.floor(O/3),se=Math.floor(O/3),be=O-F-se,Oe=t,it=Oe+F,ct=Oe+F+be;return[[0,Oe,it,Oe,ct,Oe,it,Oe],[0,F,be,F+be,se,F+be+se,be+se,F+be+se]]}else if(m===2){const F=Math.floor(O/2),se=O-F,be=t,Oe=be+F;return[[0,be,be,be,Oe,be,be,be],[0,F,F,F,se,F+se,F+se,F+se]]}else{const F=t,se=O;return[[0,F,F,F,F,F,F,F],[0,se,se,se,se,se,se,se]]}}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColorSingle===t.cursorColorSingle&&this.cursorColorPrimary===t.cursorColorPrimary&&this.cursorColorSecondary===t.cursorColorSecondary&&this.themeType===t.themeType&&xo.Q1.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class Fn extends M{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNo
228de=(0,de.Z)(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=tn.dG.onDidChange(s=>{s.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new Le.y(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const s=new fr(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(s)?!1:(this._settings=s,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,t&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(t){this._cursorPositions=[];for(let s=0,m=t.selections.length;s<m;s++){let O=this._settings.cursorColorSingle;m>1&&(O=s===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:t.selections[s].getPosition(),color:O})}return this._cursorPositions.sort((s,m)=>Le.y.compare(s.position,m.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(t){return t.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(t){return this._markRenderingIsNeeded()}onScrollChanged(t){return t.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(t){return this._markRenderingIsNeeded()}onThemeChanged(t){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(t){}render(t){this._render(),this._actualShouldRender=0}_render(){const t=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(t?xo.Q1.Format.CSS.formatHexA(t):""),this._domNode.setDisplay("none");return}const s=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(s.sort(io.Uv.compareByRenderingProps),this._actualShouldRender===1&&!io.Uv.equalsArr(this._renderedDecorations,s)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!(0,o.aI)(this._renderedCursorPositions,this._cursorPositions,(Ut,ti)=>Ut.position.lineNumber===ti.position.lineNumber&&Ut.color===ti.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=s,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const m=this._settings.canvasWidth,O=this._settings.canvasHeight,F=this._settings.lineHeight,se=this._context.viewLayout,be=this._context.viewLayout.getScrollHeight(),Oe=O/be,it=6*this._settings.pixelRatio|0,ct=it/2|0,lt=this._domNode.domNode.getContext("2d");t?t.isOpaque()?(lt.fillStyle=xo.Q1.Format.CSS.formatHexA(t),lt.fillRect(0,0,m,O)):(lt.clearRect(0,0,m,O),lt.fillStyle=xo.Q1.Format.CSS.formatHexA(t),lt.fillRect(0,0,m,O)):lt.clearRect(0,0,m,O);const Dt=this._settings.x,It=this._settings.w;for(const Ut of s){const ti=Ut.color,ii=Ut.data;lt.fillStyle=ti;let oi=0,yi=0,Ti=0;for(let ji=0,an=ii.length/3;ji<an;ji++){const Qi=ii[3*ji],Ji=ii[3*ji+1],mn=ii[3*ji+2];let rn=se.getVerticalOffsetForLineNumber(Ji)*Oe|0,vn=(se.getVerticalOffsetForLineNumber(mn)+F)*Oe|0;if(vn-rn<it){let Rn=(rn+vn)/2|0;Rn<ct?Rn=ct:Rn+ct>O&&(Rn=O-ct),rn=Rn-ct,vn=Rn+ct}rn>Ti+1||Qi!==oi?(ji!==0&&lt.fillRect(Dt[oi],yi,It[oi],Ti-yi),oi=Qi,yi=rn,Ti=vn):vn>Ti&&(Ti=vn)}lt.fillRect(Dt[oi],yi,It[oi],Ti-yi)}if(!this._settings.hideCursor){const Ut=2*this._settings.pixelRatio|0,ti=Ut/2|0,ii=this._settings.x[7],oi=this._settings.w[7];let yi=-100,Ti=-100,ji=null;for(let an=0,Qi=this._cursorPositions.length;an<Qi;
228an++){const Ji=this._cursorPositions[an].color;if(!Ji)continue;const mn=this._cursorPositions[an].position;let rn=se.getVerticalOffsetForLineNumber(mn.lineNumber)*Oe|0;rn<ti?rn=ti:rn+ti>O&&(rn=O-ti);const vn=rn-ti,Hn=vn+Ut;vn>Ti+1||Ji!==ji?(an!==0&&ji&&lt.fillRect(ii,yi,oi,Ti-yi),yi=vn,Ti=Hn):Hn>Ti&&(Ti=Hn),ji=Ji,lt.fillStyle=Ji}ji&&lt.fillRect(ii,yi,oi,Ti-yi)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(lt.beginPath(),lt.lineWidth=1,lt.strokeStyle=this._settings.borderColor,lt.moveTo(0,0),lt.lineTo(0,O),lt.moveTo(1,0),lt.lineTo(m,0),lt.stroke())}}var hi=e(96803);class Yi extends Be.i{constructor(t,s){super(),this._context=t;const m=this._context.configuration.options;this._domNode=(0,de.Z)(document.createElement("canvas")),this._domNode.setClassName(s),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new hi.rW(O=>this._context.viewLayout.getVerticalOffsetForLineNumber(O)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(m.get(75)),this._zoneManager.setPixelRatio(m.get(163)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(t){const s=this._context.configuration.options;return t.hasChanged(75)&&(this._zoneManager.setLineHeight(s.get(75)),this._render()),t.hasChanged(163)&&(this._zoneManager.setPixelRatio(s.get(163)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(t){return this._render(),!0}onScrollChanged(t){return t.scrollHeightChanged&&(this._zoneManager.setOuterHeight(t.scrollHeight),this._render()),!0}onZonesChanged(t){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(t){this._domNode.setTop(t.top),this._domNode.setRight(t.right);let s=!1;s=this._zoneManager.setDOMWidth(t.width)||s,s=this._zoneManager.setDOMHeight(t.height)||s,s&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(t){this._zoneManager.setZones(t),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const t=this._zoneManager.getCanvasWidth(),s=this._zoneManager.getCanvasHeight(),m=this._zoneManager.resolveColorZones(),O=this._zoneManager.getId2Color(),F=this._domNo
228de.domNode.getContext("2d");return F.clearRect(0,0,t,s),m.length>0&&this._renderOneLane(F,m,O,t),!0}_renderOneLane(t,s,m,O){let F=0,se=0,be=0;for(const Oe of s){const it=Oe.colorId,ct=Oe.from,lt=Oe.to;it!==F?(F!==0&&t.fillRect(0,se,O,be-se),F=it,t.fillStyle=m[F],se=ct,be=lt):be>=ct?be=Math.max(be,lt):(t.fillRect(0,se,O,be-se),se=ct,be=lt)}t.fillRect(0,se,O,be-se)}}class En extends M{constructor(t){super(t),this.domNode=(0,de.Z)(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const s=this._context.configuration.options;this._rulers=s.get(116),this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth}onConfigurationChanged(t){const s=this._context.configuration.options;return this._rulers=s.get(116),this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth,!0}onScrollChanged(t){return t.scrollHeightChanged}prepareRender(t){}_ensureRulersCount(){const t=this._renderedRulers.length,s=this._rulers.length;if(t===s)return;if(t<s){let O=s-t;for(;O>0;){const F=(0,de.Z)(document.createElement("div"));F.setClassName("view-ruler"),F.setWidth("1ch"),this.domNode.appendChild(F),this._renderedRulers.push(F),O--}return}let m=t-s;for(;m>0;){const O=this._renderedRulers.pop();this.domNode.removeChild(O),m--}}render(t){this._ensureRulersCount();for(let s=0,m=this._rulers.length;s<m;s++){const O=this._renderedRulers[s],F=this._rulers[s];O.setBoxShadow(F.color?`1px 0 0 0 ${F.color} inset`:""),O.setHeight(Math.min(t.scrollHeight,1e6)),O.setLeft(F.column*this._typicalHalfwidthCharacterWidth)}}}class An extends M{constructor(t){super(t),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1;const m=this._context.configuration.options.get(117);this._useShadows=m.useShadows,this._domNode=(0,de.Z)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true")}_updateShouldShow(){const t=this._useShadows&&this._scrollTop>0;return this._shouldShow!==t?(this._shouldShow=t,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const s=this._context.configuration.options.get(165);s.minimap.renderMinimap===0||s.minimap.minimapWidth>0&&s.minimap.minimapLeft===0?this._width=s.width:this._width=s.width-s.verticalScrollbarWidth}onConfigurationChanged(t){const m=this._context.configuration.options.get(117);return this._useShadows=m.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(t){return this._scrollTop=t.scrollTop,this._updateShouldShow()}prepareRender(t){}render(t){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class Cs{constructor(t){this.left=t.left,this.width=t.width,this.startStyle=null,this.endStyle=null}}class As{constructor(t,s){this.lineNumber=t,this.ranges=s}}function so(ft){return new Cs(ft)}function Wn(ft){return new As(ft.lineNumber,ft.ranges.map(so))}const qs=class qs extends At{constructor(t){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=t;const s=this._context.configuration.options;this._roundedSelection=s.get(115),this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const s=this._context.configuration.options;return this._roundedSelection=s.get(115),this._typicalHalfwidthCharacterWidth=s.get(59).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_visibleRangesHaveGaps(t){for(let s=0,m=t.length;s<m;s++)if(t[s].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(t,s,m){const O=this._typicalHalfwidthCharacterWidth/4;let F=null,se=null;if(m&&m.length>0&&s.length>0){const be=s[0].lineNumber;if(be===t.startLineNumber)for(let it=0;!F&&it<m.length;it++)m[it].lineNumber===be&&(F=m[it].ranges[0]);const Oe=s[s.length-1].lineNumber;if(Oe===t.endLineNumber)for(let it=m.length-1;!se&&it>=0;it--)m[it].lineNumber===Oe&&(se=m[it].ranges[0]);F&&!F.startStyle&&(F=null),se&&!se.startStyle&&(se=null)}for(let be=0,Oe=s.length;be<Oe;be++){const it=s[be].ranges[0],ct=it.left,lt=it.left+it.width,Dt={top:0,bottom:0},It={top:0,bottom:0};if(be>0){const Ut=s[be-1].ranges[0].left,ti=s[be-1].ranges[0].left+s[be-1].ranges[0].width;Hs(ct-Ut)<O?Dt.top=2:ct>Ut&&(Dt.top=1),Hs(lt-ti)<O?It.top=2:Ut<lt&&lt<ti&&(It.top=1)}else F&&(Dt.top=F.startStyle.top,It.top=F.endStyle.top);if(be+1<Oe){const Ut=s[be+1].ranges[0].left,ti=s[be+1].ranges[0].left+s[be+1].ranges[0].width;Hs(ct-Ut)<O?Dt.bottom=2:Ut<ct&&ct<ti&&(Dt.bottom=1),Hs(lt-ti)<O?It.bottom=2:lt<ti&&(It.bottom=1)}else se&&(Dt.bottom=se.startStyle.bottom,It.bottom=se.endStyle.bottom);it.startStyle=Dt,it.endStyle=It}}_getVisibleRangesWithStyle(t,s,m){const F=(s.linesVisibleRangesForRange(t,!0)||[]).map(Wn);return!this._visibleRangesHaveGaps(F)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(s.visibleRange,F,m),F}_createSelectionPiece(t,s,m,O,F){return'<div class="cslr '+m+'" style="top:'+t.toString()+"px;bottom:"+s.toString()+"px;left:"+O.toString()+"px;width:"+F.toString()+'px;"></div>'}_actualRenderOneSelection(t,s,m,O){if(O.length===0)return;const F=!!O[0].ranges[0].startStyle,se=O[0].lineNumber,be=O[O.length-1].lineNumber;for(let Oe=0,it=O.length;Oe<it;Oe++){const ct=O[Oe],lt=ct.lineNumber,Dt=lt-s,It=m&&lt===se?1:0,Ut=m&&lt!==se&&lt===be?1:0;let ti="",ii="";for(let oi=0,yi=ct.ranges.length;oi<yi;oi++){const Ti=ct.ranges[oi];if(F){const an=Ti.startStyle,Qi=Ti.endStyle;if(an.top===1||an.bottom===1){ti+=this._createSelectionPiece(It,Ut,qs.SELECTION_CLASS_NAME,Ti.left-qs.ROUNDED_PIECE_WIDTH,qs.ROUNDED_PIECE_WIDTH);let Ji=qs.EDITOR_BACKGROUND_CLASS_NAME;an.top===1&&(Ji+=" "+qs.SELECTION_TOP_RIGHT),an.bottom===1&&(Ji+=" "+qs.SELECTION_BOTTOM_RIGHT),ti+=this._createSelectionPiece(It,Ut,Ji,Ti.left-qs.ROUNDED_PIECE_WIDTH,qs.ROUNDED_PIECE_WIDTH)}if(Qi.top===1||Qi.bottom===1){ti+=this._createSelectionPiece(It,Ut,qs.SELECTION_CLASS_NAME,Ti.left+Ti.width,qs.ROUNDED_PIECE_WIDTH);let Ji=qs.EDITOR_BACKGROUND_CLASS_NAME;Qi.top===1&&(Ji+=" "+qs.SELECTION_TOP_LEFT),Qi.bottom===1&&(Ji+=" "+qs.SELECTION_BOTTOM_LEFT),ti+=this._createSelectionPiece(It,Ut,Ji,Ti.left+Ti.width,qs.ROUNDED_PIECE_WIDTH)}}let ji=qs.SELECTION_CLASS_NAME;if(F){const an=Ti.startStyle,Qi=Ti.endStyle;an.top===0&&(ji+=" "+qs.SELECTION_TOP_LEFT),an.bottom===0&&(ji+=" "+qs.SELECTION_BOTTOM_LEFT),Qi.top===0&&(ji+=" "+qs.SELECTION_TOP_RIGHT),Qi.bottom===0&&(ji+=" "+qs.SELECTION_BOTTOM_RIGHT)}ii+=this._createSelectionPiece(It,Ut,ji,Ti.left,Ti.width)}t[Dt][0]+=ti,t[Dt][1]+=ii}}prepareRender(t){const s=[],m=t.visibleRange.startLineNumber,O=t.visibleRange.endLineNumber;for(let se=m;se<=O;se++){const be=se-m;s[be]=["",""]}const F=[];for(let se=0,be=this._selections.length;se<be;se++){const Oe=this._selections[se];
228if(Oe.isEmpty()){F[se]=null;continue}const it=this._getVisibleRangesWithStyle(Oe,t,this._previousFrameVisibleRangesWithStyle[se]);F[se]=it,this._actualRenderOneSelection(s,m,this._selections.length>1,it)}this._previousFrameVisibleRangesWithStyle=F,this._renderResult=s.map(([se,be])=>se+be)}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}};qs.SELECTION_CLASS_NAME="selected-text",qs.SELECTION_TOP_LEFT="top-left-radius",qs.SELECTION_BOTTOM_LEFT="bottom-left-radius",qs.SELECTION_TOP_RIGHT="top-right-radius",qs.SELECTION_BOTTOM_RIGHT="bottom-right-radius",qs.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",qs.ROUNDED_PIECE_WIDTH=10;let Mo=qs;(0,li.zy)((ft,t)=>{const s=ft.getColor(Cn.rm);s&&!s.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${s}; }`)});function Hs(ft){return ft<0?-ft:ft}class Zs{constructor(t,s,m,O,F,se,be){this.top=t,this.left=s,this.paddingLeft=m,this.width=O,this.height=F,this.textContent=se,this.textContentClassName=be}}var $s;(function(ft){ft[ft.Single=0]="Single",ft[ft.MultiPrimary=1]="MultiPrimary",ft[ft.MultiSecondary=2]="MultiSecondary"})($s||($s={}));class la{constructor(t,s){this._context=t;const m=this._context.configuration.options,O=m.get(59);this._cursorStyle=m.get(161),this._typicalHalfwidthCharacterWidth=O.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(m.get(37),this._typicalHalfwidthCharacterWidth),this._lineCursorHeight=m.get(38),this._isVisible=!0,this._domNode=(0,de.Z)(document.createElement("div")),this._domNode.setClassName(`cursor ${at}`),this._domNode.setHeight(this._context.viewLayout.getLineHeightForLineNumber(1)),this._domNode.setTop(0),this._domNode.setLeft(0),(0,d.M)(this._domNo
228de,O),this._domNode.setDisplay("none"),this._position=new Le.y(1,1),this._pluralityClass="",this.setPlurality(s),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(t){switch(t){default:case $s.Single:this._pluralityClass="";break;case $s.MultiPrimary:this._pluralityClass="cursor-primary";break;case $s.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(59);return this._cursorStyle=s.get(161),this._typicalHalfwidthCharacterWidth=m.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(37),this._typicalHalfwidthCharacterWidth),this._lineCursorHeight=s.get(38),(0,d.M)(this._domNode,m),!0}onCursorPositionChanged(t,s){return s?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=t,!0}_getGraphemeAwarePosition(){const{lineNumber:t,column:s}=this._position,m=this._context.viewModel.getLineContent(t),[O,F]=(0,vt.m)(m,s-1);return[new Le.y(t,O+1),m.substring(O,F)]}_prepareRender(t){let s="",m="";const[O,F]=this._getGraphemeAwarePosition(),se=this._context.viewLayout.getLineHeightForLineNumber(O.lineNumber),be=this._lineCursorHeight===0?se:Math.min(se,this._lineCursorHeight),Oe=(se-be)/2;if(this._cursorStyle===W.m9.Line||this._cursorStyle===W.m9.LineThin){const ti=t.visibleRangeForPosition(O);if(!ti||ti.outsideRenderedLine)return null;
228const ii=(0,b.zk)(this._domNode.domNode);let oi;this._cursorStyle===W.m9.Line?(oi=(0,b.vT)(ii,this._lineCursorWidth>0?this._lineCursorWidth:2),oi>2&&(s=F,m=this._getTokenClassName(O))):oi=(0,b.vT)(ii,1);let yi=ti.left,Ti=0;oi>=2&&yi>=1&&(Ti=1,yi-=Ti);const ji=t.getVerticalOffsetForLineNumber(O.lineNumber)-t.bigNumbersDelta+Oe;return new Zs(ji,yi,Ti,oi,be,s,m)}const it=t.linesVisibleRangesForRange(new _e.Q(O.lineNumber,O.column,O.lineNumber,O.column+F.length),!1);if(!it||it.length===0)return null;const ct=it[0];if(ct.outsideRenderedLine||ct.ranges.length===0)return null;const lt=ct.ranges[0],Dt=F==="	"?this._typicalHalfwidthCharacterWidth:lt.width<1?this._typicalHalfwidthCharacterWidth:lt.width;this._cursorStyle===W.m9.Block&&(s=F,m=this._getTokenClassName(O));let It=t.getVerticalOffsetForLineNumber(O.lineNumber)-t.bigNumbersDelta,Ut=se;return(this._cursorStyle===W.m9.Underline||this._cursorStyle===W.m9.UnderlineThin)&&(It+=se-2,Ut=2),new Zs(It,lt.left,0,Dt,Ut,s,m)}_getTokenClassName(t){const s=this._context.viewModel.getViewLineData(t.lineNumber),m=s.tokens.findTokenIndexAtOffset(t.column-1);return s.tokens.getClassName(m)}prepareRender(t){this._renderData=this._prepareRender(t)}render(t){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${at} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}
228):(this._domNode.setDisplay("none"),null)}}const al=class al extends M{constructor(t){super(t);const s=this._context.configuration.options;this._readOnly=s.get(104),this._cursorBlinking=s.get(32),this._cursorStyle=s.get(161),this._cursorSmoothCaretAnimation=s.get(33),this._editContextEnabled=s.get(170),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new la(this._context,$s.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=(0,de.Z)(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new st.pc,this._cursorFlatBlinkInterval=new b.Be,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const s=this._context.configuration.options;this._readOnly=s.get(104),this._cursorBlinking=s.get(32),this._cursorStyle=s.get(161),this._cursorSmoothCaretAnimation=s.get(33),this._editContextEnabled=s.get(170),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let m=0,O=this._secondaryCursors.length;m<O;m++)this._secondaryCursors[m].onConfigurationChanged(t);return!0}_onCursorPositionChanged(t,s,m){const O=this._secondaryCursors.length!==s.length||this._cursorSmoothCaretAnimation==="explicit"&&m!==3;if(this._primaryCursor.setPlurality(s.length?$s.MultiPrimary:$s.Single),this._primaryCursor.onCursorPositionChanged(t,O),this._updateBlinking(),this._secondaryCursors.length<s.length){const F=s.length-this._secondaryCursors.length;for(let se=0;se<F;se++){const be=new la(this._context,$s.MultiSecondary);this._domNode.domNode.insertBefore(be.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(be)}}else if(this._secondaryCursors.length>s.length){const F=this._secondaryCursors.length-s.length;for(let se=0;se<F;se++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let F=0;F<s.length;F++)this._secondaryCursors[F].onCursorPositionChanged(s[F],O)}onCursorStateChanged(t){const s=[];for(let O=0,F=t.selections.length;O<F;O++)s[O]=t.selections[O].getPosition();this._onCursorPositionChanged(s[0],s.slice(1),t.reason);const m=t.selections[0].isEmpty();return this._selectionIsEmpty!==m&&(this._selectionIsEmpty=m,this._updateDomClassName()),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onFocusChanged(t){return this._editorHasFocus=t.isFocused,this._updateBlinking(),!1}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return!0}onTokensChanged(t){const s=m=>{for(let O=0,F=t.ranges.length;O<F;O++)if(t.ranges[O].fromLineNumber<=m.lineNumber&&m.lineNumber<=t.ranges[O].toLineNumber)return!0;return!1};if(s(this._primaryCursor.getPosition()))return!0;for(const m of this._secondaryCursors)if(s(m.getPosition()))return!0;return!1}onZonesChanged(t){return!0}_getCursorBlinking(){return this._isComposingInput&&!this._editContextEnabled||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();const t=this._getCursorBlinking(),s=t===0,m=t===5;s?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!s&&!m&&(t===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()}
228,al.BLINK_INTERVAL,(0,b.zk)(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},al.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case W.m9.Line:t+=" cursor-line-style";break;case W.m9.Block:t+=" cursor-block-style";break;case W.m9.Underline:t+=" cursor-underline-style";break;case W.m9.LineThin:t+=" cursor-line-thin-style";break;case W.m9.BlockOutline:t+=" cursor-block-outline-style";break;case W.m9.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;case 5:t+=" cursor-solid";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let t=0,s=this._secondaryCursors.length;t<s;t++)this._secondaryCursors[t].hide();this._isVisible=!1}prepareRender(t){this._primaryCursor.prepareRender(t);for(let s=0,m=this._secondaryCursors.length;s<m;s++)this._secondaryCursors[s].prepareRender(t)}render(t){const s=[];let m=0;const O=this._primaryCursor.render(t);O&&(s[m++]=O);for(let F=0,se=this._secondaryCursors.length;F<se;F++){const be=this._secondaryCursors[F].render(t);be&&(s[m++]=be)}this._renderData=s}getLastRenderData(){return this._renderData}};al.BLINK_INTERVAL=500;let Yo=al;(0,li.zy)((ft,t)=>{const s=[{class:".cursor",foreground:Xt.D0,background:Xt.kM},{class:".cursor-primary",foreground:Xt.sC,background:Xt.je},{class:".cursor-secondary",foreground:Xt.we,background:Xt.L0}];for(const m of s){const O=ft.getColor(m.foreground);if(O){let F=ft.getColor(m.background);F||(F=O.opposite()),t.addRule(`.monaco-editor .cursors-layer ${m.class} { background-color: ${O}; border-color: ${O}; color: ${F}; }`),(0,Mi.Bb)(ft.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection ${m.class} { border-left: 1px solid ${F}; border-right: 1px solid ${F}; }`)}}});const po=()=>{throw new Error("Invalid change accessor")};class dl extends M{constructor(t){super(t);const s=this._context.configuration.options,m=s.get(165);this._lineHeight=s.get(75),this._contentWidth=m.contentWidth,this._contentLeft=m.contentLeft,this.domNode=(0,de.Z)(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=(0,de.Z)(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const t=this._context.viewLayout.getWhitespaces(),s=new Map;for(const O of t)s.set(O.id,O);let m=!1;return this._context.viewModel.changeWhitespace(O=>{const F=Object.keys(this._zones);for(let se=0,be=F.length;se<be;se++){const Oe=F[se],it=this._zones[Oe],ct=this._computeWhitespaceProps(it.delegate);it.isInHiddenArea=ct.isInHiddenArea;const lt=s.get(Oe);lt&&(lt.afterLineNumber!==ct.afterViewLineNumber||lt.height!==ct.heightInPx)&&(O.changeOneWhitespace(Oe,ct.afterViewLineNumber,ct.heightInPx),this._safeCallOnComputedHeight(it.delegate,ct.heightInPx),m=!0)}}),m}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(165);return this._lineHeight=s.get(75),this._contentWidth=m.contentWidth,this._contentLeft=m.contentLeft,t.hasChanged(75)&&this._recomputeWhitespacesProps(),!0}
228onLineMappingChanged(t){return this._recomputeWhitespacesProps()}onLinesDeleted(t){return!0}onScrollChanged(t){return t.scrollTopChanged||t.scrollWidthChanged}onZonesChanged(t){return!0}onLinesInserted(t){return!0}_getZoneOrdinal(t){return t.ordinal??t.afterColumn??1e4}_computeWhitespaceProps(t){if(t.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(t),minWidthInPx:this._minWidthInPixels(t)};let s;if(typeof t.afterColumn<"u")s=this._context.viewModel.model.validatePosition({lineNumber:t.afterLineNumber,column:t.afterColumn});else{const se=this._context.viewModel.model.validatePosition({lineNumber:t.afterLineNumber,column:1}).lineNumber;s=new Le.y(se,this._context.viewModel.model.getLineMaxColumn(se))}let m;s.column===this._context.viewModel.model.getLineMaxColumn(s.lineNumber)?m=this._context.viewModel.model.validatePosition({lineNumber:s.lineNumber+1,column:1}):m=this._context.viewModel.model.validatePosition({lineNumber:s.lineNumber,column:s.column+1});const O=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s,t.afterColumnAffinity,!0),F=t.showInHiddenAreas||this._context.viewModel.coordinatesConverter.modelPositionIsVisible(m);return{isInHiddenArea:!F,afterViewLineNumber:O.lineNumber,heightInPx:F?this._heightInPixels(t):0,minWidthInPx:this._minWidthInPixels(t)}}changeViewZones(t){let s=!1;return this._context.viewModel.changeWhitespace(m=>{const O={addZone:F=>(s=!0,this._addZone(m,F)),removeZone:F=>{F&&(s=this._removeZone(m,F)||s)},layoutZone:F=>{F&&(s=this._layoutZone(m,F)||s)}};mr(t,O),O.addZone=po,O.removeZone=po,O.layoutZone=po}),s}_addZone(t,s){const m=this._computeWhitespaceProps(s),F={whitespaceId:t.insertWhitespace(m.afterViewLineNumber,this._getZoneOrdinal(s),m.heightInPx,m.minWidthInPx),delegate:s,isInHiddenArea:m.isInHiddenArea,isVisible:!1,domNode:(0,de.Z)(s.domNode),marginDomNode:s.marginDomNode?(0,de.Z)(s.marginDomNode):null};return this._safeCallOnComputedHeight(F.delegate,m.heightInPx),F.domNode.setPosition("absolute"),F.domNode.domNode.style.width="100%",F.domNode.setDisplay("none"),F.domNode.setAttribute("monaco-view-zone",F.whitespaceId),this.domNode.appendChild(F.domNode),F.marginDomNode&&(F.marginDomNode.setPosition("absolute"),F.marginDomNode.domNode.style.width="100%",F.marginDomNode.setDisplay("none"),F.marginDomNode.setAttribute("monaco-view-zone",F.whitespaceId),this.marginDomNode.appendChild(F.marginDomNode)),this._zones[F.whitespaceId]=F,this.setShouldRender(),F.whitespaceId}_removeZone(t,s){if(this._zones.hasOwnProperty(s)){const m=this._zones[s];return delete this._zones[s],t.removeWhitespace(m.whitespaceId),m.domNode.removeAttribute("monaco-visible-view-zone"),m.domNode.removeAttribute("monaco-view-zone"),m.domNode.domNode.remove(),m.marginDomNode&&(m.marginDomNode.removeAttribute("monaco-visible-view-zone"),m.marginDomNode.removeAttribute("monaco-view-zone"),m.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(t,s){if(this._zones.hasOwnProperty(s)){const m=this._zones[s],O=this._computeWhitespaceProps(m.delegate);return m.isInHiddenArea=O.isInHiddenArea,t.changeOneWhitespace(m.whitespaceId,O.afterViewLineNumber,O.heightInPx),this._safeCallOnComputedHeight(m.delegate,O.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(t){return this._zones.hasOwnProperty(t)?!!this._zones[t].delegate.suppressMouseDown:!1}_heightInPixels(t){return typeof t.heightInPx=="number"?t.heightInPx:typeof t.heightInLines=="number"?this._lineHeight*t.heightInLines:this._lineHeight}_minWidthInPixels(t){return typeof t.minWidthInPx=="number"?t.minWidthInPx:0}_safeCallOnComputedHeight(t,s){if(typeof t.onComputedHeight=="function")try{t.onComputedHeight(s)}catch(m){(0,C.dz)(m)}}
228_safeCallOnDomNodeTop(t,s){if(typeof t.onDomNodeTop=="function")try{t.onDomNodeTop(s)}catch(m){(0,C.dz)(m)}}prepareRender(t){}render(t){const s=t.viewportData.whitespaceViewportData,m={};let O=!1;for(const se of s)this._zones[se.id].isInHiddenArea||(m[se.id]=se,O=!0);const F=Object.keys(this._zones);for(let se=0,be=F.length;se<be;se++){const Oe=F[se],it=this._zones[Oe];let ct=0,lt=0,Dt="none";m.hasOwnProperty(Oe)?(ct=m[Oe].verticalOffset-t.bigNumbersDelta,lt=m[Oe].height,Dt="block",it.isVisible||(it.domNode.setAttribute("monaco-visible-view-zone","true"),it.isVisible=!0),this._safeCallOnDomNodeTop(it.delegate,t.getScrolledTopFromAbsoluteTop(m[Oe].verticalOffset))):(it.isVisible&&(it.domNode.removeAttribute("monaco-visible-view-zone"),it.isVisible=!1),this._safeCallOnDomNodeTop(it.delegate,t.getScrolledTopFromAbsoluteTop(-1e6))),it.domNode.setTop(ct),it.domNode.setHeight(lt),it.domNode.setDisplay(Dt),it.marginDomNode&&(it.marginDomNode.setTop(ct),it.marginDomNode.setHeight(lt),it.marginDomNode.setDisplay(Dt))}O&&(this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}}function mr(ft,t){try{return ft(t)}catch(s){(0,C.dz)(s);return}}var _o=e(77011);class Dr extends At{constructor(t){super(),this._context=t,this._options=new Tl(this._context.configuration),this._selection=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const s=new Tl(this._context.configuration);return this._options.equals(s)?t.hasChanged(165):(this._options=s,!0)}onCursorStateChanged(t){return this._selection=t.selections,this._options.renderWhitespace==="selection"}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}prepareRender(t){if(this._options.renderWhitespace==="none"){this._renderResult=null;return}this._renderResult=[];for(let s=t.viewportData.startLineNumber;s<=t.viewportData.endLineNumber;s++){const m=s-t.viewportData.startLineNumber,O=this._context.viewModel.getViewLineRenderingData(s);let F=null;if(this._options.renderWhitespace==="selection"){const se=this._selection;for(const be of se){if(be.endLineNumber<s||be.startLineNumber>s)continue;const Oe=be.startLineNumber===s?be.startColumn:O.minColumn,it=be.endLineNumber===s?be.endColumn:O.maxColumn;Oe<it&&(F||(F=[]),F.push(new _o.L(Oe-1,it-1)))}}this._renderResult[m]=this._applyRenderWhitespace(t,s,F,O)}}_applyRenderWhitespace(t,s,m,O){if(this._options.renderWhitespace==="selection"&&!m||this._options.renderWhitespace==="trailing"&&O.continuesWithWrappedLine)return"";const F=this._context.theme.getColor(Xt.w4),se=this._options.renderWithSVG,be=O.content,Oe=this._options.stopRenderingLineAfter===-1?be.length:Math.min(this._options.stopRenderingLineAfter,be.length),it=O.continuesWithWrappedLine,ct=O.minColumn-1,lt=this._options.renderWhitespace==="boundary",Dt=this._options.renderWhitespace==="trailing",It=t.getLineHeightForLineNumber(s),Ut=this._options.middotWidth,ti=this._options.wsmiddotWidth,ii=this._options.spaceWidth,oi=Math.abs(ti-ii),yi=Math.abs(Ut-ii),Ti=oi<yi?11825:183,ji=this._options.canUseHalfwidthRightwardsArrow;let an="",Qi=!1,Ji=(0,vt.HG)(be),mn;Ji===-1?(Qi=!0,Ji=Oe,mn=Oe):mn=(0,vt.lT)(be);let rn=0,vn=m&&m[rn],Hn=0;for(let Rn=ct;Rn<Oe;Rn++){const xn=be.charCodeAt(Rn);if(vn&&vn.endExclusive<=Rn&&(rn++,vn=m&&m[rn]),xn!==9&&xn!==32||Dt&&!Qi&&Rn<=mn)continue;if(lt&&Rn>=Ji&&Rn<=mn&&xn===32){const ls=Rn-1>=0?be.charCodeAt(Rn-1):0,Es=Rn+1<Oe?be.charCodeAt(Rn+1):0;if(ls!==32&&Es!==32)continue}if(lt&&it&&Rn===Oe-1){const ls=Rn-1>=0?be.charCodeAt(Rn-1):0;if(xn===32&&ls!==32&&ls!==9)continue}if(m&&!(vn&&vn.start<=Rn&&Rn<vn.endExclusive))continue;const ds=t.visibleRangeForPosition(new Le.y(s,Rn+1));ds&&(se?(Hn=Math.max(Hn,ds.left),xn===9?an+=this._renderArrow(It,ii,ds.left):an+=`<circle cx="${(ds.left+ii/2).toFixed(2)}" cy="${(It/2).toFixed(2)}" r="${(ii/7).toFixed(2)}" />`):xn===9?an+=`<div class="mwh" style="left:${ds.left}px;height:${It}px;">${ji?"\uFFEB":"\u2192"}</div>`:an+=`<div class="mwh" style="left:${ds.left}px;height:${It}px;">
228${String.fromCharCode(Ti)}</div>`)}return se?(Hn=Math.round(Hn+ii),`<svg style="bottom:0;position:absolute;width:${Hn}px;height:${It}px" viewBox="0 0 ${Hn} ${It}" xmlns="http://www.w3.org/2000/svg" fill="${F}">`+an+"</svg>"):an}_renderArrow(t,s,m){const O=s/7,F=s,se=t/2,be=m,Oe={x:0,y:O/2},it={x:100/125*F,y:Oe.y},ct={x:it.x-.2*it.x,y:it.y+.2*it.x},lt={x:ct.x+.1*it.x,y:ct.y+.1*it.x},Dt={x:lt.x+.35*it.x,y:lt.y-.35*it.x},It={x:Dt.x,y:-Dt.y},Ut={x:lt.x,y:-lt.y},ti={x:ct.x,y:-ct.y},ii={x:it.x,y:-it.y},oi={x:Oe.x,y:-Oe.y};return`<path d="M ${[Oe,it,ct,lt,Dt,It,Ut,ti,ii,oi].map(ji=>`${(be+ji.x).toFixed(2)} ${(se+ji.y).toFixed(2)}`).join(" L ")}" />`}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}}class Tl{constructor(t){const s=t.options,m=s.get(59),O=s.get(47);O==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):O==="svg"?(this.renderWhitespace=s.get(113),this.renderWithSVG=!0):(this.renderWhitespace=s.get(113),this.renderWithSVG=!1),this.spaceWidth=m.spaceWidth,this.middotWidth=m.middotWidth,this.wsmiddotWidth=m.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=m.canUseHalfwidthRightwardsArrow,this.lineHeight=s.get(75),this.stopRenderingLineAfter=s.get(133)}equals(t){return this.renderWhitespace===t.renderWhitespace&&this.renderWithSVG===t.renderWithSVG&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter}}class Ai{constructor(t,s,m,O){this.selections=t,this.startLineNumber=s.startLineNumber|0,this.endLineNumber=s.endLineNumber|0,this.relativeVerticalOffset=s.relativeVerticalOffset,this.bigNumbersDelta=s.bigNumbersDelta|0,this.lineHeight=s.lineHeight|0,this.whitespaceViewportData=m,this._model=O,this.visibleRange=new _e.Q(s.startLineNumber,this._model.getLineMinColumn(s.startLineNumber),s.endLineNumber,this._model.getLineMaxColumn(s.endLineNumber))}getViewLineRenderingData(t){return this._model.getViewportViewLineRenderingData(this.visibleRange,t)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class pr{get type(){return this._theme.type}get value(){return this._theme}constructor(t){this._theme=t}update(t){this._theme=t}getColor(t){return this._theme.getColor(t)}}class Ml{constructor(t,s,m){this.configuration=t,this.theme=new pr(s),this.viewModel=m,this.viewLayout=m.viewLayout}addEventHandler(t){this.viewModel.addViewEventHandler(t)}removeEventHandler(t){this.viewModel.removeViewEventHandler(t)}}var go=e(82399),Io=e(76730),Ro=e(45907),or=e(69588),da=e(98613),ca=e(58863),ha=e(42124);function vo(ft,t){return ft.isBasicASCII&&t.useMonospaceOptimizations?new Zo(ft):new cl(ft)}class Zo{constructor(t){this._content=t.content}getSegmentAtIndex(t){return this._content[t]}}class cl{constructor(t){this._segments=[];const s=t.content,m=ha.x.Segmenter(void 0,{granularity:"grapheme"}).value,O=Array.from(m.segment(s));let F=0;for(let se=0;se<s.length;se++){const be=O[F];if(!be)break;if(be.index!==se){this._segments.push(void 0);continue}F++,this._segments.push(be)}}getSegmentAtIndex(t){return this._segments[t]?.segment}}class Eo extends Be.i{get glyphRasterizer(){return this._glyphRasterizer.value}constructor(t,s,m,O){super(),this._context=t,this._viewGpuContext=s,this._device=m,this._glyphRasterizer=O,this._context.addEventHandler(this)}}const Ao=`
229struct GlyphInfo {
230	position: vec2f,
231	size: vec2f,
232	origin: vec2f,
233};
234
235struct Vertex {
236	@location(0) position: vec2f,
237};
238
239struct Cell {
240	position: vec2f,
241	unused1: vec2f,
242	glyphIndex: f32,
243	textureIndex: f32
244};
245
246struct LayoutInfo {
247	canvasDims: vec2f,
248	viewportOffset: vec2f,
249	viewportDims: vec2f,
250}
251
252struct ScrollOffset {
253	offset: vec2f
254}
255
256struct VSOutput {
257	@builtin(position) position:   vec4f,
258	@location(1)       layerIndex: f32,
259	@location(0)       texcoord:   vec2f,
260};
261
262// Uniforms
263@group(0) @binding(4)       var<uniform>       layoutInfo:      LayoutInfo;
264@group(0) @binding(5)  var<uniform>       atlasDims:       vec2f;
265@group(0) @binding(6)            var<uniform>       scrollOffset:    ScrollOffset;
266
267// Storage buffers
268@group(0) @binding(0)               var<storage, read> glyphInfo:       array<array<GlyphInfo, ${Ro.g.maximumGlyphCount}>, ${ca.L.maximumPageCount}>;
269@group(0) @binding(1)                   var<storage, read> cells:           array<Cell>;
270
271@vertex fn vs(
272	vert: Vertex,
273	@builtin(instance_index) instanceIndex: u32,
274	@builtin(vertex_index) vertexIndex : u32
275) -> VSOutput {
276	let cell = cells[instanceIndex];
277	var glyph = glyphInfo[u32(cell.textureIndex)][u32(cell.glyphIndex)];
278
279	var vsOut: VSOutput;
280	// Multiple vert.position by 2,-2 to get it into clipspace which ranged from -1 to 1
281	vsOut.position = vec4f(
282		// Make everything relative to top left instead of center
283		vec2f(-1, 1) +
284		((vert.position * vec2f(2, -2)) / layoutInfo.canvasDims) * glyph.size +
285		((cell.position * vec2f(2, -2)) / layoutInfo.canvasDims) +
286		((glyph.origin * vec2f(2, -2)) / layoutInfo.canvasDims) +
287		(((layoutInfo.viewportOffset - scrollOffset.offset * vec2(1, -1)) * 2) / layoutInfo.canvasDims),
288		0.0,
289		1.0
290	);
291
292	vsOut.layerIndex = cell.textureIndex;
293	// Textures are flipped from natural direction on the y-axis, so flip it back
294	vsOut.texcoord = vert.position;
295	vsOut.texcoord = (
296		// Glyph offset (0-1)
297		(glyph.position / atlasDims) +
298		// Glyph coordinate (0-1)
299		(vsOut.texcoord * (glyph.size / atlasDims))
300	);
301
302	return vsOut;
303}
304
305@group(0) @binding(2) var ourSampler: sampler;
306@group(0) @binding(3)        var ourTexture: texture_2d_array<f32>;
307
308@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
309	return textureSample(ourTexture, ourSampler, vsOut.texcoord, u32(vsOut.layerIndex));
310}
311`,yr=class yr extends Eo{get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(t,s,m,O){super(t,s,m,O),this.type="viewport",this.wgsl=Ao,this._cellBindBufferLineCapacity=63,this._activeDoubleBufferIndex=0,this._visibleObjectCount=0,this._lastViewportLineCount=0,this._scrollInitialized=!1,this._onDidChangeBindGroupEntries=this._register(new u.vl),this.onDidChangeBindGroupEntries=this._onDidChangeBindGroupEntries.event,this._rebuildCellBuffer(this._cellBindBufferLineCapacity);const F=2;this._scrollOffsetBindBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco scroll offset buffer",size:F*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(F)}_rebuildCellBuffer(t){this._cellBindBuffer?.destroy();const s=(Math.floor(t/32)+1)*32,m=s*yr.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco full file cell buffer",size:m,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(m),new ArrayBuffer(m)],this._cellBindBufferLineCapacity=s,this._lastViewportLineCount=0,this._onDidChangeBindGroupEntries.fire()}onConfigurationChanged(t){return!0}onDecorationsChanged(t){return!0}onTokensChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onLinesChanged(t){return!0}onScrollChanged(t){if(this._store.isDisposed)return!1;const s=(0,b.fz)().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(t?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*s,this._scrollOffsetValueBuffer[1]=(t?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*s,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(t){return!0}onLineMappingChanged(t){return!0}onZonesChanged(t){return!0}reset(){for(const t of[0,1]){const s=new Float32Array(this._cellValueBuffers[t]);s.fill(0,0,s.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,s.buffer,0,s.byteLength)}this._lastViewportLineCount=0}update(t,s){let m="",O,F=0,se=0,be=0,Oe=0,it=0,ct=0,lt,Dt=0,It=0,Ut=0,ti=0,ii,oi,yi,Ti,ji,an,Qi,Ji,mn=0,rn=0,vn;const Hn=(0,b.fz)().devicePixelRatio;let Rn;this._scrollInitialized||(this.onScrollChanged(),this._scrollInitialized=!0),this._cellBindBufferLineCapacity<t.endLineNumber-t.startLineNumber+1&&this._rebuildCellBuffer(t.endLineNumber-t.startLineNumber+1);const xn=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]);xn.fill(0);const ds=yr.maxSupportedColumns*6;for(se=t.startLineNumber;se<=t.endLineNumber;se++)if(this._viewGpuContext.canRender(s,t,se)){Qi=t.getViewLineRenderingData(se),ct=0,Rn=vo(Qi,s),F=s.spaceWidth*Hn,Oe=(Qi.minColumn-1)*F,vn=Qi.tokens,It=Qi.minColumn-1,Ut=0;for(let hs=0,ro=vn.getCount();hs<ro;hs++)if(Ut=vn.getEndOffset(hs),!(Ut<=It)){for(ti=vn.getMetadata(hs),be=It;be<Ut&&!(be>yr.maxSupportedColumns);be++){if(O=Rn.getSegmentAtIndex(be),O===void 0)continue;m=O,Qi.isBasicASCII&&s.useMonospaceOptimizations||(F=this.glyphRasterizer.getTextMetrics(m).width),oi=void 0,ii=void 0,yi=void 0,Ti=void 0,ji=void 0,an=void 0;for(Ji of Qi.inlineDecorations){if(se<Ji.range.startLineNumber||se>Ji.range.endLineNumber||se===Ji.range.startLineNumber&&be<Ji.range.startColumn-1||se===Ji.range.endLineNumber&&be>=Ji.range.endColumn-1)continue;const Ls=Io.n.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,Ji.inlineClassName);for(const yo of Ls)for(const wo of yo.style){const To=yo.styleMap.get(wo)?.toString()??"";switch(wo){case"color":{const tr=xo.Q1.Format.CSS.parse(To);if(!tr)throw new C.D7("Invalid color format "+To);oi=tr.toNumber32Bit();break}case"font-weight":{xr(To)>=400?ii=!0:ii=!1;break}case"opacity":{yi=Oo(To);break}case"text-decoration":case"text-decoration-line":{To==="line-through"&&(Ti=!0);break}case"text-decoration-thickness":{const tr=To.match(/^(\d+(?:\.\d+)?)px$/);tr&&(ji=parseFloat(tr[1]));break}case"text-decoration-color":{let tr=To;const ir=To.match(/^var\((--[^,]+),\s*(?:initial|inherit)\)$/);
311ir&&(tr=Io.n.decorationCssRuleExtractor.resolveCssVariable(this._viewGpuContext.canvas.domNode,ir[1]));const dr=xo.Q1.Format.CSS.parse(tr);dr&&(an=dr.toNumber32Bit());break}case"text-decoration-style":break;default:throw new C.D7("Unexpected inline decoration style")}}}if(m===" "||m==="	"){if(Dt=((se-1)*yr.maxSupportedColumns+be)*6,xn.fill(0,Dt,Dt+6),m==="	"){const Ls=be+ct;ct=Qe.A.nextRenderTabStop(be+ct,Qi.tabSize),Oe+=F*(ct-Ls),ct-=be+1}else Oe+=F;continue}const eo=Io.n.decorationStyleCache.getOrCreateEntry(oi,ii,yi,Ti,ji,an);lt=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,m,ti,eo,Oe),it=Math.round(t.relativeVerticalOffset[se-t.startLineNumber]*Hn+Math.floor((t.lineHeight*Hn-(lt.fontBoundingBoxAscent+lt.fontBoundingBoxDescent))/2)+lt.fontBoundingBoxAscent),Dt=((se-t.startLineNumber)*yr.maxSupportedColumns+be)*6,xn[Dt+0]=Math.floor(Oe),xn[Dt+1]=it,xn[Dt+4]=lt.glyphIndex,xn[Dt+5]=lt.pageIndex,Oe+=F}It=Ut}mn=((se-t.startLineNumber)*yr.maxSupportedColumns+Ut)*6,rn=(se-t.startLineNumber)*yr.maxSupportedColumns*6,xn.fill(0,mn,rn)}const ls=(t.endLineNumber-t.startLineNumber+1)*ds,Es=t.endLineNumber-t.startLineNumber+1;if(this._device.queue.writeBuffer(this._cellBindBuffer,0,xn.buffer,0,ls*Float32Array.BYTES_PER_ELEMENT),Es<this._lastViewportLineCount){const hs=this._lastViewportLineCount-Es,ro=ls*Float32Array.BYTES_PER_ELEMENT,eo=hs*ds*Float32Array.BYTES_PER_ELEMENT;this._device.queue.writeBuffer(this._cellBindBuffer,ro,xn.buffer,ls*Float32Array.BYTES_PER_ELEMENT,eo)}return this._lastViewportLineCount=Es,this._activeDoubleBufferIndex=this._activeDoubleBufferIndex?0:1,this._visibleObjectCount=ls,ls}draw(t,s){if(this._visibleObjectCount<=0)throw new C.D7("Attempt to draw 0 objects");t.draw(da.xW.length/2,this._visibleObjectCount)}};yr.maxSupportedColumns=2e3;let Xo=yr;function xr(ft){switch(ft){case"lighter":case"normal":return 400;case"bolder":case"bold":return 700}return parseInt(ft)}function Oo(ft){return ft.endsWith("%")?parseFloat(ft.substring(0,ft.length-1))/100:ft.match(/^\d+(?:\.\d*)/)?parseFloat(ft):1}const oo=class oo extends Eo{get bindGroupEntries(){return[{binding:1,resource:{buffer:this._cellBindBuffer}},{binding:6,resource:{buffer:this._scrollOffsetBindBuffer}}]}constructor(t,s,m,O){super(t,s,m,O),this.type="fullfile",this.wgsl=Ao,this._activeDoubleBufferIndex=0,this._upToDateLines=[new Set,new Set],this._visibleObjectCount=0,this._finalRenderedLine=0,this._scrollInitialized=!1,this._queuedBufferUpdates=[[],[]];const F=oo.maxSupportedLines*oo.maxSupportedColumns*6*Float32Array.BYTES_PER_ELEMENT;this._cellBindBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco full file cell buffer",size:F,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._cellValueBuffers=[new ArrayBuffer(F),new ArrayBuffer(F)];const se=2;this._scrollOffsetBindBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco scroll offset buffer",size:se*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(se)}onConfigurationChanged(t){return this._invalidateAllLines(),this._queueBufferUpdate(t),!0}onDecorationsChanged(t){return this._invalidateAllLines(),!0}onTokensChanged(t){for(const s of t.ranges)this._invalidateLineRange(s.fromLineNumber,s.toLineNumber);return!0}onLinesDeleted(t){return this._invalidateLinesFrom(t.fromLineNumber),this._queueBufferUpdate(t),!0}onLinesInserted(t){return this._invalidateLinesFrom(t.fromLineNumber),!0}onLinesChanged(t){return this._invalidateLineRange(t.fromLineNumber,t.fromLineNumber+t.count),!0}onScrollChanged(t){if(this._store.isDisposed)return!1;const s=(0,b.fz)().devicePixelRatio;return this._scrollOffsetValueBuffer[0]=(t?.scrollLeft??this._context.viewLayout.getCurrentScrollLeft())*s,this._scrollOffsetValueBuffer[1]=(t?.scrollTop??this._context.viewLayout.getCurrentScrollTop())*s,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer),!0}onThemeChanged(t){return this._invalidateAllLines(),!0}onLineMappingChanged(t){return this._invalidateAllLines(),this._queueBufferUpdate(t),!0}onZonesChanged(t){return this._invalidateAllLines(),this._queueBufferUpdate(t),!0}_invalidateAllLines(){this._upToDateLines[0].clear(),this._upToDateLines[1].clear()}_invalidateLinesFrom(t){for(const s of[0,1]){const m=this._upToDateLines[s];for(const O of m)O>=t&&m.delete(O)}}_invalidateLineRange(t,s){for(let m=t;m<=s;m++)this._upToDateLines[0].delete(m),this._upToDateLines[1].delete(m)}reset(){this._invalidateAllLines();for(const t of[0,1]){const s=new Float32Array(this._cellValueBuffers[t]);s.fill(0,0,s.length),this._device.queue.writeBuffer(this._cellBindBuffer,0,s.buffer,0,s.byteLength)}this._finalRenderedLine=0}update(t,s){let m="",O,F=0,se=0,be=0,Oe=0,it=0,ct=0,lt,Dt=0,It=0,Ut=0,ti=0,ii,oi,yi,Ti,ji,an,Qi,Ji,mn=0,rn=0,vn;const Hn=(0,b.fz)().devicePixelRatio;let Rn;this._scrollInitialized||(this.onScrollChanged(),this._scrollInitialized=!0);const xn=new Float32Array(this._cellValueBuffers[this._activeDoubleBufferIndex]),ds=oo.maxSupportedColumns*6,ls=this._upToDateLines[this._activeDoubleBufferIndex];let Es=3e3,hs=0;const ro=this._queuedBufferUpdates[this._activeDoubleBufferIndex];for(;ro.length;){const Ls=ro.shift();switch(Ls.type){case 2:case 8:case 17:{xn.fill(0),Es=1,hs=Math.max(hs,this._finalRenderedLine),this._finalRenderedLine=0;break}case 10:{const yo=(Ls.fromLineNumber-1)*oo.maxSupportedColumns*6,wo=Ls.toLineNumber*oo.maxSupportedColumns*6,To=(this._finalRenderedLine-(Ls.toLineNumber-Ls.fromLineNumber+1))*oo.maxSupportedColumns*6;xn.set(xn.subarray(wo),yo),xn.fill(0,To),Es=Math.min(Es,Ls.fromLineNumber),hs=Math.max(hs,this._finalRenderedLine),this._finalRenderedLine-=Ls.toLineNumber-Ls.fromLineNumber+1;break}}}for(se=t.startLineNumber;se<=t.endLineNumber;
311se++){if(!this._viewGpuContext.canRender(s,t,se)){mn=(se-1)*oo.maxSupportedColumns*6,rn=se*oo.maxSupportedColumns*6,xn.fill(0,mn,rn),Es=Math.min(Es,se),hs=Math.max(hs,se);continue}if(!ls.has(se)){Es=Math.min(Es,se),hs=Math.max(hs,se),Qi=t.getViewLineRenderingData(se),ct=0,Rn=vo(Qi,s),F=s.spaceWidth*Hn,Oe=(Qi.minColumn-1)*F,vn=Qi.tokens,It=Qi.minColumn-1,Ut=0;for(let Ls=0,yo=vn.getCount();Ls<yo;Ls++)if(Ut=vn.getEndOffset(Ls),!(Ut<=It)){for(ti=vn.getMetadata(Ls),be=It;be<Ut&&!(be>oo.maxSupportedColumns);be++){if(O=Rn.getSegmentAtIndex(be),O===void 0)continue;m=O,Qi.isBasicASCII&&s.useMonospaceOptimizations||(F=this.glyphRasterizer.getTextMetrics(m).width),oi=void 0,ii=void 0,yi=void 0,Ti=void 0,ji=void 0,an=void 0;for(Ji of Qi.inlineDecorations){if(se<Ji.range.startLineNumber||se>Ji.range.endLineNumber||se===Ji.range.startLineNumber&&be<Ji.range.startColumn-1||se===Ji.range.endLineNumber&&be>=Ji.range.endColumn-1)continue;const To=Io.n.decorationCssRuleExtractor.getStyleRules(this._viewGpuContext.canvas.domNode,Ji.inlineClassName);for(const tr of To)for(const ir of tr.style){const dr=tr.styleMap.get(ir)?.toString()??"";switch(ir){case"color":{const lo=xo.Q1.Format.CSS.parse(dr);if(!lo)throw new C.D7("Invalid color format "+dr);oi=lo.toNumber32Bit();break}case"font-weight":{Ss(dr)>=400?ii=!0:ii=!1;break}case"opacity":{yi=od(dr);break}case"text-decoration":case"text-decoration-line":{dr==="line-through"&&(Ti=!0);break}case"text-decoration-thickness":{const lo=dr.match(/^(\d+(?:\.\d+)?)px$/);lo&&(ji=parseFloat(lo[1]));break}case"text-decoration-color":{let lo=dr;const Br=dr.match(/^var\((--[^,]+),\s*(?:initial|inherit)\)$/);Br&&(lo=Io.n.decorationCssRuleExtractor.resolveCssVariable(this._viewGpuContext.canvas.domNode,Br[1]));const jo=xo.Q1.Format.CSS.parse(lo);jo&&(an=jo.toNumber32Bit());break}case"text-decoration-style":break;default:throw new C.D7("Unexpected inline decoration style")}}}if(m===" "||m==="	"){if(Dt=((se-1)*oo.maxSupportedColumns+be)*6,xn.fill(0,Dt,Dt+6),m==="	"){const To=be+ct;ct=Qe.A.nextRenderTabStop(be+ct,Qi.tabSize),Oe+=F*(ct-To),ct-=be+1}else Oe+=F;continue}const wo=Io.n.decorationStyleCache.getOrCreateEntry(oi,ii,yi,Ti,ji,an);lt=this._viewGpuContext.atlas.getGlyph(this.glyphRasterizer,m,ti,wo,Oe),it=Math.round(t.relativeVerticalOffset[se-t.startLineNumber]*Hn+Math.floor((t.lineHeight*Hn-(lt.fontBoundingBoxAscent+lt.fontBoundingBoxDescent))/2)+lt.fontBoundingBoxAscent),Dt=((se-1)*oo.maxSupportedColumns+be)*6,xn[Dt+0]=Math.floor(Oe),xn[Dt+1]=it,xn[Dt+4]=lt.glyphIndex,xn[Dt+5]=lt.pageIndex,Oe+=F}It=Ut}mn=((se-1)*oo.maxSupportedColumns+Ut)*6,rn=se*oo.maxSupportedColumns*6,xn.fill(0,mn,rn),ls.add(se)}}const eo=(t.endLineNumber-t.startLineNumber+1)*ds;return Es=Math.min(Es,oo.maxSupportedLines),hs=Math.min(hs,oo.maxSupportedLines),Es<=hs&&this._device.queue.writeBuffer(this._cellBindBuffer,(Es-1)*ds*Float32Array.BYTES_PER_ELEMENT,xn.buffer,(Es-1)*ds*Float32Array.BYTES_PER_ELEMENT,(hs-Es+1)*ds*Float32Array.BYTES_PER_ELEMENT),this._finalRenderedLine=Math.max(this._finalRenderedLine,hs),this._activeDoubleBufferIndex=this._activeDoubleBufferIndex?0:1,this._visibleObjectCount=eo,eo}draw(t,s){if(this._visibleObjectCount<=0)throw new C.D7("Attempt to draw 0 objects");t.draw(da.xW.length/2,this._visibleObjectCount,void 0,(s.startLineNumber-1)*oo.maxSupportedColumns)}_queueBufferUpdate(t){this._queuedBufferUpdates[0].push(t),this._queuedBufferUpdates[1].push(t)}};oo.maxSupportedLines=3e3,oo.maxSupportedColumns=200;let cs=oo;function Ss(ft){switch(ft){case"lighter":case"normal":return 400;case"bolder":case"bold":return 700}return parseInt(ft)}function od(ft){return ft.endsWith("%")?parseFloat(ft.substring(0,ft.length-1))/100:ft.match(/^\d+(?:\.\d*)/)?parseFloat(ft):1}var Jo=e(37283),zr=e(47936),Wo=e(32605),bo=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},wt=function(ft,t){return function(s,m){t(s,m,ft)}};let w=class extends M{constructor(t,s,m,O){super(t),this._viewGpuContext=s,this._instantiationService=m,this._logService=O,this._maxLineWidth=0,this._atlasGpuTextureVersions=[],this._initialized=!1,this._glyphRasterizer=this._register(new i.HE),this._renderStrategy=this._register(new i.HE),this.canvas=this._viewGpuContext.canvas.domNode,this._register((0,zr.fm)(F=>{this._viewGpuContext.canvasDevicePixelDimensions.read(F);const se=this._lastViewportData;se&&setTimeout(()=>{se===this._lastViewportData&&this.renderText(se)})})),this.initWebgpu()}async initWebgpu(){if(this._device=Io.n.deviceSync||await Io.n.device,this._store.isDisposed)return;const t=Io.n.atlas;
311this._register(t.onDidDeleteGlyphs(()=>{this._atlasGpuTextureVersions.length=0,this._atlasGpuTextureVersions[0]=0,this._atlasGpuTextureVersions[1]=0,this._renderStrategy.value.reset()}));const s=navigator.gpu.getPreferredCanvasFormat();this._viewGpuContext.ctx.configure({device:this._device,format:s,alphaMode:"premultiplied"}),this._renderPassColorAttachment={view:null,loadOp:"load",storeOp:"store"},this._renderPassDescriptor={label:"Monaco render pass",colorAttachments:[this._renderPassColorAttachment]};let m;{const Oe=new Float32Array(6),it=(ct=this.canvas.width,lt=this.canvas.height)=>(Oe[0]=ct,Oe[1]=lt,Oe[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*(0,b.fz)().devicePixelRatio),Oe[3]=0,Oe[4]=Oe[0]-Oe[2],Oe[5]=Oe[1]-Oe[3],Oe);m=this._register(or.B.createBuffer(this._device,{label:"Monaco uniform buffer",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>it())).object,this._register((0,Wo.lp)(this._viewGpuContext.canvasDevicePixelDimensions,({width:ct,height:lt})=>{this._device.queue.writeBuffer(m,0,it(ct,lt))})),this._register((0,Wo.lp)(this._viewGpuContext.contentLeft,()=>{this._device.queue.writeBuffer(m,0,it())}))}let O;O=this._register(or.B.createBuffer(this._device,{label:"Monaco atlas info uniform buffer",size:8,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>{const Oe=new Float32Array(2);return Oe[0]=t.pageSize,Oe[1]=t.pageSize,Oe})).object;const F=this._context.configuration.options.get(58),se=this._context.configuration.options.get(61);this._glyphRasterizer.value=this._register(new Jo.O(se,F,this._viewGpuContext.devicePixelRatio.get(),Io.n.decorationStyleCache)),this._register((0,Wo.lp)(this._viewGpuContext.devicePixelRatio,()=>{this._refreshGlyphRasterizer()})),this._renderStrategy.value=this._instantiationService.createInstance(cs,this._context,this._viewGpuContext,this._device,this._glyphRasterizer),this._glyphStorageBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco glyph storage buffer",size:ca.L.maximumPageCount*(Ro.g.maximumGlyphCount*24),usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})).object,this._atlasGpuTextureVersions[0]=0,this._atlasGpuTextureVersions[1]=0,this._atlasGpuTexture=this._register(or.B.createTexture(this._device,{label:"Monaco atlas texture",format:"rgba8unorm",size:{width:t.pageSize,height:t.pageSize,depthOrArrayLayers:ca.L.maximumPageCount},dimension:"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT})).object,this._updateAtlasStorageBufferAndTexture(),this._vertexBuffer=this._register(or.B.createBuffer(this._device,{label:"Monaco vertex buffer",size:da.xW.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},da.xW)).object;const be=this._device.createShaderModule({label:"Monaco shader module",code:this._renderStrategy.value.wgsl});if(this._pipeline=this._device.createRenderPipeline({label:"Monaco render pipeline",layout:"auto",vertex:{module:be,buffers:[{arrayStride:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:be,targets:[{format:s,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]}}),this._rebuildBindGroup=()=>{this._bindGroup=this._device.createBindGroup({label:"Monaco bind group",layout:this._pipeline.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._glyphStorageBuffer}},{binding:2,resource:this._device.createSampler({label:"Monaco atlas sampler",magFilter:"nearest",minFilter:"nearest"})},{binding:3,resource:this._atlasGpuTexture.createView()},{binding:4,resource:{buffer:m}},{binding:5,resource:{buffer:O}},...this._renderStrategy.value.bindGroupEntries]})},this._rebuildBindGroup(),this._initialized=!0,this._initViewportData){for(const Oe of this._initViewportData)this.renderText(Oe);this._initViewportData=void 0}}_refreshRenderStrategy(t){if(this._renderStrategy.value?.type==="viewport"||t.endLineNumber<cs.maxSupportedLines&&this._viewportMaxColumn(t)<cs.maxSupportedColumns)return;this._logService.trace(`File is larger than ${cs.maxSupportedLine
311s} lines or ${cs.maxSupportedColumns} columns, switching to viewport render strategy`);const s=this._instantiationService.createInstance(Xo,this._context,this._viewGpuContext,this._device,this._glyphRasterizer);this._renderStrategy.value=s,this._register(s.onDidChangeBindGroupEntries(()=>this._rebuildBindGroup?.())),this._rebuildBindGroup?.()}_viewportMaxColumn(t){let s=0,m;for(let O=t.startLineNumber;O<=t.endLineNumber;O++)m=t.getViewLineRenderingData(O),s=Math.max(s,m.maxColumn);return s}_updateAtlasStorageBufferAndTexture(){for(const[t,s]of Io.n.atlas.pages.entries()){if(t>=ca.L.maximumPageCount){console.log(`Attempt to upload atlas page [${t}], only ${ca.L.maximumPageCount} are supported currently`);continue}if(s.version===this._atlasGpuTextureVersions[t])continue;this._logService.trace("Updating atlas page[",t,"] from version ",this._atlasGpuTextureVersions[t]," to version ",s.version);const m=6*Ro.g.maximumGlyphCount,O=new Float32Array(m);let F=0;for(const se of s.glyphs)O[F+0]=se.x,O[F+0+1]=se.y,O[F+2]=se.w,O[F+2+1]=se.h,O[F+4]=se.originOffsetX,O[F+4+1]=se.originOffsetY,F+=6;if(F/6>Ro.g.maximumGlyphCount)throw new Error(`Attempting to write more glyphs (${F/6}) than the GPUBuffer can hold (${Ro.g.maximumGlyphCount})`);this._device.queue.writeBuffer(this._glyphStorageBuffer,t*6*Ro.g.maximumGlyphCount*Float32Array.BYTES_PER_ELEMENT,O,0,6*Ro.g.maximumGlyphCount),s.usedArea.right-s.usedArea.left>0&&s.usedArea.bottom-s.usedArea.top>0&&this._device.queue.copyExternalImageToTexture({source:s.source},{texture:this._atlasGpuTexture,origin:{x:s.usedArea.left,y:s.usedArea.top,z:t}},{width:s.usedArea.right-s.usedArea.left+1,height:s.usedArea.bottom-s.usedArea.top+1}),this._atlasGpuTextureVersions[t]=s.version}}prepareRender(t){throw new C.D7("Should not be called")}render(t){throw new C.D7("Should not be called")}onConfigurationChanged(t){return this._refreshGlyphRasterizer(),this._maxLineWidth=0,!0}onCursorStateChanged(t){return!0}onDecorationsChanged(t){return!0}onFlushed(t){return this._maxLineWidth=0,!0}onLinesChanged(t){return!0}onLinesDeleted(t){return this._maxLineWidth=0,!0}onLinesInserted(t){return!0}onLineMappingChanged(t){return!0}onRevealRangeRequest(t){return!0}onScrollChanged(t){return!0}onThemeChanged(t){return!0}onZonesChanged(t){return!0}_refreshGlyphRasterizer(){const t=this._glyphRasterizer.value;if(!t)return;const s=this._context.configuration.options.get(58),m=this._context.configuration.options.get(61),O=this._viewGpuContext.devicePixelRatio.get();(t.fontFamily!==s||t.fontSize!==m||t.devicePixelRatio!==O)&&(this._glyphRasterizer.value=new Jo.O(m,s,O,Io.n.decorationStyleCache))}renderText(t){if(this._initialized)return this._refreshRenderStrategy(t),this._renderText(t);this._initViewportData=this._initViewportData??[],this._initViewportData.push(t)}_renderText(t){this._viewGpuContext.rectangleRenderer.draw(t);const s=new Ft(this._context.configuration,this._context.theme.type);this._renderStrategy.value.update(t,s),this._updateAtlasStorageBufferAndTexture();const m=this._device.createCommandEncoder({label:"Monaco command encoder"});this._renderPassColorAttachment.view=this._viewGpuContext.ctx.getCurrentTexture().createView({label:"Monaco canvas texture view"});const O=m.beginRenderPass(this._renderPassDescriptor);O.setPipeline(this._pipeline),O.setVertexBuffer(0,this._vertexBuffer);const F=Math.ceil(this._viewGpuContext.contentLeft.get()*this._viewGpuContext.devicePixelRatio.get());O.setScissorRect(F,0,this.canvas.width-F,this.canvas.height),O.setBindGroup(0,this._bindGroup),this._renderStrategy.value.draw(O,t),O.end();const se=m.finish();this._device.queue.submit([se]),this._lastViewportData=t,this._lastViewLineOptions=s,this._updateMaxLineWidth(t,s)}_updateMaxLineWidth(t,s){const m=(0,b.fz)().devicePixelRatio;let O=0;for(let se=t.startLineNumber;se<=t.endLineNumber;se++){if(!this._viewGpuContext.canRender(s,t,se))continue;const be=t.getViewLineRenderingData(se),Oe=this._computeLineWidth(be,s,m);O=Math.max(O,Oe)}const F=Math.ceil(O);F>this._maxLineWidth&&(this._maxLineWidth=F,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeLineWidth(t,s,m){const O=t.content;let F;t.isBasicASCII&&s.useMonospaceOptimizations||(F=vo(t,s));let se=0,be=0;for(let Oe=0;Oe<O.length;Oe++){let it;if(t.isBasicASCII&&s.useMonospaceOptimizations)it=O.charAt(Oe);else{const ct=F.getSegmentAtIndex(Oe);if(ct===void 0)continue;it=ct}if(it==="	"){const ct=Oe+be;be=Qe.A.nextRenderTabStop(Oe+be,t.tabSize),se+=s.spaceWidth*(be-ct),be-=Oe+1}else t.isBasicASCII&&s.useMonospaceOptimizations?se+=s.spaceWidth:se+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(it).width/m}return se}linesVisibleRangesForRange(t,s){if(!this._lastViewportData)return null;const m=t.endLineNumber,O=_e.Q.intersectRanges(t,this._lastViewportData.visibleRange);if(!O)return null;const F=this._lastViewportData.startLineNumber,se=this._lastViewportData.endLineNumber,be=this._lastViewportData,Oe=this._lastViewLineOptions;if(!be||!Oe)return null;const it=[];let ct=0;s&&(ct=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(O.startLineNumber,1)).lineNumber);for(let lt=O.startLineNumber;lt<=O.endLineNumber;lt++){if(lt<F||lt>se)continue;const Dt=lt===O.startLineNumber?O.startColumn:1,It=lt!==m,Ut=It?this._context.viewModel.getLineMaxColumn(lt):O.endColumn,ti=this._visibleRangesForLineRange(lt,Dt,Ut);if(ti){if(s&&lt<m){const ii=ct;ct=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(lt+1,1)).lineNumber,ii!==ct&&(ti.ranges[ti.ranges.length-1].width+=Oe.spaceWi
311dth)}it.push(new Zn.BG(ti.outsideRenderedLine,lt,Zn.Y.from(ti.ranges),It))}}return it.length===0?null:it}_visibleRangesForLineRange(t,s,m){if(this.shouldRender())return null;const O=this._lastViewportData,F=this._lastViewLineOptions;if(!O||!F||t<O.startLineNumber||t>O.endLineNumber)return null;const se=O.getViewLineRenderingData(t),be=se.content;let Oe;se.isBasicASCII&&F.useMonospaceOptimizations||(Oe=vo(se,F));let it="",ct=0,lt=0;for(let ti=0;ti<s-1;ti++){if(se.isBasicASCII&&F.useMonospaceOptimizations)it=be.charAt(ti);else{if(it=Oe.getSegmentAtIndex(ti),it===void 0)continue;lt+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(it).width/(0,b.fz)().devicePixelRatio-F.spaceWidth}it==="	"?ct=Qe.A.nextRenderTabStop(ct,se.tabSize):ct++}let Dt=ct,It=0;for(let ti=s-1;ti<m-1;ti++){if(se.isBasicASCII&&F.useMonospaceOptimizations)it=be.charAt(ti);else{if(it=Oe.getSegmentAtIndex(ti),it===void 0)continue;It+=this._renderStrategy.value.glyphRasterizer.getTextMetrics(it).width/(0,b.fz)().devicePixelRatio-F.spaceWidth}it==="	"?Dt=Qe.A.nextRenderTabStop(Dt,se.tabSize):Dt++}return new Zn.pj(!1,[new Zn.IO(ct*F.spaceWidth+lt,(Dt-ct)*F.spaceWidth+It)])}visibleRangeForPosition(t){const s=this._visibleRangesForLineRange(t.lineNumber,t.column,t.column);return s?new Zn.qN(s.outsideRenderedLine,s.ranges[0].left):null}getLineWidth(t){if(!this._lastViewportData||!this._lastViewLineOptions||!this._viewGpuContext.canRender(this._lastViewLineOptions,this._lastViewportData,t))return;const s=this._lastViewportData.getViewLineRenderingData(t),O=this._visibleRangesForLineRange(t,1,s.maxColumn)?.ranges.at(-1);if(O)return O.left+O.width}getPositionAtCoordinate(t,s){if(!this._lastViewportData||!this._lastViewLineOptions||!this._viewGpuContext.canRender(this._lastViewLineOptions,this._lastViewportData,t))return;const m=this._lastViewportData.getViewLineRenderingData(t),O=m.content,F=(0,b.fz)().devicePixelRatio,se=s*F,be=this._lastViewLineOptions.spaceWidth*F,Oe=vo(m,this._lastViewLineOptions);let it=0,ct=0,lt=0,Dt=0;for(let It=0;It<O.length;It++){const Ut=Oe.getSegmentAtIndex(It);if(Ut===void 0){Dt++;continue}if(Ut==="	"){const ti=It+lt;lt=Qe.A.nextRenderTabStop(It+lt,m.tabSize),ct=be*(lt-ti),lt-=It+1}else m.isBasicASCII&&this._lastViewLineOptions.useMonospaceOptimizations?ct=be:ct=this._renderStrategy.value.glyphRasterizer.getTextMetrics(Ut).width;if(se<it+ct/2)break;it+=ct,Dt++}return new Le.y(t,Dt+1)}};w=bo([wt(2,go._Y),wt(3,Yt.rr)],w);var B=e(3765),ee=e(37043),ye=e(56071);class Pe extends M{constructor(){super(...arguments),this._onWillCopy=this._register(new u.vl),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new u.vl),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new u.vl),this.onWillPaste=this._onWillPaste.event}}class Ge{_getPageOfLine(t,s){return Math.floor((t-1)/s)}_getRangeForPage(t,s){const m=t*s,O=m+1,F=m+s;return new _e.Q(O,1,F+1,1)}fromEditorSelection(t,s,m,O){const se=this._getPageOfLine(s.startLineNumber,m),be=this._getRangeForPage(se,m),Oe=this._getPageOfLine(s.endLineNumber,m),it=this._getRangeForPage(Oe,m);let ct=be.intersectRanges(new _e.Q(1,1,s.startLineNumber,s.startColumn));if(O&&t.getValueLengthInRange(ct,1)>500){const Ti=t.modifyPosition(ct.getEndPosition(),-500);ct=_e.Q.fromPositions(Ti,ct.getEndPosition())}const lt=t.getValueInRange(ct,1),Dt=t.getLineCount(),It=t.getLineMaxColumn(Dt);let Ut=it.intersectRanges(new _e.Q(s.endLineNumber,s.endColumn,Dt,It));if(O&&t.getValueLengthInRange(Ut,1)>500){const Ti=t.modifyPosition(Ut.getStartPosition(),500);Ut=_e.Q.fromPositions(Ut.getStartPosition(),Ti)}const ti=t.getValueInRange(Ut,1);let ii;if(se===Oe||se+1===Oe)ii=t.getValueInRange(s,1);else{const Ti=be.intersectRanges(s),ji=it.intersectRanges(s);ii=t.getValueInRange(Ti,1)+"\u2026"+t.getValueInRange(ji,1)}O&&ii.length>2*500&&(ii=ii.substring(0,500)+"\u2026"+ii.substring(ii.length-500,ii.length));let oi,yi;return s.getDirection()===0?(oi=lt.length,yi=lt.length+ii.length):(yi=lt.length,oi=lt.length+ii.length),{value:lt+ii+ti,selection:s,selectionStart:oi,selectionEnd:yi,startPositionWithinEditor:ct.getStartPosition(),newlineCountBeforeSelection:ct.endLineNumber-ct.startLineNumber}}}function yt(ft,t){if(ft.get(2)===1){const m=t.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode")?.getAr
311iaLabel(),O=t.lookupKeybinding("workbench.action.showCommands")?.getAriaLabel(),F=t.lookupKeybinding("workbench.action.openGlobalKeybindings")?.getAriaLabel(),se=(0,B.kg)(65,"The editor is not accessible at this time.");return m?(0,B.kg)(66,"{0} To enable screen reader optimized mode, use {1}",se,m):O?(0,B.kg)(67,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",se,O):F?(0,B.kg)(68,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",se,F):se}return ft.get(8)}function mt(ft){let t=0,s=-1;do{if(s=ft.indexOf(`
312`,s+1),s===-1)break;t++}while(!0);return t}var Ht=e(82862);class Kt{constructor(){this._textAreaEditContextMapping=new Map}register(t,s){return this._textAreaEditContextMapping.set(t,s),{dispose:()=>{this._textAreaEditContextMapping.delete(t)}}}}const zt=new Kt;var si=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},mi=function(ft,t){return function(s,m){t(s,m,ft)}};class Ii{constructor(t,s,m,O,F){this._context=t,this.modelLineNumber=s,this.distanceToModelLineStart=m,this.widthOfHiddenLineTextBefore=O,this.distanceToModelLineEnd=F,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(t){const s=new Le.y(this.modelLineNumber,this.distanceToModelLineStart+1),m=new Le.y(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(s),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(m),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=t.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=t.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(t){return this._previousPresentation||(t?this._previousPresentation=t:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const Oi=l.gm;let Hi=class extends Pe{constructor(t,s,m,O,F,se,be){super(s),this._keybindingService=se,this._instantiationService=be,this._primaryCursorPosition=new Le.y(1,1),this._primaryCursorVisibleRange=null,this._viewController=O,this._visibleRangeProvider=F,this._scrollLeft=0,this._scrollTop=0;const Oe=this._context.configuration.options,it=Oe.get(165);this._setAccessibilityOptions(Oe),this._contentLeft=it.contentLeft,this._contentWidth=it.contentWidth,this._contentHeight=it.height,this._fontInfo=Oe.get(59),this._emptySelectionClipboard=Oe.get(45),this._visibleTextArea=null,this._selections=[new pe.L(1,1,1,1)],this._modelSelections=[new pe.L(1,1,1,1)],this._lastRenderPosition=null,this.textArea=(0,de.Z)(document.createElement("textarea")),Ve.write(this.textArea,7),this.textArea.setClassName(`inputarea ${at}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:ct}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=`${ct*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",yt(Oe,this._keybindingService)),this.textArea.setAttribute("aria-required",Oe.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(Oe.get(140))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",(0,B.kg)(69,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",Oe.get(104)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=(0,de.Z)(document.createElement("div")),this.textAreaCover.setPosition("absolute"),m.appendChild(this.textArea),m.appendChild(this.textAreaCover);const lt=new Ge,Dt={context:this._context,getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const ti=this._selections[0];if(a.zx&&ti.isEmpty()){const oi=ti.getStartPosition();let yi=this._getWordBeforePosition(oi);if(yi.length===0&&(yi=this._getCharacterBeforePosition(oi)),yi.length>0)return new Bi(yi,yi.length,yi.length,_e.Q.fromPositions(oi),0)}if(a.zx&&!ti.isEmpty()&&this._context.viewModel.getValueLengthInRange(ti,0)<500){const oi=this._context.viewModel.getValueInRange(ti,0);return new Bi(oi,0,oi.length,ti,0)}if(l.nr&&!ti.isEmpty()){const oi="vscode-placeholder";return new Bi(oi,0,oi.length,null,void 0)}return Bi.EMPTY}if(l.m0){const ti=this._selections[0];if(ti.isEmpty()){const ii=ti.getStartPosition(),[oi,yi]=this._getAndroidWordAtPosition(ii);if(oi.length>0)return new Bi(oi,yi,yi,_e.Q.fromPositions(ii),0)}return Bi.EMPTY}const Ut=lt.fromEditorSelection(this._context.viewModel,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0);return Bi.fromScreenReaderContentState(Ut)},deduceModelPosition:(Ut,ti,ii)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(Ut,ti,ii)},It=this._register(new Dn(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(On,Dt,It,a.OS,{isAndroid:l.m0,isChrome:l.H8,isFirefox:l.gm,isSafari:l.nr})),this._register(this._textAreaInput.onWillCopy(Ut=>this._onWillCopy.fire(Ut))),this._register(this._textAreaInput.onWillCut(Ut=>this._onWillCut.fire(Ut))),this._register(this._textAreaInput.onWillPaste(Ut=>this._onWillPaste.fire(Ut))),this._register(this._textAreaInput.onKeyDown(Ut=>{this._viewController.emitKeyDown(Ut)})),this._register(this._textAreaInput.onKeyUp(Ut=>{this._viewController.emitKeyUp(Ut)})),this._register(this._textAreaInput.onPaste(Ut=>{let ti=!1,ii=null,oi=null;Ut.metadata&&(ti=this._emptySelectionClipboard&&!!Ut.metadata.isFromEmptySelection,ii=typeof Ut.metadata.multicursorText<"u"?Ut.metadata.multicursorText:null,oi=Ut.metadata.mode),this._viewController.paste(Ut.text,ti,ii,oi)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(Ut=>{Ut.replacePrevCharCnt||Ut.replaceNextCharCnt||Ut.positionDelta?this._viewController.compositionType(Ut.text,Ut.replacePrevCharCnt,Ut.replaceNextCharCnt,Ut.positionDelta):this._viewController.type(Ut.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(Ut=>{this._viewController.setSelection(Ut)})),this._register(this._textAreaInput.onCompositionStart(Ut=>{const ti=this.textArea.domNode,ii=this._modelSelections[0],{distanceToModelLineStart:oi,widthOfHiddenTextBefore:yi}=(()=>{const ji=ti.value.substring(0,Math.min(ti.selectionStart,ti.selectionEnd)),an=ji.lastIndexOf(`
313`),Qi=ji.substring(an+1),Ji=Qi.lastIndexOf("	"),mn=Qi.length-Ji-1,rn=ii.getStartPosition(),vn=Math.min(rn.column-1,mn),Hn=rn.column-1-vn,Rn=Qi.substring(0,Qi.length-vn),{tabSize:xn}=this._context.viewModel.model.getOptions(),ds=dn(this.textArea.domNode.ownerDocument,Rn,this._fontInfo,xn);return{distanceToModelLineStart:Hn,widthOfHiddenTextBefore:ds}})(),{distanceToModelLineEnd:Ti}=(()=>{const ji=ti.value.substring(Math.max(ti.selectionStart,ti.selectionEnd)),an=ji.indexOf(`
314`),Qi=an===-1?ji:ji.substring(0,an),Ji=Qi.indexOf("	"),mn=Ji===-1?Qi.length:Qi.length-Ji-1,rn=ii.getEndPosition(),vn=Math.min(this._context.viewModel.model.getLineMaxColumn(rn.lineNumber)-rn.column,mn);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(rn.lineNumber)-rn.column-vn}})();this._context.viewModel.revealRange("keyboard",!0,_e.Q.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new Ii(this._context,ii.startLineNumber,oi,yi,Ti),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${at} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(Ut=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${at}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(ee.M.onDidChange(()=>{this._ensureReadOnlyAttribute()})),this._register(zt.register(t,this))}get domNode(){return this.textArea}writeScreenReaderContent(t){this._textAreaInput.writeNativeTextAreaContent(t)}dispose(){super.dispose(),this.textArea.domNode.remove(),this.textAreaCover.domNode.remove()}_getAndroidWordAtPosition(t){const s='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',m=this._context.viewModel.getLineContent(t.lineNumber),O=(0,Ht.i)(s,[]);let F=!0,se=t.column,be=!0,Oe=t.column,it=0;for(;it<50&&(F||be);){if(F&&se<=1&&(F=!1),F){const ct=m.charCodeAt(se-2);O.get(ct)!==0?F=!1:se--}if(be&&Oe>m.length&&(be=!1),be){const ct=m.charCodeAt(Oe-1);O.get(ct)!==0?be=!1:Oe++}it++}return[m.substring(se-1,Oe-1),t.column-se]}_getWordBeforePosition(t){const s=this._context.viewModel.getLineContent(t.lineNumber),m=(0,Ht.i)(this._context.configuration.options.get(148),[]);let O=t.column,F=0;for(;O>1;){const se=s.charCodeAt(O-2);if(m.get(se)!==0||F>50)return s.substring(O-1,t.column-1);F++,O--}return s.substring(0,t.column-1)}_getCharacterBeforePosition(t){if(t.column>1){const m=this._context.viewModel.getLineContent(t.lineNumber).charAt(t.column-2);if(!(0,vt.pc)(m.charCodeAt(0)))return m}return""}_setAccessibilityOptions(t){this._accessibilitySupport=t.get(2);const s=t.get(3);this._accessibilitySupport===2&&s===W.qB.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=s;const O=t.get(165).wrappingColumn;if(O!==-1&&this._accessibilitySupport!==1){const F=t.get(59);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(O*F.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=Oi?0:1}onConfigurationChanged(t){const s=this._context.configuration.options,m=s.get(165);this._setAccessibilityOptions(s),this._contentLeft=m.contentLeft,this._contentWidth=m.contentWidth,this._contentHeight=m.height,this._fontInfo=s.get(59),this._emptySelectionClipboard=s.get(45),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:O}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=`${O*this._fontInfo.spaceWidth}px`,this.textArea.setAttribute("aria-label",yt(s,this._keybindingService)),this.textArea.setAttribute("aria-required",s.get(9)?"true":"false"),this.textArea.setAttribute("tabindex",String(s.get(140))),(t.hasChanged(41)||t.hasChanged(104))&&this._ensureReadOnlyAttribute(),t.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),this._modelSelections=t.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return this._scrollLeft=t.scrollLeft,this._scrollTop=t.scrollTop,!0}onZonesChanged(t){return!0}isFocused(){return this._textAreaInput.isFocused()}focus(){this._textAreaInput.focusTextArea()}refreshFocusState(){this._textAreaInput.refreshFocusState()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(t){t.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",t.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),t.role&&this.textArea.setAttribute("role",t.role)}_ensureReadOnlyAttribute(){const t=this._context.configuration.options;!ee.M.enabled||t.get(41)&&t.get(104)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(t){this._primaryCursorPosition=new Le.y(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=t.visibleRangeForPosition(this._primaryCursorPosition),this._visibleTextArea?.prepareRender(t)}render(t){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}
314_render(){if(this._visibleTextArea){const m=this._visibleTextArea.visibleTextareaStart,O=this._visibleTextArea.visibleTextareaEnd,F=this._visibleTextArea.startPosition,se=this._visibleTextArea.endPosition;if(F&&se&&m&&O&&O.left>=this._scrollLeft&&m.left<=this._scrollLeft+this._contentWidth){const be=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,Oe=mt(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let it=this._visibleTextArea.widthOfHiddenLineTextBefore,ct=this._contentLeft+m.left-this._scrollLeft,lt=O.left-m.left+1;if(ct<this._contentLeft){const Ti=this._contentLeft-ct;ct+=Ti,it+=Ti,lt-=Ti}lt>this._contentWidth&&(lt=this._contentWidth);const Dt=this._context.viewLayout.getLineHeightForLineNumber(F.lineNumber),It=this._context.viewModel.getFontSizeAtPosition(this._primaryCursorPosition),Ut=this._context.viewModel.getViewLineData(F.lineNumber),ti=Ut.tokens.findTokenIndexAtOffset(F.column-1),ii=Ut.tokens.findTokenIndexAtOffset(se.column-1),oi=ti===ii,yi=this._visibleTextArea.definePresentation(oi?Ut.tokens.getPresentation(ti):null);this.textArea.domNode.scrollTop=Oe*Dt,this.textArea.domNode.scrollLeft=it,this._doRender({lastRenderPosition:null,top:be,left:ct,width:lt,height:Dt,useCover:!1,color:(tn.dG.getColorMap()||[])[yi.foreground],italic:yi.italic,bold:yi.bold,underline:yi.underline,strikethrough:yi.strikethrough,fontSize:It})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(t<this._contentLeft||t>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const s=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(s<0||s>this._contentHeight){this._renderAtTopLeft();return}if(a.zx||this._accessibilitySupport===2){const m=this._primaryCursorPosition.lineNumber,O=this._context.viewLayout.getLineHeightForLineNumber(m);this._doRender({lastRenderPosition:this._primaryCursorPosition,top:s,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:O,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const F=this._textAreaInput.textAreaState.newlineCountBeforeSelection??mt(this.textArea.domNode.value.substring(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=F*O;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:s,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:Oi?0:1,useCover:!1})}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:Oi?0:1,useCover:!0})}_doRender(t){this._lastRenderPosition=t.lastRenderPosition;const s=this.textArea,m=this.textAreaCover;(0,d.M)(s,this._fontInfo),s.setTop(t.top),s.setLeft(t.left),s.setWidth(t.width),s.setHeight(t.height),s.setLineHeight(t.height),s.setFontSize(t.fontSize??this._fontInfo.fontSize),s.setColor(t.color?xo.Q1.Format.CSS.formatHex(t.color):""),s.setFontStyle(t.italic?"italic":""),t.bold&&s.setFontWeight("bold"),s.setTextDecoration(`${t.underline?" underline":""}${t.strikethrough?" line-through":""}`),m.setTop(t.useCover?t.top:0),m.setLeft(t.useCover?t.left:0),m.setWidth(t.useCover?t.width:0),m.setHeight(t.useCover?t.height:0);const O=this._context.configuration.options;O.get(66)?m.setClassName("monaco-editor-background textAreaCover "+Di.OUTER_CLASS_NAME):O.get(76).renderType!==0?m.setClassName("monaco-editor-background textAreaCover "+Ze.CLASS_NAME):m.setClassName("monaco-editor-background textAreaCover")}};Hi=si([mi(5,ye.b),mi(6,go._Y)],Hi);function dn(ft,t,s,m){if(t.length===0)return 0;const O=ft.createElement("div");O.style.position="absolute",O.style.top="-50000px",O.style.width="50000px";const F=ft.createElement("span");(0,d.M)(F,s),F.style.whiteSpace="pre",F.style.tabSize=`${m*s.spaceWidth}px`,F.append(t),O.appendChild(F),ft.body.appendChild(O);const se=F.offsetWidth;return O.remove(),se}var Tn=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},Pn=function(ft,t){return function(s,m){t(s,m,ft)}};let Jn=class extends i.jG{constructor(t,s,m){super(),this._domNo
314de=s,this._onFocusChange=m,this._isFocused=!1,this._isPaused=!1,this._register((0,b.ko)(this._domNode,"focus",()=>{t.trace("NativeEditContext.focus"),!this._isPaused&&this.refreshFocusState()})),this._register((0,b.ko)(this._domNode,"blur",()=>{t.trace("NativeEditContext.blur"),!this._isPaused&&this._handleFocusedChanged(!1)}))}pause(){this._isPaused=!0}resume(){this._isPaused=!1,this.refreshFocusState()}_handleFocusedChanged(t){this._isFocused!==t&&(this._isFocused=t,this._onFocusChange(this._isFocused))}focus(){this._domNode.focus(),this.refreshFocusState()}refreshFocusState(){const t=(0,b.jG)(this._domNode),s=t?t.activeElement:(0,b.bq)(),m=this._domNode===s;this._handleFocusedChanged(m)}get isFocused(){return this._isFocused}};Jn=Tn([Pn(0,Yt.rr)],Jn);function Vs(ft,t,s,m){return ft.addEventListener(t,s,m),{dispose(){ft.removeEventListener(t,s)}}}var os=e(45561),ts=e(39723),mo=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},Ko=function(ft,t){return function(s,m){t(s,m,ft)}};const Ka=(0,es.H)("richScreenReaderContent",{createHTML:ft=>ft}),Rl="data-line-number";let Ir=class extends i.jG{constructor(t,s,m,O){super(),this._domNode=t,this._context=s,this._viewController=m,this._accessibilityService=O,this._selectionChangeListener=this._register(new i.HE),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._state=Kr.NULL,this._strategy=new rd,this._renderedLine
314s=new Map,this._renderedSelection=new pe.L(1,1,1,1),this.onConfigurationChanged(this._context.configuration.options)}updateScreenReaderContent(t){const s=(0,b.fz)().document.activeElement;if(!s||s!==this._domNode.domNode)return;if(this._accessibilityService.isScreenReaderOptimized()){const O=this._getScreenReaderContentLineIntervals(t);this._state.equals(O)||(this._state=O,this._renderedLines=this._renderScreenReaderContent(O)),this._renderedSelection.equalsSelection(t)||(this._renderedSelection=t,this._setSelectionOnScreenReaderContent(this._context,this._renderedLines,t))}else this._state=Kr.NULL,this._setIgnoreSelectionChangeTime("setValue"),this._domNode.domNode.textContent=""}updateScrollTop(t){const s=this._state.intervals;if(!s.length)return;const m=this._context.viewModel.viewLayout,O=s[0].startLine,F=m.getVerticalOffsetForLineNumber(O),se=m.getVerticalOffsetForLineNumber(t.positionLineNumber);this._domNode.domNode.scrollTop=se-F}onFocusChange(t){t?this._selectionChangeListener.value=this._setSelectionChangeListener():this._selectionChangeListener.value=void 0}onConfigurationChanged(t){this._accessibilityPageSize=t.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime("onCut")}onWillPaste(){this._setIgnoreSelectionChangeTime("onWillPaste")}_setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let t=0;
314return(0,b.ko)(this._domNode.domNode.ownerDocument,"selectionchange",()=>{if(!((0,b.fz)().document.activeElement===this._domNode.domNode)||!this._accessibilityService.isScreenReaderOptimized()||!ee.M.enabled)return;const F=Date.now(),se=F-t;if(t=F,se<5)return;const be=F-this._ignoreSelectionChangeTime;if(this._ignoreSelectionChangeTime=0,be<100)return;const Oe=this._getEditorSelectionFromDomRange();Oe&&this._viewController.setSelection(Oe)})}_renderScreenReaderContent(t){const s=[],m=new Map;for(const O of t.intervals)for(let F=O.startLine;F<=O.endLine;F++){const se=this._renderLine(F);m.set(F,se),s.push(se.domNode)}return this._setIgnoreSelectionChangeTime("setValue"),this._domNode.domNode.replaceChildren(...s),m}_renderLine(t){const s=this._context.viewModel,m=s.getViewLineRenderingData(t),O=this._context.configuration.options,F=O.get(59),se=O.get(133),be=O.get(108),Oe=O.get(60),it=O.get(40),ct=os.d.filter(m.inlineDecorations,t,m.minColumn,m.maxColumn),lt=F.isMonospace&&!it,Dt=Oe!==W.Bc.OFF;let It;O.get(47)==="off"?It=O.get(113):It="none";const ti=new ts.zL(lt,F.canUseHalfwidthRightwardsArrow,m.content,m.continuesWithWrappedLine,m.isBasicASCII,m.containsRTL,m.minColumn-1,m.tokens,ct,m.tabSize,m.startVisibleColumn,F.spaceWidth,F.middotWidth,F.wsmiddotWidth,se,It,be,Dt,null,null,0,!0),ii=new Xn.fe(1e4),oi=(0,ts.UW)(ti,ii),yi=ii.build(),Ti=Ka?.createHTML(yi)??yi,ji=s.viewLayout.getLineHeightForLineNumber(t)+"px",an=document.createElement("div");return an.innerHTML=Ti,an.style.lineHeight=ji,an.style.height=ji,an.setAttribute(Rl,t.toString()),new jd(an,oi.characterMapping)}_setSelectionOnScreenReaderContent(t,s,m){const F=(0,b.fz)().document.getSelection();if(!F)return;const se=m.startLineNumber,be=m.endLineNumber,Oe=s.get(se),it=s.get(be);if(!Oe||!it)return;const ct=t.viewModel,lt=ct.model,Dt=ct.coordinatesConverter,It=new _e.Q(se,1,se,m.selectionStartColumn),Ut=Dt.convertViewRangeToModelRange(It),ti=lt.getCharacterCountInRange(Ut),ii=new _e.Q(be,1,be,m.positionColumn),oi=Dt.convertViewRangeToModelRange(ii),yi=lt.getCharacterCountInRange(oi),Ti=Oe.characterMapping.getDomPosition(ti),ji=it.characterMapping.getDomPosition(yi),an=Oe.domNode.firstChild,Qi=it.domNode.firstChild,Ji=an.childNodes,mn=Qi.childNodes,rn=Ji.item(Ti.partIndex),vn=mn.item(ji.partIndex);!rn.firstChild||!vn.firstChild||(this._setIgnoreSelectionChangeTime("setRange"),F.setBaseAndExtent(rn.firstChild,m.startColumn===1?0:Ti.charIndex+1,vn.firstChild,m.endColumn===1?0:ji.charIndex+1))}_getScreenReaderContentLineIntervals(t){return this._strategy.fromEditorSelection(this._context.viewModel,t,this._accessibilityPageSize)}
314_getEditorSelectionFromDomRange(){if(!this._renderedLines)return;const t=(0,b.fz)().document.getSelection();if(!t||t.rangeCount===0)return;const m=t.getRangeAt(0),O=m.startContainer,F=m.endContainer,se=O.parentElement,be=F.parentElement;if(!se||!(0,b.sb)(se)||!be||!(0,b.sb)(be))return;const Oe=se.parentElement?.parentElement,it=be.parentElement?.parentElement;if(!Oe||!it)return;const ct=Oe.getAttribute(Rl),lt=it.getAttribute(Rl);if(!ct||!lt)return;const Dt=parseInt(ct),It=parseInt(lt),Ut=this._renderedLines.get(Dt)?.characterMapping,ti=this._renderedLines.get(It)?.characterMapping;if(!Ut||!ti)return;const ii=(0,Me.r)(Ut,se,m.startOffset),oi=(0,Me.r)(ti,be,m.endOffset);return t.direction==="forward"?new pe.L(Dt,ii,It,oi):new pe.L(It,oi,Dt,ii)}};Ir=mo([Ko(3,te.j)],Ir);class jd{constructor(t,s){this.domNode=t,this.characterMapping=s}}class xa{constructor(t,s){this.startLine=t,this.endLine=s}}class Kr{constructor(t,s){this.intervals=s;let m="";for(const O of s)for(let F=O.startLine;F<=O.endLine;F++)m+=t.getLineContent(F)+`
315`;this.value=m}equals(t){return this.value===t.value}static get NULL(){const t={getLineContent:()=>"",getLineCount:()=>1,getLineMaxColumn:()=>1,getValueInRange:()=>"",getValueLengthInRange:()=>0,modifyPosition:(s,m)=>s};return new Kr(t,[])}}class rd{constructor(){}_getPageOfLine(t,s){return Math.floor((t-1)/s)}_getRangeForPage(t,s,m){const O=s*m,F=O+1,se=Math.min(O+m,t.getLineCount());return new xa(F,se)}fromEditorSelection(t,s,m){const O=this._getPageOfLine(s.startLineNumber,m),F=this._getRangeForPage(t,O,m),se=this._getPageOfLine(s.endLineNumber,m),be=this._getRangeForPage(t,se,m),Oe=[{startLine:F.startLine,endLine:F.endLine}];return O+1<se&&Oe.push({startLine:be.startLine,endLine:be.endLine}),new Kr(t,Oe)}}var zd=e(21081),hl=e(85811),Ol=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},Ga=function(ft,t){return function(s,m){t(s,m,ft)}};let Pl=class extends i.jG{constructor(t,s,m,O){super(),this._domNode=t,this._context=s,this._viewController=m,this._accessibilityService=O,this._selectionChangeListener=this._register(new i.HE),this._accessibilityPageSize=1,this._ignoreSelectionChangeTime=0,this._strategy=new Ge,this.onConfigurationChanged(this._context.configuration.options)}
315updateScreenReaderContent(t){const s=this._domNode.domNode,m=(0,b.fz)().document.activeElement;if(!m||m!==s)return;if(this._accessibilityService.isScreenReaderOptimized()){this._state=this._getScreenReaderContentState(t),s.textContent!==this._state.value&&(this._setIgnoreSelectionChangeTime("setValue"),s.textContent=this._state.value);const F=(0,b.fz)().document.getSelection();if(!F)return;const se=this._getScreenReaderRange(this._state.selectionStart,this._state.selectionEnd);if(!se)return;this._setIgnoreSelectionChangeTime("setRange"),F.setBaseAndExtent(se.anchorNode,se.anchorOffset,se.focusNode,se.focusOffset)}else this._state=void 0,this._setIgnoreSelectionChangeTime("setValue"),this._domNode.domNode.textContent=""}updateScrollTop(t){if(!this._state)return;const s=this._context.viewModel.viewLayout,m=this._state.startPositionWithinEditor.lineNumber,O=s.getVerticalOffsetForLineNumber(m),F=s.getVerticalOffsetForLineNumber(t.positionLineNumber);this._domNode.domNode.scrollTop=F-O}onFocusChange(t){t?this._selectionChangeListener.value=this._setSelectionChangeListener():this._selectionChangeListener.value=void 0}onConfigurationChanged(t){this._accessibilityPageSize=t.get(3)}onWillCut(){this._setIgnoreSelectionChangeTime("onCut")}onWillPaste(){this._setIgnoreSelectionChangeTime("onWillPaste")}_setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}_setSelectionChangeListener(){let t=0;
315return(0,b.ko)(this._domNode.domNode.ownerDocument,"selectionchange",()=>{const s=this._accessibilityService.isScreenReaderOptimized();if(!this._state||!s||!ee.M.enabled||!((0,b.fz)().document.activeElement===this._domNode.domNode))return;const F=(0,b.fz)().document.getSelection();if(!F||F.rangeCount===0)return;const be=F.getRangeAt(0),Oe=Date.now(),it=Oe-t;if(t=Oe,it<5)return;const ct=Oe-this._ignoreSelectionChangeTime;this._ignoreSelectionChangeTime=0,!(ct<100)&&this._viewController.setSelection(this._getEditorSelectionFromDomRange(this._context,this._state,F.direction,be))})}_getScreenReaderContentState(t){const s=this._strategy.fromEditorSelection(this._context.viewModel,t,this._accessibilityPageSize,this._accessibilityService.getAccessibilitySupport()===0),m=this._context.viewModel.model.getPositionAt(1/0);let O=s.value;return m.column===1&&t.getEndPosition().equals(m)&&(O+=`
316`),s.value=O,s}_getScreenReaderRange(t,s){const m=this._domNode.domNode.firstChild;if(!m)return;const O=new globalThis.Range;return O.setStart(m,t),O.setEnd(m,s),{anchorNode:m,anchorOffset:t,focusNode:m,focusOffset:s}}_getEditorSelectionFromDomRange(t,s,m,O){const F=t.viewModel,se=F.model,Oe=F.coordinatesConverter.convertViewPositionToModelPosition(s.startPositionWithinEditor),it=se.getOffsetAt(Oe);let ct=O.startOffset+it,lt=O.endOffset+it;if(se.getEndOfLineSequence()===1){const oi=s.value,yi=new hl.aG(oi),Ti=yi.getPosition(O.startOffset),ji=yi.getPosition(O.endOffset);ct+=Ti.lineNumber-1,lt+=ji.lineNumber-1}const It=se.getPositionAt(ct),Ut=se.getPositionAt(lt),ti=m==="forward"?It:Ut,ii=m==="forward"?Ut:It;return pe.L.fromPositions(ti,ii)}};Pl=Ol([Ga(3,te.j)],Pl);var ad=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},ul=function(ft,t){return function(s,m){t(s,m,ft)}};let Gr=class extends i.jG{constructor(t,s,m,O,F){super(),this._domNode=t,this._context=s,this._viewController=m,this._keybindingService=O,this._accessibilityService=F,this._contentLeft=1,this._contentWidth=1,this._contentHeight=1,this._divWidth=1,this._primarySelection=new pe.L(1,1,1,1),this._primaryCursorVisibleRange=null,this._state=this._register(new i.HE),this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes()}onWillPaste(){this._state.value?.onWillPaste()}onWillCut(){this._state.value?.onWillCut()}handleFocusChange(t){this._state.value?.onFocusChange(t),this.writeScreenReaderContent()}onConfigurationChanged(t){this._instantiateScreenReaderContent(),this._updateConfigurationSettings(),this._updateDomAttributes(),t.hasChanged(2)&&this.writeScreenReaderContent()}_instantiateScreenReaderContent(){const t=this._context.configuration.options.get(107);this._renderRichContent!==t&&(this._renderRichContent=t,this._state.value=this._createScreenReaderContent(t))}_createScreenReaderContent(t){return t?new Ir(this._domNode,this._context,this._viewController,this._accessibilityService):new Pl(this._domNode,this._context,this._viewController,this._accessibilityService)}_updateConfigurationSettings(){const t=this._context.configuration.options,s=t.get(165),m=s.wrappingColumn;this._contentLeft=s.contentLeft,this._contentWidth=s.contentWidth,this._contentHeight=s.height,this._fontInfo=t.get(59),this._divWidth=Math.round(m*this._fontInfo.typicalHalfwidthCharacterWidth),this._state.value?.onConfigurationChanged(t)}_updateDomAttributes(){const t=this._context.configuration.options;this._domNode.domNode.setAttribute("role","textbox"),this._domNode.domNode.setAttribute("aria-required",t.get(9)?"true":"false"),this._domNode.domNode.setAttribute("aria-multiline","true"),this._domNode.domNode.setAttribute("aria-autocomplete",t.get(104)?"none":"both"),this._domNode.domNode.setAttribute("aria-roledescription",(0,B.kg)(64,"editor")),this._domNode.domNode.setAttribute("aria-label",yt(t,this._keybindingService));const s=this._context.viewModel.model.getOptions().tabSize,m=t.get(59).spaceWidth;
316this._domNode.domNode.style.tabSize=`${s*m}px`;const O=t.get(154),F=O==="inherit"?t.get(153):O,se=F==="inherit"?t.get(149):F;this._domNode.domNode.style.textWrap=se==="off"?"nowrap":"wrap"}onCursorStateChanged(t){this._primarySelection=t.selections[0]??new pe.L(1,1,1,1)}prepareRender(t){this.writeScreenReaderContent(),this._primaryCursorVisibleRange=t.visibleRangeForPosition(this._primarySelection.getPosition())}render(t){if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const s=this._context.viewLayout.getCurrentScrollLeft(),m=this._contentLeft+this._primaryCursorVisibleRange.left-s;if(m<this._contentLeft||m>this._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const O=this._context.viewLayout.getCurrentScrollTop(),F=this._primarySelection.positionLineNumber,se=this._context.viewLayout.getVerticalOffsetForLineNumber(F)-O;if(se<0||se>this._contentHeight){this._renderAtTopLeft();return}const be=this._context.viewLayout.getLineHeightForLineNumber(F);this._doRender(se,this._contentLeft,this._divWidth,be),this._state.value?.updateScrollTop(this._primarySelection)}_renderAtTopLeft(){this._doRender(0,0,this._contentWidth,1)}
316_doRender(t,s,m,O){(0,d.M)(this._domNode,this._fontInfo),this._domNode.setTop(t),this._domNode.setLeft(s),this._domNode.setWidth(m),this._domNode.setHeight(O),this._domNode.setLineHeight(O)}setAriaOptions(t){t.activeDescendant?(this._domNode.setAttribute("aria-haspopup","true"),this._domNode.setAttribute("aria-autocomplete","list"),this._domNode.setAttribute("aria-activedescendant",t.activeDescendant)):(this._domNode.setAttribute("aria-haspopup","false"),this._domNode.setAttribute("aria-autocomplete","both"),this._domNode.removeAttribute("aria-activedescendant")),t.role&&this._domNode.setAttribute("role",t.role)}writeScreenReaderContent(){this._state.value?.updateScreenReaderContent(this._primarySelection)}};Gr=ad([ul(3,ye.b),ul(4,te.j)],Gr);var Tr;(function(ft){function t(s,m){return new s.EditContext(m)}ft.create=t})(Tr||(Tr={}));var gl=e(25277),is=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},ld=function(ft,t){return function(s,m){t(s,m,ft)}},Mn;(function(ft){ft.NONE="edit-context-composition-none",ft.SECONDARY="edit-context-composition-secondary",ft.PRIMARY="edit-context-composition-primary"})(Mn||(Mn={}));let _r=class extends Pe{constructor(t,s,m,O,F,se,be){super(s),this._viewController=O,this._visibleRangeProvider=F,this.logService=be,this._previousEditContextSelection=new _o.L(0,0),this._previousEditContextText="",this._editContextPrimarySelection=new pe.L(1,1,1,1),this._parentBounds=null,this._decorations=[],this._primarySelection=new pe.L(1,1,1,1),this._targetWindowId=-1,this._scrollTop=0,this._scrollLeft=0,this._linesVisibleRanges=null,this.domNode=new de.D(document.createElement("div")),this.domNode.setClassName("native-edit-context"),this._imeTextArea=new de.D(document.createElement("textarea")),this._imeTextArea.setClassName("ime-text-area"),this._imeTextArea.setAttribute("readonly","true"),this._imeTextArea.setAttribute("tabindex","-1"),this._imeTextArea.setAttribute("aria-hidden","true"),this.domNode.setAttribute("autocorrect","off"),this.domNode.setAttribute("autocapitalize","off"),this.domNode.setAttribute("autocomplete","off"),this.domNode.setAttribute("spellcheck","false"),this._updateDomAttributes(),m.a
316ppendChild(this.domNode),m.appendChild(this._imeTextArea),this._parent=m.domNode,this._focusTracker=this._register(new Jn(be,this.domNode.domNode,lt=>{be.trace("NativeEditContext#handleFocusChange : ",lt),this._screenReaderSupport.handleFocusChange(lt),this._context.viewModel.setHasFocus(lt)}));const Oe=(0,b.zk)(this.domNode.domNode);this._editContext=Tr.create(Oe),this.setEditContextOnDomNode(),this._screenReaderSupport=this._register(se.createInstance(Gr,this.domNode,s,this._viewController)),this._register((0,b.ko)(this.domNode.domNode,"copy",lt=>{this.logService.trace("NativeEditContext#copy"),Si.Eq.electronBugWorkaroundCopyEventHasFired=!0;const Dt=(0,Si.y)(lt,!1,this._context,this.logService,l.gm);this._onWillCopy.fire(Dt),!Dt.isHandled&&Dt.ensureClipboardGetsEditorData()})),this._register((0,b.ko)(this.domNode.domNode,"cut",lt=>{this.logService.trace("NativeEditContext#cut");const Dt=(0,Si.y)(lt,!0,this._context,this.logService,l.gm);this._onWillCut.fire(Dt),!Dt.isHandled&&(this._screenReaderSupport.onWillCut(),Dt.ensureClipboardGetsEditorData(),this.logService.trace("NativeEditContext#cut (before viewController.cut)"),this._viewController.cut())})),this._register((0,b.ko)(this.domNode.domNode,"selectionchange",()=>{we.onSelectionChange()})),this._register((0,b.ko)(this.domNode.domNode,"keyup",lt=>this._onKeyUp(lt))),this._register((0,b.ko)(this.domNode.domNode,"keydown",async lt=>this._onKeyDown(lt))),this._register((0,b.ko)(this._imeTextArea.domNode,"keyup",lt=>this._onKeyUp(lt))),this._register((0,b.ko)(this._imeTextArea.domNode,"keydown",async lt=>this._onKeyDown(lt))),this._register((0,b.ko)(this.domNode.domNode,"beforeinput",async lt=>{we.onBeforeInput(),(lt.inputType==="insertParagraph"||lt.inputType==="insertLineBreak")&&this._onType(this._viewController,{text:`
317`,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0})})),this._register((0,b.ko)(this.domNode.domNode,"paste",lt=>{this.logService.trace("NativeEditContext#paste");const Dt=(0,Si.wL)(lt);if(this._onWillPaste.fire(Dt),Dt.isHandled){lt.preventDefault();return}if(lt.preventDefault(),!lt.clipboardData||(this.logService.trace("NativeEditContext#paste with id : ",Dt.metadata?.id," with text.length: ",Dt.text.length),!Dt.text))return;let It=!1,Ut=null,ti=null;Dt.metadata&&(It=this._context.configuration.options.get(45)&&!!Dt.metadata.isFromEmptySelection,Ut=typeof Dt.metadata.multicursorText<"u"?Dt.metadata.multicursorText:null,ti=Dt.metadata.mode),this.logService.trace("NativeEditContext#paste (before viewController.paste)"),this._viewController.paste(Dt.text,It,Ut,ti)})),this._register(Vs(this._editContext,"textformatupdate",lt=>this._handleTextFormatUpdate(lt))),this._register(Vs(this._editContext,"characterboundsupdate",lt=>this._updateCharacterBounds(lt)));let it;this._register(Vs(this._editContext,"textupdate",lt=>{we.onInput();const Dt=lt.text;if(Dt.length===1){const It=Dt.charCodeAt(0);if((0,vt.pc)(It)){it=Dt;return}if((0,vt.LJ)(It)&&it){const Ut={text:it+Dt,selectionEnd:lt.selectionEnd,selectionStart:lt.selectionStart,updateRangeStart:lt.updateRangeStart-1,updateRangeEnd:lt.updateRangeEnd-1};it=void 0,this._emitTypeEvent(this._viewController,Ut);return}}this._emitTypeEvent(this._viewController,lt)})),this._register(Vs(this._editContext,"compositionstart",lt=>{this._updateEditContext(),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(Vs(this._editContext,"compositionend",lt=>{this._updateEditContext(),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}));let ct=!1;this._register(ee.M.onDidChange(()=>{ee.M.enabled&&ct&&(this._focusTracker.resume(),this.domNode.focus(),ct=!1),!ee.M.enabled&&this.isFocused()&&(this._focusTracker.pause(),this._imeTextArea.focus(),ct=!0)})),this._register(gl.q.register(t,this)),this._register(s.viewModel.model.onDidChangeContent(lt=>{let Dt=!1;for(const It of lt.changes)if(It.range.startLineNumber<=this._editContextPrimarySelection.endLineNumber&&It.range.endLineNumber>=this._editContextPrimarySelection.startLineNumber){Dt=!0;break}Dt&&this._updateEditContext()}))}dispose(){this.domNode.domNode.editContext=void 0,this.domNode.domNode.blur(),this.domNode.domNode.remove(),this._imeTextArea.domNode.remove(),super.dispose()}
317setAriaOptions(t){this._screenReaderSupport.setAriaOptions(t)}getLastRenderData(){return this._primarySelection.getPosition()}onBeforeRender(t){this._parentBounds=this._parent.getBoundingClientRect()}prepareRender(t){this._screenReaderSupport.prepareRender(t),this._updateSelectionAndControlBoundsData(t)}render(t){this._screenReaderSupport.render(t),this._updateSelectionAndControlBounds()}onCursorStateChanged(t){return this._primarySelection=t.modelSelections[0]??new pe.L(1,1,1,1),this._screenReaderSupport.onCursorStateChanged(t),this._updateEditContext(),!0}onConfigurationChanged(t){return this._screenReaderSupport.onConfigurationChanged(t),this._updateDomAttributes(),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return this._scrollLeft=t.scrollLeft,this._scrollTop=t.scrollTop,!0}onZonesChanged(t){return!0}handleWillPaste(){this.logService.trace("NativeEditContext#handleWillPaste"),this._prepareScreenReaderForPaste()}_prepareScreenReaderForPaste(){this._screenReaderSupport.onWillPaste()}handleWillCopy(){this.logService.trace("NativeEditContext#handleWillCopy"),this.logService.trace("NativeEditContext#isFocused : ",this.domNode.domNode===(0,b.bq)())}writeScreenReaderContent(){this._screenReaderSupport.writeScreenReaderContent()}isFocused(){return this._focusTracker.isFocused}focus(){this._focusTracker.focus(),this.refreshFocusState()}refreshFocusState(){this._focusTracker.refreshFocusState()}setEditContextOnDomNode(){const t=(0,b.zk)(this.domNode.domNode),s=(0,b.Q2)(t);this._targetWindowId!==s&&(this.domNode.domNode.editContext=this._editContext,this._targetWindowId=s)}_onKeyUp(t){we.onKeyUp(),this._viewController.emitKeyUp(new Fe.Z(t))}_onKeyDown(t){we.onKeyDown();const s=new Fe.Z(t);s.keyCode===114&&s.stopPropagation(),this._viewController.emitKeyDown(s)}_updateDomAttributes(){const t=this._context.configuration.options;this.domNode.domNode.setAttribute("tabindex",String(t.get(140)))}_updateEditContext(){const t=this._getNewEditContextState();if(!t)return;const s=t.text??" ";s!==this._previousEditContextText&&(this._editContext.updateText(0,this._previousEditContextText.length,s),this._previousEditContextText=s),(t.selectionStartOffset!==this._previousEditContextSelection.start||t.selectionEndOffset!==this._previousEditContextSelection.endExclusive)&&this._editContext.updateSelection(t.selectionStartOffset,t.selectionEndOffset),this._editContextPrimarySelection=t.editContextPrimarySelection,this._previousEditContextSelection=new _o.L(t.selectionStartOffset,t.selectionEndOffset)}_emitTypeEvent(t,s){if(!this._editContext)return;const m=this._previousEditContextSelection.endExclusive,O=this._previousEditContextSelection.start;this._previousEditContextSelection=new _o.L(s.selectionStart,s.selectionEnd);let F=0,se=0;s.updateRangeEnd>m&&(F=s.updateRangeEnd-m),s.updateRangeStart<O&&(se=O-s.updateRangeStart);let be="";O<s.updateRangeStart&&(be+=this._editContext.text.substring(O,s.updateRangeStart)),be+=s.text,m>s.updateRangeEnd&&(be+=this._editContext.text.substring(s.updateRangeEnd,m));let Oe=0;s.selectionStart===s.selectionEnd&&O===m&&(Oe=s.selectionStart-(s.updateRangeStart+s.text.length));const it={text:be,replacePrevCharCnt:se,replaceNextCharCnt:F,positionDelta:Oe};this._onType(t,it)}_onType(t,s){s.replacePrevCharCnt||s.replaceNextCharCnt||s.positionDelta?t.compositionType(s.text,s.replacePrevCharCnt,s.replaceNextCharCnt,s.positionDelta):t.type(s.text)}_getNewEditContextState(){const t=this._primarySelection,s=this._context.viewModel.model;if(!s.isValidRange(t))return;const m=t.startLineNumber,O=t.endLineNumber,F=s.getLineMaxColumn(O),se=new _e.Q(m,1,O,F),be=s.getValueInRange(se,0),Oe=t.startColumn-1,it=be.length+t.endColumn-F;return{text:be,selectionStartOffset:Oe,selectionEndOffset:it,editContextPrimarySelection:t}}_editContextStartPosition(){return new Le.y(this._editContextPrimarySelection.startLineNumber,1)}_handleTextFormatUpdate(t){if(!this._editContext)return;const s=t.getTextFormats(),m=this._editContextStartPosition(),O=[];
317s.forEach(F=>{const se=this._context.viewModel.model,be=se.getOffsetAt(m),Oe=se.getPositionAt(be+F.rangeStart),it=se.getPositionAt(be+F.rangeEnd),ct=_e.Q.fromPositions(Oe,it),lt=F.underlineThickness.toLowerCase();let Dt=Mn.NONE;switch(lt){case"thin":Dt=Mn.SECONDARY;break;case"thick":Dt=Mn.PRIMARY;break}O.push({range:ct,options:{description:"textFormatDecoration",inlineClassName:Dt}})}),this._decorations=this._context.viewModel.model.deltaDecorations(this._decorations,O)}_updateSelectionAndControlBoundsData(t){const s=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(this._primarySelection);if(this._primarySelection.isEmpty()){const m=t.visibleRangeForPosition(s.getStartPosition());this._linesVisibleRanges=m}else this._linesVisibleRanges=null}_updateSelectionAndControlBounds(){const s=this._context.configuration.options.get(165).contentLeft,m=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(this._primarySelection),O=this._context.viewLayout.getVerticalOffsetForLineNumber(m.startLineNumber),F=this._context.viewLayout.getVerticalOffsetAfterLineNumber(m.endLineNumber),se=this._parentBounds,be=se.top+O-this._scrollTop,Oe=F-O;let it=se.left+s-this._scrollLeft,ct;this._primarySelection.isEmpty()?(this._linesVisibleRanges&&(it+=this._linesVisibleRanges.left),ct=0):ct=se.width-s;const lt=new DOMRect(it,be,ct,Oe);this._editContext.updateSelectionBounds(lt),this._editContext.updateControlBounds(lt)}_updateCharacterBounds(t){const s=this._context.configuration.options,m=s.get(59).typicalHalfwidthCharacterWidth,O=s.get(165).contentLeft,F=this._parentBounds,se=[],be=new hl.aG(this._editContext.text);for(let Oe=t.rangeStart;Oe<t.rangeEnd;Oe++){const it=be.getPosition(Oe),ct=this._editContextPrimarySelection.startLineNumber-1,lt=new Le.y(ct+it.lineNumber,it.column),Dt=lt.delta(0,1),It=_e.Q.fromPositions(lt,Dt),Ut=this._context.viewModel.coordinatesConverter.convertModelRangeToViewRange(It),ti=this._visibleRangeProvider.linesVisibleRangesForRange(Ut,!0)??[],ii=Ut.startLineNumber,oi=this._context.viewLayout.getVerticalOffsetForLineNumber(ii),yi=F.top+oi-this._scrollTop;let Ti=0,ji=m;if(ti.length>0)for(const Qi of ti[0].ranges){Ti=Qi.left,ji=Qi.width;break}const an=this._context.viewLayout.getLineHeightForLineNumber(ii);se.push(new DOMRect(F.left+O+Ti-this._scrollLeft,yi,ji,an))}this._editContext.updateCharacterBounds(t.rangeStart,se)}};_r=is([ld(5,go._Y),ld(6,Yt.rr)],_r);class Kd extends M{constructor(t,s){super(t),this._viewGpuContext=s,this._gpuShapes=[],this._register((0,zr.fm)(m=>this._updateEntries(m)))}onConfigurationChanged(t){return this._updateEntries(void 0),!0}prepareRender(t){}render(t){}_updateEntries(t){const s=this._context.configuration.options,m=s.get(116),O=s.get(59).typicalHalfwidthCharacterWidth,F=this._viewGpuContext.devicePixelRatio.read(t);for(let se=0,be=m.length;se<be;se++){const Oe=m[se],it=this._gpuShapes[se],ct=Oe.color?xo.Q1.fromHex(Oe.color):this._context.theme.getColor(Xt.ik)??xo.Q1.white,lt=[Oe.column*O*F,0,Math.max(1,Math.ceil(F)),Number.MAX_SAFE_INTEGER,ct.rgba.r/255,ct.rgba.g/255,ct.rgba.b/255,ct.rgba.a];it?it.setRaw(lt):this._gpuShapes[se]=this._viewGpuContext.rectangleRenderer.register(...lt)}for(;this._gpuShapes.length>m.length;)this._gpuShapes.splice(-1,1)[0].dispose()}}const Sa=class Sa extends At{constructor(t,s){super(),this._viewGpuContext=s,this._context=t,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return!0}onCursorStateChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}onDecorationsChanged(t){return!0}prepareRender(t){const s=t.visibleRange.startLineNumber,m=t.visibleRange.endLineNumber,O=t.viewportData,F=new Ft(this._context.configuration,this._context.theme.type),se=[];for(let be=s;be<=m;be++){const Oe=be-s,it=this._viewGpuContext.canRenderDetailed(F,O,be);se[Oe]=it.length?`<div class="${Sa.CLASS_NAME}" title="Cannot render on GPU: ${it.join(", ")}"></div>`:""}this._renderResult=se}render(t,s){if(!this._renderResult)return"";const m=s-t;return m<0||m>=this._renderResult.length?"":this._renderResult[m]}};Sa.CLASS_NAME="gpu-mark";let Us=Sa;var fl=e(36477),cc=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},dd=function(ft,t){return function(s,m){t(s,m,ft)}};let Gd=class extends Be.i{constructor(t,s,m,O,F,se,be,Oe,it,ct){super(),this._instantiationService=it,this._userInteractionService=ct,this._editContextClipboardListeners=new i.Cm,this._onWillCopy=this._register(new u.vl),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new u.vl),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new u.vl),this.onWillPaste=this._onWillPaste.event,this._shouldRecomputeGlyphMarginLanes=!1,this._ownerID=s,this._widgetFocusTracker=this._register(new kc(t,Oe,this._userInteractionService)),this._register(this._widgetFocusTracker.onChange(()=>{this._context.viewModel.setHasWidgetFocus(this._widgetFocusTracker.hasFocus())})),this._selections=[new pe.L(1,1,1,1)],this._renderAnimationFrame=null,this._overflowGuardContainer=(0,de.Z)(document.createElement("div")),Ve.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._viewController=new ms(O,se,be,m),this._context=new Ml(O,F,se),this._context.addEventHandler(this),this._viewParts=[],this._editContextEnabled=this._context.configuration.options.get(170),this._accessibilitySupport=this._context.configuration.options.get(2),this._editContext=this._instantiateEditContext(),this._connectEditContextClipboardEvents(),this._viewParts.push(this._editContext),this._linesContent=(0,de.Z)(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=(0,de.Z)(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._context.configuration.options.get(46)==="on"&&(this._viewGpuContext=this._instantiationService.createInstance(Io.n,this._context)),this._scrollbar=new Nn(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new xi(this._context,this._viewGpuContext,this._linesContent),this._viewGpuContext&&(this._viewLinesGpu=this._instantiationService.createInstance(w,this._context,this._viewGpuContext)),this._viewZones=new dl(this._context),this._viewParts.push(this._viewZones);const lt=new Fn(this._context);this._viewParts.push(lt);const Dt=new An(this._context);this._viewParts.push(Dt);const It=new jt(this._context);this._viewParts.push(It),It.addDynamicOverlay(new Vi(this._context)),It.addDynamicOverlay(new Mo(this._context)),It.addDynamicOverlay(new ot(this._context)),It.addDynamicOverlay(new Wt(this._context)),It.addDynamicOverlay(new Dr(this._context));
317const Ut=new $t(this._context);this._viewParts.push(Ut),Ut.addDynamicOverlay(new ui(this._context)),Ut.addDynamicOverlay(new Fi(this._context)),Ut.addDynamicOverlay(new Ci(this._context)),Ut.addDynamicOverlay(new Ze(this._context)),this._viewGpuContext&&Ut.addDynamicOverlay(new Us(this._context,this._viewGpuContext)),this._glyphMarginWidgets=new Ot(this._context),this._viewParts.push(this._glyphMarginWidgets);const ti=new Di(this._context);ti.getDomNode().appendChild(this._viewZones.marginDomNode),ti.getDomNode().appendChild(Ut.getDomNode()),ti.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(ti),this._contentWidgets=new hn(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Yo(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new Ln(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const ii=this._viewGpuContext?new Kd(this._context,this._viewGpuContext):new En(this._context);this._viewParts.push(ii);const oi=new zi(this._context);this._viewParts.push(oi);const yi=new jr(this._context);if(this._viewParts.push(yi),lt){const Ti=this._scrollbar.getOverviewRulerLayoutInfo();Ti.parent.insertBefore(lt.getDomNode(),Ti.insertBefore)}this._linesContent.appendChild(It.getDomNode()),"domNode"in ii&&this._linesContent.appendChild(ii.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(ti.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._viewGpuContext&&this._overflowGuardContainer.appendChild(this._viewGpuContext.canvas),this._overflowGuardContainer.appendChild(Dt.getDomNode()),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(yi.getDomNode()),this._overflowGuardContainer.appendChild(oi.domNode),this.domNode.appendChild(this._overflowGuardContainer),Oe?(Oe.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),Oe.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new us(this._context,this._viewController,this._createPointerHandlerHelper()))}_instantiateEditContext(){return this._context.configuration.options.get(170)?this._instantiationService.createInstance(_r,this._ownerID,this._context,this._overflowGuardContainer,this._viewController,this._createTextAreaHandlerHelper()):this._instantiationService.createInstance(Hi,this._ownerID,this._context,this._overflowGuardContainer,this._viewController,this._createTextAreaHandlerHelper())}_updateEditContext(){const t=this._context.configuration.options.get(170),s=this._context.configuration.options.get(2);if(this._editContextEnabled===t&&this._accessibilitySupport===s)return;this._editContextEnabled=t,this._accessibilitySupport=s;const m=this._editContext.isFocused(),O=this._viewParts.indexOf(this._editContext);this._editContext.dispose(),this._editContext=this._instantiateEditContext(),this._connectEditContextClipboardEvents(),m&&this._editContext.focus(),O!==-1&&this._viewParts.splice(O,1,this._editContext)}_connectEditContextClipboardEvents(){this._editContextClipboardListeners.clear(),this._editContextClipboardListeners.add(this._editContext.onWillCopy(t=>this._onWillCopy.fire(t))),this._editContextClipboardListeners.add(this._editContext.onWillCut(t=>this._onWillCut.fire(t))),this._editContextClipboardListeners.add(this._editContext.onWillPaste(t=>this._onWillPaste.fire(t)))}_computeGlyphMarginLanes(){const t=this._context.viewModel.model,s=this._context.viewModel.glyphLanes;let m=[],O=0;m=m.concat(t.getAllMarginDecorations().map(F=>{const se=F.options.glyphMargin?.position??ae.ZS.Center;return O=Math.max(O,F.range.endLineNumber),{range:F.range,lane:se,persist:F.options.glyphMargin?.persistLane}})),m=m.concat(this._glyphMarginWidgets.getWidgets().map(F=>{const se=t.validateRange(F.preference.range);return O=Math.max(O,se.endLineNumber),{range:se,lane:F.preference.lane}})),m.sort((F,se)=>_e.Q.compareRangesUsingStarts(F.range,se.range)),s.reset(O);for(const F of m)s.push(F.lane,F.range,F.persist);return s}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,viewLinesGpu:this._viewLinesGpu,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:t=>{this._editContext.domNode.domNode.dispatchEvent(t)},getLastRenderData:()=>{const t=this._viewCursors.getLastRenderData()||[],s=this._editContext.getLastRenderData();return new Ye(t,s)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:t=>this._viewZones.shouldSuppressMouseDownOnViewZone(t),shouldSuppressMouseDownOnWidget:t=>this._contentWidgets.shouldSuppressMouseDownOnWidget(t),getPositionFromDOMInfo:(t,s)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(t,s)),visibleRangeForPosition:(t,s)=>{this._flushAccumulatedAndRenderNow();
317const m=new Le.y(t,s);return this._viewLines.visibleRangeForPosition(m)??this._viewLinesGpu?.visibleRangeForPosition(m)??null},getLineWidth:t=>{if(this._flushAccumulatedAndRenderNow(),this._viewLinesGpu){const s=this._viewLinesGpu.getLineWidth(t);if(s!==void 0)return s}return this._viewLines.getLineWidth(t)}}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(t)),linesVisibleRangesForRange:(t,s)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.linesVisibleRangesForRange(t,s))}}_applyLayout(){const s=this._context.configuration.options.get(165);this.domNode.setWidth(s.width),this.domNode.setHeight(s.height),this._overflowGuardContainer.setWidth(s.width),this._overflowGuardContainer.setHeight(s.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const t=this._editContext.isFocused()?" focused":"";return this._context.configuration.options.get(162)+" "+(0,li.Pz)(this._context.theme.type)+t}handleEvents(t){super.handleEvents(t),this._scheduleRender()}onConfigurationChanged(t){return this.domNode.setClassName(this._getEditorClassName()),this._updateEditContext(),this._applyLayout(),!1}onCursorStateChanged(t){return this._selections=t.selections,!1}onDecorationsChanged(t){return t.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(t){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(t){return this._context.theme.update(t.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._editContextClipboardListeners.dispose(),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewGpuContext?.dispose(),this._viewLines.dispose(),this._viewLinesGpu?.dispose();for(const t of this._viewParts)t.dispose();super.dispose()}
317_scheduleRender(){if(this._store.isDisposed)throw new C.D7;if(this._renderAnimationFrame===null){this._editContext instanceof _r&&this._editContext.setEditContextOnDomNode();const t=this._createCoordinatedRendering();this._renderAnimationFrame=$d.INSTANCE.scheduleCoordinatedRendering({window:(0,b.zk)(this.domNode?.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new C.D7;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:s=>{if(this._store.isDisposed)throw new C.D7;return t.renderText(s)},prepareRender:(s,m)=>{if(this._store.isDisposed)throw new C.D7;return t.prepareRender(s,m)},render:(s,m)=>{if(this._store.isDisposed)throw new C.D7;return t.render(s,m)}})}}_flushAccumulatedAndRenderNow(){const t=this._createCoordinatedRendering(),s=$r(()=>t.prepareRenderText());if(!s)return;const m=$r(()=>t.renderText(s));if(!m)return;const[O,F]=m;$r(()=>t.prepareRender(O,F)),$r(()=>t.render(O,F))}_getViewPartsToRender(){const t=[];let s=0;for(const m of this._viewParts)m.shouldRender()&&(t[s++]=m);return t}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const F=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(F.requiredLanes)}if(we.onRenderStart(),!this.domNode.domNode.isConnected)return null;const t=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&t.length===0)return null;const m=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(m.startLineNumber,m.endLineNumber,m.centeredLineNumber);const O=new Ai(this._selections,m,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);for(const F of this._viewParts)F.shouldRender()&&F.onBeforeRender(O);return O},renderText:t=>(this._viewLines.shouldRender()&&(this._viewLines.renderText(t),this._viewLines.onDidRender()),this._viewLinesGpu?.shouldRender()&&(this._viewLinesGpu.renderText(t),this._viewLinesGpu.onDidRender()),[this._getViewPartsToRender(),new Zn.eh(this._context.viewLayout,t,this._viewLines,this._viewLinesGpu)]),prepareRender:(t,s)=>{for(const m of t)m.prepareRender(s)},render:(t,s)=>{for(const m of t)m.render(s),m.onDidRender()}}}delegateVerticalScrollbarPointerDown(t){this._scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._scrollbar.delegateScrollFromMouseWheelEvent(t)}restoreState(t){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(t,s){const m=this._context.viewModel.model.validatePosition({lineNumber:t,column:s}),O=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(m);this._flushAccumulatedAndRenderNow();const F=this._viewLines.visibleRangeForPosition(new Le.y(O.lineNumber,O.column));return F?F.left:-1}getLineWidth(t){const s=this._context.viewModel.model,m=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(new Le.y(t,s.getLineMaxColumn(t))).lineNumber;return this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(m)}resetLineWidthCaches(){this._viewLines.resetLineWidthCaches()}getTargetAtClientPoint(t,s){const m=this._pointerHandler.getTargetAtClientPoint(t,s);return m?Ei.convertViewToModelMouseTarget(m,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(t){return new Yi(this._context,t)}change(t){this._viewZones.changeViewZones(t),this._scheduleRender()}render(t,s){if(s){this._viewLines.forceShouldRender();for(const m of this._viewParts)m.forceShouldRender()}t?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(t){this._editContext.writeScreenReaderContent(t)}focus(){this._editContext.focus()}isFocused(){return this._editContext.isFocused()}isWidgetFocused(){return this._widgetFocusTracker.hasFocus()}setAriaOptions(t){this._editContext.setAriaOptions(t)}addContentWidget(t){this._contentWidgets.addWidget(t.widget),this.layoutContentWidget(t),this._scheduleRender()}layoutContentWidget(t){this._contentWidgets.setWidgetPosition(t.widget,t.position?.position??null,t.position?.secondaryPosition??null,t.position?.preference??null,t.position?.positionAffinity??null),this._contentWidgets.shouldRender()&&this._scheduleRender()}
317removeContentWidget(t){this._contentWidgets.removeWidget(t.widget),this._scheduleRender()}addOverlayWidget(t){this._overlayWidgets.addWidget(t.widget),this.layoutOverlayWidget(t),this._scheduleRender()}layoutOverlayWidget(t){this._overlayWidgets.setWidgetPosition(t.widget,t.position)&&this._scheduleRender()}removeOverlayWidget(t){this._overlayWidgets.removeWidget(t.widget),this._scheduleRender()}addGlyphMarginWidget(t){this._glyphMarginWidgets.addWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(t){const s=t.position;this._glyphMarginWidgets.setWidgetPosition(t.widget,s)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(t){this._glyphMarginWidgets.removeWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};Gd=cc([dd(8,go._Y),dd(9,fl.u)],Gd);function $r(ft){try{return ft()}catch(t){return(0,C.dz)(t),null}}const ya=class ya{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(t){return this._coordinatedRenderings.push(t),this._scheduleRender(t.window),{dispose:()=>{const s=this._coordinatedRenderings.indexOf(t);if(s!==-1&&(this._coordinatedRenderings.splice(s,1),this._coordinatedRenderings.length===0)){for(const[m,O]of this._animationFrameRunners)O.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(t){if(!this._animationFrameRunners.has(t)){const s=()=>{this._animationFrameRunners.delete(t),this._onRenderScheduled()};this._animationFrameRunners.set(t,(0,b.Oq)(t,s,100))}}_onRenderScheduled(){const t=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];const s=[];for(let O=0,F=t.length;O<F;O++){const se=t[O];s[O]=$r(()=>se.prepareRenderText())}const m=[];for(let O=0,F=t.length;O<F;O++){const se=t[O],be=s[O];if(!be){m[O]=null;continue}m[O]=$r(()=>se.renderText(be))}for(let O=0,F=t.length;O<F;O++){const se=t[O],be=m[O];if(!be)continue;const[Oe,it]=be;$r(()=>se.prepareRender(Oe,it))}for(let O=0,F=t.length;O<F;O++){const se=t[O],be=m[O];if(!be)continue;const[Oe,it]=be;$r(()=>se.render(Oe,it))}}};ya.INSTANCE=new ya;let $d=ya;class kc extends i.jG{constructor(t,s,m){super(),this._onChange=this._register(new u.vl),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(m.createDomFocusTracker(t)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),s&&(this._overflowWidgetsDomNode=this._register(m.createDomFocusTracker(s)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const t=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==t&&(this._hadFocus=t,this._onChange.fire(void 0))}hasFocus(){return this._hadFocus??!1}}var vr=e(87110);class $a{constructor(t,s,m,O,F){this.injectionOffsets=t,this.injectionOptions=s,this.breakOffsets=m,this.breakOffsetsVisibleColumn=O,this.wrappedTextIndentLength=F}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(t){return t>0?this.wrappedTextIndentLength:0}getLineLength(t){const s=t>0?this.breakOffsets[t-1]:0;let O=this.breakOffsets[t]-s;return t>0&&(O+=this.wrappedTextIndentLength),O}getMaxOutputOffset(t){return this.getLineLength(t)}translateToInputOffset(t,s){t>0&&(s=Math.max(0,s-this.wrappedTextIndentLength));let O=t===0?s:this.breakOffsets[t-1]+s;if(this.injectionOffsets!==null)for(let F=0;F<this.injectionOffsets.length&&O>this.injectionOffsets[F];F++)O<this.injectionOffsets[F]+this.injectionOptions[F].content.length?O=this.injectionOffsets[F]:O-=this.injectionOptions[F].content.length;return O}translateToOutputPosition(t,s=2){let m=t;if(this.injectionOffsets!==null)for(let O=0;O<this.injectionOffsets.length&&!(t<this.injectionOffsets[O]||s!==1&&t===this.injectionOffsets[O]);O++)m+=this.injectionOptions[O].content.length;return this.offsetInInputWithInjectionsToOutputPosition(m,s)}offsetInInputWithInjectionsToOutputPosition(t,s=2){let m=0,O=this.breakOffsets.length-1,F=0,se=0;for(;m<=O;){F=m+(O-m)/2|0;const Oe=this.breakOffsets[F];if(se=F>0?this.breakOffsets[F-1]:0,s===0)if(t<=se)O=F-1;else if(t>Oe)m=F+1;else break;else if(t<se)O=F-1;else if(t>=Oe)m=F+1;else break}let be=t-se;return F>0&&(be+=this.wrappedTextIndentLength),new kl(F,be)}
317normalizeOutputPosition(t,s,m){if(this.injectionOffsets!==null){const O=this.outputPositionToOffsetInInputWithInjections(t,s),F=this.normalizeOffsetInInputWithInjectionsAroundInjections(O,m);if(F!==O)return this.offsetInInputWithInjectionsToOutputPosition(F,m)}if(m===0){if(t>0&&s===this.getMinOutputOffset(t))return new kl(t-1,this.getMaxOutputOffset(t-1))}else if(m===1){const O=this.getOutputLineCount()-1;if(t<O&&s===this.getMaxOutputOffset(t))return new kl(t+1,this.getMinOutputOffset(t+1))}return new kl(t,s)}outputPositionToOffsetInInputWithInjections(t,s){return t>0&&(s=Math.max(0,s-this.wrappedTextIndentLength)),(t>0?this.breakOffsets[t-1]:0)+s}normalizeOffsetInInputWithInjectionsAroundInjections(t,s){const m=this.getInjectedTextAtOffset(t);if(!m)return t;if(s===2){if(t===m.offsetInInputWithInjections+m.length&&cd(this.injectionOptions[m.injectedTextIndex].cursorStops))return m.offsetInInputWithInjections+m.length;{let O=m.offsetInInputWithInjections;if(ml(this.injectionOptions[m.injectedTextIndex].cursorStops))return O;let F=m.injectedTextIndex-1;for(;F>=0&&this.injectionOffsets[F]===this.injectionOffsets[m.injectedTextIndex]&&!(cd(this.injectionOptions[F].cursorStops)||(O-=this.injectionOptions[F].content.length,ml(this.injectionOptions[F].cursorStops)));)F--;return O}}else if(s===1||s===4){let O=m.offsetInInputWithInjections+m.length,F=m.injectedTextIndex;for(;F+1<this.injectionOffsets.length&&this.injectionOffsets[F+1]===this.injectionOffsets[F];)O+=this.injectionOptions[F+1].content.length,F++;return O}else if(s===0||s===3){let O=m.offsetInInputWithInjections,F=m.injectedTextIndex;for(;F-1>=0&&this.injectionOffsets[F-1]===this.injectionOffsets[F];)O-=this.injectionOptions[F-1].content.length,F--;return O}(0,vr.xb)()}getInjectedText(t,s){const m=this.outputPositionToOffsetInInputWithInjections(t,s),O=this.getInjectedTextAtOffset(m);return O?{options:this.injectionOptions[O.injectedTextIndex]}:null}getInjectedTextAtOffset(t){const s=this.injectionOffsets,m=this.injectionOptions;if(s!==null){let O=0;for(let F=0;F<s.length;F++){const se=m[F].content.length,be=s[F]+O,Oe=s[F]+O+se;if(be>t)break;if(t<=Oe)return{injectedTextIndex:F,offsetInInputWithInjections:be,length:se};O+=se}}}}function cd(ft){return ft==null?!0:ft===ae.VW.Right||ft===ae.VW.Both}function ml(ft){return ft==null?!0:ft===ae.VW.Left||ft===ae.VW.Both}class kl{constructor(t,s){this.outputLineIndex=t,this.outputOffset=s}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(t){return new Le.y(t+this.outputLineIndex,this.outputOffset+1)}}var Ho=e(83455);const Mr=(0,es.H)("domLineBreaksComputer",{createHTML:ft=>ft});class Rr{static create(t){return new Rr(new WeakRef(t))}constructor(t){this.targetWindow=t}createLineBreaksComputer(t,s,m,O,F,se,be){const Oe=[];return{addRequest:(it,ct)=>{Oe.push(it)},finalize:()=>hd((0,Ki.ni)(this.targetWindow.deref()),t,Oe,s,m,O,F,se)}}}function hd(ft,t,s,m,O,F,se,be){function Oe(rn){const vn=t.getLineInjectedText(rn);if(vn){const Hn=t.getLineContent(rn),Rn=Ho.uK.applyInjectedText(Hn,vn),xn=vn.map(ls=>ls.options),ds=vn.map(ls=>ls.column-1);return new $a(ds,xn,[Rn.length],[],0)}else return null}if(F===-1){const rn=[];for(let vn=0,Hn=s.length;vn<Hn;vn++)rn[vn]=Oe(s[vn]);return rn}const it=Math.round(F*m.typicalHalfwidthCharacterWidth),lt=Math.round(O*(se===3?2:se===2?1:0)),Dt=Math.ceil(m.spaceWidth*lt),It=document.createElement("div");(0,d.M)(It,m);const Ut=new Xn.fe(1e4),ti=[],ii=[],oi=[],yi=[],Ti=[];for(let rn=0;rn<s.length;rn++){const vn=s[rn],Hn=Ho.uK.applyInjectedText(t.getLineContent(vn),t.getLineInjectedText(vn));let Rn=0,xn=0,ds=it;if(se!==0)if(Rn=(0,vt.HG)(Hn),Rn===-1)Rn=0;else{for(let ro=0;ro<Rn;ro++){const eo=Hn.charCodeAt(ro)===9?O-xn%O:1;xn+=eo}const hs=Math.ceil(m.spaceWidth*xn);hs+m.typicalFullwidthCharacterWidth>it?(Rn=0,xn=0):ds=it-hs}const ls=Hn.substr(Rn),Es=Nl(ls,xn,O,ds,Ut,Dt);ti[rn]=Rn,ii[rn]=xn,oi[rn]=ls,yi[rn]=Es[0],Ti[rn]=Es[1]}const ji=Ut.build(),an=Mr?.createHTML(ji)??ji;It.innerHTML=an,It.style.position="absolute",It.style.top="10000px",be==="keepAll"?(It.style.wordBreak="keep-all",It.style.overflowWrap="anywhere"):(It.style.wordBreak="inherit",It.style.overflowWrap="break-word"),ft.document.body.appendChild(It);const Qi=document.createRange(),Ji=Array.prototype.slice.call(It.children,0),mn=[];for(let rn=0;rn<s.length;rn++){const vn=s[rn],Hn=Ji[rn],Rn=ud(Qi,Hn,oi[rn],yi[rn]);if(Rn===null){mn[rn]=Oe(vn);continue}const xn=ti[rn],ds=ii[rn]+lt,ls=Ti[rn],Es=[];for(let Ls=0,yo=Rn.length;Ls<yo;Ls++)Es[Ls]=ls[Rn[Ls]];if(xn!==0)for(let Ls=0,yo=Rn.length;Ls<yo;Ls++)Rn[Ls]+=xn;let hs,ro;const eo=t.getLineInjectedText(vn);eo?(hs=eo.map(Ls=>Ls.options),ro=eo.map(Ls=>
317Ls.column-1)):(hs=null,ro=null),mn[rn]=new $a(ro,hs,Rn,Es,ds)}return It.remove(),mn}function Nl(ft,t,s,m,O,F){if(F!==0){const Dt=String(F);O.appendString('<div style="text-indent: -'),O.appendString(Dt),O.appendString("px; padding-left: "),O.appendString(Dt),O.appendString("px; box-sizing: border-box; width:")}else O.appendString('<div style="width:');O.appendString(String(m)),O.appendString('px;">');const se=ft.length;let be=t,Oe=0;const it=[],ct=[];let lt=0<se?ft.charCodeAt(0):0;O.appendString("<span>");for(let Dt=0;Dt<se;Dt++){Dt!==0&&Dt%16384===0&&O.appendString("</span><span>"),it[Dt]=Oe,ct[Dt]=be;const It=lt;lt=Dt+1<se?ft.charCodeAt(Dt+1):0;let Ut=1,ti=1;switch(It){case 9:Ut=s-be%s,ti=Ut;for(let ii=1;ii<=Ut;ii++)ii<Ut?O.appendCharCode(160):O.appendASCIICharCode(32);break;case 32:lt===32?O.appendCharCode(160):O.appendASCIICharCode(32);break;case 60:O.appendString("&lt;");break;case 62:O.appendString("&gt;");break;case 38:O.appendString("&amp;");break;case 0:O.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:O.appendCharCode(65533);break;default:(0,vt.ne)(It)&&ti++,It<32?O.appendCharCode(9216+It):O.appendCharCode(It)}Oe+=Ut,be+=ti}return O.appendString("</span>"),it[ft.length]=Oe,ct[ft.length]=be,O.appendString("</div>"),[it,ct]}function ud(ft,t,s,m){if(s.length<=1)return null;const O=Array.prototype.slice.call(t.children,0),F=[];try{gd(ft,O,m,0,null,s.length-1,null,F)}catch(se){return console.error(se),null}return F.length===0?null:(F.push(s.length),F)}function gd(ft,t,s,m,O,F,se,be){if(m===F||(O=O||Qr(ft,t,s[m],s[m+1]),se=se||Qr(ft,t,s[F],s[F+1]),Math.abs(O[0].top-se[0].top)<=.1))return;if(m+1===F){be.push(F);return}const Oe=m+(F-m)/2|0,it=Qr(ft,t,s[Oe],s[Oe+1]);gd(ft,t,s,m,O,Oe,it,be),gd(ft,t,s,Oe,it,F,se,be)}function Qr(ft,t,s,m){return ft.setStart(t[s/16384|0].firstChild,s%16384),ft.setEnd(t[m/16384|0].firstChild,m%16384),ft.getClientRects()}class Al extends i.jG{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new i.$w),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(t,s,m){this._editor=t,this._instantiationService=m;for(const O of s){if(this._pending.has(O.id)){(0,C.dz)(new Error(`Cannot have two contributions with the same id ${O.id}`));continue}this._pending.set(O.id,O)}this._instantiateSome(0),this._register((0,b.U3)((0,b.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register((0,b.U3)((0,b.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register((0,b.U3)((0,b.zk)(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const t={};for(const[s,m]of this._instances)typeof m.saveViewState=="function"&&(t[s]=m.saveViewState());return t}restoreViewState(t){for(const[s,m]of this._instances)typeof m.restoreViewState=="function"&&m.restoreViewState(t[s])}get(t){return this._instantiateById(t),this._instances.get(t)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return(0,b.U3)((0,b.zk)(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(t){if(this._finishedInstantiation[t])return;this._finishedInstantiation[t]=!0;const s=this._findPendingContributionsByInstantiation(t);for(const m of s)this._instantiateById(m.id)}_findPendingContributionsByInstantiation(t){const s=[];for(const[,m]of this._pending)m.instantiation===t&&s.push(m);return s}_instantiateById(t){const s=this._pending.get(t);if(s){if(this._pending.delete(t),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const m=this._instantiationService.createInstance(s.ctor,this._editor);this._instances.set(s.id,m),typeof m.restoreViewState=="function"&&s.instantiation!==0&&console.warn(`Editor contribution '${s.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(m){(0,C.dz)(m)}}}}var Qd=e(89673),pl=e(22595),_l=e(12596),Rs=e(38122),Yd=e(52394),Yr=e(31531),Ia=e(29849),Bo=e(27454);class qo{static create(t){return new qo(t.get(151),t.get(150))}constructor(t,s){this.classifier=new Qa(t,s)}createLineBreaksComputer(t,s,m,O,F,se,be){const Oe=[],it=[];return{addRequest:(ct,lt)=>{Oe.push(ct),it.push(lt)},finalize:()=>{const ct=s.typicalFullwidthCharacterWidth/s.typicalHalfwidthCharacterWidth,lt=[];for(let Dt=0,It=Oe.length;Dt<It;Dt++){const Ut=Oe[Dt],ti=t.getLineInjectedText(Ut),ii=t.getLineContent(Ut),oi=it[Dt],yi=be&&ii.includes('"')&&ii.includes("\\n");oi&&!oi.injectionOptions&&!ti&&!yi?lt[Dt]=Xs(this.classifier,oi,ii,m,O,ct,F,se):lt[Dt]=Zr(this.classifier,ii,ti,m,O,ct,F,se,yi)}return So.length=0,Ya.length=0,lt}}
317}}class Qa extends Bo.V{constructor(t,s){super(0);for(let m=0;m<t.length;m++)this.set(t.charCodeAt(m),1);for(let m=0;m<s.length;m++)this.set(s.charCodeAt(m),2)}get(t){return t>=0&&t<256?this._asciiMap[t]:t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?3:this._map.get(t)||this._defaultValue}}let So=[],Ya=[];function Xs(ft,t,s,m,O,F,se,be){if(O===-1)return null;const Oe=s.length;if(Oe<=1)return null;const it=be==="keepAll",ct=t.breakOffsets,lt=t.breakOffsetsVisibleColumn,Dt=Za(s,m,O,F,se),It=O-Dt,Ut=So,ti=Ya;let ii=0,oi=0,yi=0,Ti=O;const ji=ct.length;let an=0;if(an>=0){let Qi=Math.abs(lt[an]-Ti);for(;an+1<ji;){const Ji=Math.abs(lt[an+1]-Ti);if(Ji>=Qi)break;Qi=Ji,an++}}for(;an<ji;){let Qi=an<0?0:ct[an],Ji=an<0?0:lt[an];oi>Qi&&(Qi=oi,Ji=yi);let mn=0,rn=0,vn=0,Hn=0;if(Ji<=Ti){let xn=Ji,ds=Qi===0?0:s.charCodeAt(Qi-1),ls=Qi===0?0:ft.get(ds),Es=!0;for(let hs=Qi;hs<Oe;hs++){const ro=hs,eo=s.charCodeAt(hs);let Ls,yo;if((0,vt.pc)(eo)?(hs++,Ls=0,yo=2):(Ls=ft.get(eo),yo=vl(eo,xn,m,F)),ro>oi&&ua(ds,ls,eo,Ls,it)&&(mn=ro,rn=xn),xn+=yo,xn>Ti){ro>oi?(vn=ro,Hn=xn-yo):(vn=hs+1,Hn=xn),xn-rn>It&&(mn=0),Es=!1;break}ds=eo,ls=Ls}if(Es){ii>0&&(Ut[ii]=ct[ct.length-1],ti[ii]=lt[ct.length-1],ii++);break}}if(mn===0){let xn=Ji,ds=s.charCodeAt(Qi),ls=ft.get(ds),Es=!1;for(let hs=Qi-1;hs>=oi;hs--){const ro=hs+1,eo=s.charCodeAt(hs);if(eo===9){Es=!0;break}let Ls,yo;if((0,vt.LJ)(eo)?(hs--,Ls=0,yo=2):(Ls=ft.get(eo),yo=(0,vt.ne)(eo)?F:1),xn<=Ti){if(vn===0&&(vn=ro,Hn=xn),xn<=Ti-It)break;if(ua(eo,Ls,ds,ls,it)){mn=ro,rn=xn;break}}xn-=yo,ds=eo,ls=Ls}if(mn!==0){const hs=It-(Hn-rn);if(hs<=m){const ro=s.charCodeAt(vn);let eo;(0,vt.pc)(ro)?eo=2:eo=vl(ro,Hn,m,F),hs-eo<0&&(mn=0)}}if(Es){an--;continue}}
317if(mn===0&&(mn=vn,rn=Hn),mn<=oi){const xn=s.charCodeAt(oi);(0,vt.pc)(xn)?(mn=oi+2,rn=yi+2):(mn=oi+1,rn=yi+vl(xn,yi,m,F))}for(oi=mn,Ut[ii]=mn,yi=rn,ti[ii]=rn,ii++,Ti=rn+It;an<0||an<ji&&lt[an]<rn;)an++;let Rn=Math.abs(lt[an]-Ti);for(;an+1<ji;){const xn=Math.abs(lt[an+1]-Ti);if(xn>=Rn)break;Rn=xn,an++}}return ii===0?null:(Ut.length=ii,ti.length=ii,So=t.breakOffsets,Ya=t.breakOffsetsVisibleColumn,t.breakOffsets=Ut,t.breakOffsetsVisibleColumn=ti,t.wrappedTextIndentLength=Dt,t)}function Zr(ft,t,s,m,O,F,se,be,Oe){const it=Ho.uK.applyInjectedText(t,s);let ct,lt;if(s&&s.length>0?(ct=s.map(vn=>vn.options),lt=s.map(vn=>vn.column-1)):(ct=null,lt=null),O===-1)return ct?new $a(lt,ct,[it.length],[],0):null;const Dt=it.length;if(Dt<=1)return ct?new $a(lt,ct,[it.length],[],0):null;const It=be==="keepAll",Ut=Za(it,m,O,F,se),ti=O-Ut,ii=[],oi=[];let yi=0,Ti=0,ji=0,an=O,Qi=it.charCodeAt(0),Ji=ft.get(Qi),mn=vl(Qi,0,m,F),rn=1;(0,vt.pc)(Qi)&&(mn+=1,Qi=it.charCodeAt(1),Ji=ft.get(Qi),rn++);for(let vn=rn;vn<Dt;vn++){const Hn=vn,Rn=it.charCodeAt(vn);let xn,ds,ls=!1;(0,vt.pc)(Rn)?(vn++,xn=0,ds=2):(xn=ft.get(Rn),ds=vl(Rn,mn,m,F)),Oe&&Xr(it,vn)?(Ti=Hn,ji=mn,ls=!0):ua(Qi,Ji,Rn,xn,It)&&(Ti=Hn,ji=mn),mn+=ds,(mn>an||ls)&&((Ti===0||mn-ji>ti)&&(Ti=Hn,ji=mn-ds),ii[yi]=Ti,oi[yi]=ji,yi++,an=ji+ti,Ti=0),Qi=Rn,Ji=xn}return yi===0&&(!s||s.length===0)?null:(ii[yi]=Dt,oi[yi]=mn,new $a(lt,ct,ii,oi,Ut))}function vl(ft,t,s,m){return ft===9?s-t%s:(0,vt.ne)(ft)||ft<32?m:1}function Zd(ft,t){return t-ft%t}function Xr(ft,t){if(t>=2&&ft.charAt(t-1)==="n"){let s=0;for(let m=t-2;m>=0;m--)if(ft.charAt(m)==="\\")s++;else return s%2===1}return!1}function ua(ft,t,s,m,O){return s!==32&&(t===2&&m!==2||t!==1&&m===1||!O&&t===3&&m!==2||!O&&m===3&&t!==1)}function Za(ft,t,s,m,O){let F=0;if(O!==0){const se=(0,vt.HG)(ft);if(se!==-1){for(let Oe=0;Oe<se;Oe++){const it=ft.charCodeAt(Oe)===9?Zd(F,t):1;F+=it}const be=O===3?2:O===2?1:0;for(let Oe=0;Oe<be;Oe++){const it=Zd(F,t);F+=it}F+m>s&&(F=0)}}return F}var Vn=e(28060),Ta=e(97393),co=e(29895);class fd{constructor(t){this._selTrackedRange=null,this._trackSelection=!0,this._setState(t,new co.mG(new _e.Q(1,1,1,1),0,0,new Le.y(1,1),0),new co.mG(new _e.Q(1,1,1,1),0,0,new Le.y(1,1),0))}dispose(t){this._removeTrackedRange(t)}startTrackingSelection(t){this._trackSelection=!0,this._updateTrackedRange(t)}stopTrackingSelection(t){this._trackSelection=!1,this._removeTrackedRange(t)}_updateTrackedRange(t){this._trackSelection&&(this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(t){this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new co.MF(this.modelState,this.viewState)}readSelectionFromMarkers(t){const s=t.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!s.isEmpty()?pe.L.fromRange(s.collapseToEnd(),this.modelState.selection.getDirection()):pe.L.fromRange(s,this.modelState.selection.getDirection())}ensureValidState(t){this._setState(t,this.modelState,this.viewState)}setState(t,s,m){this._setState(t,s,m)}static _validatePositionWithCache(t,s,m,O){return s.equals(m)?O:t.normalizePosition(s,2)}static _validateViewState(t,s){const m=s.position,O=s.selectionStart.getStartPosition(),F=s.selectionStart.getEndPosition(),se=t.normalizePosition(m,2),be=this._validatePositionWithCache(t,O,m,se),Oe=this._validatePositionWithCache(t,F,O,be);return m.equals(se)&&O.equals(be)&&F.equals(Oe)?s:new co.mG(_e.Q.fromPositions(be,Oe),s.selectionStartKind,s.selectionStartLeftoverVisibleColumns+O.column-be.column,se,s.leftoverVisibleColumns+m.column-se.column)}_setState(t,s,m){if(m&&(m=fd._validateViewState(t.viewModel,m)),s){const O=t.model.validateRange(s.selectionStart),F=s.selectionStart.equalsRange(O)?s.selectionStartLeftoverVisibleColumns:0,se=t.model.validatePosition(s.position),be=s.position.equals(se)?s.leftoverVisibleColumns:0;s=new co.mG(O,s.selectionStartKind,F,se,be)}else{if(!m)return;const O=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(m.selectionStart)),F=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(m.position));s=new co.mG(O,m.selectionStartKind,m.selectionStartLeftoverVisibleColumns,F,m.leftoverVisibleColumns)}if(m){const O=t.coordinatesConverter.validateViewRange(m.selectionStart,s.selectionStart),F=t.coordinatesConverter.validateViewPosition(m.position,s.position);
317m=new co.mG(O,s.selectionStartKind,s.selectionStartLeftoverVisibleColumns,F,s.leftoverVisibleColumns)}else{const O=t.coordinatesConverter.convertModelPositionToViewPosition(new Le.y(s.selectionStart.startLineNumber,s.selectionStart.startColumn)),F=t.coordinatesConverter.convertModelPositionToViewPosition(new Le.y(s.selectionStart.endLineNumber,s.selectionStart.endColumn)),se=new _e.Q(O.lineNumber,O.column,F.lineNumber,F.column),be=t.coordinatesConverter.convertModelPositionToViewPosition(s.position);m=new co.mG(se,s.selectionStartKind,s.selectionStartLeftoverVisibleColumns,be,s.leftoverVisibleColumns)}this.modelState=s,this.viewState=m,this._updateTrackedRange(t)}}class Cl{constructor(t){this.context=t,this.cursors=[new fd(t)],this.lastAddedCursorIndex=0}dispose(){for(const t of this.cursors)t.dispose(this.context)}startTrackingSelections(){for(const t of this.cursors)t.startTrackingSelection(this.context)}stopTrackingSelections(){for(const t of this.cursors)t.stopTrackingSelection(this.context)}updateContext(t){this.context=t}ensureValidState(){for(const t of this.cursors)t.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(t=>t.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(t=>t.asCursorState())}getViewPositions(){return this.cursors.map(t=>t.viewState.position)}getTopMostViewPosition(){return(0,Ta.kh)(this.cursors,(0,o.VE)(t=>t.viewState.position,Le.y.compare)).viewState.position}getBottomMostViewPosition(){return(0,Ta.ot)(this.cursors,(0,o.VE)(t=>t.viewState.position,Le.y.compare)).viewState.position}getSelections(){return this.cursors.map(t=>t.modelState.selection)}getViewSelections(){return this.cursors.map(t=>t.viewState.selection)}setSelections(t){this.setStates(co.MF.fromModelSelections(t))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(t){t!==null&&(this.cursors[0].setState(this.context,t[0].modelState,t[0].viewState),this._setSecondaryStates(t.slice(1)))}_setSecondaryStates(t){const s=this.cursors.length-1,m=t.length;if(s<m){const O=m-s;for(let F=0;F<O;F++)this._addSecondaryCursor()}else if(s>m){const O=s-m;for(let F=0;F<O;F++)this._removeSecondaryCursor(this.cursors.length-2)}for(let O=0;O<m;O++)this.cursors[O+1].setState(this.context,t[O].modelState,t[O].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new fd(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(t){this.lastAddedCursorIndex>=t+1&&this.lastAddedCursorIndex--,this.cursors[t+1].dispose(this.context),this.cursors.splice(t+1,1)}normalize(){if(this.cursors.length===1)return;const t=this.cursors.slice(0),s=[];for(let m=0,O=t.length;m<O;m++)s.push({index:m,selection:t[m].modelState.selection});s.sort((0,o.VE)(m=>m.selection,_e.Q.compareRangesUsingStarts));for(let m=0;m<s.length-1;m++){const O=s[m],F=s[m+1],se=O.selection,be=F.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let Oe;if(be.isEmpty()||se.isEmpty()?Oe=be.getStartPosition().isBeforeOrEqual(se.getEndPosition()):Oe=be.getStartPosition().isBefore(se.getEndPosition()),Oe){const it=O.index<F.index?m:m+1,ct=O.index<F.index?m+1:m,lt=s[ct].index,Dt=s[it].index,It=s[ct].selection,Ut=s[it].selection;if(!It.equalsSelection(Ut)){const ti=It.plusRange(Ut),ii=It.selectionStartLineNumber===It.startLineNumber&&It.selectionStartColumn===It.startColumn,oi=Ut.selectionStartLineNumber===Ut.startLineNumber&&Ut.selectionStartColumn===Ut.startColumn;let yi;lt===this.lastAddedCursorIndex?(yi=ii,this.lastAddedCursorIndex=Dt):yi=oi;let Ti;yi?Ti=new pe.L(ti.startLineNumber,ti.startColumn,ti.endLineNumber,ti.endColumn):Ti=new pe.L(ti.endLineNumber,ti.endColumn,ti.startLineNumber,ti.startColumn),s[it].selection=Ti;const ji=co.MF.fromModelSelection(Ti);t[Dt].setState(this.context,ji.modelState,ji.viewState)}for(const ti of s)ti.index>lt&&ti.index--;t.splice(lt,1),s.splice(ct,1),this._removeSecondaryCursor(lt-1),m--}}}}class Js{constructor(t,s,m,O){this._cursorContextBrand=void 0,this.model=t,this.viewModel=s,this.coordinatesConverter=m,this.cursorConfig=O}}var Wl=e(97666),Vo=e(96137),Po=e(62885);class hc{constructor(){this.type=0}}class md{constructor(){this.type=1}}class bl{constructor(t){this.type=2,this._source=t}hasChanged(t){return this._source.hasChanged(t)}}class Ma{constructor(t,s,m){this.selections=t,this.modelSelections=s,this.reason=m,this.type=3}}class Jr{constructor(t){this.type=4,t?(this.affectsMinimap=t.affectsMinimap,this.affectsOverviewRuler=t.affectsOverviewRuler,this.affectsGlyphMargin=t.affectsGlyphMargin,this.affectsLineNumber=t.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class ga{constructor(){this.type=5}}class pd{constructor(t){this.type=6,this.isFocused=t}}class Sl{constructor(){this.type=7}}class fa{constructor(){this.type=8}}class Bl{constructor(t,s){this.fromLineNumber=t,this.count=s,this.type=9}}class Fl{constructor(t,s){this.type=10,this.fromLineNumber=t,this.toLineNumber=s}}class Nr{constructor(t,s){this.type=11,this.fromLineNumber=t,this.toLineNumber=s}}class yl{constructor(t,s,m,O,F,se,be){this.source=t,this.minimalReveal=s,this.range=m,this.selections=O,this.verticalType=F,this.revealHorizontal=se,this.scrollType=be,this.type=12}}class Ar{constructor(t){this.type=13,this.scrollWidth=t.scrollWidth,this.scrollLeft=t.scrollLeft,this.scrollHeight=t.scrollHeight,this.scrollTop=t.scrollTop,this.scrollWidthChanged=t.scrollWidthChanged,this.scrollLeftChanged=t.scrollLeftChanged,this.scrollHeightChanged=t.scrollHeightChanged,this.scrollTopChanged=t.scrollTopChanged}}class _d{constructor(t){this.theme=t,this.type=14}}class uc{constructor(t){this.type=15,this.ranges=t}}class qr{constructor(){this.type=16}}class vd{constructor(){this.type=17}}class ea extends i.jG{constructor(){super(),this._onEvent=this._register(new u.vl),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(t){this._addOutgoingEvent(t),this._emitOutgoingEvents()}_addOutgoingEvent(t){for(let s=0,m=this._outgoingEvents.length;s<m;s++){const O=this._outgoingEvents[s].kind===t.kind?this._outgoingEvents[s].attemptToMerge(t):null;if(O){this._outgoingEvents[s]=O;return}}this._outgoingEvents.push(t)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;const t=this._outgoingEvents.shift();t.isNoOp()||this._onEvent.fire(t)}}addViewEventHandler(t){for(let s=0,m=this._eventHandlers.length;s<m;s++)this._eventHandlers[s]===t&&console.warn("Detected duplicate listener in ViewEventDispatcher",t);this._eventHandlers.push(t)}removeViewEventHandler(t){for(let s=0;s<this._eventHandlers.length;s++)if(this._eventHandlers[s]===t){this._eventHandlers.splice(s,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new Xa),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){const t=this._collector.outgoingEvents,s=this._collector.viewEvents;this._collector=null;for(const m of t)this._addOutgoingEvent(m);s.length>0&&this._emitMany(s)}this._emitOutgoingEvents()}emitSingleViewEvent(t){try{this.beginEmitViewEvents().emitViewEvent(t)}finally{this.endEmitViewEvents()}}_emitMany(t){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(t):this._viewEventQueue=t,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const t=this._viewEventQueue;this._viewEventQueue=null;const s=this._eventHandlers.slice(0);for(const m of s)m.handleEvents(t)}}}class Xa{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(t){this.viewEvents.push(t)}emitOutgoingEvent(t){this.outgoingEvents.push(t)}}class Ja{constructor(t,s,m,O){this.kind=0,this._oldContentWidth=t,this._oldContentHeight=s,this.contentWidth=m,this.contentHeight=O,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind!==this.kind?null:new Ja(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight)}}
317class ma{constructor(t,s){this.kind=1,this.oldHasFocus=t,this.hasFocus=s}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind!==this.kind?null:new ma(this.oldHasFocus,t.hasFocus)}}class Hl{constructor(t,s){this.kind=2,this.oldHasFocus=t,this.hasFocus=s}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind!==this.kind?null:new ma(this.oldHasFocus,t.hasFocus)}}class Cd{constructor(t,s,m,O,F,se,be,Oe){this.kind=3,this._oldScrollWidth=t,this._oldScrollLeft=s,this._oldScrollHeight=m,this._oldScrollTop=O,this.scrollWidth=F,this.scrollLeft=se,this.scrollHeight=be,this.scrollTop=Oe,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind!==this.kind?null:new Cd(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop)}}class gc{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class fc{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class Vl{constructor(t,s,m,O,F,se,be){this.kind=7,this.oldSelections=t,this.selections=s,this.oldModelVersionId=m,this.modelVersionId=O,this.source=F,this.reason=se,this.reachedMaxCursorCount=be}static _selectionsAreEqual(t,s){if(!t&&!s)return!0;if(!t||!s)return!1;const m=t.length,O=s.length;if(m!==O)return!1;for(let F=0;F<m;F++)if(!t[F].equalsSelection(s[F]))return!1;return!0}isNoOp(){return Vl._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind!==this.kind?null:new Vl(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount)}}class Xd{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class Jd{constructor(t){this.event=t,this.kind=8}isNoOp(){return!1}attemptToMerge(t){return null}}class Fo{constructor(t){this.event=t,this.kind=9}isNoOp(){return!1}attemptToMerge(t){return null}}class Ul{constructor(t){this.event=t,this.kind=10}isNoOp(){return!1}attemptToMerge(t){return null}}class bd{constructor(t){this.event=t,this.kind=11}isNoOp(){return!1}attemptToMerge(t){return null}}class Ra{constructor(t){this.event=t,this.kind=12}isNoOp(){return!1}attemptToMerge(t){return null}}class Sd{constructor(t){this.event=t,this.kind=13}isNoOp(){return!1}attemptToMerge(t){return null}}class qd{constructor(t){this.event=t,this.kind=14}isNoOp(){return!1}attemptToMerge(t){return null}}class mc{constructor(t){this.event=t,this.kind=15}isNoOp(){return!1}attemptToMerge(t){return null}}var Cr=e(32471);class yd extends i.jG{constructor(t,s,m,O){super(),this._model=t,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=s,this._coordinatesConverter=m,this.context=new Js(this._model,this._viewModel,this._coordinatesConverter,O),this._cursors=new Cl(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=(0,i.AS)(this._autoClosedActions),super.dispose()}updateConfiguration(t){this.context=new Js(this._model,this._viewModel,this._coordinatesConverter,t),this._cursors.updateContext(this.context)}onLineMappingChanged(t){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(t,"viewModel",0,this.getCursorStates())}setHasFocus(t){this._hasFocus=t}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){const t=this._cursors.getSelections();for(let s=0;s<this._autoClosedActions.length;s++){const m=this._autoClosedActions[s];m.isValid(t)||(m.dispose(),this._autoClosedActions.splice(s,1),s--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(t,s,m,O){let F=!1;const se=this.context.cursorConfig.multiCursorLimit;O!==null&&O.length>se&&(O=O.slice(0,se),F=!0);const be=Uo.from(this._model,this);return this._cursors.setStates(O),this._cursors.normalize(),this._columnSelectData=null,this._val
317idateAutoClosedActions(),this._emitStateChangedIfNecessary(t,s,m,be,F)}setCursorColumnSelectData(t){this._columnSelectData=t}revealAll(t,s,m,O,F,se){const be=this._cursors.getViewPositions();let Oe=null,it=null;be.length>1?it=this._cursors.getViewSelections():Oe=_e.Q.fromPositions(be[0],be[0]),t.emitViewEvent(new yl(s,m,Oe,it,O,F,se))}revealPrimary(t,s,m,O,F,se){const Oe=[this._cursors.getPrimaryCursor().viewState.selection];t.emitViewEvent(new yl(s,m,null,Oe,O,F,se))}saveState(){const t=[],s=this._cursors.getSelections();for(let m=0,O=s.length;m<O;m++){const F=s[m];t.push({inSelectionMode:!F.isEmpty(),selectionStart:{lineNumber:F.selectionStartLineNumber,column:F.selectionStartColumn},position:{lineNumber:F.positionLineNumber,column:F.positionColumn}})}return t}restoreState(t,s){const m=[];for(let O=0,F=s.length;O<F;O++){const se=s[O];let be=1,Oe=1;se.position&&se.position.lineNumber&&(be=se.position.lineNumber),se.position&&se.position.column&&(Oe=se.position.column);let it=be,ct=Oe;se.selectionStart&&se.selectionStart.lineNumber&&(it=se.selectionStart.lineNumber),se.selectionStart&&se.selectionStart.column&&(ct=se.selectionStart.column),m.push({selectionStartLineNumber:it,selectionStartColumn:ct,positionLineNumber:be,positionColumn:Oe})}this.setStates(t,"restoreState",0,co.MF.fromModelSelections(m)),this.revealAll(t,"restoreState",!1,0,!0,1)}onModelContentChanged(t,s){if(s instanceof Ho.vn){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(t,"modelChange",0,this.getCursorStates())}finally{this._isHandling=!1}}else{const m=s.rawContentChangedEvent;if(this._knownModelVersionId=m.versionId,this._isHandling)return;const O=m.containsEvent(1);if(this._prevEditOperationType=0,O)this._cursors.dispose(),this._cursors=new Cl(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,"model",1,null,!1);else if(this._hasFocus&&m.resultingSelection&&m.resultingSelection.length>0){const F=co.MF.fromModelSelections(m.resultingSelection);this.setStates(t,"modelChange",m.isUndoing?5:m.isRedoing?6:2,F)&&this.revealAll(t,"modelChange",!1,0,!0,0)}else{const F=this._cursors.readSelectionFromMarkers();this.setStates(t,"modelChange",2,co.MF.fromModelSelections(F))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const t=this._cursors.getPrimaryCursor(),s=t.viewState.selectionStart.getStartPosition(),m=t.viewState.position;return{isReal:!1,fromViewLineNumber:s.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,s),toViewLineNumber:m.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,m)}}getSelections(){return this._cursors.getSelections()}setSelections(t,s,m,O){this.setStates(t,s,O,co.MF.fromModelSelections(m))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(t){this._prevEditOperationType=t}_pushAutoClosedAction(t,s){const m=[],O=[];for(let be=0,Oe=t.length;be<Oe;be++)m.push({range:t[be],options:{description:"auto-closed-character",inlineClassName:"auto-closed-character",stickiness:1}}),O.push({range:s[be],options:{description:"auto-closed-enclosing",stickiness:1}});const F=this._model.deltaDecorations([],m),se=this._model.deltaDecorations([],O);this._autoClosedActions.push(new wd(this._model,F,se))}_executeEditOperation(t,s){if(!t)return;t.shouldPushStackElementBefore&&this._model.pushStackElement();const m=jl.executeCommands(this._model,this._cursors.getSelections(),t.commands,s);if(m){this._interpretCommandResult(m);const O=[],F=[];for(let se=0;se<t.commands.length;se++){const be=t.commands[se];be instanceof Po.Hs&&be.enclosingRange&&be.closeCharacterRange&&(O.push(be.closeCharacterRange),F.push(be.enclosingRange))}O.length>0&&this._pushAutoClosedAction(O,F),this._prevEditOperationType=t.type}t.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(t){(!t||t.length===0)&&(t=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(t),this._cursors.normalize()}_emitStateChangedIfNecessary(t,s,m,O,F){const se=Uo.from(this._model,this);if(se.equals(O))return!1;const be=this._cursors.getSelections(),Oe=this._cursors.getViewSelections();
317if(t.emitViewEvent(new Ma(Oe,be,m)),!O||O.cursorState.length!==se.cursorState.length||se.cursorState.some((it,ct)=>!it.modelState.equals(O.cursorState[ct].modelState))){const it=O?O.cursorState.map(lt=>lt.modelState.selection):null,ct=O?O.modelVersionId:0;t.emitOutgoingEvent(new Vl(it,be,ct,se.modelVersionId,s||"keyboard",m,F))}return!0}_findAutoClosingPairs(t){if(!t.length)return null;const s=[];for(let m=0,O=t.length;m<O;m++){const F=t[m];if(!F.text||F.text.indexOf(`
318`)>=0)return null;const se=F.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!se)return null;const be=se[1],Oe=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(be);if(!Oe||Oe.length!==1)return null;const it=Oe[0].open,ct=F.text.length-se[2].length-1,lt=F.text.lastIndexOf(it,ct-1);if(lt===-1)return null;s.push([lt,ct])}return s}executeEdits(t,s,m,O,F){let se=null;s==="snippet"&&(se=this._findAutoClosingPairs(m)),se&&(m[0]._isTracked=!0);const be=[],Oe=[],it=this._model.pushEditOperations(this.getSelections(),m,ct=>{if(se)for(let Dt=0,It=se.length;Dt<It;Dt++){const[Ut,ti]=se[Dt],ii=ct[Dt],oi=ii.range.startLineNumber,yi=ii.range.startColumn-1+Ut,Ti=ii.range.startColumn-1+ti;be.push(new _e.Q(oi,Ti+1,oi,Ti+2)),Oe.push(new _e.Q(oi,yi+1,oi,Ti+2))}const lt=O(ct);return lt&&(this._isHandling=!0),lt},void 0,F);it&&(this._isHandling=!1,this.setSelections(t,s,it,0)),be.length>0&&this._pushAutoClosedAction(be,Oe)}_executeEdit(t,s,m,O=0){if(this.context.cursorConfig.readOnly)return;const F=Uo.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),t()}catch(se){(0,C.dz)(se)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(s,m,O,F,!1)&&this.revealAll(s,m,!1,0,!0,0)}getAutoClosedCharacters(){return wd.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(t){this._compositionState=new rr(this._model,this.getSelections())}endComposition(t,s){const m=Cr.dg.cursor({kind:"compositionEnd",detailedSource:s}),O=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{s==="keyboard"&&this._executeEditOperation(Vo.T.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,O,this.getSelections(),this.getAutoClosedCharacters()),m)},t,s)}type(t,s,m){const O=Cr.dg.cursor({kind:"type",detailedSource:m});this._executeEdit(()=>{if(m==="keyboard"){const F=s.length;let se=0;for(;se<F;){const be=(0,vt.iy)(s,se),Oe=s.substr(se,be);this._executeEditOperation(Vo.T.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),Oe),O),se+=be}}else this._executeEditOperation(Vo.T.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),s),O)},t,m)}compositionType(t,s,m,O,F,se){const be=Cr.dg.cursor({kind:"compositionType",detailedSource:se});if(s.length===0&&m===0&&O===0){if(F!==0){const Oe=this.getSelections().map(it=>{const ct=it.getPosition();return new pe.L(ct.lineNumber,ct.column+F,ct.lineNumber,ct.column+F)});this.setSelections(t,se,Oe,0)}return}this._executeEdit(()=>{this._executeEditOperation(Vo.T.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),s,m,O,F),be)},t,se)}paste(t,s,m,O,F){const se=Cr.dg.cursor({kind:"paste",detailedSource:F});this._executeEdit(()=>{this._executeEditOperation(Vo.T.paste(this.context.cursorConfig,this._model,this.getSelections(),s,m,O||[]),se)},t,F,4)}cut(t,s){const m=Cr.dg.cursor({kind:"cut",detailedSource:s});this._executeEdit(()=>{this._executeEditOperation(Wl.g.cut(this.context.cursorConfig,this._model,this.getSelections()),m)},t,s)}executeCommand(t,s,m){const O=Cr.dg.cursor({kind:"executeCommand",detailedSource:m});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new co.vY(0,[s],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),O)},t,m)}executeCommands(t,s,m){const O=Cr.dg.cursor({kind:"executeCommands",detailedSource:m});this._executeEdit(()=>{this._executeEditOperation(new co.vY(0,s,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),O)},t,m)}}class Uo{static from(t,s){return new Uo(t.getVersionId(),s.getCursorStates())}constructor(t,s){this.modelVersionId=t,this.cursorState=s}equals(t){if(!t||this.modelVersionId!==t.modelVersionId||this.cursorState.length!==t.cursorState.length)return!1;for(let s=0,m=this.cursorState.length;s<m;s++)if(!this.cursorState[s].equals(t.cursorState[s]))return!1;return!0}}class wd{static getAllAutoClosedCharacters(t){let s=[];for(const m of t)s=s.concat(m.getAutoClosedCharactersRanges());return s}constructor(t,s,m){this._model=t,this._autoClosedCharactersDecorations=s,this._autoClosedEnclosingDecorations=m}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){const t=[];for(let s=0;s<this._autoClosedCharactersDecorations.length;s++){const m=this._model.getDecorationRange(this._autoClosedCharactersDecorations[s]);m&&t.push(m)}return t}isValid(t){const s=[];for(let m=0;m<this._autoClosedEnclosingDecorations.length;m++){const O=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[m]);if(O&&(s.push(O),O.startLineNumber!==O.endLineNumber))return!1}s.sort(_e.Q.compareRangesUsingStarts),t.sort(_e.Q.compareRangesUsingStarts);for(let m=0;m<t.length;m++)if(m>=s.length||!s[m].strictContainsRange(t[m]))return!1;return!0}}class jl{static executeCommands(t,s,m,O=Cr.dg.unknown({name:"executeCommands"})){const F={model:t,selectionsBefore:s,trackedRanges:[],trackedRangesDirection:[]},se=this._innerExecuteCommands(F,m,O);for(let be=0,Oe=F.trackedRanges.length;be<Oe;be++)F.model._setTrackedRange(F.trackedRanges[be],null,0);return se}static _innerExecuteCommands(t,s,m){if(this._arrayIsEmpty(s))return null;const O=this._getEditOperations(t,s);if(O.operations.length===0)return null;const F=O.operations,se=this._getLoserCursorMap(F);if(se.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;const be=[];for(let ct=0,lt=F.length;ct<lt;ct++)se.hasOwnProperty(F[ct].identifier.major.toString())||be.push(F[ct]);O.hadTrackedEditOperation&&be.length>0&&(be[0]._isTracked=!0);let Oe=t.model.pushEditOperations(t.selectionsBefore,be,ct=>{const lt=[];for(let Ut=0;Ut<t.selectionsBefore.length;Ut++)lt[Ut]=[];for(const Ut of ct)Ut.identifier&&lt[Ut.identifier.major].push(Ut);const Dt=(Ut,ti)=>Ut.identifier.minor-ti.identifier.minor,It=[];for(let Ut=0;Ut<t.selectionsBefore.length;Ut++)lt[Ut].length>0?(lt[Ut].sort(Dt),It[Ut]=s[Ut].computeCursorState(t.model,{getInverseEditOperations:()=>lt[Ut],getTrackedSelection:ti=>{const ii=parseInt(ti,10),oi=t.model._getTrackedRange(t.trackedRanges[ii]);return t.trackedRangesDirection[ii]===0?new pe.L(oi.startLineNumber,oi.startColumn,oi.endLineNumber,oi.endColumn):new pe.L(oi.endLineNumber,oi.endColumn,oi.startLineNumber,oi.startColumn)}})):It[Ut]=t.selectionsBefore[Ut];return It},void 0,m);Oe||(Oe=t.selectionsBefore);const it=[];for(const ct in se)se.hasOwnProperty(ct)&&it.push(parseInt(ct,10));it.sort((ct,lt)=>lt-ct);for(const ct of it)Oe.splice(ct,1);return Oe}static _arrayIsEmpty(t){for(let s=0,m=t.length;s<m;s++)if(t[s])return!1;return!0}static _getEditOperations(t,s){let m=[],O=!1;for(let F=0,se=s.length;F<se;F++){const be=s[F];if(be){const Oe=this._getEditOperationsFromCommand(t,F,be);m=m.concat(Oe.operations),O=O||Oe.hadTrackedEditOperation}}return{operations:m,hadTrackedEditOperation:O}}static _getEditOperationsFromCommand(t,s,m){const O=[];let F=0;const se=(lt,Dt,It=!1)=>{_e.Q.isEmpty(lt)&&Dt===""||O.push({identifier:{major:s,minor:F++}
318,range:lt,text:Dt,forceMoveMarkers:It,isAutoWhitespaceEdit:m.insertsAutoWhitespace})};let be=!1;const ct={addEditOperation:se,addTrackedEditOperation:(lt,Dt,It)=>{be=!0,se(lt,Dt,It)},trackSelection:(lt,Dt)=>{const It=pe.L.liftSelection(lt);let Ut;if(It.isEmpty())if(typeof Dt=="boolean")Dt?Ut=2:Ut=3;else{const oi=t.model.getLineMaxColumn(It.startLineNumber);It.startColumn===oi?Ut=2:Ut=3}else Ut=1;const ti=t.trackedRanges.length,ii=t.model._setTrackedRange(null,It,Ut);return t.trackedRanges[ti]=ii,t.trackedRangesDirection[ti]=It.getDirection(),ti.toString()}};try{m.getEditOperations(t.model,ct)}catch(lt){return(0,C.dz)(lt),{operations:[],hadTrackedEditOperation:!1}}return{operations:O,hadTrackedEditOperation:be}}static _getLoserCursorMap(t){t=t.slice(0),t.sort((m,O)=>-_e.Q.compareRangesUsingEnds(m.range,O.range));const s={};for(let m=1;m<t.length;m++){const O=t[m-1],F=t[m];if(_e.Q.getStartPosition(O.range).isBefore(_e.Q.getEndPosition(F.range))){let se;O.identifier.major>F.identifier.major?se=O.identifier.major:se=F.identifier.major,s[se.toString()]=!0;for(let be=0;be<t.length;be++)t[be].identifier.major===se&&(t.splice(be,1),be<m&&m--,be--);m>0&&m--}}return s}}class zl{constructor(t,s,m,O){this.text=t,this.lineNumber=s,this.startSelectionOffset=m,this.endSelectionOffset=O}}class rr{static _capture(t,s){const m=[];for(const O of s){if(O.startLineNumber!==O.endLineNumber)return null;const F=O.startLineNumber;m.push(new zl(t.getLineContent(F),F,O.startColumn-1,O.endColumn-1))}return m}constructor(t,s){this._original=rr._capture(t,s)}deduceOutcome(t,s){if(!this._original)return null;const m=rr._capture(t,s);if(!m||this._original.length!==m.length)return null;const O=[];for(let F=0,se=this._original.length;F<se;F++)O.push(rr._deduceOutcome(this._original[F],m[F]));return O}static _deduceOutcome(t,s){const m=Math.min(t.startSelectionOffset,s.startSelectionOffset,(0,vt.Qp)(t.text,s.text)),O=Math.min(t.text.length-t.endSelectionOffset,s.text.length-s.endSelectionOffset,(0,vt.Vi)(t.text,s.text)),F=t.text.substring(m,t.text.length-O),se=m,be=s.text.length-O,Oe=s.text.substring(se,be),it=new _e.Q(s.lineNumber,se+1,s.lineNumber,be+1);return new Vo.v(F,t.startSelectionOffset-m,t.endSelectionOffset-m,Oe,s.startSelectionOffset-m,s.endSelectionOffset-m,it)}}var er=e(54957),Kl=e(1458),Gl=e(94513),Ed=e(88436);class $l{constructor(t,s,m,O,F){this.decorationId=t,this.index=s,this.lineNumber=m,this.specialHeight=O,this.prefixSum=F,this.maximumSpecialHeight=O,this.deleted=!1}}class Oa{constructor(t,s){this._decorationIDToCustomLine=new Ql,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=t;for(const m of s)this.insertOrChangeCustomLineHeight(m.decorationId,m.startLineNumber,m.endLineNumber,m.lineHeight)}set defaultLineHeight(t){this._defaultLineHeight=t}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(t){this._pendingChanges.push({kind:1,decorationId:t}),this._hasPending=!0}insertOrChangeCustomLineHeight(t,s,m,O){this._pendingChanges.push({kind:0,decorationId:t,startLineNumber:s,endLineNumber:m,lineHeight:O}),this._hasPending=!0}heightForLineNumber(t){this._commit();const s=this._binarySearchOverOrderedCustomLinesArray(t);return s>=0?this._orderedCustomLines[s].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(t){this._commit();const s=this._binarySearchOverOrderedCustomLinesArray(t);if(s>=0)return this._orderedCustomLines[s].prefixSum+this._orderedCustomLines[s].maximumSpecialHeight;if(s===-1)return this._defaultLineHeight*t;const m=-(s+1),O=this._orderedCustomLines[m-1];return O.prefixSum+O.maximumSpecialHeight+this._defaultLineHeight*(t-O.lineNumber)}onLinesDeleted(t,s){this._pendingChanges.push({kind:2,fromLineNumber:t,toLineNumber:s}),this._hasPending=!0}onLinesInserted(t,s){this._pendingChanges.push({kind:3,fromLineNumber:t,toLineNumber:s}),this._hasPending=!0}_commit(){if(!this._hasPending)return;const t=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;const s=[],m=new Ql;for(const O of t)switch(O.kind){case 1:this._doRemoveCustomLineHeight(O.decorationId,m);break;case 0:this._doInsertOrChangeCustomLineHeight(O.decorationId,O.startLineNumber,O.endLineNumber,O.lineHeight,s,m);break;case 2:this._flushStagedDecorationChanges(s,m),this._doLinesDeleted(O.fromLineNumber,O.toLineNumber);break;case 3:this._flushStagedDecorationChanges(s,m),this._doLinesInserted(O.fromLineNumber,O.toLineNumber,s,m);break}this._flushStagedDecorationChanges(s,m)}_doRemoveCustomLineHeight(t,s){const m=this._decorationIDToCustomLine.get(t);if(m){this._decorationIDToCustomLine.delete(t);for(const F of m)F.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,F.index)}const O=s.get(t);if(O){s.delete(t);for(const F of O)F.deleted=!0}
318}_doInsertOrChangeCustomLineHeight(t,s,m,O,F,se){this._doRemoveCustomLineHeight(t,se);for(let be=s;be<=m;be++){const Oe=new $l(t,-1,be,O,0);F.push(Oe),se.add(t,Oe)}}_flushStagedDecorationChanges(t,s){if(t.length===0&&this._invalidIndex===1/0)return;for(const be of t){if(be.deleted)continue;const Oe=this._binarySearchOverOrderedCustomLinesArray(be.lineNumber),it=Oe>=0?Oe:-(Oe+1);this._orderedCustomLines.splice(it,0,be),this._invalidIndex=Math.min(this._invalidIndex,it)}if(t.length=0,s.clear(),this._invalidIndex===1/0)return;const m=new Ql,O=[];for(let be=0;be<this._invalidIndex;be++){const Oe=this._orderedCustomLines[be];O.push(Oe),m.add(Oe.decorationId,Oe)}let F=0,se=this._invalidIndex>0?O[this._invalidIndex-1]:void 0;for(let be=this._invalidIndex;be<this._orderedCustomLines.length;be++){const Oe=this._orderedCustomLines[be];if(Oe.deleted){F++;continue}if(Oe.index=be-F,se&&se.lineNumber===Oe.lineNumber)Oe.maximumSpecialHeight=se.maximumSpecialHeight,Oe.prefixSum=se.prefixSum;else{let it=Oe.specialHeight;for(let lt=be;lt<this._orderedCustomLines.length;lt++){const Dt=this._orderedCustomLines[lt];if(!Dt.deleted){if(Dt.lineNumber!==Oe.lineNumber)break;it=Math.max(it,Dt.specialHeight)}}Oe.maximumSpecialHeight=it;let ct;se?ct=se.prefixSum+se.maximumSpecialHeight+this._defaultLineHeight*(Oe.lineNumber-se.lineNumber-1):ct=this._defaultLineHeight*(Oe.lineNumber-1),Oe.prefixSum=ct}se=Oe,O.push(Oe),m.add(Oe.decorationId,Oe)}this._orderedCustomLines=O,this._decorationIDToCustomLine=m,this._invalidIndex=1/0}_doLinesDeleted(t,s){const m=s-t+1,O=this._orderedCustomLines.length,F=this._binarySearchOverOrderedCustomLinesArray(t);let se;if(F>=0){se=F;for(let lt=F-1;lt>=0&&this._orderedCustomLines[lt].lineNumber===t;lt--)se--}else se=F===-(O+1)&&F!==-1?O-1:-(F+1);const be=this._binarySearchOverOrderedCustomLinesArray(s);let Oe;if(be>=0){Oe=be;for(let lt=be+1;lt<O&&this._orderedCustomLines[lt].lineNumber===s;lt++)Oe++}else Oe=be===-(O+1)&&be!==-1?O-1:-(be+1);const it=Oe>se,ct=Oe===se&&this._orderedCustomLines[se]&&this._orderedCustomLines[se].lineNumber>=t&&this._orderedCustomLines[se].lineNumber<=s;if(it||ct){let lt=0;for(let Qi=se;Qi<=Oe;Qi++)lt=Math.max(lt,this._orderedCustomLines[Qi].maximumSpecialHeight);let Dt=0;if(se>0){const Qi=this._orderedCustomLines[se-1];Dt=Qi.prefixSum+Qi.maximumSpecialHeight+this._defaultLineHeight*(t-Qi.lineNumber-1)}else Dt=t>0?(t-1)*this._defaultLineHeight:0;const It=this._orderedCustomLines[se],Ut=this._orderedCustomLines[Oe],ti=this._orderedCustomLines[Oe+1],ii=ti&&ti.lineNumber===s+1?ti.maximumSpecialHeight:this._defaultLineHeight,oi=Ut.prefixSum+Ut.maximumSpecialHeight-It.prefixSum+this._defaultLineHeight*(s-Ut.lineNumber)+this._defaultLineHeight*(It.lineNumber-t)+ii-lt,yi=new Set,Ti=[],ji=new Ql;let an=0;for(let Qi=0;Qi<this._orderedCustomLines.length;Qi++){const Ji=this._orderedCustomLines[Qi];if(Qi<se)Ti.push(Ji),ji.add(Ji.decorationId,Ji);else if(Qi>=se&&Qi<=Oe){const mn=Ji.decorationId;yi.has(mn)?an++:(Ji.index-=an,Ji.lineNumber=t,Ji.prefixSum=Dt,Ji.maximumSpecialHeight=lt,Ti.push(Ji),ji.add(Ji.decorationId,Ji))}else Qi>Oe&&(Ji.index-=an,Ji.lineNumber-=m,Ji.prefixSum-=oi,Ti.push(Ji),ji.add(Ji.decorationId,Ji));yi.add(Ji.decorationId)}this._orderedCustomLines=Ti,this._decorationIDToCustomLine=ji}else{const lt=m*this._defaultLineHeight;for(let Dt=Oe;Dt<this._orderedCustomLines.length;Dt++){const It=this._orderedCustomLines[Dt];It.lineNumber>s&&(It.lineNumber-=m,It.prefixSum-=lt)}}}_doLinesInserted(t,s,m,O){const F=s-t+1,se=this._binarySearchOverOrderedCustomLinesArray(t);let be;if(se>=0){be=se;for(let It=se-1;It>=0&&this._orderedCustomLines[It].lineNumber===t;It--)be--}else be=-(se+1);const Oe=[],it=new Set;for(let It=be;It<this._orderedCustomLines.length;It++)this._orderedCustomLines[It].lineNumber===t&&it.add(this._orderedCustomLines[It].decorationId);const ct=new Set;for(let It=be-1;It>=0;It--)this._orderedCustomLines[It].lineNumber===t-1&&ct.add(this._orderedCustomLines[It].decorationId);const lt=(0,Ed.E$)(ct,it),Dt=F*this._defaultLineHeight;for(let It=be;It<this._orderedCustomLines.length;It++)this._orderedCustomLines[It].lineNumber+=F,this._orderedCustomLines[It].prefixSum+=Dt;if(lt.size>0){for(const It of lt){const Ut=this._decorationIDToCustomLine.get(It);if(Ut){const ti=Ut.reduce((yi,Ti)=>Math.min(yi,Ti.lineNumber),t),ii=Ut.reduce((yi,Ti)=>Math.max(yi,Ti.lineNumber),t),oi=Ut.reduce((yi,Ti)=>Math.max(yi,Ti.specialHeight),0);Oe.push({decorationId:It,startLineNumber:ti,endLineNumber:ii,lineHeight:oi})}}for(const It of Oe)this._doInsertOrChangeCustomLineHeight(It.decorationId,It.startLineNumber,It.endLineNumber,It.lineHeight,m,O)}}_binarySearchOverOrderedCustomLinesArray(t){return(0,o.Uw)(this._orderedCustomLines.length,s=>{const m=this._orderedCustomLines[s];return m.lineNumber===t?0:m.lineNumber<t?-1:1})}}
318class br{constructor(t,s,m,O){this.decorationId=t,this.startLineNumber=s,this.endLineNumber=m,this.lineHeight=O}static fromDecorations(t,s,m){const O=m.options.get(75);return t.map(F=>{const se=s.convertModelRangeToViewRange(F.range);return new br(F.id,se.startLineNumber,se.endLineNumber,F.options.lineHeight?F.options.lineHeight*O:0)})}}class Ql{constructor(){this._map=new Map}add(t,s){const m=this._map.get(t);m?m.push(s):this._map.set(t,[s])}get(t){return this._map.get(t)}delete(t){this._map.delete(t)}clear(){this._map.clear()}}class pc{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(t){this._hasPending=!0,this._inserts.push(t)}change(t){this._hasPending=!0,this._changes.push(t)}remove(t){this._hasPending=!0,this._removes.push(t)}commit(t){if(!this._hasPending)return;const s=this._inserts,m=this._changes,O=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],t._commitPendingChanges(s,m,O)}}class Ld{constructor(t,s,m,O,F){this.id=t,this.afterLineNumber=s,this.ordinal=m,this.height=O,this.minWidth=F,this.prefixSum=0}}const Ua=class Ua{constructor(t,s,m,O,F){this._instanceId=(0,vt.tk)(++Ua.INSTANCE_COUNT),this._pendingChanges=new pc,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=m,this._paddingBottom=O,this._lineHeightsManager=new Oa(s,F)}static findInsertionIndex(t,s,m){let O=0,F=t.length;for(;O<F;){const se=O+F>>>1;s===t[se].afterLineNumber?m<t[se].ordinal?F=se:O=se+1:s<t[se].afterLineNumber?F=se:O=se+1}return O}setDefaultLineHeight(t){this._lineHeightsManager.defaultLineHeight=t}setPadding(t,s){this._paddingTop=t,this._paddingBottom=s}onFlushed(t,s){this._lineCount=t,this._lineHeightsManager=new Oa(this._lineHeightsManager.defaultLineHeight,s)}changeLineHeights(t){let s=!1;return t({insertOrChangeCustomLineHeight:(O,F,se,be)=>{s=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(O,F,se,be)},removeCustomLineHeight:O=>{s=!0,this._lineHeightsManager.removeCustomLineHeight(O)}}),s}changeWhitespace(t){let s=!1;try{t({insertWhitespace:(O,F,se,be)=>{s=!0,O=O|0,F=F|0,se=se|0,be=be|0;const Oe=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Ld(Oe,O,F,se,be)),Oe},changeOneWhitespace:(O,F,se)=>{s=!0,F=F|0,se=se|0,this._pendingChanges.change({id:O,newAfterLineNumber:F,newHeight:se})},removeWhitespace:O=>{s=!0,this._pendingChanges.remove({id:O})}})}finally{this._pendingChanges.commit(this)}return s}_commitPendingChanges(t,s,m){if((t.length>0||m.length>0)&&(this._minWidth=-1),t.length+s.length+m.length<=1){for(const Oe of t)this._insertWhitespace(Oe);for(const Oe of s)this._changeOneWhitespace(Oe.id,Oe.newAfterLineNumber,Oe.newHeight);for(const Oe of m){const it=this._findWhitespaceIndex(Oe.id);it!==-1&&this._removeWhitespace(it)}return}const O=new Set;for(const Oe of m)O.add(Oe.id);const F=new Map;for(const Oe of s)F.set(Oe.id,Oe);const se=Oe=>{const it=[];for(const ct of Oe)if(!O.has(ct.id)){if(F.has(ct.id)){const lt=F.get(ct.id);ct.afterLineNumber=lt.newAfterLineNumber,ct.height=lt.newHeight}it.push(ct)}return it},be=se(this._arr).concat(se(t));be.sort((Oe,it)=>Oe.afterLineNumber===it.afterLineNumber?Oe.ordinal-it.ordinal:Oe.afterLineNumber-it.afterLineNumber),this._arr=be,this._prefixSumValidIndex=-1}_insertWhitespace(t){const s=Ua.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(s,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,s-1)}_findWhitespaceIndex(t){const s=this._arr;for(let m=0,O=s.length;m<O;m++)if(s[m].id===t)return m;return-1}_changeOneWhitespace(t,s,m){const O=this._findWhitespaceIndex(t);if(O!==-1&&(this._arr[O].height!==m&&(this._arr[O].height=m,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,O-1)),this._arr[O].afterLineNumber!==s)){const F=this._arr[O];this._removeWhitespace(O),F.afterLineNumber=s,this._insertWhitespace(F)}}_removeWhitespace(t){this._arr.splice(t,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}onLinesDeleted(t,s){t=t|0,s=s|0,this._lineCount-=s-t+1;for(let m=0,O=this._arr.length;m<O;m++){const F=this._arr[m].afterLineNumber;t<=F&&F<=s?this._arr[m].afterLineNumber=t-1:F>s&&(this._arr[m].afterLineNumber-=s-t+1)}this._lineHeightsManager.onLinesDeleted(t,s)}
318onLinesInserted(t,s){t=t|0,s=s|0,this._lineCount+=s-t+1;for(let m=0,O=this._arr.length;m<O;m++){const F=this._arr[m].afterLineNumber;t<=F&&(this._arr[m].afterLineNumber+=s-t+1)}this._lineHeightsManager.onLinesInserted(t,s)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(t){t=t|0;let s=Math.max(0,this._prefixSumValidIndex+1);s===0&&(this._arr[0].prefixSum=this._arr[0].height,s++);for(let m=s;m<=t;m++)this._arr[m].prefixSum=this._arr[m-1].prefixSum+this._arr[m].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,t),this._arr[t].prefixSum}getLinesTotalHeight(){const t=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount),s=this.getWhitespacesTotalHeight();return t+s+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(t){t=t|0;const s=this._findLastWhitespaceBeforeLineNumber(t);return s===-1?0:this.getWhitespacesAccumulatedHeight(s)}_findLastWhitespaceBeforeLineNumber(t){t=t|0;const s=this._arr;let m=0,O=s.length-1;for(;m<=O;){const se=(O-m|0)/2|0,be=m+se|0;if(s[be].afterLineNumber<t){if(be+1>=s.length||s[be+1].afterLineNumber>=t)return be;m=be+1|0}else O=be-1|0}return-1}_findFirstWhitespaceAfterLineNumber(t){t=t|0;const m=this._findLastWhitespaceBeforeLineNumber(t)+1;return m<this._arr.length?m:-1}getFirstWhitespaceIndexAfterLineNumber(t){return t=t|0,this._findFirstWhitespaceAfterLineNumber(t)}getVerticalOffsetForLineNumber(t,s=!1){t=t|0;let m;t>1?m=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t-1):m=0;const O=this.getWhitespaceAccumulatedHeightBeforeLineNumber(t-(s?1:0));return m+O+this._paddingTop}getLineHeightForLineNumber(t){return this._lineHeightsManager.heightForLineNumber(t)}getVerticalOffsetAfterLineNumber(t,s=!1){t=t|0;const m=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t),O=this.getWhitespaceAccumulatedHeightBeforeLineNumber(t+(s?1:0));return m+O+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let t=0;for(let s=0,m=this._arr.length;s<m;s++)t=Math.max(t,this._arr[s].minWidth);this._minWidth=t}return this._minWidth}isAfterLines(t){const s=this.getLinesTotalHeight();return t>s}isInTopPadding(t){return this._paddingTop===0?!1:t<this._paddingTop}isInBottomPadding(t){if(this._paddingBottom===0)return!1;const s=this.getLinesTotalHeight();return t>=s-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(t){if(t=t|0,t<0)return 1;const s=this._lineCount|0;let m=1,O=s;for(;m<O;){const F=(m+O)/2|0,se=this.getLineHeightForLineNumber(F),be=this.getVerticalOffsetForLineNumber(F)|0;if(t>=be+se)m=F+1;else{if(t>=be)return F;O=F}}return m>s?s:m}getLinesViewportData(t,s){t=t|0,s=s|0;const m=this.getLineNumberAtOrAfterVerticalOffset(t)|0,O=this.getVerticalOffsetForLineNumber(m)|0;let F=this._lineCount|0,se=this.getFirstWhitespaceIndexAfterLineNumber(m)|0;const be=this.getWhitespacesCount()|0;let Oe,it;se===-1?(se=be,it=F+1,Oe=0):(it=this.getAfterLineNumberForWhitespaceIndex(se)|0,Oe=this.getHeightForWhitespaceIndex(se)|0);let ct=O,lt=ct;const Dt=5e5;let It=0;O>=Dt&&(It=Math.floor(O/Dt)*Dt,It=Math.floor(It/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,lt-=It);const Ut=[],ti=t+(s-t)/2;let ii=-1;for(let ji=m;ji<=F;ji++){const an=this.getLineHeightForLineNumber(ji);if(ii===-1){const Qi=ct,Ji=ct+an;(Qi<=ti&&ti<Ji||Qi>ti)&&(ii=ji)}for(ct+=an,Ut[ji-m]=lt,lt+=an;it===ji;)lt+=Oe,ct+=Oe,se++,se>=be?it=F+1:(it=this.getAfterLineNumberForWhitespaceIndex(se)|0,Oe=this.getHeightForWhitespaceIndex(se)|0);if(ct>=s){F=ji;break}}ii===-1&&(ii=F);const oi=this.getVerticalOffsetForLineNumber(F)|0;let yi=m,Ti=F;if(yi<Ti&&O<t&&yi++,yi<Ti){const ji=this.getLineHeightForLineNumber(F);oi+ji>s&&Ti--}return{bigNumbersDelta:It,startLineNumber:m,endLineNumber:F,relativeVerticalOffset:Ut,centeredLineNumber:ii,completelyVisibleStartLineNumber:yi,completelyVisibleEndLineNumber:Ti,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(t){t=t|0;const s=this.getAfterLineNumberForWhitespaceIndex(t);let m;s>=1?m=this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(s):m=0;let O;return t>
3180?O=this.getWhitespacesAccumulatedHeight(t-1):O=0,m+O+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(t){t=t|0;let s=0,m=this.getWhitespacesCount()-1;if(m<0)return-1;const O=this.getVerticalOffsetForWhitespaceIndex(m),F=this.getHeightForWhitespaceIndex(m);if(t>=O+F)return-1;for(;s<m;){const se=Math.floor((s+m)/2),be=this.getVerticalOffsetForWhitespaceIndex(se),Oe=this.getHeightForWhitespaceIndex(se);if(t>=be+Oe)s=se+1;else{if(t>=be)return se;m=se}}return s}getWhitespaceAtVerticalOffset(t){t=t|0;const s=this.getWhitespaceIndexAtOrAfterVerticallOffset(t);if(s<0||s>=this.getWhitespacesCount())return null;const m=this.getVerticalOffsetForWhitespaceIndex(s);if(m>t)return null;const O=this.getHeightForWhitespaceIndex(s),F=this.getIdForWhitespaceIndex(s),se=this.getAfterLineNumberForWhitespaceIndex(s);return{id:F,afterLineNumber:se,verticalOffset:m,height:O}}getWhitespaceViewportData(t,s){t=t|0,s=s|0;const m=this.getWhitespaceIndexAtOrAfterVerticallOffset(t),O=this.getWhitespacesCount()-1;if(m<0)return[];const F=[];for(let se=m;se<=O;se++){const be=this.getVerticalOffsetForWhitespaceIndex(se),Oe=this.getHeightForWhitespaceIndex(se);if(be>=s)break;F.push({id:this.getIdForWhitespaceIndex(se),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(se),verticalOffset:be,height:Oe})}return F}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(t){return t=t|0,this._arr[t].id}getAfterLineNumberForWhitespaceIndex(t){return t=t|0,this._arr[t].afterLineNumber}getHeightForWhitespaceIndex(t){return t=t|0,this._arr[t].height}};Ua.INSTANCE_COUNT=0;let wl=Ua;const Yl=125;class El{constructor(t,s,m,O){t=t|0,s=s|0,m=m|0,O=O|0,t<0&&(t=0),s<0&&(s=0),m<0&&(m=0),O<0&&(O=0),this.width=t,this.contentWidth=s,this.scrollWidth=Math.max(t,s),this.height=m,this.contentHeight=O,this.scrollHeight=Math.max(m,O)}equals(t){return this.width===t.width&&this.contentWidth===t.contentWidth&&this.height===t.height&&this.contentHeight===t.contentHeight}}class ec extends i.jG{constructor(t,s){super(),this._onDidContentSizeChange=this._register(new u.vl),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new El(0,0,0,0),this._scrollable=this._register(new Gl.yE({forceIntegerValues:!0,smoothScrollDuration:t,scheduleAtNextAnimationFrame:s})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(t){this._scrollable.setSmoothScrollDuration(t)}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}getScrollDimensions(){return this._dimensions}setScrollDimensions(t){if(this._dimensions.equals(t))return;const s=this._dimensions;this._dimensions=t,this._scrollable.setScrollDimensions({width:t.width,scrollWidth:t.scrollWidth,height:t.height,scrollHeight:t.scrollHeight},!0);const m=s.contentWidth!==t.contentWidth,O=s.contentHeight!==t.contentHeight;(m||O)&&this._onDidContentSizeChange.fire(new Ja(s.contentWidth,s.contentHeight,t.contentWidth,t.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(t){this._scrollable.setScrollPositionNow(t)}setScrollPositionSmooth(t){this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class qa extends i.jG{constructor(t,s,m,O){super(),this._configuration=t;const F=this._configuration.options,se=F.get(165),be=F.get(96);this._linesLayout=new wl(s,F.get(75),be.top,be.bottom,m),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new ec(0,O)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new El(se.contentWidth,0,se.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?Yl:0)}onConfigurationChanged(t){const s=this._configuration.options;if(t.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(s.get(75)),t.hasChanged(96)){const m=s.get(96);this._linesLayout.setPadding(m.top,m.bottom)}if(t.hasChanged(165)){const m=s.get(165),O=m.contentWidth,F=m.he
318ight,se=this._scrollable.getScrollDimensions(),be=se.contentWidth;this._scrollable.setScrollDimensions(new El(O,se.contentWidth,F,this._getContentHeight(O,F,be)))}else this._updateHeight();t.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(t,s){this._linesLayout.onFlushed(t,s)}onLinesDeleted(t,s){this._linesLayout.onLinesDeleted(t,s)}onLinesInserted(t,s){this._linesLayout.onLinesInserted(t,s)}_getHorizontalScrollbarHeight(t,s){const O=this._configuration.options.get(117);return O.horizontal===2||t>=s?0:O.horizontalScrollbarSize}_getContentHeight(t,s,m){const O=this._configuration.options;let F=this._linesLayout.getLinesTotalHeight();return O.get(119)?F+=Math.max(0,s-O.get(75)-O.get(96).bottom):O.get(117).ignoreHorizontalScrollbarInContentHeight||(F+=this._getHorizontalScrollbarHeight(t,m)),F}_updateHeight(){const t=this._scrollable.getScrollDimensions(),s=t.width,m=t.height,O=t.contentWidth;this._scrollable.setScrollDimensions(new El(s,t.contentWidth,m,this._getContentHeight(s,m,O)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),s=this._scrollable.getCurrentScrollPosition();return new io.LM(s.scrollTop,s.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),s=this._scrollable.getFutureScrollPosition();return new io.LM(s.scrollTop,s.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,s=this._maxLineWidth,m=t.get(166),O=t.get(59),F=t.get(165);if(m.isViewportWrapping){const se=t.get(81);return s>F.contentWidth+O.typicalHalfwidthCharacterWidth&&se.enabled&&se.side==="right"?s+F.verticalScrollbarWidth:s}else{const se=t.get(118)*O.typicalHalfwidthCharacterWidth,be=this._linesLayout.getWhitespaceMinWidth();return Math.max(s+se+F.verticalScrollbarWidth,be,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new El(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),s=t.scrollTop,m=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(s),O=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(m);return{scrollTop:s,scrollTopWithoutViewZones:s-O,scrollLeft:t.scrollLeft}}changeWhitespace(t){const s=this._linesLayout.changeWhitespace(t);return s&&this.onHeightMaybeChanged(),s}changeSpecialLineHeights(t){const s=this._linesLayout.changeLineHeights(t);return s&&this.onHeightMaybeChanged(),s}getVerticalOffsetForLineNumber(t,s=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,s)}getVerticalOffsetAfterLineNumber(t,s=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,s)}getLineHeightForLineNumber(t){return this._linesLayout.getLineHeightForLineNumber(t)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const s=this._scrollable.getScrollDimensions();return t+s.height>s.scrollHeight&&(t=s.scrollHeight-s.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+s.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,s){s===1?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,s){const m=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:m.scrollLeft+t,scrollTop:m.scrollTop+s})}}var ar=e(41683);class tc{constructor(t,s,m,O,F){this.editorId=t,this.configuration=m,this._linesCollection=O;
318const se={getModelDecorations:(be,Oe,it)=>this._linesCollection.getDecorationsInRange(be,this.editorId,(0,W.$C)(this.configuration.options),(0,W.Vs)(this.configuration.options),Oe,it)};this._inlineDecorationsComputer=new ar.H5(se,s,F),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(t){return this._inlineDecorationsComputer.getDecorations(t,!0,!1).decorations}getDecorationsViewportData(t){let s=this._cachedModelDecorationsResolver!==null;return s=s&&t.equalsRange(this._cachedModelDecorationsResolverViewRange),s||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(t,!1,!1),this._cachedModelDecorationsResolverViewRange=t),this._cachedModelDecorationsResolver}getDecorationsOnLine(t,s=!1,m=!1){const O=new _e.Q(t,this._linesCollection.getViewLineMinColumn(t),t,this._linesCollection.getViewLineMaxColumn(t));return this._inlineDecorationsComputer.getDecorations(O,s,m)}}function Ll(ft,t){return ft===null?t?el.INSTANCE:Pa.INSTANCE:new Dl(ft,t)}class Dl{constructor(t,s){this._projectionData=t,this._isVisible=s}isVisible(){return this._isVisible}setVisible(t){return this._isVisible=t,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(t,s,m){this._assertVisible();const O=m>0?this._projectionData.breakOffsets[m-1]:0,F=this._projectionData.breakOffsets[m];let se;if(this._projectionData.injectionOffsets!==null){const be=this._projectionData.injectionOffsets.map((it,ct)=>new Ho.uK(0,0,it+1,this._projectionData.injectionOptions[ct],0));se=Ho.uK.applyInjectedText(t.getLineContent(s),be).substring(O,F)}else se=t.getValueInRange({startLineNumber:s,startColumn:O+1,endLineNumber:s,endColumn:F+1});return m>0&&(se=Zl(this._projectionData.wrappedTextIndentLength)+se),se}getViewLineLength(t,s,m){return this._assertVisible(),this._projectionData.getLineLength(m)}getViewLineMinColumn(t,s,m){return this._assertVisible(),this._projectionData.getMinOutputOffset(m)+1}getViewLineMaxColumn(t,s,m){return this._assertVisible(),this._projectionData.getMaxOutputOffset(m)+1}getViewLineData(t,s,m,O){const F=new Array;return this.getViewLinesData(t,s,m,1,O,0,[!0],F),F[0]}getViewLinesData(t,s,m,O,F,se,be,Oe){this._assertVisible();const it=this._projectionData,ct=it.injectionOffsets,lt=it.injectionOptions,Dt={getInjectionOptions:()=>lt,getInjectionOffsets:()=>ct,getBreakOffsets:()=>it.breakOffsets,getWrappedTextIndentLength:()=>it.wrappedTextIndentLength,getBaseViewLineNumber:()=>F},Ut=new ar.Vn(Dt).getInlineDecorations(s),ti=t.tokenization.getLineTokens(s),ii=(0,Yr.J8)(ti,lt,ct);for(let oi=m;oi<m+O;oi++){const yi=se+oi-m;if(!be[yi]){Oe[yi]=null;continue}Oe[yi]=this._getViewLineData(ii,Ut?Ut[oi]:null,oi)}}_getViewLineData(t,s,m){this._assertVisible();const O=this._projectionData,F=m>0?O.wrappedTextIndentLength:0,se=m>0?O.breakOffsets[m-1]:0,be=O.breakOffsets[m],Oe=t.sliceAndInflate(se,be,F);let it=Oe.getLineContent();m>0&&(it=Zl(O.wrappedTextIndentLength)+it);const ct=this._projectionData.getMinOutputOffset(m)+1,lt=it.length+1,Dt=m+1<this.getViewLineCount(),It=m===0?0:O.breakOffsetsVisibleColumn[m-1];return new io.GP(it,Dt,ct,lt,It,Oe,s)}getModelColumnOfViewPosition(t,s){return this._assertVisible(),this._projectionData.translateToInputOffset(t,s-1)+1}getViewPositionOfModelPosition(t,s,m=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(s-1,m).toPosition(t)}getViewLineNumberOfModelPosition(t,s){this._assertVisible();const m=this._projectionData.translateToOutputPosition(s-1);return t+m.outputLineIndex}normalizePosition(t,s,m){const O=s.lineNumber-t;return this._projectionData.normalizeOutputPosition(t,s.column-1,m).toPosition(O)}getInjectedTextAt(t,s){return this._projectionData.getInjectedText(t,s-1)}_assertVisible(){if(!this._isVisible)throw new Error("Not supported")}}const ll=class ll{constructor(){}isVisible(){return!0}setVisible(t){return t?this:Pa.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(t,s,m){return t.getLineContent(s)}getViewLineLength(t,s,m){return t.getLineLength(s)}getViewLineMinColumn(t,s,m){return t.getLineMinColumn(s)}getViewLineMaxColumn(t,s,m){return t.getLineMaxColumn(s)}getViewLineData(t,s,m,O){const F=t.tokenization.getLineTokens(s),se=F.getLineContent();return new io.GP(se,!1,1,se.length+1,0,F.inflate(),null)}getViewLinesData(t,s,m,O,F,se,be,Oe){if(!be[se]){Oe[se]=null;return}Oe[se]=this.getViewLineData(t,s,0,F)}getModelColumnOfViewPosition(t,s){return s}
318getViewPositionOfModelPosition(t,s){return new Le.y(t,s)}getViewLineNumberOfModelPosition(t,s){return t}normalizePosition(t,s,m){return s}getInjectedTextAt(t,s){return null}};ll.INSTANCE=new ll;let el=ll;const Go=class Go{constructor(){}isVisible(){return!1}setVisible(t){return t?el.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(t,s,m){throw new Error("Not supported")}getViewLineLength(t,s,m){throw new Error("Not supported")}getViewLineMinColumn(t,s,m){throw new Error("Not supported")}getViewLineMaxColumn(t,s,m){throw new Error("Not supported")}getViewLineData(t,s,m,O){throw new Error("Not supported")}getViewLinesData(t,s,m,O,F,se,be,Oe){throw new Error("Not supported")}getModelColumnOfViewPosition(t,s){throw new Error("Not supported")}getViewPositionOfModelPosition(t,s){throw new Error("Not supported")}getViewLineNumberOfModelPosition(t,s){throw new Error("Not supported")}normalizePosition(t,s,m){throw new Error("Not supported")}getInjectedTextAt(t,s){throw new Error("Not supported")}};Go.INSTANCE=new Go;let Pa=Go;const tl=[""];function Zl(ft){if(ft>=tl.length)for(let t=1;t<=ft;t++)tl[t]=_c(t);return tl[ft]}function _c(ft){return new Array(ft+1).join(" ")}var Dd=e(56158);class vc{constructor(t){this._model=t}_validPosition(t){return this._model.validatePosition(t)}_validRange(t){return this._model.validateRange(t)}convertViewPositionToModelPosition(t){return this._validPosition(t)}convertViewRangeToModelRange(t){return this._validRange(t)}validateViewPosition(t,s){return this._validPosition(s)}validateViewRange(t,s){return this._validRange(s)}convertModelPositionToViewPosition(t){return this._validPosition(t)}convertModelRangeToViewRange(t){return this._validRange(t)}modelPositionIsVisible(t){const s=this._model.getLineCount();return!(t.lineNumber<1||t.lineNumber>s)}getModelLineViewLineCount(t){return 1}getViewLineNumberOfModelPosition(t,s){return t}}class xd{constructor(t,s,m,O,F,se,be,Oe,it,ct,lt){this._editorId=t,this.model=s,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=m,this._monospaceLineBreaksComputerFactory=O,this.fontInfo=F,this.tabSize=se,this.wrappingStrategy=be,this.wrappingColumn=Oe,this.wrappingIndent=it,this.wordBreak=ct,this.wrapOnEscapedLineFeeds=lt,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new bc(this)}_constructLines(t,s){this.modelLineProjections=[],t&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const O=this.model.getLinesContent().length,F=this.createLineBreaksComputer();for(let It=0;It<O;It++)F.addRequest(It+1,s?s[It]:null);const se=F.finalize(),be=[],Oe=this.hiddenAreasDecorationIds.map(It=>this.model.getDecorationRange(It)).sort(_e.Q.compareRangesUsingStarts);let it=1,ct=0,lt=-1,Dt=lt+1<Oe.length?ct+1:O+2;for(let It=0;It<O;It++){const Ut=It+1;Ut===Dt&&(lt++,it=Oe[lt].startLineNumber,ct=Oe[lt].endLineNumber,Dt=lt+1<Oe.length?ct+1:O+2);const ti=Ut>=it&&Ut<=ct,ii=Ll(se[It],!ti);be[It]=ii.getViewLineCount(),this.modelLineProjections[It]=ii}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Dd.c2(be),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(t=>this.model.getDecorationRange(t))}setHiddenAreas(t){const s=t.map(Dt=>this.model.validateRange(Dt)),m=Cc(s),O=this.hiddenAreasDecorationIds.map(Dt=>this.model.getDecorationRange(Dt)).sort(_e.Q.compareRangesUsingStarts);if(m.length===O.length){let Dt=!1;for(let It=0;It<m.length;It++)if(!m[It].equalsRange(O[It])){Dt=!0;break}if(!Dt)return!1}const F=m.map(Dt=>({range:Dt,options:Yr.kI.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,F);const se=m;let be=1,Oe=0,it=-1,ct=it+1<se.length?Oe+1:this.modelLineProjections.length+2,lt=!1;for(let Dt=0;Dt<this.modelLineProjections.length;Dt++){const It=Dt+1;It===ct&&(it++,be=se[it].startLineNumber,Oe=se[it].endLineNumber,ct=it+1<se.length?Oe+1:this.modelLineProjections.length+2);let Ut=!1;if(It>=be&&It<=Oe?this.modelLineProjections[Dt].isVisible()&&(this.modelLineProjections[Dt]=this.modelLineProjections[Dt].setVisible(!1),Ut=!0):(lt=!0,this.modelLineProjections[Dt].isVisible()||(this.modelLineProjections[Dt]=this.modelLineProjections[Dt].setVisible(!0),Ut=!0)),Ut){const ti=this.modelLineProjections[Dt].getViewLineCount();this.projectedModelLineLineCounts.setValue(Dt,ti)}}return lt||this.setHiddenAreas([]),!0}modelPositionIsVisible(t,s){return t<1||t>this.modelLineProjections.length?!1:this.modelLineProjections[t-1].isVisible()}getModelLineViewLineCount(t){return t<1||t>this.modelLineProjections.length?1:this.modelLineProjections[t-1].getViewLineCount()}setTabSize(t){return this.tabSize===t?!1:(this.tabSize=t,this._constructLines(!1,null),!0)}setWrappingSettings(t,s,m,O,F){const se=this.fontInfo.equals(t),be=this.wrappingStrategy===s,Oe=this.wrappingColumn===m,it=this.wrappingIndent===O,ct=this.wordBreak===F;if(se&&be&&Oe&&it&&ct)return!1;const lt=se&&be&&!Oe&&it&&ct;this.fontInfo=t,this.wrappingStrategy=s,this.wrappingColumn=m,this.wrappingIndent=O,this.wordBreak=F;let Dt=null;if(lt){Dt=[];for(let It=0,Ut=this.modelLineProjections.length;It<Ut;It++)Dt[It]=this.modelLineProjections[It].getProjectionData()}return this._constructLines(!1,Dt),!0}createLineBreaksComputer(t){const s=this.wrappingStrategy==="advanced"?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,m=t??{getLineContent:O=>this.model.getLineContent(O),getLineInjectedText:O=>this.model.getLineInjectedText(O,this._editorId)};return s.createLineBreaksComputer(m,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}
318onModelLinesDeleted(t,s,m){if(!t||t<=this._validModelVersionId)return null;const O=s===1?1:this.projectedModelLineLineCounts.getPrefixSum(s-1)+1,F=this.projectedModelLineLineCounts.getPrefixSum(m);return this.modelLineProjections.splice(s-1,m-s+1),this.projectedModelLineLineCounts.removeValues(s-1,m-s+1),new Fl(O,F)}onModelLinesInserted(t,s,m,O){if(!t||t<=this._validModelVersionId)return null;const F=s>2&&!this.modelLineProjections[s-2].isVisible(),se=s===1?1:this.projectedModelLineLineCounts.getPrefixSum(s-1)+1;let be=0;const Oe=[],it=[];for(let ct=0,lt=O.length;ct<lt;ct++){const Dt=Ll(O[ct],!F);Oe.push(Dt);const It=Dt.getViewLineCount();be+=It,it[ct]=It}return this.modelLineProjections=this.modelLineProjections.slice(0,s-1).concat(Oe).concat(this.modelLineProjections.slice(s-1)),this.projectedModelLineLineCounts.insertValues(s-1,it),new Nr(se,se+be-1)}onModelLineChanged(t,s,m){if(t!==null&&t<=this._validModelVersionId)return[!1,null,null,null];const O=s-1,F=this.modelLineProjections[O].getViewLineCount(),se=this.modelLineProjections[O].isVisible(),be=Ll(m,se);this.modelLineProjections[O]=be;const Oe=this.modelLineProjections[O].getViewLineCount();let it=!1,ct=0,lt=-1,Dt=0,It=-1,Ut=0,ti=-1;F>Oe?(ct=this.projectedModelLineLineCounts.getPrefixSum(s-1)+1,lt=ct+Oe-1,Ut=lt+1,ti=Ut+(F-Oe)-1,it=!0):F<Oe?(ct=this.projectedModelLineLineCounts.getPrefixSum(s-1)+1,lt=ct+F-1,Dt=lt+1,It=Dt+(Oe-F)-1,it=!0):(ct=this.projectedModelLineLineCounts.getPrefixSum(s-1)+1,lt=ct+Oe-1),this.projectedModelLineLineCounts.setValue(O,Oe);const ii=ct<=lt?new Bl(ct,lt-ct+1):null,oi=Dt<=It?new Nr(Dt,It):null,yi=Ut<=ti?new Fl(Ut,ti):null;return[it,ii,oi,yi]}acceptVersionId(t){this._validModelVersionId=t,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(t){if(t<1)return 1;const s=this.getViewLineCount();return t>s?s:t|0}getActiveIndentGuide(t,s,m){t=this._toValidViewLineNumber(t),s=this._toValidViewLineNumber(s),m=this._toValidViewLineNumber(m);const O=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),F=this.convertViewPositionToModelPosition(s,this.getViewLineMinColumn(s)),se=this.convertViewPositionToModelPosition(m,this.getViewLineMinColumn(m)),be=this.model.guides.getActiveIndentGuide(O.lineNumber,F.lineNumber,se.lineNumber),Oe=this.convertModelPositionToViewPosition(be.startLineNumber,1),it=this.convertModelPositionToViewPosition(be.endLineNumber,this.model.getLineMaxColumn(be.endLineNumber));return{startLineNumber:Oe.lineNumber,endLineNumber:it.lineNumber,indent:be.indent}}getViewLineInfo(t){t=this._toValidViewLineNumber(t);const s=this.projectedModelLineLineCounts.getIndexOf(t-1),m=s.index,O=s.remainder;return new Xl(m+1,O)}getMinColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(t){const s=this.modelLineProjections[t.modelLineNumber-1],m=s.getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),O=s.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,m);return new Le.y(t.modelLineNumber,O)}getModelEndPositionOfViewLine(t){const s=this.modelLineProjections[t.modelLineNumber-1],m=s.getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),O=s.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,m);return new Le.y(t.modelLineNumber,O)}getViewLineInfosGroupedByModelRanges(t,s){const m=this.getViewLineInfo(t),O=this.getViewLineInfo(s),F=new Array;let se=this.getModelStartPositionOfViewLine(m),be=new Array;for(let Oe=m.modelLineNumber;Oe<=O.modelLineNumber;Oe++){const it=this.modelLineProjections[Oe-1];if(it.isVisible()){const ct=Oe===m.modelLineNumber?m.modelLineWrappedLineIdx:0,lt=Oe===O.modelLineNumber?O.modelLineWrappedLineIdx+1:it.getViewLineCount();for(let Dt=ct;Dt<lt;Dt++)be.push(new Xl(Oe,Dt))}if(!it.isVisible()&&se){const ct=new Le.y(Oe-1,this.model.getLineMaxColumn(Oe-1)+1),lt=_e.Q.fromPositions(se,ct);F.push(new il(lt,be)),be=[],se=null}else it.isVisible()&&!se&&(se=new Le.y(Oe,1))}if(se){const Oe=_e.Q.fromPositions(se,this.getModelEndPositionOfViewLine(O));F.push(new il(Oe,be))}return F}getViewLinesBracketGuides(t,s,m,O){const F=m?this.convertViewPositionToModelPosition(m.lineNumber,m.column):null,
318se=[];for(const be of this.getViewLineInfosGroupedByModelRanges(t,s)){const Oe=be.modelRange.startLineNumber,it=this.model.guides.getLinesBracketGuides(Oe,be.modelRange.endLineNumber,F,O);for(const ct of be.viewLines){const Dt=it[ct.modelLineNumber-Oe].map(It=>{if(It.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[ct.modelLineNumber-1].getViewPositionOfModelPosition(0,It.forWrappedLinesAfterColumn).lineNumber>=ct.modelLineWrappedLineIdx||It.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[ct.modelLineNumber-1].getViewPositionOfModelPosition(0,It.forWrappedLinesBeforeOrAtColumn).lineNumber<ct.modelLineWrappedLineIdx)return;if(!It.horizontalLine)return It;let Ut=-1;if(It.column!==-1){const oi=this.modelLineProjections[ct.modelLineNumber-1].getViewPositionOfModelPosition(0,It.column);if(oi.lineNumber===ct.modelLineWrappedLineIdx)Ut=oi.column;else if(oi.lineNumber<ct.modelLineWrappedLineIdx)Ut=this.getMinColumnOfViewLine(ct);else if(oi.lineNumber>ct.modelLineWrappedLineIdx)return}const ti=this.convertModelPositionToViewPosition(ct.modelLineNumber,It.horizontalLine.endColumn),ii=this.modelLineProjections[ct.modelLineNumber-1].getViewPositionOfModelPosition(0,It.horizontalLine.endColumn);return ii.lineNumber===ct.modelLineWrappedLineIdx?new bi.TH(It.visibleColumn,Ut,It.className,new bi.pv(It.horizontalLine.top,ti.column),-1,-1):ii.lineNumber<ct.modelLineWrappedLineIdx||It.visibleColumn!==-1?void 0:new bi.TH(It.visibleColumn,Ut,It.className,new bi.pv(It.horizontalLine.top,this.getMaxColumnOfViewLine(ct)),-1,-1)});se.push(Dt.filter(It=>!!It))}}return se}getViewLinesIndentGuides(t,s){t=this._toValidViewLineNumber(t),s=this._toValidViewLineNumber(s);const m=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),O=this.convertViewPositionToModelPosition(s,this.getViewLineMaxColumn(s));let F=[];const se=[],be=[],Oe=m.lineNumber-1,it=O.lineNumber-1;let ct=null;for(let Ut=Oe;Ut<=it;Ut++){const ti=this.modelLineProjections[Ut];if(ti.isVisible()){const ii=ti.getViewLineNumberOfModelPosition(0,Ut===Oe?m.column:1),oi=ti.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(Ut+1)),yi=oi-ii+1;let Ti=0;yi>1&&ti.getViewLineMinColumn(this.model,Ut+1,oi)===1&&(Ti=ii===0?1:2),se.push(yi),be.push(Ti),ct===null&&(ct=new Le.y(Ut+1,0))}else ct!==null&&(F=F.concat(this.model.guides.getLinesIndentGuides(ct.lineNumber,Ut)),ct=null)}ct!==null&&(F=F.concat(this.model.guides.getLinesIndentGuides(ct.lineNumber,O.lineNumber)),ct=null);const lt=s-t+1,Dt=new Array(lt);let It=0;for(let Ut=0,ti=F.length;Ut<ti;Ut++){let ii=F[Ut];const oi=Math.min(lt-It,se[Ut]),yi=be[Ut];let Ti;yi===2?Ti=0:yi===1?Ti=1:Ti=oi;for(let ji=0;ji<oi;ji++)ji===Ti&&(ii=0),Dt[It++]=ii}return Dt}getViewLineContent(t){const s=this.getViewLineInfo(t);return this.modelLineProjections[s.modelLineNumber-1].getViewLineContent(this.model,s.modelLineNumber,s.modelLineWrappedLineIdx)}getViewLineLength(t){const s=this.getViewLineInfo(t);return this.modelLineProjections[s.modelLineNumber-1].getViewLineLength(this.model,s.modelLineNumber,s.modelLineWrappedLineIdx)}getViewLineMinColumn(t){const s=this.getViewLineInfo(t);return this.modelLineProjections[s.modelLineNumber-1].getViewLineMinColumn(this.model,s.modelLineNumber,s.modelLineWrappedLineIdx)}getViewLineMaxColumn(t){const s=this.getViewLineInfo(t);return this.modelLineProjections[s.modelLineNumber-1].getViewLineMaxColumn(this.model,s.modelLineNumber,s.modelLineWrappedLineIdx)}getViewLineData(t){const s=this.getViewLineInfo(t),m=this.projectedModelLineLineCounts.getPrefixSum(s.modelLineNumber-1)+1;return this.modelLineProjections[s.modelLineNumber-1].getViewLineData(this.model,s.modelLineNumber,s.modelLineWrappedLineIdx,m)}getViewLinesData(t,s,m){t=this._toValidViewLineNumber(t),s=this._toValidViewLineNumber(s);const O=this.projectedModelLineLineCounts.getIndexOf(t-1);let F=t;const se=O.index,be=O.remainder,Oe=[];for(let it=se,ct=this.model.getLineCount();it<ct;it++){const lt=this.modelLineProjections[it];if(!lt.isVisible())continue;const Dt=it===se?be:0;let It=lt.getViewLineCount()-Dt,Ut=!1;F+It>s&&(Ut=!0,It=s-F+1);const ti=this.projectedModelLineLineCounts.getPrefixSum(it)+1;if(lt.getViewLinesData(this.model,it+1,Dt,It,ti,F-t,m,Oe),F+=It,Ut)break}return Oe}validateViewPosition(t,s,m){t=this._toValidViewLineNumber(t);const O=this.projectedModelLineLineCounts.getIndexOf(t-1),F=O.index,se=O.remainder,be=this.modelLineProjections[F],Oe=be.getViewLineMinColumn(this.model,F+1,se),it=be.getViewLineMaxColumn(this.model,F+1,se);s<Oe&&(s=Oe),s>it&&(s=it);const ct=be.getModelColumnOfViewPosition(se,s);return this.model.validatePosition(new Le.y(F+1,ct)).equals(m)?new Le.y(t,
318s):this.convertModelPositionToViewPosition(m.lineNumber,m.column)}validateViewRange(t,s){const m=this.validateViewPosition(t.startLineNumber,t.startColumn,s.getStartPosition()),O=this.validateViewPosition(t.endLineNumber,t.endColumn,s.getEndPosition());return new _e.Q(m.lineNumber,m.column,O.lineNumber,O.column)}convertViewPositionToModelPosition(t,s){const m=this.getViewLineInfo(t),O=this.modelLineProjections[m.modelLineNumber-1].getModelColumnOfViewPosition(m.modelLineWrappedLineIdx,s);return this.model.validatePosition(new Le.y(m.modelLineNumber,O))}convertViewRangeToModelRange(t){const s=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),m=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);return new _e.Q(s.lineNumber,s.column,m.lineNumber,m.column)}convertModelPositionToViewPosition(t,s,m=2,O=!1,F=!1){const se=this.model.validatePosition(new Le.y(t,s)),be=se.lineNumber,Oe=se.column;let it=be-1,ct=!1;if(F)for(;it<this.modelLineProjections.length&&!this.modelLineProjections[it].isVisible();)it++,ct=!0;else for(;it>0&&!this.modelLineProjections[it].isVisible();)it--,ct=!0;if(it===0&&!this.modelLineProjections[it].isVisible())return new Le.y(O?0:1,1);const lt=1+this.projectedModelLineLineCounts.getPrefixSum(it);let Dt;return ct?F?Dt=this.modelLineProjections[it].getViewPositionOfModelPosition(lt,1,m):Dt=this.modelLineProjections[it].getViewPositionOfModelPosition(lt,this.model.getLineMaxColumn(it+1),m):Dt=this.modelLineProjections[be-1].getViewPositionOfModelPosition(lt,Oe,m),Dt}convertModelRangeToViewRange(t,s=0){if(t.isEmpty()){const m=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,s);return _e.Q.fromPositions(m)}else{const m=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,1),O=this.convertModelPositionToViewPosition(t.endLineNumber,t.endColumn,0);return new _e.Q(m.lineNumber,m.column,O.lineNumber,O.column)}}getViewLineNumberOfModelPosition(t,s){let m=t-1;if(this.modelLineProjections[m].isVisible()){const F=1+this.projectedModelLineLineCounts.getPrefixSum(m);return this.modelLineProjections[m].getViewLineNumberOfModelPosition(F,s)}for(;m>0&&!this.modelLineProjections[m].isVisible();)m--;if(m===0&&!this.modelLineProjections[m].isVisible())return 1;const O=1+this.projectedModelLineLineCounts.getPrefixSum(m);return this.modelLineProjections[m].getViewLineNumberOfModelPosition(O,this.model.getLineMaxColumn(m+1))}getDecorationsInRange(t,s,m,O,F,se){const be=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),Oe=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);if(Oe.lineNumber-be.lineNumber<=t.endLineNumber-t.startLineNumber)return this.model.getDecorationsInRange(new _e.Q(be.lineNumber,1,Oe.lineNumber,Oe.column),s,m,O,F,se);let it=[];const ct=be.lineNumber-1,lt=Oe.lineNumber-1;let Dt=null;for(let ii=ct;ii<=lt;ii++)if(this.modelLineProjections[ii].isVisible())Dt===null&&(Dt=new Le.y(ii+1,ii===ct?be.column:1));else if(Dt!==null){const yi=this.model.getLineMaxColumn(ii);it=it.concat(this.model.getDecorationsInRange(new _e.Q(Dt.lineNumber,Dt.column,ii,yi),s,m,O,F)),Dt=null}Dt!==null&&(it=it.concat(this.model.getDecorationsInRange(new _e.Q(Dt.lineNumber,Dt.column,Oe.lineNumber,Oe.column),s,m,O,F)),Dt=null),it.sort((ii,oi)=>{const yi=_e.Q.compareRangesUsingStarts(ii.range,oi.range);return yi===0?ii.id<oi.id?-1:ii.id>oi.id?1:0:yi});const It=[];let Ut=0,ti=null;for(const ii of it){const oi=ii.id;ti!==oi&&(ti=oi,It[Ut++]=ii)}return It}getInjectedTextAt(t){const s=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[s.modelLineNumber-1].getInjectedTextAt(s.modelLineWrappedLineIdx,t.column)}normalizePosition(t,s){const m=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[m.modelLineNumber-1].normalizePosition(m.modelLineWrappedLineIdx,t,s)}getLineIndentColumn(t){const s=this.getViewLineInfo(t);return s.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(s.modelLineNumber):0}}function Cc(ft){if(ft.length===0)return[];const t=ft.slice();t.sort(_e.Q.compareRangesUsingStarts);const s=[];let m=t[0].startLineNumber,O=t[0].endLineNumber;for(let F=1,se=t.length;F<se;F++){const be=t[F];be.startLineNumber>O+1?(s.push(new _e.Q(m,1,O,1)),m=be.startLineNumber,O=be.endLineNumber):be.endLineNumber>O&&(O=be.endLineNumber)}return s.push(new _e.Q(m,1,O,1)),s}class Xl{constructor(t,s){this.modelLineNumber=t,this.modelLineWrappedLineIdx=s}}class il{constructor(t,s){this.modelRange=t,this.viewLines=s}}class bc{constructor(t){this._lines=t}convertViewPositionToModelPosition(t){return this._lines.convertViewPositionToModelPosition(t.lineNumber,t.column)}convertViewRangeToModelRange(t){return this._lines.convertViewRangeToModelRange(t)}validateViewPosition(t,s){return this._lines.validateViewPosition(t.lineNumber,t.column,s)}validateViewRange(t,s){return this._lines.validateViewRange(t,s)}convertModelPositionToViewPosition(t,s,m,O){return this._lines.convertModelPositionToViewPosition(t.lineNumber,t.column,s,m,O)}convertModelRangeToViewRange(t,s){return this._lines.convertModelRangeToViewRange(t,s)}modelPositionIsVisible(t){return this._lines.modelPositionIsVisible(t.lineNumber,t.column)}getModelLineViewLineCount(t){return this._lines.getModelLineViewLineCount(t)}getViewLineNumberOfModelPosition(t,s){return this._lines.getViewLineNumberOfModelPosition(t,s)}}class Sc{constructor(t){this.model=t}dispose(){}createCoordinatesConverter(){return new vc(this.model)}getHiddenAreas(){return[]}setHiddenAreas(t){return!1}setTabSize(t){return!1}setWrappingSettings(t,s,m,O){return!1}createLineBreaksComputer(){const t=[];return{addRequest:(s,m)=>{t.push(null)},finalize:()=>t}}onModelFlushed(){}onModelLinesDeleted(t,s,m){return new Fl(s,m)}onModelLinesInserted(t,s,m,O){return new Nr(s,m)}onModelLineChanged(t,s,m){return[!1,new Bl(s,1),null,null]}acceptVersionId(t){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(t,s,m){return{startLineNumber:t,endLineNumber:t,indent:0}}getViewLinesBracketGuides(t,s,m){return new Array(s-t+1).fill([])}getViewLinesIndentGuides(t,s){const m=s-t+1,O=new Array(m);for(let F=0;F<m;F++)O[F]=0;return O}getViewLineContent(t){return this.model.getLineContent(t)}getViewLineLength(t){return this.model.getLineLength(t)}getViewLineMinColumn(t){return this.model.getLineMinColumn(t)}getViewLineMaxColumn(t){return this.model.getLineMaxColumn(t)}getViewLineData(t){const s=this.model.tokenization.getLineTokens(t),m=s.getLineContent();return new io.GP(m,!1,1,m.length+1,0,s.inflate(),null)}getViewLinesData(t,s,m){const O=this.model.getLineCount();t=Math.min(Math.max(1,t),O),s=Math.min(Math.max(1,s),O);const F=[];for(let se=t;se<=s;se++){const be=se-t;F[be]=m[be]?this.getViewLineData(se):null}return F}getDecorationsInRange(t,s,m,O,F,se){return this.model.getDecorationsInRange(t,s,m,O,F,se)}normalizePosition(t,s){return this.model.normalizePosition(t,s)}getLineIndentColumn(t){return this.model.getLineIndentColumn(t)}getInjectedTextAt(t){return null}}const ka=ae.ZS.Right;class ic{constructor(t){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((t+1)*ka/8))}reset(t){const s=Math.ceil((t+1)*ka/8);this.lanes.length<s?this.lanes=new Uint8Array(s):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(t,s,m){m&&(this.persist|=1<<t-1);for(let O=s.startLineNumber;O<=s.endLineNumber;O++){const F=ka*O+(t-1);this.lanes[F>>>3]|=1<<F%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(O))}}getLanesAtLine(t){const s=[];let m=ka*t;for(let O=0;O<ka;O++)(this.persist&1<<O||this.lanes[m>>>3]&1<<m%8)&&s.push(O+1),m++;return s.length?s:[ae.ZS.Center]}countAtLine(t){let s=ka*t,m=0;for(let O=0;O<ka;O++)(this.persist&1<<O||this.lanes[s>>>3]&1<<s%8)&&m++,s++;return m}}class pa extends i.jG{constructor(t,s,m,O,F,se,be,Oe,it,ct){if(super(),this.languageConfigurationService=be,this._themeService=Oe,this._attachedView=it,this._transactionalTarget=ct,this.hiddenAreasModel=new Td,this.previousHiddenAreas=[],this._editorId=t,this._configuration=s,this.model=m,this._eventDispatcher=new ea,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new co.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new st.uC(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=Id.create(this.model),this.glyphLanes=new ic(0),this.model.isTooLargeForTokenization())this._lines=new Sc(this.model);else{const lt=this._configuration.options,Dt=lt.get(59),It=lt.get(156),Ut=lt.get(166),ti=lt.get(155),ii=lt.get(146),oi=lt.get(160);this._lines=new xd(this._editorId,this.model,O,F,Dt,this.model.getOptions().tabSize,It,Ut.wrappingColumn,ti,ii,oi)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new yd(m,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new qa(this._configuration,this.getLineCount(),this._getCustomLineHeights(),se)),this._register(this.viewLayout.onDidScroll(lt=>{lt.scrollTopChanged&&this._handleVisibleLinesChanged(),lt.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new Ar(lt)),this._eventDispatcher.emitOutgoingEvent(new Cd(lt.oldScrollWidth,lt.oldScrollLeft,lt.oldScrollHeight,lt.oldScrollTop,lt.scrollWidth,lt.scrollLeft,lt.scrollHeight,lt.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(lt=>{this._eventDispatcher.emitOutgoingEvent(lt)})),this._decorations=new tc(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(lt=>{try{const Dt=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(Dt,lt)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(yn.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new qr)})),this._register(this._themeService.onDidColorThemeChange(lt=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new _d(lt))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(t){return this._configuration.options.get(t)}createLineBreaksComputer(t){return this._lines.createLineBreaksComputer(t)}addViewEventHandler(t){this._eventDispatcher.addViewEventHandler(t)}removeViewEventHandler(t){this._eventDispatcher.removeViewEventHandler(t)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];const s=this.model.getCustomLineHeightsDecorations(this._editorId);return br.fromDecorations(s,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(t,s){if(!this._configuration.options.get(5))return[];const O=new _e.Q(t,1,s,this.model.getLineMaxColumn(s)),F=this.model.getCustomLineHeightsDecorationsInRange(O,this._editorId);return br.fromDecorations(F,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const t=this.viewLayout.getLinesViewportData(),s=new _e.Q(t.startLineNumber,this.getLineMinColumn(t.startLineNumber),t.endLineNumber,this.getLineMaxColumn(t.endLineNumber));return this._toModelVisibleRanges(s)}visibleLinesStabilized(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!0)}_handleVisibleLinesChanged(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!1)}setHasFocus(t){this._hasFocus=t,this._cursor.setHasFocus(t),this._eventDispatcher.emitSingleViewEvent(new pd(t)),this._eventDispatcher.emitOutgoingEvent(new ma(!t,t))}setHasWidgetFocus(t){this._eventDispatcher.emitOutgoingEvent(new Hl(!t,t))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new hc)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new md)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const t=new Le.y(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),s=this.coordinatesConverter.convertViewPositionToModelPosition(t);return new nl(s,this._viewportStart.startLineDelta)}return new nl(null,0)}_onConfigurationChanged(t,s){const m=this._captureStableViewport(),O=this._configuration.options,F=O.get(59),se=O.get(156),be=O.get(166),Oe=O.get(155),it=O.get(146);this._lines.setWrappingSettings(F,se,be.wrappingColumn,Oe,it)&&(t.emit
318ViewEvent(new ga),t.emitViewEvent(new fa),t.emitViewEvent(new Jr(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),s.hasChanged(104)&&(this._decorations.reset(),t.emitViewEvent(new Jr(null))),s.hasChanged(112)&&(this._decorations.reset(),t.emitViewEvent(new Jr(null))),t.emitViewEvent(new bl(s)),this.viewLayout.onConfigurationChanged(s),m.recoverViewportStart(this.coordinatesConverter,this.viewLayout),co.d$.shouldRecreate(s)&&(this.cursorConfig=new co.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(t){try{const m=this._eventDispatcher.beginEmitViewEvents();let O=!1,F=!1;const se=t instanceof Ho.Ic?t.rawContentChangedEvent.changes:t.changes,be=t instanceof Ho.Ic?t.rawContentChangedEvent.versionId:null,Oe=this._lines.createLineBreaksComputer();for(const Dt of se)switch(Dt.changeType){case 4:{for(let It=0;It<Dt.count;It++)Oe.addRequest(Dt.fromLineNumberPostEdit+It,null);break}case 2:{Oe.addRequest(Dt.lineNumberPostEdit,null);break}}const it=Oe.finalize(),ct=new o.j3(it),lt=[];for(const Dt of se)switch(Dt.changeType){case 1:{this._lines.onModelFlushed(),m.emitViewEvent(new ga),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),O=!0;break}case 3:{const It=this._lines.onModelLinesDeleted(be,Dt.fromLineNumber,Dt.toLineNumber);It!==null&&(m.emitViewEvent(It),this.viewLayout.onLinesDeleted(It.fromLineNumber,It.toLineNumber),lt.push({fromLineNumber:Dt.lastUntouchedLinePostEdit,toLineNumber:Dt.lastUntouchedLinePostEdit})),O=!0;break}case 4:{const It=ct.takeCount(Dt.count),Ut=this._lines.onModelLinesInserted(be,Dt.fromLineNumber,Dt.toLineNumber,It);Ut!==null&&(m.emitViewEvent(Ut),this.viewLayout.onLinesInserted(Ut.fromLineNumber,Ut.toLineNumber),lt.push({fromLineNumber:Dt.fromLineNumberPostEdit,toLineNumber:Dt.toLineNumberPostEdit})),O=!0;break}case 2:{const It=ct.dequeue(),[Ut,ti,ii,oi]=this._lines.onModelLineChanged(be,Dt.lineNumber,It);F=Ut,ti&&m.emitViewEvent(ti),ii&&(m.emitViewEvent(ii),this.viewLayout.onLinesInserted(ii.fromLineNumber,ii.toLineNumber),lt.push({fromLineNumber:Dt.lineNumberPostEdit,toLineNumber:Dt.lineNumberPostEdit})),oi&&(m.emitViewEvent(oi),this.viewLayout.onLinesDeleted(oi.fromLineNumber,oi.toLineNumber),lt.push({fromLineNumber:Dt.lineNumberPostEdit,toLineNumber:Dt.lineNumberPostEdit}));break}case 5:break}be!==null&&this._lines.acceptVersionId(be),lt.length>0&&this.viewLayout.changeSpecialLineHeights(Dt=>{for(const It of lt){const Ut=this._getCustomLineHeightsForLines(It.fromLineNumber,It.toLineNumber);for(const ti of Ut)Dt.insertOrChangeCustomLineHeight(ti.decorationId,ti.startLineNumber,ti.endLineNumber,ti.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!O&&F&&(m.emitViewEvent(new fa),m.emitViewEvent(new Jr(null)),this._cursor.onLineMappingChanged(m),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const s=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&s){const m=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(m){const O=this.coordinatesConverter.convertModelPositionToViewPosition(m.getStartPosition()),F=this.viewLayout.getVerticalOffsetForLineNumber(O.lineNumber);this.viewLayout.setScrollPosition({scrollTop:F+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(t){this._emitViewEvent(s=>{t instanceof Ho.Ic&&s.emitOutgoingEvent(new bd(t.contentChangedEvent)),this._cursor.onModelContentChanged(s,t)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(m=>{const O=m.changes.filter(F=>F.ownerId===this._editorId||F.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(F=>{for(const se of O){const{decorationId:be,lineNumber:Oe,lineHeightMultiplier:it}=se,ct=this.coordinatesConverter.convertModelRangeToViewRange(new _e.Q(Oe,1,Oe,this.model.getLineMaxColumn(Oe)));it!==null?F.insertOrChangeCustomLineHeight(be,ct.startLineNumber,ct.endLineNumber,it*this._configuration.options.get(75)):F.removeCustomLineHeight(be)}}),O.length>0){const F=new Ho.zq(O);this._eventDispatcher.emitOutgoingEvent(new qd(F))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(m=>{const O=m.changes.filter(F=>F.ownerId===this._editorId||F.ownerId===0);if(O.length>0){const F=new Ho.dT(O);this._eventDispatcher.emitOutgoingEvent(new mc(F))}})),this._register(this.model.onDidChangeTokens(m=>{const O=[];for(let F=0,se=m.ranges.length;F<se;F++){const be=m.ranges[F],Oe=this.coordinatesConverter.convertModelPositionToViewPosition(new Le.y(be.fromLineNumber,1)).lineNumber,it=this.coordinatesConverter.convertModelPositionToViewPosition(new Le.y(be.toLineNumber,this.model.getLineMaxColumn(be.toLineNumber))).lineNumber;O[F]={fromLineNumber:Oe,toLineNumber:it}}this._eventDispatcher.emitSingleViewEvent(new uc(O)),this._eventDispatcher.emitOutgoingEvent(new Sd(m))})),this._register(this.model.onDidChangeLanguageConfiguration(m=>{this._eventDispatcher.emitSingleViewEvent(new Sl),this.cursorConfig=new co.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new 
318Ul(m))})),this._register(this.model.onDidChangeLanguage(m=>{this.cursorConfig=new co.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Fo(m))})),this._register(this.model.onDidChangeOptions(m=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const O=this._eventDispatcher.beginEmitViewEvents();O.emitViewEvent(new ga),O.emitViewEvent(new fa),O.emitViewEvent(new Jr(null)),this._cursor.onLineMappingChanged(O),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new co.d$(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Ra(m))})),this._register(this.model.onDidChangeDecorations(m=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Jr(m)),this._eventDispatcher.emitOutgoingEvent(new Jd(m))}))}getFontSizeAtPosition(t){if(!this._configuration.options.get(172))return null;const m=this.model.getFontDecorationsInRange(_e.Q.fromPositions(t),this._editorId);let O=this._configuration.options.get(59).fontSize+"px";for(const F of m)if(F.options.fontSize){O=F.options.fontSize;break}return O}setHiddenAreas(t,s,m){this.hiddenAreasModel.setHiddenAreas(s,t);const O=this.hiddenAreasModel.getMergedRanges();if(O===this.previousHiddenAreas&&!m)return;this.previousHiddenAreas=O;const F=this._captureStableViewport();let se=!1;try{const be=this._eventDispatcher.beginEmitViewEvents();se=this._lines.setHiddenAreas(O),se&&(be.emitViewEvent(new ga),be.emitViewEvent(new fa),be.emitViewEvent(new Jr(null)),this._cursor.onLineMappingChanged(be),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());const Oe=F.viewportStartModelPosition?.lineNumber;Oe&&O.some(ct=>ct.startLineNumber<=Oe&&Oe<=ct.endLineNumber)||F.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),se&&this._eventDispatcher.emitOutgoingEvent(new fc)}getVisibleRangesPlusViewportAboveBelow(){const t=this._configuration.options.get(165),s=this._configuration.options.get(75),m=Math.max(20,Math.round(t.height/s)),O=this.viewLayout.getLinesViewportData(),F=Math.max(1,O.completelyVisibleStartLineNumber-m),se=Math.min(this.getLineCount(),O.completelyVisibleEndLineNumber+m);return this._toModelVisibleRanges(new _e.Q(F,this.getLineMinColumn(F),se,this.getLineMaxColumn(se)))}getVisibleRanges(){const t=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(t)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(t){const s=this.coordinatesConverter.convertViewRangeToModelRange(t),m=this._lines.getHiddenAreas();if(m.length===0)return[s];const O=[];let F=0,se=s.startLineNumber,be=s.startColumn;const Oe=s.endLineNumber,it=s.endColumn;for(let ct=0,lt=m.length;ct<lt;ct++){const Dt=m[ct].startLineNumber,It=m[ct].endLineNumber;It<se||Dt>Oe||(se<Dt&&(O[F++]=new _e.Q(se,be,Dt-1,this.model.getLineMaxColumn(Dt-1))),se=It+1,be=1)}return(se<Oe||se===Oe&&be<it)&&(O[F++]=new _e.Q(se,be,Oe,it)),O}getCompletelyVisibleViewRange(){const t=this.viewLayout.getLinesViewportData(),s=t.completelyVisibleStartLineNumber,m=t.completelyVisibleEndLineNumber;return new _e.Q(s,this.getLineMinColumn(s),m,this.getLineMaxColumn(m))}getCompletelyVisibleViewRangeAtScrollTop(t){const s=this.viewLayout.getLinesViewportDataAtScrollTop(t),m=s.completelyVisibleStartLineNumber,O=s.completelyVisibleEndLineNumber;return new _e.Q(m,this.getLineMinColumn(m),O,this.getLineMaxColumn(O))}getViewRangeWithCursorPadding(t){const s=this._configuration.options,m=s.get(35),O=s.get(131);let{startLineNumber:F,endLineNumber:se}=t;const be=Math.min(Math.max(m,O.enabled?O.maxLineCount:0),Math.floor((se-F+1)/2));return F+=be,se-=Math.max(0,be-1),be===0||F>se?t:new _e.Q(F,this.getLineMinColumn(F),se,this.getLineMaxColumn(se))}saveState(){const t=this.viewLayout.saveState(),s=t.scrollTop,m=this.viewLayout.getLineNumberAtVerticalOffset(s),O=this.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(m,this.getLineMinColumn(m))),F=this.viewLayout.getVerticalOffsetForLineNumber(m)-s;return{scrollLeft:t.scrollLeft,firstPosition:O,firstPositionDeltaTop:F}}reduceRestoreState(t){if(typeof t.firstPosition>"u")return this._reduceRestoreStateCompatibility(t);const s=this.model.validatePosition(t.firstPosition),m=this.coordinatesConverter.convertModelPositionToViewPosition(s),O=this.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber)-t.firstPositionDeltaTop;return{scrollLeft:t.scrollLeft,scrollTop:O}}_reduceRestoreStateCompatibility(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(t,s,m){this._viewportStart.update(this,t)}getActiveIndentGuide(t,s,m){return this._lines.getActiveIndentGuide(t,s,m)}getLinesIndentGuides(t,s){return this._lines.getViewLinesIndentGuides(t,s)}getBracketGuidesInRangeByLine(t,s,m,O){return this._lines.getViewLinesBracketGuides(t,s,m,O)}getLineContent(t){return this._lines.getViewLineContent(t)}getLineLength(t){return this._lines.getViewLineLength(t)}getLineMinColumn(t){return this._lines.getViewLineMinColumn(t)}getLineMaxColumn(t){return this._lines.getViewLineMaxColumn(t)}getLineFirstNonWhitespaceColumn(t){const s=(0,vt.HG)(this.getLineContent(t));return s===-1?0:s+1}getLineLastNonWhitespaceColumn(t){const s=(0,vt.lT)(this.getLineContent(t));return s===-1?0:s+2}getMinimapDecorationsInRange(t){return this._decorations.getMinimapDecorationsInRange(t)}
318getDecorationsInViewport(t){return this._decorations.getDecorationsViewportData(t).decorations}getInjectedTextAt(t){return this._lines.getInjectedTextAt(t)}_getTextDirection(t,s){let m=0;for(const O of s){const F=O.range;if(F.startLineNumber>t||F.endLineNumber<t)continue;const se=O.options.textDirection;se===ae.z4.RTL?m++:se===ae.z4.LTR&&m--}return m>0?ae.z4.RTL:ae.z4.LTR}getTextDirection(t){const s=this._decorations.getDecorationsOnLine(t);return this._getTextDirection(t,s.decorations)}getViewportViewLineRenderingData(t,s){const m=this._decorations.getDecorationsViewportData(t),O=s-t.startLineNumber,F=m.inlineDecorations[O],se=m.hasVariableFonts[O];return this._getViewLineRenderingData(s,F,se,m.decorations)}getViewLineRenderingData(t){const s=this._decorations.getDecorationsOnLine(t);return this._getViewLineRenderingData(t,s.inlineDecorations[0],s.hasVariableFonts[0],s.decorations)}_getViewLineRenderingData(t,s,m,O){const F=this.model.mightContainRTL(),se=this.model.mightContainNonBasicASCII(),be=this.getTabSize(),Oe=this._lines.getViewLineData(t);return Oe.inlineDecorations&&(s=[...s,...Oe.inlineDecorations]),new io.qL(Oe.minColumn,Oe.maxColumn,Oe.content,Oe.continuesWithWrappedLine,F,se,Oe.tokens,s,be,Oe.startVisibleColumn,this._getTextDirection(t,O),m)}getViewLineData(t){return this._lines.getViewLineData(t)}getMinimapLinesRenderingData(t,s,m){const O=this._lines.getViewLinesData(t,s,m);return new io.nt(this.getTabSize(),O)}getAllOverviewRulerDecorations(t){const s=this.model.getOverviewRulerDecorations(this._editorId,(0,W.$C)(this._configuration.options),(0,W.Vs)(this._configuration.options)),m=new yc;for(const O of s){const F=O.options,se=F.overviewRuler;if(!se)continue;const be=se.position;if(be===0)continue;const Oe=se.getColor(t.value),it=this.coordinatesConverter.getViewLineNumberOfModelPosition(O.range.startLineNumber,O.range.startColumn),ct=this.coordinatesConverter.getViewLineNumberOfModelPosition(O.range.endLineNumber,O.range.endColumn);m.accept(Oe,F.zIndex,it,ct,be)}return m.asArray}_invalidateDecorationsColorCache(){const t=this.model.getOverviewRulerDecorations();for(const s of t)s.options.overviewRuler?.invalidateCachedColor(),s.options.minimap?.invalidateCachedColor()}getValueInRange(t,s){const m=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueInRange(m,s)}getValueLengthInRange(t,s){const m=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueLengthInRange(m,s)}modifyPosition(t,s){const m=this.coordinatesConverter.convertViewPositionToModelPosition(t),O=this.model.modifyPosition(m,s);return this.coordinatesConverter.convertModelPositionToViewPosition(O)}deduceModelPositionRelativeToViewPosition(t,s,m){const O=this.coordinatesConverter.convertViewPositionToModelPosition(t);this.model.getEOL().length===2&&(s<0?s-=m:s+=m);const se=this.model.getOffsetAt(O)+s;return this.model.getPositionAt(se)}getPlainTextToCopy(t,s,m){const O=m?`\r
319`:this.model.getEOL();t=t.slice(0),t.sort(_e.Q.compareRangesUsingStarts);let F=!1,se=!1;for(const ct of t)ct.isEmpty()?F=!0:se=!0;if(!se&&!s)return{sourceRanges:[],sourceText:""};const be=[],Oe=[],it=(ct,lt="")=>{be.push(ct),Oe.push(this.model.getValueInRange(ct,m?2:0)+lt)};if(F&&s){let ct=0;for(const lt of t){const Dt=lt.startLineNumber;lt.isEmpty()?Dt!==ct&&it(new _e.Q(Dt,this.model.getLineMinColumn(Dt),Dt,this.model.getLineMaxColumn(Dt)),O):it(lt),ct=Dt}}else for(const ct of t)ct.isEmpty()||it(ct);return{sourceRanges:be,sourceText:Oe.length===1?Oe[0]:Oe}}getRichTextToCopy(t,s){const m=this.model.getLanguageId();if(m===er.vH||t.length!==1)return null;let O=t[0];if(O.isEmpty()){if(!s)return null;const ct=O.startLineNumber;O=new _e.Q(ct,this.model.getLineMinColumn(ct),ct,this.model.getLineMaxColumn(ct))}const F=this._configuration.options.get(59),se=this._getColorMap(),Oe=/[:;\\\/<>]/.test(F.fontFamily)||F.fontFamily===Vn.jU.fontFamily;let it;return Oe?it=Vn.jU.fontFamily:(it=F.fontFamily,it=it.replace(/"/g,"'"),/[,']/.test(it)||/[+ ]/.test(it)&&(it=`'${it}'`),it=`${it}, ${Vn.jU.fontFamily}`),{mode:m,html:`<div style="color: ${se[1]};background-color: ${se[2]};font-family: ${it};font-weight: ${F.fontWeight};font-size: ${F.fontSize}px;line-height: ${F.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(O,se)+"</div>"}}_getHTMLToCopy(t,s){const m=t.startLineNumber,O=t.startColumn,F=t.endLineNumber,se=t.endColumn,be=this.getTabSize();let Oe="";for(let it=m;
319it<=F;it++){const ct=this.model.tokenization.getLineTokens(it),lt=ct.getLineContent(),Dt=it===m?O-1:0,It=it===F?se-1:lt.length;lt===""?Oe+="<br>":Oe+=(0,Kl.s0)(lt,ct.inflate(),s,Dt,It,be,a.uF)}return Oe}_getColorMap(){const t=tn.dG.getColorMap(),s=["#000000"];if(t)for(let m=1,O=t.length;m<O;m++)s[m]=xo.Q1.Format.CSS.formatHex(t[m]);return s}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(t,s,m){return this._withViewEventsCollector(O=>this._cursor.setStates(O,t,s,m))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(t){this._cursor.setCursorColumnSelectData(t)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(t){this._cursor.setPrevEditOperationType(t)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(t,s,m=0){this._withViewEventsCollector(O=>this._cursor.setSelections(O,t,s,m))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(t){this._withViewEventsCollector(s=>this._cursor.restoreState(s,t))}_executeCursorEdit(t){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Xd);return}this._withViewEventsCollector(t)}executeEdits(t,s,m,O){this._executeCursorEdit(F=>this._cursor.executeEdits(F,t,s,m,O))}startComposition(){this._executeCursorEdit(t=>this._cursor.startComposition(t))}endComposition(t){this._executeCursorEdit(s=>this._cursor.endComposition(s,t))}type(t,s){this._executeCursorEdit(m=>this._cursor.type(m,t,s))}compositionType(t,s,m,O,F){this._executeCursorEdit(se=>this._cursor.compositionType(se,t,s,m,O,F))}paste(t,s,m,O){this._executeCursorEdit(F=>this._cursor.paste(F,t,s,m,O))}cut(t){this._executeCursorEdit(s=>this._cursor.cut(s,t))}executeCommand(t,s){this._executeCursorEdit(m=>this._cursor.executeCommand(m,t,s))}executeCommands(t,s){this._executeCursorEdit(m=>this._cursor.executeCommands(m,t,s))}revealAllCursors(t,s,m=!1){this._withViewEventsCollector(O=>this._cursor.revealAll(O,t,m,0,s,0))}revealPrimaryCursor(t,s,m=!1){this._withViewEventsCollector(O=>this._cursor.revealPrimary(O,t,m,0,s,0))}revealTopMostCursor(t){const s=this._cursor.getTopMostViewPosition(),m=new _e.Q(s.lineNumber,s.column,s.lineNumber,s.column);this._withViewEventsCollector(O=>O.emitViewEvent(new yl(t,!1,m,null,0,!0,0)))}revealBottomMostCursor(t){const s=this._cursor.getBottomMostViewPosition(),m=new _e.Q(s.lineNumber,s.column,s.lineNumber,s.column);this._withViewEventsCollector(O=>O.emitViewEvent(new yl(t,!1,m,null,0,!0,0)))}revealRange(t,s,m,O,F){this._withViewEventsCollector(se=>se.emitViewEvent(new yl(t,!1,m,null,O,s,F)))}changeWhitespace(t){this.viewLayout.changeWhitespace(t)&&(this._eventDispatcher.emitSingleViewEvent(new vd),this._eventDispatcher.emitOutgoingEvent(new gc))}_withViewEventsCollector(t){return this._transactionalTarget.batchChanges(()=>this._emitViewEvent(t))}_emitViewEvent(t){try{const s=this._eventDispatcher.beginEmitViewEvents();return t(s)}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(t){this._withViewEventsCollector(()=>{t()})}normalizePosition(t,s){return this._lines.normalizePosition(t,s)}getLineIndentColumn(t){return this._lines.getLineIndentColumn(t)}}class Id{static create(t){const s=t._setTrackedRange(null,new _e.Q(1,1,1,1),1);return new Id(t,1,!1,s,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(t,s,m,O,F){this._model=t,this._viewLineNumber=s,this._isValid=m,this._modelTrackedRange=O,this._startLineDelta=F}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(t,s){const m=t.coordinatesConverter.convertViewPositionToModelPosition(new Le.y(s,t.getLineMinColumn(s))),O=t.model._setTrackedRange(this._modelTrackedRange,new _e.Q(m.lineNumber,m.column,m.lineNumber,m.column),1),F=t.viewLayout.getVerticalOffsetForLineNumber(s),se=t.viewLayout.getCurrentScrollTop();this._viewLineNumber=s,this._isValid=!0,this._modelTrackedRange=O,this._startLineDelta=se-F}invalidate(){this._isValid=!1}}class yc{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(t,s,m,O,F){const se=this._asMap[t];if(se){const be=se.data,Oe=be[be.length-3],it=be[be.length-1];if(Oe===F&&it+1>=m){O>it&&(be[be.length-1]=O);return}be.push(F,m,O)}else{const be=new io.Uv(t,s,[F,m,O]);this._asMap[t]=be,this.asArray.push(be)}}}class Td{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(t,s){const m=this.hiddenAreas.get(t);m&&sc(m,s)||(this.hiddenAreas.set(t,s),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const t=Array.from(this.hiddenAreas.values()).reduce((s,m)=>nc(s,m),[]);return sc(this.ranges,t)?this.ranges:(this.ranges=t,this.ranges)}}function nc(ft,t){const s=[];let m=0,O=0;for(;m<ft.length&&O<t.length;){const F=ft[m],se=t[O];
319if(F.endLineNumber<se.startLineNumber-1)s.push(ft[m++]);else if(se.endLineNumber<F.startLineNumber-1)s.push(t[O++]);else{const be=Math.min(F.startLineNumber,se.startLineNumber),Oe=Math.max(F.endLineNumber,se.endLineNumber);s.push(new _e.Q(be,1,Oe,1)),m++,O++}}for(;m<ft.length;)s.push(ft[m++]);for(;O<t.length;)s.push(t[O++]);return s}function sc(ft,t){if(ft.length!==t.length)return!1;for(let s=0;s<ft.length;s++)if(!ft[s].equalsRange(t[s]))return!1;return!0}class nl{constructor(t,s){this.viewportStartModelPosition=t,this.startLineDelta=s}recoverViewportStart(t,s){if(!this.viewportStartModelPosition)return;const m=t.convertModelPositionToViewPosition(this.viewportStartModelPosition),O=s.getVerticalOffsetForLineNumber(m.lineNumber);s.setScrollPosition({scrollTop:O+this.startLineDelta},1)}}var wc=e(82096),oc=e(31540),Na=e(30657),rc=e(29879),Aa=e(58067),Ec=function(ft,t,s,m){var O=arguments.length,F=O<3?t:m===null?m=Object.getOwnPropertyDescriptor(t,s):m,se;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")F=Reflect.decorate(ft,t,s,m);else for(var be=ft.length-1;be>=0;be--)(se=ft[be])&&(F=(O<3?se(F):O>3?se(t,s,F):se(t,s))||F);return O>3&&F&&Object.defineProperty(t,s,F),F},Sr=function(ft,t){return function(s,m){t(s,m,ft)}},Wa;let _a=(sa=class extends i.jG{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(t,s,m,O,F,se,be,Oe,it,ct,lt,Dt,It){super(),this.languageConfigurationService=lt,this._deliveryQueue=(0,u.Qy)(),this._contributions=this._register(new Al),this._onDidDispose=this._register(new u.vl),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Jl({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Jl({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new ho(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onWillCopy=this._register(new ho(this._contributions,this._deliveryQueue)),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new ho(this._contributions,this._deliveryQueue)),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new ho(this._contributions,this._deliveryQueue)),this.onWillPaste=this._onWillPaste.event,this._onMouseUp=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new ho(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new ho(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new ho(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new ho(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new ho(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new u.vl({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new u.vl),this._onBeginU
319pdate=this._register(new u.vl),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new u.vl),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new u.vl),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,F.willCreateCodeEditor();const Ut={...s};if(this._domElement=t,this._userInteractionService=It,this._overflowWidgetsDomNode=Ut.overflowWidgetsDomNode,delete Ut.overflowWidgetsDomNode,this._id=++va,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=m.telemetryData,this._configuration=this._register(this._createConfiguration(m.isSimpleWidget||!1,m.contextMenuId??(m.isSimpleWidget?Aa.D8.SimpleEditorContext:Aa.D8.EditorContext),Ut,ct)),this._domElement.style?.setProperty("--editor-font-size",this._configuration.options.get(61)+"px"),this._register(this._configuration.onDidChange(oi=>{this._onDidChangeConfiguration.fire(oi);const yi=this._configuration.options;if(oi.hasChanged(165)){const Ti=yi.get(165);this._onDidLayoutChange.fire(Ti)}oi.hasChanged(61)&&this._domElement.style.setProperty("--editor-font-size",yi.get(61)+"px")})),this._contextKeyService=this._register(be.createScoped(this._domElement)),m.contextKeyValues)for(const[oi,yi]of Object.entries(m.contextKeyValues))this._contextKeyService.createKey(oi,yi);this._notificationService=it,this._codeEditorService=F,this._commandService=se,this._themeService=Oe,this._register(new Md(this,this._contextKeyService)),this._register(new ql(this,this._contextKeyService,Dt)),this._instantiationService=this._register(O.createChild(new Na.a([oc.fN,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let ti;Array.isArray(m.contributions)?ti=m.contributions:ti=x.dS.getEditorContributions(),this._contributions.initialize(this,ti,this._instantiationService);for(const oi of x.dS.getEditorActions()){if(this._actions.has(oi.id)){(0,C.dz)(new Error(`Cannot have two actions with the same id ${oi.id}`));continue}const yi=new pl.f(oi.id,oi.label,oi.alias,oi.metadata,oi.precondition??void 0,Ti=>this._instantiationService.invokeFunction(ji=>Promise.resolve(oi.runEditorCommand(ji,this,Ti))),this._contextKeyService);this._actions.set(yi.id,yi)}const ii=()=>!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled;this._register(new b.pN(this._domElement,{onDragOver:oi=>{if(!ii())return;const yi=this.getTargetAtClientPoint(oi.clientX,oi.clientY);yi?.position&&this.showDropIndicatorAt(yi.position)},onDrop:async oi=>{if(!ii()||(this.removeDropIndicator(),!oi.dataTransfer))return;const yi=this.getTargetAtClientPoint(oi.clientX,oi.clientY);yi?.position&&this._onDropIntoEditor.fire({position:yi.position,event:oi})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(t){this._modelData?.view.writeScreenReaderContent(t)}_createConfiguration(t,s,m,O){return new Z(t,s,m,this._domElement,O)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return _l._.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(t){return this._instantiationService.invokeFunction(t)}updateOptions(t){this._configuration.updateOptions(t||{})}getOptions(){return this._configuration.options}getOption(t){return this._configuration.options.get(t)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(t){return this._modelData?Qd.z.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),t):null}getValue(t=null){if(!this._modelData)return"";const s=!!(t&&t.preserveBOM);let m=0;return t&&t.lineEnding&&t.lineEnding===`
320`?m=1:t&&t.lineEnding&&t.lineEnding===`\r
321`&&(m=2),this._modelData.model.getValue(m,s)}setValue(t){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(t)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(t=null){try{this._beginUpdate();const s=t;if(this._modelData===null&&s===null||this._modelData&&this._modelData.model===s)return;const m={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:s?.uri||null};this._onWillChangeModel.fire(m);const O=this.hasTextFocus(),F=this._detachModel();this._attachModel(s),this.hasModel()?O&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(m),this._postDetachModelCleanup(F),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const t in this._decorationTypeSubtypes){const s=this._decorationTypeSubtypes[t];for(const m in s)this._removeDecorationType(t+"-"+m)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}
321getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(t,s,m,O){const F=t.model.validatePosition({lineNumber:s,column:m}),se=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(F);return t.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(se.lineNumber,O)}getTopForLineNumber(t,s=!1){return this._modelData?Wa._getVerticalOffsetForPosition(this._modelData,t,1,s):-1}getTopForPosition(t,s){return this._modelData?Wa._getVerticalOffsetForPosition(this._modelData,t,s,!1):-1}static _getVerticalOffsetForPosition(t,s,m,O=!1){const F=t.model.validatePosition({lineNumber:s,column:m}),se=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(F);return t.viewModel.viewLayout.getVerticalOffsetForLineNumber(se.lineNumber,O)}getBottomForLineNumber(t,s=!1){return this._modelData?Wa._getVerticalOffsetAfterPosition(this._modelData,t,Number.MAX_SAFE_INTEGER,s):-1}getLineHeightForPosition(t){if(!this._modelData)return-1;const s=this._modelData.viewModel,m=s.coordinatesConverter,O=Le.y.lift(t);if(m.modelPositionIsVisible(O)){const F=m.convertModelPositionToViewPosition(O);return s.viewLayout.getLineHeightForLineNumber(F.lineNumber)}return 0}setHiddenAreas(t,s,m){this._modelData?.viewModel.setHiddenAreas(t.map(O=>_e.Q.lift(O)),s,m)}getVisibleColumnFromPosition(t){if(!this._modelData)return t.column;const s=this._modelData.model.validatePosition(t),m=this._modelData.model.getOptions().tabSize;return Qe.A.visibleColumnFromColumn(this._modelData.model.getLineContent(s.lineNumber),s.column,m)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(t,s="api"){if(this._modelData){if(!Le.y.isIPosition(t))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(s,[{selectionStartLineNumber:t.lineNumber,selectionStartColumn:t.column,positionLineNumber:t.lineNumber,positionColumn:t.column}])}}_sendRevealRange(t,s,m,O){if(!this._modelData)return;if(!_e.Q.isIRange(t))throw new Error("Invalid arguments");const F=this._modelData.model.validateRange(t),se=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(F);this._modelData.viewModel.revealRange("api",m,se,s,O)}revealAllCursors(t,s){this._modelData&&this._modelData.viewModel.revealAllCursors("api",t,s)}revealLine(t,s=0){this._revealLine(t,0,s)}revealLineInCenter(t,s=0){this._revealLine(t,1,s)}revealLineInCenterIfOutsideViewport(t,s=0){this._revealLine(t,2,s)}revealLineNearTop(t,s=0){this._revealLine(t,5,s)}_revealLine(t,s,m){if(typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new _e.Q(t,1,t,1),s,!1,m)}revealPosition(t,s=0){this._revealPosition(t,0,!0,s)}revealPositionInCenter(t,s=0){this._revealPosition(t,1,!0,s)}revealPositionInCenterIfOutsideViewport(t,s=0){this._revealPosition(t,2,!0,s)}revealPositionNearTop(t,s=0){this._revealPosition(t,5,!0,s)}_revealPosition(t,s,m,O){if(!Le.y.isIPosition(t))throw new Error("Invalid arguments");this._sendRevealRange(new _e.Q(t.lineNumber,t.column,t.lineNumber,t.column),s,m,O)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(t,s="api"){const m=pe.L.isISelection(t),O=_e.Q.isIRange(t);if(!m&&!O)throw new Error("Invalid arguments");if(m)this._setSelectionImpl(t,s);else if(O){const F={selectionStartLineNumber:t.startLineNumber,selectionStartColumn:t.startColumn,positionLineNumber:t.endLineNumber,positionColumn:t.endColumn};this._setSelectionImpl(F,s)}}_setSelectionImpl(t,s){if(!this._modelData)return;const m=new pe.L(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn);this._modelData.viewModel.setSelections(s,[m])}revealLines(t,s,m=0){this._revealLines(t,s,0,m)}revealLinesInCenter(t,s,m=0){this._revealLines(t,s,1,m)}revealLinesInCenterIfOutsideViewport(t,s,m=0){this._revealLines(t,s,2,m)}revealLinesNearTop(t,s,m=0){this._revealLines(t,s,5,m)}_revealLines(t,s,m,O){if(typeof t!="number"||typeof s!="number")throw new Error("Invalid arguments");this._sendRevealRange(new _e.Q(t,1,s,1),m,!1,O)}revealRange(t,s=0,m=!1,O=!0){this._revealRange(t,m?1:0,O,s)}revealRangeInCenter(t,s=0){this._revealRange(t,1,!0,s)}revealRangeInCenterIfOutsideViewport(t,s=0){this._revealRange(t,2,!0,s)}revealRangeNearTop(t,s=0){this._revealRange(t,5,!0,s)}revealRangeNearTopIfOutsideViewport(t,s=0){this._revealRange(t,6,!0,s)}revealRangeAtTop(t,s=0){this._revealRange(t,3,!0,s)}_revealRange(t,s,m,O){if(!_e.Q.isIRange(t))throw new Error("Invalid arguments");this._sendRevealRange(_e.Q.lift(t),s,m,O)}setSelections(t,s="api",m=0){if(this._modelData){if(!t||t.length===0)throw new Error("Invalid arguments");for(let O=0,F=t.length;O<F;O++)if(!pe.L.isISelection(t[O]))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(s,t,m)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(t,s=1){if(this._modelData){if(typeof t!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:t},s)}}setScrollTop(t,s=1){if(this._modelData){if(typeof t!="number")throw new Error("Invalid arguments");this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:t},s)}}setScrollPosition(t,s=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(t,s)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;const t=this._contributions.saveViewState(),s=this._modelData.viewModel.saveCursorState(),m=this._modelData.viewModel.saveState();return{cursorState:s,viewState:m,contributionsState:t}}restoreViewState(t){if(!this._modelData||!this._modelData.hasRealView)return;const s=t;if(s&&s.cursorState&&s.viewState){const m=s.cursorState;Array.isArray(m)?m.length>0&&this._modelData.viewModel.restoreCursorState(m):this._modelData.viewModel.restoreCursorState([m]),this._contributions.restoreViewState(s.contributionsState||{});const O=this._modelData.viewModel.reduceRestoreState(s.viewState);this._modelData.view.restoreState(O)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(t){return this._contributions.get(t)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let t=this.getActions();return t=t.filter(s=>s.isSupported()),t}getAction(t){return this._actions.get(t)||null}trigger(t,s,m){m=m||{};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:t,handlerId:s,payload:m}),this._beginUpdate(),s){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(t);return;case"type":{const F=m;this._type(t,F.text||"");return}case"replacePreviousChar":{const F=m;this._compositionType(t,F.text||"",F.replaceCharCnt||0,0,0);return}case"compositionType":{const F=m;this._compositionType(t,F.text||"",F.replacePrevCharCnt||0,F.replaceNextCharCnt||0,F.positionDelta||0);return}case"paste":{const F=m;this._paste(t,F.text||"",F.pasteOnNewLine||!1,F.multicursorText||null,F.mode||null,F.clipboardEvent);return}case"cut":this._cut(t);return}const O=this.getAction(s);if(O){Promise.resolve(O.run(m)).then(void 0,C.dz);return}if(!this._modelData||this._triggerEditorCommand(t,s,m))return;this._triggerCommand(s,m)}finally{this._endUpdate()}}_triggerCommand(t,s){this._commandService.executeCommand(t,s)}_startComposition(){this._modelData&&(this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(t){this._modelData&&(this.inComposition=!1,this._modelData.viewModel.endComposition(t),this._onDidCompositionEnd.fire())}_type(t,s){!this._modelData||s.length===0||(t==="keyboard"&&this._onWillType.fire(s),this._modelData.viewModel.type(s,t),t==="
321keyboard"&&this._onDidType.fire(s))}_compositionType(t,s,m,O,F){this._modelData&&this._modelData.viewModel.compositionType(s,m,O,F,t)}_paste(t,s,m,O,F,se){if(!this._modelData)return;const be=this._modelData.viewModel,Oe=be.getSelection().getStartPosition();be.paste(s,m,O,t);const it=be.getSelection().getStartPosition();t==="keyboard"&&this._onDidPaste.fire({clipboardEvent:se,range:new _e.Q(Oe.lineNumber,Oe.column,it.lineNumber,it.column),languageId:F})}_cut(t){this._modelData&&this._modelData.viewModel.cut(t)}_triggerEditorCommand(t,s,m){const O=x.dS.getEditorCommand(s);return O?(m=m||{},(0,Ki.Gv)(m)&&(m.source=t),this._instantiationService.invokeFunction(F=>{Promise.resolve(O.runEditorCommand(F,this,m)).then(void 0,C.dz)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.popStackElement(),!0)}edit(t,s){return this.executeEdits(s,t.replacements.map(m=>({range:m.range,text:m.text})),void 0)}executeEdits(t,s,m){if(!this._modelData||this._configuration.options.get(104))return!1;let O;m?Array.isArray(m)?O=()=>m:O=m:O=()=>null;let F,se;return t instanceof Cr.OL?(se=t,F=t.metadata.source):(se=Cr.dg.unknown({name:t}),F=t),this._onBeforeExecuteEdit.fire({source:F??void 0}),this._modelData.viewModel.executeEdits(F,s,O,se),!0}executeCommand(t,s){this._modelData&&this._modelData.viewModel.executeCommand(s,t)}executeCommands(t,s){this._modelData&&this._modelData.viewModel.executeCommands(s,t)}createDecorationsCollection(t){return new Ba(this,t)}changeDecorations(t){return this._modelData?this._modelData.model.changeDecorations(t,this._id):null}getLineDecorations(t){if(!this._modelData)return null;const s=this._configuration.options;return this._modelData.model.getLineDecorations(t,this._id,(0,W.$C)(s),(0,W.Vs)(s))}getDecorationsInRange(t){if(!this._modelData)return null;const s=this._configuration.options;return this._modelData.model.getDecorationsInRange(t,this._id,(0,W.$C)(s),(0,W.Vs)(s))}getFontSizeAtPosition(t){return this._modelData?this._modelData.viewModel.getFontSizeAtPosition(t):null}deltaDecorations(t,s){return this._modelData?t.length===0&&s.length===0?t:this._modelData.model.deltaDecorations(t,s,this._id):[]}removeDecorations(t){!this._modelData||t.length===0||this._modelData.model.changeDecorations(s=>{s.deltaDecorations(t,[])})}removeDecorationsByType(t){const s=this._decorationTypeKeysToIds[t];if(s&&this.changeDecorations(m=>m.deltaDecorations(s,[])),this._decorationTypeKeysToIds.hasOwnProperty(t)&&delete this._decorationTypeKeysToIds[t],this._decorationTypeSubtypes.hasOwnProperty(t)){const m=this._decorationTypeSubtypes[t];for(const O of Object.keys(m))this._removeDecorationType(t+"-"+O);delete this._decorationTypeSubtypes[t]}}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(t)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(t){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(t)}layout(t,s=!1){this._configuration.observeContainer(t),s||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isWidgetFocused()}addContentWidget(t){const s={widget:t,position:t.getPosition()};this._contentWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a content widget with the same id:"+t.getId()),this._contentWidgets[t.getId()]=s,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(s)}layoutContentWidget(t){const s=t.getId();if(this._contentWidgets.hasOwnProperty(s)){const m=this._contentWidgets[s];m.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(m)}}
321removeContentWidget(t){const s=t.getId();if(this._contentWidgets.hasOwnProperty(s)){const m=this._contentWidgets[s];delete this._contentWidgets[s],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(m)}}addOverlayWidget(t){const s={widget:t,position:t.getPosition()};this._overlayWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[t.getId()]=s,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(s)}layoutOverlayWidget(t){const s=t.getId();if(this._overlayWidgets.hasOwnProperty(s)){const m=this._overlayWidgets[s];m.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(m)}}removeOverlayWidget(t){const s=t.getId();if(this._overlayWidgets.hasOwnProperty(s)){const m=this._overlayWidgets[s];delete this._overlayWidgets[s],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(m)}}addGlyphMarginWidget(t){const s={widget:t,position:t.getPosition()};this._glyphMarginWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[t.getId()]=s,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(s)}layoutGlyphMarginWidget(t){const s=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(s)){const m=this._glyphMarginWidgets[s];m.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(m)}}removeGlyphMarginWidget(t){const s=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(s)){const m=this._glyphMarginWidgets[s];delete this._glyphMarginWidgets[s],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(m)}}changeViewZones(t){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(t)}getTargetAtClientPoint(t,s){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(t,s)}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;const s=this._modelData.model.validatePosition(t),O=this._configuration.options.get(165),F=Wa._getVerticalOffsetForPosition(this._modelData,s.lineNumber,s.column)-this.getScrollTop(),se=this._modelData.view.getOffsetForColumn(s.lineNumber,s.column)+O.glyphMarginWidth+O.lineNumbersWidth+O.decorationsWidth-this.getScrollLeft(),be=this.getLineHeightForPosition(s);return{top:F,left:se,height:be}}getOffsetForColumn(t,s){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(t,s)}getWidthOfLine(t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getLineWidth(t)}resetLineWidthCaches(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.resetLineWidthCaches()}render(t=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,t)})}renderAsync(t=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!1,t)})}setAriaOptions(t){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(t)}applyFontInfo(t){(0,d.M)(t,this._configuration.options.get(59))}setBanner(t,s){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=t,this._configuration.setReservedHeight(t?s:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(t){if(!t){this._modelData=null;return}const s=[];this._domElement.setAttribute("data-mode-id",t.getLanguageId()),this._configuration.setIsDominatedByLongLines(t.isDominatedByLongLines()),this._configuration.setModelLineCount(t.getLineCount());const m=t.onBeforeAttached(),O=new pa(this._id,this._configuration,t,Rr.create((0,b.zk)(this._domElement)),qo.create(this._configuration.options),be=>(0,b.PG)((0,b.zk)(this._domElement),be),this.languageConfigurationService,this._themeService,m,{batchChanges:be=>{try{return this._beginUpdate(),be()}finally{this._endUpdate()}}});s.push(t.onWillDispose(()=>this.setModel(null))),s.push(O.onEvent(be=>{switch(be.kind){case 0:this._onDidContentSizeChange.fire(be);break;case 1:this._editorTextFocus.setValue(be.hasFocus);break;case 2:this._editorWidgetFocus.setValue(be.hasFocus);break;case 3:this._onDidScrollChange.fire(be);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(be.reachedMaxCursorCount){const lt=this.getOption(89),Dt=(0,B.kg)(99,"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",lt);this._notificationService.prompt(rc.AI.Warning,Dt,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:(0,B.kg)(100,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const Oe=[];for(let lt=0,Dt=be.selections.length;lt<Dt;lt++)Oe[lt]=be.selections[lt].getPosition();const it={position:Oe[0],secondaryPositions:Oe.slice(1),reason:be.reason,source:be.source};this._onDidChangeCursorPosition.fire(it);const ct={selection:be.selections[0],secondarySelections:be.selections.slice(1),modelVersionId:be.modelVersionId,oldSelections:be.oldSelections,oldModelVersionId:be.oldModelVersionId,source:be.source,reason:be.reason};this._onDidChangeCursorSelection.fire(ct);break}case 8:this._onDidChangeModelDecorations.fire(be.event);break;case 9:this._domElement.setAttribute("data-mode-id",t.getLanguageId()),this._onDidChangeModelLanguage.fire(be.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(be.event);break;case 11:this._onDidChangeModelContent.fire(be.event);break;case 12:this._onDidChangeModelOptions.fire(be.event);break;case 13:this._onDidChangeModelTokens.fire(be.event);break;case 14:this._onDidChangeLineHeight.fire(be.event);break;case 15:this._onDidChangeFont.fire(be.event);break}}
321));const[F,se]=this._createView(O);if(se){this._domElement.appendChild(F.domNode.domNode);let be=Object.keys(this._contentWidgets);for(let Oe=0,it=be.length;Oe<it;Oe++){const ct=be[Oe];F.addContentWidget(this._contentWidgets[ct])}be=Object.keys(this._overlayWidgets);for(let Oe=0,it=be.length;Oe<it;Oe++){const ct=be[Oe];F.addOverlayWidget(this._overlayWidgets[ct])}be=Object.keys(this._glyphMarginWidgets);for(let Oe=0,it=be.length;Oe<it;Oe++){const ct=be[Oe];F.addGlyphMarginWidget(this._glyphMarginWidgets[ct])}F.render(!1,!0),F.domNode.domNode.setAttribute("data-uri",t.uri.toString()),s.push(F.onWillCopy(Oe=>this._onWillCopy.fire(Oe))),s.push(F.onWillCut(Oe=>this._onWillCut.fire(Oe))),s.push(F.onWillPaste(Oe=>this._onWillPaste.fire(Oe)))}this._modelData=new Lc(t,O,F,se,s,m)}_createView(t){let s;this.isSimpleWidget?s={paste:(F,se,be,Oe)=>{this._paste("keyboard",F,se,be,Oe)},type:F=>{this._type("keyboard",F)},compositionType:(F,se,be,Oe)=>{this._compositionType("keyboard",F,se,be,Oe)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:s={paste:(F,se,be,Oe)=>{const it={text:F,pasteOnNewLine:se,multicursorText:be,mode:Oe};this._commandService.executeCommand("paste",it)},type:F=>{const se={text:F};this._commandService.executeCommand("type",se)},compositionType:(F,se,be,Oe)=>{if(be||Oe){const it={text:F,replacePrevCharCnt:se,replaceNextCharCnt:be,positionDelta:Oe};this._commandService.executeCommand("compositionType",it)}else{const it={text:F,replaceCharCnt:se};this._commandService.executeCommand("replacePreviousChar",it)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const m=new Ei(t.coordinatesConverter);return m.onKeyDown=F=>this._onKeyDown.fire(F),m.onKeyUp=F=>this._onKeyUp.fire(F),m.onContextMenu=F=>this._onContextMenu.fire(F),m.onMouseMove=F=>this._onMouseMove.fire(F),m.onMouseLeave=F=>this._onMouseLeave.fire(F),m.onMouseDown=F=>this._onMouseDown.fire(F),m.onMouseUp=F=>this._onMouseUp.fire(F),m.onMouseDrag=F=>this._onMouseDrag.fire(F),m.onMouseDrop=F=>this._onMouseDrop.fire(F),m.onMouseDropCanceled=F=>this._onMouseDropCanceled.fire(F),m.onMouseWheel=F=>this._onMouseWheel.fire(F),[new Gd(this._domElement,this.getId(),s,this._configuration,this._themeService.getColorTheme(),t,m,this._overflowWidgetsDomNode,this._instantiationService,this._userInteractionService),!0]}_postDetachModelCleanup(t){t?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,s=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),s&&this._domElement.contains(s)&&s.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),t}_removeDecorationType(t){this._codeEditorService.removeDecorationType(t)}hasModel(){return this._modelData!==null}showDropIndicatorAt(t){const s=[{range:new _e.Q(t.lineNumber,t.column,t.lineNumber,t.column),options:Wa.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(s),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginU
321pdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}},Wa=sa,sa.dropIntoEditorDecorationOptions=Yr.kI.register({description:"workbench-dnd-target",className:"dnd-target"}),sa);_a=Wa=Ec([Sr(3,go._Y),Sr(4,re.T),Sr(5,wc.d),Sr(6,oc.fN),Sr(7,li.Gy),Sr(8,rc.Ot),Sr(9,te.j),Sr(10,Yd.JZ),Sr(11,Ia.u),Sr(12,fl.u)],_a);let va=0;class Lc{constructor(t,s,m,O,F,se){this.model=t,this.viewModel=s,this.view=m,this.hasRealView=O,this.listenersToRemove=F,this.attachedView=se}dispose(){(0,i.AS)(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}class Jl extends i.jG{constructor(t){super(),this._emitterOptions=t,this._onDidChangeToTrue=this._register(new u.vl(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new u.vl(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(t){const s=t?2:1;this._value!==s&&(this._value=s,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class ho extends u.vl{constructor(t,s){super({deliveryQueue:s}),this._contributions=t}fire(t){this._contributions.onBeforeInteractionEvent(),super.fire(t)}}class Md extends i.jG{constructor(t,s){super(),this._editor=t,s.createKey("editorId",t.getId()),this._editorSimpleInput=Rs.R.editorSimpleInput.bindTo(s),this._editorFocus=Rs.R.focus.bindTo(s),this._textInputFocus=Rs.R.textInputFocus.bindTo(s),this._editorTextFocus=Rs.R.editorTextFocus.bindTo(s),this._tabMovesFocus=Rs.R.tabMovesFocus.bindTo(s),this._editorReadonly=Rs.R.readOnly.bindTo(s),this._inDiffEditor=Rs.R.inDiffEditor.bindTo(s),this._editorColumnSelection=Rs.R.columnSelection.bindTo(s),this._hasMultipleSelections=Rs.R.hasMultipleSelections.bindTo(s),this._hasNonEmptySelection=Rs.R.hasNonEmptySelection.bindTo(s),this._canUndo=Rs.R.canUndo.bindTo(s),this._canRedo=Rs.R.canRedo.bindTo(s),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(N.M.onDidChangeTabFocus(m=>this._tabMovesFocus.set(m))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const t=this._editor.getOptions();this._tabMovesFocus.set(t.get(164)||N.M.getTabFocusMode()),this._editorReadonly.set(t.get(104)),this._inDiffEditor.set(t.get(70)),this._editorColumnSelection.set(t.get(28))}_updateFromSelection(){const t=this._editor.getSelections();t?(this._hasMultipleSelections.set(t.length>1),this._hasNonEmptySelection.set(t.some(s=>!s.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const t=this._editor.getModel();this._canUndo.set(!!(t&&t.canUndo())),this._canRedo.set(!!(t&&t.canRedo()))}}class ql extends i.jG{constructor(t,s,m){super(),this._editor=t,this._contextKeyService=s,this._languageFeaturesService=m,this._langId=Rs.R.languageId.bindTo(s),this._hasCompletionItemProvider=Rs.R.hasCompletionItemProvider.bindTo(s),this._hasCodeActionsProvider=Rs.R.hasCodeActionsProvider.bindTo(s),this._hasCodeLensProvider=Rs.R.hasCodeLensProvider.bindTo(s),this._hasDefinitionProvider=Rs.R.hasDefinitionProvider.bindTo(s),this._hasDeclarationProvider=Rs.R.hasDeclarationProvider.bindTo(s),this._hasImplementationProvider=Rs.R.hasImplementationProvider.bindTo(s),this._hasTypeDefinitionProvider=Rs.R.hasTypeDefinitionProvider.bindTo(s),this._hasHoverProvider=Rs.R.hasHoverProvider.bindTo(s),this._hasDocumentHighlightProvider=Rs.R.hasDocumentHighlightProvider.bindTo(s),this._hasDocumentSymbolProvider=Rs.R.hasDocumentSymbolProvider.bindTo(s),this._hasReferenceProvider=Rs.R.hasReferenceProvider.bindTo(s),this._hasRenameProvider=Rs.R.hasRenameProvider.bindTo(s),this._hasSignatureHelpProvider=Rs.R.hasSignatureHelpProvider.bindTo(s),this._hasInlayHintsProvi
321der=Rs.R.hasInlayHintsProvider.bindTo(s),this._hasDocumentFormattingProvider=Rs.R.hasDocumentFormattingProvider.bindTo(s),this._hasDocumentSelectionFormattingProvider=Rs.R.hasDocumentSelectionFormattingProvider.bindTo(s),this._hasMultipleDocumentFormattingProvider=Rs.R.hasMultipleDocumentFormattingProvider.bindTo(s),this._hasMultipleDocumentSelectionFormattingProvider=Rs.R.hasMultipleDocumentSelectionFormattingProvider.bindTo(s),this._isInEmbeddedEditor=Rs.R.isInEmbeddedEditor.bindTo(s);const O=()=>this._update();this._register(t.onDidChangeModel(O)),this._register(t.onDidChangeModelLanguage(O)),this._register(m.completionProvider.onDidChange(O)),this._register(m.codeActionProvider.onDidChange(O)),this._register(m.codeLensProvider.onDidChange(O)),this._register(m.definitionProvider.onDidChange(O)),this._register(m.declarationProvider.onDidChange(O)),this._register(m.implementationProvider.onDidChange(O)),this._register(m.typeDefinitionProvider.onDidChange(O)),this._register(m.hoverProvider.onDidChange(O)),this._register(m.documentHighlightProvider.onDidChange(O)),this._register(m.documentSymbolProvider.onDidChange(O)),this._register(m.referenceProvider.onDidChange(O)),this._register(m.renameProvider.onDidChange(O)),this._register(m.documentFormattingEditProvider.onDidChange(O)),this._register(m.documentRangeFormattingEditProvider.onDidChange(O)),this._register(m.signatureHelpProvider.onDidChange(O)),this._register(m.inlayHintsProvider.onDidChange(O)),O()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const t=this._editor.getModel();if(!t){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(t.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(t)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(t)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(t)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(t)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(t)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(t)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(t)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(t)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(t)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(t)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(t)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(t)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(t)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(t)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(t)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(t).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>
3211),this._isInEmbeddedEditor.set(t.uri.scheme===r.ny.walkThroughSnippet||t.uri.scheme===r.ny.vscodeChatCodeBlock)})}}class Ba{get length(){return this._decorationIds.length}constructor(t,s){this._editor=t,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(s)&&s.length>0&&this.set(s)}onDidChange(t,s,m){return this._editor.onDidChangeModelDecorations(O=>{this._isChangingDecorations||t.call(s,O)},m)}getRange(t){return!this._editor.hasModel()||t>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[t])}getRanges(){if(!this._editor.hasModel())return[];const t=this._editor.getModel(),s=[];for(const m of this._decorationIds){const O=t.getDecorationRange(m);O&&s.push(O)}return s}has(t){return this._decorationIds.includes(t.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(t){try{this._isChangingDecorations=!0,this._editor.changeDecorations(s=>{this._decorationIds=s.deltaDecorations(this._decorationIds,t)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(t){let s=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(m=>{s=m.deltaDecorations([],t),this._decorationIds=this._decorationIds.concat(s)})}finally{this._isChangingDecorations=!1}return s}}const sl=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),lr=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function Ca(ft){return sl+encodeURIComponent(ft.toString())+lr}const ac=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),ta=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');function ol(ft){return ac+encodeURIComponent(ft.toString())+ta}(0,li.zy)((ft,t)=>{const s=ft.getColor(Cn.Rb);s&&(t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${Ca(s)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${Ca(s)}"); }`));const m=ft.getColor(Cn.Hn);m&&(t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${Ca(m)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${Ca(m)}"); }`));const O=ft.getColor(Cn.pO);O&&(t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${Ca(O)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${Ca(O)}"); }`));const F=ft.getColor(Cn.i6);F&&(t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${ol(F)}") no-repeat bottom left; }`),t.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${ol(F)}"); }`));const se=ft.getColor(Xt.yw);se&&(t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${se.rgba.a}; }`),t.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${se.rgba.a}; }`))})},65065:(St,We,e)=>{var Nd,Ad,Wd,Bd,Fd,Hd,Vd;e.d(We,{Qi:()=>yg,vl:()=>Lh,DD:()=>wg,QX:()=>Eg,cj:()=>Tg,d_:()=>Mg,yX:()=>Lg,Q6:()=>Dg,LN:()=>xg,SB:()=>Ig,ou:()=>Og,zn:()=>Rg,EN:()=>Pg,eo:()=>kd});var v=e(61659),R=e(5120),x=e(86302),T=e(65014),y=e(60543),A=e(43067),g=e(72106),L=e(35143),b=e(94184),C=e(56096),u=e(47738),i=e(72270),r=e(89803);const d="__monacoFindWidgetTabIndexPatchApplied",l="__monacoFindWidgetOriginalTabIndex";function o(Ne,n){const f=Ne?._domNode;if(!f)return;const P=f.querySelectorAll('input, textarea, [tabindex], [role="button"], [role="checkbox"]');for(const Q of P)if(Q instanceof HTMLElement)if(n){if(!(l in Q.dataset))continue;const ce=Q.dataset[l];ce===""?Q.removeAttribute("tabindex"):Q.tabIndex=Number(ce),delete Q.dataset[l]}else l in Q.dataset||(Q.dataset[l]=Q.getAttribute("tabindex")??""),Q.tabIndex=-1}if(!r.CX[d]){const Ne=r.CX.prototype._reveal,n=r.CX.prototype._hide;r.CX.prototype._reveal=function(...f){Ne.apply(this,f),o(this,!0)},r.CX.prototype._hide=function(...f){n.apply(this,f),o(this,!1)},r.CX[d]=!0}var c=e(77375),a=e(89401),p=e(94806),_=e(23276),E=e(22217),S=e(75749),h=e(88407),D=e(14544),k=e(31732),N=e(99207),W=e(78217),U=e(90540),$=e(91064),te=e(43634),ne=e(82908),V=e(67538),I=e(55992),H=e(97563),Z=e(74984),X=e(57884),G=e(16989),Y=e(84253),j=e(1722),z=e(36651),ie=e(56446),re=e(25110),de=e(33432),le=e(50960),he=e(43117),we=e(1302),xe=e(32526),Be=e(9385),M=e(98690),Ve=e(36887),Me=e(21600),Le=e(51302),_e=e(66476),Qe=e(93059),je=e(48877),ae=e(10998),Ee=e(16844),Ie=e(37264),Ue=e(41106),$e=e(50946),Ye=e(87301),Ce=e(19572);function He(Ne,n,f){return new Ke(Ne,n,f)}class Ke extends Ce.Z{constructor(n,f,P){super(P.worker,P.keepIdleModels||!1,n,f),this._foreignModuleHost=P.host||null,this._foreignProxy=this._getProxy().then(Q=>new Proxy({},{get(ce,ke,Je){if(ke!=="then"){if(typeof ke!="string")throw new Error("Not supported");return(...Ct)=>Q.$fmr(ke,Ct)}}}))}fhr(n,f){if(!this._foreignModuleHost||typeof this._foreignModuleHost[n]!="function")return Promise.reject(new Error("Missing method "+n+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[n].apply(this._foreignModuleHost,f))}catch(P){return Promise.reject(P)}}getProxy(){return this._foreignProxy}withSyncedResources(n){return this.workerWithSyncedResources(n).then(f=>this.getProxy())}}var qe=e(84587),ht=e(28060),Te=e(12596),oe=e(47317),q=e(77922),ue=e(54957),J=e(97036),ve=e(66055),De=e(64830),fe=e(42783),Se=e(13021),pe=e(57445),Ae=e(39723),Xe=e(11608);function dt(Ne){return Array.isArray(Ne)}function gt(Ne){return!dt(Ne)}function Bt(Ne){return typeof Ne=="string"}function _t(Ne){return!Bt(Ne)}function ri(Ne){return!Ne}function Gt(Ne,n){return Ne.ignoreCase&&n?n.toLowerCase():n}function ei(Ne){return Ne.replace(/[&<>'"_]/g,"-")}function Zt(Ne,n){console.log(`${Ne.languageId}: ${n}`)}function pt(Ne,n){return new Error(`${Ne.languageId}: ${n}`)}function Fe(Ne,n,f,P,Q){const ce=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let ke=null;return n.replace(ce,function(Je,Ct,bt,kt,ni,Pi,ki,bn,ss){return ri(bt)?ri(kt)?!ri(ni)&&ni<P.length?Gt(Ne,P[ni]):!ri(ki)&&Ne&&typeof Ne[ki]=="string"?Ne[ki]:(ke===null&&(ke=Q.split("."),ke.unshift(Q)),!ri(Pi)&&Pi<ke.length?Gt(Ne,ke[Pi]):""):Gt(Ne,f):"$"})}function st(Ne,n,f){const P=/\$[sS](\d\d?)/g;let Q=null;return n.replace(P,function(ce,ke){return Q===null&&(Q=f.split("."),Q.unshift(f)),!ri(ke)&&ke<Q.length?(0,Ee.bm)(Gt(Ne,Q[ke])):""})}function vt(Ne,n){let f=n;for(;f&&f.length>0;){const P=Ne.tokenizer[f];if(P)return P;const Q=f.lastIndexOf(".");Q<0?f=null:f=f.substr(0,Q)}return null}function Yt(Ne,n){let f=n;for(;f&&f.length>0;){if(Ne.stateNames[f])return!0;const Q=f.lastIndexOf(".");Q<0?f=null:f=f.substr(0,Q)}return!1}var Si=e(85753),Bi=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3213&&ce&&Object.defineProperty(n,f,ce),ce},pi=function(Ne,n){return function(f,P){n(f,P,Ne)}},$i;const fn=5,Fc=class Fc{static create(n,f){return this._INSTANCE.create(n,f)}constructor(n){this._maxCacheDepth=n,this._entries=Object.create(null)}create(n,f){if(n!==null&&n.depth>=this._maxCacheDepth)return new On(n,f);let P=On.getStackElementId(n);P.length>0&&(P+="|"),P+=f;let Q=this._entries[P];return Q||(Q=new On(n,f),this._entries[P]=Q,Q)}};Fc._INSTANCE=new Fc(fn);let Sn=Fc;class On{constructor(n,f){this.parent=n,this.state=f,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(n){let f="";for(;n!==null;)f.length>0&&(f+="|"),f+=n.state,n=n.parent;return f}static _equals(n,f){for(;n!==null&&f!==null;){if(n===f)return!0;if(n.state!==f.state)return!1;n=n.parent,f=f.parent}return n===null&&f===null}equals(n){return On._equals(this,n)}push(n){return Sn.create(this,n)}pop(){return this.parent}popall(){let n=this;for(;n.parent;)n=n.parent;return n}switchTo(n){return Sn.create(this.parent,n)}}class Dn{constructor(n,f){this.languageId=n,this.state=f}equals(n){return this.languageId===n.languageId&&this.state.equals(n.state)}clone(){return this.state.clone()===this.state?this:new Dn(this.languageId,this.state)}}const Hc=class Hc{static create(n,f){return this._INSTANCE.create(n,f)}constructor(n){this._maxCacheDepth=n,this._entries=Object.create(null)}create(n,f){if(f!==null)return new rs(n,f);if(n!==null&&n.depth>=this._maxCacheDepth)return new rs(n,f);const P=On.getStackElementId(n);let Q=this._entries[P];return Q||(Q=new rs(n,null),this._entries[P]=Q,Q)}};Hc._INSTANCE=new Hc(fn);let Qn=Hc;class rs{constructor(n,f){this.stack=n,this.embeddedLanguageData=f}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:Qn.create(this.stack,this.embeddedLanguageData)}equals(n){return!(n instanceof rs)||!this.stack.equals(n.stack)?!1:this.embeddedLanguageData===null&&n.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||n.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(n.embeddedLanguageData)}}class us{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(n){this._languageId=n}emit(n,f){this._lastTokenType===f&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=f,this._lastTokenLanguage=this._languageId,this._tokens.push(new oe.ou(n,f,this._languageId)))}nestedLanguageTokenize(n,f,P,Q){const ce=P.languageId,ke=P.state,Je=oe.dG.get(ce);if(!Je)return this.enterLanguage(ce),this.emit(Q,""),ke;const Ct=Je.tokenize(n,f,ke);if(Q!==0)for(const bt of Ct.tokens)this._tokens.push(new oe.ou(bt.offset+Q,bt.type,bt.language));else this._tokens=this._tokens.concat(Ct.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,Ct.endState}finalize(n){return new oe.$M(this._tokens,n)}}class Zn{constructor(n,f){this._languageService=n,this._theme=f,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(n){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(n)}emit(n,f){const P=this._theme.match(this._currentLanguageId,f)|1024;this._lastTokenMetadata!==P&&(this._lastTokenMetadata=P,this._tokens.push(n),this._tokens.push(P))}static _merge(n,f,P){const Q=n!==null?n.length:0,ce=f.length,ke=P!==null?P.length:0;if(Q===0&&ce===0&&ke===0)return new Uint32Array(0);if(Q===0&&ce===0)return P;if(ce===0&&ke===0)return n;const Je=new Uint32Array(Q+ce+ke);n!==null&&Je.set(n);for(let Ct=0;Ct<ce;Ct++)Je[Q+Ct]=f[Ct];return P!==null&&Je.set(P,Q+ce),Je}nestedLanguageTokenize(n,f,P,Q){const ce=P.languageId,ke=P.state,Je=oe.dG.get(ce);if(!Je)return this.enterLanguage(ce),this.emit(Q,""),ke;const Ct=Je.tokenizeEncoded(n,f,ke);if(Q!==0)for(let bt=0,kt=Ct.tokens.length;bt<kt;bt+=2)Ct.tokens[bt]+=Q;return this._prependTokens=Zn._merge(this._prependTokens,this._tokens,Ct.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,Ct.endState}finalize(n){return new oe.rY(Zn._merge(this._prependTokens,this._tokens,null),[],n)}}let zn=$i=class extends ae.jG{constructor(n,f,P,Q,ce){super(),this._configurationService=ce,this._languageService=n,this._standaloneThemeService=f,this._languageId=P,this._lexer=Q,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let ke=!1;this._register(oe.dG.onDidChange(Je=>
321{if(ke)return;let Ct=!1;for(let bt=0,kt=Je.changedLanguages.length;bt<kt;bt++){const ni=Je.changedLanguages[bt];if(this._embeddedLanguages[ni]){Ct=!0;break}}Ct&&(ke=!0,oe.dG.handleChange([this._languageId]),ke=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(Je=>{Je.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const n=[];for(const f in this._embeddedLanguages){const P=oe.dG.get(f);if(P){if(P instanceof $i){const Q=P.getLoadStatus();Q.loaded===!1&&n.push(Q.promise)}continue}oe.dG.isResolved(f)||n.push(oe.dG.getOrCreate(f))}return n.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(n).then(f=>{})}}getInitialState(){const n=Sn.create(null,this._lexer.start);return Qn.create(n,null)}tokenize(n,f,P){if(n.length>=this._maxTokenizationLineLength)return(0,J.$H)(this._languageId,P);const Q=new us,ce=this._tokenize(n,f,P,Q);return Q.finalize(ce)}tokenizeEncoded(n,f,P){if(n.length>=this._maxTokenizationLineLength)return(0,J.Lh)(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),P);const Q=new Zn(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),ce=this._tokenize(n,f,P,Q);return Q.finalize(ce)}_tokenize(n,f,P,Q){return P.embeddedLanguageData?this._nestedTokenize(n,f,P,0,Q):this._myTokenize(n,f,P,0,Q)}_findLeavingNestedLanguageOffset(n,f){let P=this._lexer.tokenizer[f.stack.state];if(!P&&(P=vt(this._lexer,f.stack.state),!P))throw pt(this._lexer,"tokenizer state is not defined: "+f.stack.state);let Q=-1,ce=!1;for(const ke of P){if(!_t(ke.action)||!(ke.action.nextEmbedded==="@pop"||ke.action.hasEmbeddedEndInCases))continue;ce=!0;let Je=ke.resolveRegex(f.stack.state);const Ct=Je.source;if(Ct.substr(0,4)==="^(?:"&&Ct.substr(Ct.length-1,1)===")"){const kt=(Je.ignoreCase?"i":"")+(Je.unicode?"u":"");Je=new RegExp(Ct.substr(4,Ct.length-5),kt)}const bt=n.search(Je);bt===-1||bt!==0&&ke.matchOnlyAtLineStart||(Q===-1||bt<Q)&&(Q=bt)}if(!ce)throw pt(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+f.stack.state);return Q}_nestedTokenize(n,f,P,Q,ce){const ke=this._findLeavingNestedLanguageOffset(n,P);if(ke===-1){const bt=ce.nestedLanguageTokenize(n,f,P.embeddedLanguageData,Q);return Qn.create(P.stack,new Dn(P.embeddedLanguageData.languageId,bt))}const Je=n.substring(0,ke);Je.length>0&&ce.nestedLanguageTokenize(Je,!1,P.embeddedLanguageData,Q);const Ct=n.substring(ke);return this._myTokenize(Ct,f,P,Q+ke,ce)}_safeRuleName(n){return n?n.name:"(unknown)"}_myTokenize(n,f,P,Q,ce){ce.enterLanguage(this._languageId);const ke=n.length,Je=f&&this._lexer.includeLF?n+`
322`:n,Ct=Je.length;let bt=P.embeddedLanguageData,kt=P.stack,ni=0,Pi=null,ki=!0;for(;ki||ni<Ct;){const bn=ni,ss=kt.depth,fs=Pi?Pi.groups.length:0,js=kt.state;let no=null,Bs=null,ws=null,hr=null,Pr=null;if(Pi){no=Pi.matches;const Qs=Pi.groups.shift();Bs=Qs.matched,ws=Qs.action,hr=Pi.rule,Pi.groups.length===0&&(Pi=null)}else{if(!ki&&ni>=Ct)break;ki=!1;let Qs=this._lexer.tokenizer[js];if(!Qs&&(Qs=vt(this._lexer,js),!Qs))throw pt(this._lexer,"tokenizer state is not defined: "+js);const $o=Je.substr(ni);for(const La of Qs)if((ni===0||!La.matchOnlyAtLineStart)&&(no=$o.match(La.resolveRegex(js)),no)){Bs=no[0],ws=La.action;break}}if(no||(no=[""],Bs=""),ws||(ni<Ct&&(no=[Je.charAt(ni)],Bs=no[0]),ws=this._lexer.defaultToken),Bs===null)break;for(ni+=Bs.length;gt(ws)&&_t(ws)&&ws.test;)ws=ws.test(Bs,no,js,ni===Ct);let No=null;if(typeof ws=="string"||Array.isArray(ws))No=ws;else if(ws.group)No=ws.group;else if(ws.token!==null&&ws.token!==void 0){if(ws.tokenSubst?No=Fe(this._lexer,ws.token,Bs,no,js):No=ws.token,ws.nextEmbedded)if(ws.nextEmbedded==="@pop"){if(!bt)throw pt(this._lexer,"cannot pop embedded language if not inside one");bt=null}else{if(bt)throw pt(this._lexer,"cannot enter embedded language from within an embedded language");Pr=Fe(this._lexer,ws.nextEmbedded,Bs,no,js)}if(ws.goBack&&(ni=Math.max(0,ni-ws.goBack)),ws.switchTo&&typeof ws.switchTo=="string"){let Qs=Fe(this._lexer,ws.switchTo,Bs,no,js);if(Qs[0]==="@"&&(Qs=Qs.substr(1)),vt(this._lexer,Qs))kt=kt.switchTo(Qs);else throw pt(this._lexer,"trying to switch to a state '"+Qs+"' that is undefined in rule: "+this._safeRuleName(hr))}else{if(ws.transform&&typeof ws.transform=="function")throw pt(this._lexer,"action.transform not supported");if(ws.next)if(ws.next==="@push"){if(kt.depth>=this._lexer.maxStack)throw pt(this._lexer,"maximum tokenizer stack size reached: ["+kt.state+","+kt.parent.state+",...]");kt=kt.push(js)}else if(ws.next==="@pop"){if(kt.depth<=1)throw pt(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(hr));kt=kt.pop()}else if(ws.next==="@popall")kt=kt.popall();else{let Qs=Fe(this._lexer,ws.next,Bs,no,js);if(Qs[0]==="@"&&(Qs=Qs.substr(1)),vt(this._lexer,Qs))kt=kt.push(Qs);else throw pt(this._lexer,"trying to set a next state '"+Qs+"' that is undefined in rule: "+this._safeRuleName(hr))}}ws.log&&typeof ws.log=="string"&&Zt(this._lexer,this._lexer.languageId+": "+Fe(this._lexer,ws.log,Bs,no,js))}if(No===null)throw pt(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(hr));const Pc=Qs=>{const $o=this._languageService.getLanguageIdByLanguageName(Qs)||this._languageService.getLanguageIdByMimeType(Qs)||Qs,La=this._getNestedEmbeddedLanguageData($o);if(ni<Ct){const ja=n.substr(ni);return this._nestedTokenize(ja,f,Qn.create(kt,La),Q+ni,ce)}
322else return Qn.create(kt,La)};if(Array.isArray(No)){if(Pi&&Pi.groups.length>0)throw pt(this._lexer,"groups cannot be nested: "+this._safeRuleName(hr));if(no.length!==No.length+1)throw pt(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(hr));let Qs=0;for(let $o=1;$o<no.length;$o++)Qs+=no[$o].length;if(Qs!==Bs.length)throw pt(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+this._safeRuleName(hr));Pi={rule:hr,matches:no,groups:[]};for(let $o=0;$o<No.length;$o++)Pi.groups[$o]={action:No[$o],matched:no[$o+1]};ni-=Bs.length;continue}else{if(No==="@rematch"&&(ni-=Bs.length,Bs="",no=null,No="",Pr!==null))return Pc(Pr);if(Bs.length===0){if(Ct===0||ss!==kt.depth||js!==kt.state||(Pi?Pi.groups.length:0)!==fs)continue;throw pt(this._lexer,"no progress in tokenizer in rule: "+this._safeRuleName(hr))}let Qs=null;if(Bt(No)&&No.indexOf("@brackets")===0){const $o=No.substr(9),La=ms(this._lexer,Bs);if(!La)throw pt(this._lexer,"@brackets token returned but no bracket defined as: "+Bs);Qs=ei(La.token+$o)}else{const $o=No===""?"":No+this._lexer.tokenPostfix;Qs=ei($o)}bn<ke&&ce.emit(bn+Q,Qs)}if(Pr!==null)return Pc(Pr)}return Qn.create(kt,bt)}_getNestedEmbeddedLanguageData(n){if(!this._languageService.isRegisteredLanguageId(n))return new Dn(n,J.r3);n!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(n),oe.dG.getOrCreate(n),this._embeddedLanguages[n]=!0);const f=oe.dG.get(n);return f?new Dn(n,f.getInitialState()):new Dn(n,J.r3)}};zn=$i=Bi([pi(4,Si.pG)],zn);function ms(Ne,n){if(!n)return null;n=Gt(Ne,n);const f=Ne.brackets;for(const P of f){if(P.open===n)return{token:P.token,bracketType:1};if(P.close===n)return{token:P.token,bracketType:-1}}return null}const es=(0,Se.H)("standaloneColorizer",{createHTML:Ne=>Ne});class Xn{static colorizeElement(n,f,P,Q){Q=Q||{};const ce=Q.theme||"vs",ke=Q.mimeType||P.getAttribute("lang")||P.getAttribute("data-lang");if(!ke)return console.error("Mode not detected"),Promise.resolve();const Je=f.getLanguageIdByMimeType(ke)||ke;n.setTheme(ce);const Ct=P.firstChild?P.firstChild.nodeValue:"";P.className+=" "+ce;const bt=kt=>{const ni=es?.createHTML(kt)??kt;P.innerHTML=ni};return this.colorize(f,Ct||"",Je,Q).then(bt,kt=>console.error(kt))}static async colorize(n,f,P,Q){const ce=n.languageIdCodec;let ke=4;Q&&typeof Q.tabSize=="number"&&(ke=Q.tabSize),(0,Ee.LU)(f)&&(f=f.substr(1));const Je=(0,Ee.uz)(f);if(!n.isRegisteredLanguageId(P))return ps(Je,ke,ce);const Ct=await oe.dG.getOrCreate(P);return Ct?Ts(Je,ke,Ct,ce):ps(Je,ke,ce)}static colorizeLine(n,f,P,Q,ce=4){const ke=Xe.qL.isBasicASCII(n,f),Je=Xe.qL.containsRTL(n,ke,P);return(0,Ae.Md)(new Ae.zL(!1,!0,n,!1,ke,Je,0,Q,[],ce,0,0,0,0,-1,"none",!1,!1,null,null,0)).html}static colorizeModelLine(n,f,P=4){const Q=n.getLineContent(f);n.tokenization.forceTokenization(f);const ke=n.tokenization.getLineTokens(f).inflate();return this.colorizeLine(Q,n.mightContainNonBasicASCII(),n.mightContainRTL(),ke,P)}}function Ts(Ne,n,f,P){return new Promise((Q,ce)=>{const ke=()=>{const Je=Yn(Ne,n,f,P);if(f instanceof zn){const Ct=f.getLoadStatus();if(Ct.loaded===!1){Ct.promise.then(ke,ce);return}}Q(Je)};ke()})}function ps(Ne,n,f){let P=[];const ce=new Uint32Array(2);ce[0]=0,ce[1]=33587200;for(let ke=0,Je=Ne.length;ke<Je;ke++){const Ct=Ne[ke];ce[0]=Ct.length;const bt=new pe.f7(ce,Ct,f),kt=Xe.qL.isBasicASCII(Ct,!0),ni=Xe.qL.containsRTL(Ct,kt,!0),Pi=(0,Ae.Md)(new Ae.zL(!1,!0,Ct,!1,kt,ni,0,bt,[],n,0,0,0,0,-1,"none",!1,!1,null,null,0));P=P.concat(Pi.html),P.push("<br/>")}return P.join("")}function Yn(Ne,n,f,P){let Q=[],ce=f.getInitialState();for(let ke=0,Je=Ne.length;ke<Je;ke++){const Ct=Ne[ke],bt=f.tokenizeEncoded(Ct,!0,ce);pe.f7.convertToEndOffset(bt.tokens,Ct.length);const kt=new pe.f7(bt.tokens,Ct,P),ni=Xe.qL.isBasicASCII(Ct,!0),Pi=Xe.qL.containsRTL(Ct,ni,!0),ki=(0,Ae.Md)(new Ae.zL(!1,!0,Ct,!1,ni,Pi,0,kt.inflate(),[],n,0,0,0,0,-1,"none",!1,!1,null,null,0));Q=Q.concat(ki.html),Q.push("<br/>"),ce=bt.endState}return Q.join("")}var zs=e(44385),Kn=e(22595),jt=e(66726),$t=e(89044),Ei=e(87676),zi=e(18382),hn=e(75962),wn=e(73858),en=e(69227),In=e(82735),Bn=e(75712),Wi=e(10680),At=e(58687),Xt=e(94865),li=e(74707),Mi=e(90428),vi=e(52348),Vi=e(82399),ui=e(2106),Wt=e(14333),Nn=e(56071),ci=e(82222),ut=e(45222),Rt=e(52265),xt=e(90028),Ot=e(3765),Qt=e(63339),ai=e(53909),gi=e(65958),Ki=e(79359),Zi=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3223&&ce&&Object.defineProperty(n,f,ce),ce},bi=function(Ne,n){return function(f,P){n(f,P,Ne)}};const ot=Wt.$;let ge=class extends ut.x{get _targetWindow(){return(0,Wt.zk)(this._target.targetElements[0])}get _targetDocumentElement(){return(0,Wt.zk)(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(n){this._isLocked!==n&&(this._isLocked=n,this._hoverContainer.classList.toggle("locked",this._isLocked))}addMouseTrackingElement(n){return this._lockMouseTracker.addElement(n)}constructor(n,f,P,Q,ce){if(super(),this._keybindingService=f,this._configurationService=P,this._markdownRenderer=Q,this._accessibilityService=ce,this._messageListeners=new ae.Cm,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new ui.vl),this._onRequestLayout=this._register(new ui.vl),this._linkHandler=n.linkHandler,this._target="targetElements"in n.target?n.target:new at(n.target),n.style)switch(n.style){case 1:{n.appearance??={},n.appearance.compact??=!0,n.appearance.showPointer??=!0;break}case 2:{n.appearance??={},n.appearance.compact??=!0;break}}this._hoverPointer=n.appearance?.showPointer?ot("div.workbench-hover-pointer"):void 0,this._hover=this._register(new ci.N4(!n.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add("workbench-hover"),n.appearance?.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),this._hoverPointer&&this._hover.containerDomNode.classList.add("with-pointer"),n.additionalClasses&&this._hover.containerDomNode.classList.add(...n.additionalClasses),n.position?.forcePosition&&(this._forcePosition=!0),n.trapFocus&&(this._enableFocusTraps=!0);const ke=n.appearance?.maxHeightRatio;ke!==void 0&&ke>0&&ke<=1&&(this._maxHeightRatioRelativeToWindow=ke),this._hoverPosition=n.position?.hoverPosition===void 0?3:(0,Ki.Et)(n.position.hoverPosition)?n.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,Pi=>Pi.stopPropagation()),this.onkeydown(this._hover.containerDomNode,Pi=>{Pi.equals(9)&&this.dispose()}),this._register((0,Wt.ko)(this._targetWindow,"blur",()=>this.dispose()));const Je=ot("div.hover-row.markdown-hover"),Ct=ot("div.hover-contents");if(typeof n.content=="string")Ct.textContent=n.content,Ct.style.whiteSpace="pre-wrap";else if((0,Wt.sb)(n.content)){Ct.appendChild(n.content),Ct.classList.add("html-hover-contents");const Pi=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});Pi.observe(Ct),this._register((0,ae.s)(()=>Pi.disconnect()))}else{const Pi=n.content,{element:ki}=this._register(this._markdownRenderer.render(Pi,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{Ct.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}}));Ct.appendChild(ki)}if(Je.appendChild(Ct),this._hover.contentsDomNode.appendChild(Je),n.actions&&n.actions.length>0){const Pi=ot("div.hover-row.status-bar"),ki=ot("div.actions");n.actions.forEach(bn=>{const ss=this._keybindingService.lookupKeybinding(bn.commandId),fs=ss?ss.getLabel():null;this._register(ci.jQ.render(ki,{label:bn.label,commandId:bn.commandId,run:js=>{bn.run(js),this.dispose()},iconClass:bn.iconClass},fs))}),Pi.appendChild(ki),this._hover.containerDomNode.appendChild(Pi)}this._hoverContainer=ot("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let bt;if(n.actions&&n.actions.length>0?bt=!1:n.persistence?.hideOnHover===void 0?bt=typeof n.content=="string"||(0,xt.VS)(n.content)&&!n.content.value.includes("](")&&!n.content.value.includes("</a>
322"):bt=n.persistence.hideOnHover,n.appearance?.showHoverHint){const Pi=ot("div.hover-row.status-bar"),ki=ot("div.info");ki.textContent=(0,Ot.kg)(1761,"Hold {0} key to mouse over",Qt.zx?"Option":"Alt"),Pi.appendChild(ki),this._hover.containerDomNode.appendChild(Pi)}const kt=[...this._target.targetElements];bt||kt.push(this._hoverContainer);const ni=this._mouseTracker=this._register(new Ze(kt));if(this._register(ni.onMouseOut(()=>{this._isLocked||this.dispose()})),bt){const Pi=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Ze(Pi)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=ni}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const n=this._hover.containerDomNode,f=this.findLastFocusableChild(this._hover.containerDomNode);if(f){const P=(0,Wt.Hs)(this._hoverContainer,ot("div")),Q=(0,Wt.BC)(this._hoverContainer,ot("div"));P.tabIndex=0,Q.tabIndex=0,this._register((0,Wt.ko)(Q,"focus",ce=>{n.focus(),ce.preventDefault()})),this._register((0,Wt.ko)(P,"focus",ce=>{f.focus(),ce.preventDefault()}))}}findLastFocusableChild(n){if(n.hasChildNodes())for(let f=0;f<n.childNodes.length;f++){const P=n.childNodes.item(n.childNodes.length-f-1);if(P.nodeType===P.ELEMENT_NODE){const ce=P;if(typeof ce.tabIndex=="number"&&ce.tabIndex>=0)return ce}const Q=this.findLastFocusableChild(P);if(Q)return Q}}render(n){n.appendChild(this._hoverContainer);const P=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&(0,ci.vr)(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding("editor.action.accessibleView")?.getAriaLabel());P&&(0,zs.h5)(P),this.layout(),this.addFocusTrap()}layout(){this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker&&this._lockMouseTracker?.suppressPendingMouseOut(),this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const n=kt=>{const ni=(0,Wt.mU)(kt),Pi=kt.getBoundingClientRect();return{top:Pi.top*ni,bottom:Pi.bottom*ni,right:Pi.right*ni,left:Pi.left*ni}},f=this._target.targetElements.map(kt=>n(kt)),{top:P,right:Q,bottom:ce,left:ke}=f[0],Je=Q-ke,Ct=ce-P,bt={top:P,right:Q,bottom:ce,left:ke,width:Je,height:Ct,center:{x:ke+Je/2,y:P+Ct/2}};if(this.adjustHorizontalHoverPosition(bt),this.adjustVerticalHoverPosition(bt),this.adjustHoverMaxHeight(bt),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:bt.left+=3,bt.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:bt.left-=3,bt.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:bt.top+=3,bt.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:bt.top-=3,bt.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}bt.center.x=bt.left+Je/2,bt.center.y=bt.top+Ct/2}this.computeXCordinate(bt),this.computeYCordinate(bt),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(bt)),this._hover.onContentsChanged()}computeXCordinate(n){const f=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=n.right:this._hoverPosition===0?this._x=n.left-f:(this._hoverPointer?this._x=n.center.x-this._hover.containerDomNode.clientWidth/2:this._x=n.left,this._x+f>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-f-2,this._targetDocumentElement.clientLeft))),this._x<this._targetDocumentElement.clientLeft&&(this._x=n.left+2)}computeYCordinate(n){this._target.y!==void 0?this._y=this._target.y:this._hoverPosition===3?this._y=n.top:this._hoverPosition===2?this._y=n.bottom-2:this._hoverPointer?this._y=n.center.y+this._hover.containerDomNode.clientHeight/2:this._y=n.bottom,this._y>this._targetWindow.innerHeight&&(this._y=n.bottom)}adjustHorizontalHoverPosition(n){if(this._target.x!==void 0)return;const f=this._hoverPointer?3:0;if(this._forcePosition){const P=f+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-n.right-P}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${n.left-P}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-n.right<this._hover.containerDomNode.clientWidth+f&&(n.left>=this._hover.containerDomNode.clientWidth+f?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(n.left<this._hover.containerDomNode.clientWidth+f&&(this._targetDocumentElement.clientWidth-n.right>=this._hover.containerDomNode.clientWidth+f?this._hoverPosition=1:this._hoverPosition=2),n.left-this._hover.containerDomNode.clientWidth-f<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(n){if(this._target.y!==void 0||this._forcePosition)return;const f=this._hoverPointer?3:0;this._hoverPosition===3?n.top-this._hover.containerDomNode.clientHeight-f<0&&(this._hoverPosition=2):this._hoverPosition===2&&n.bottom+this._hover.containerDomNode.offsetHeight+f>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(n){let f=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){const P=(this._hoverPointer?3:0)+2;this._hoverPosition===3?f=Math.min(f,n.top-P):this._hoverPosition===2&&(f=Math.min(f,this._targetWindow.innerHeight-n.bottom-P))}if(this._hover.containerDomNode.style.maxHeight=`${f}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){const P=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==P&&(this._hover.contentsDomNode.style.paddingRight=P)}}setHoverPointerPosition(n){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?"right":"left");const f=this._hover.containerDomNode.clientHeight;f>n.height?this._hoverPointer.style.top=`${n.center.y-(this._y-f)-3}px`:this._hoverPointer.style.top=`${Math.round(f/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const f=this._hover.containerDomNode.clientWidth;let P=Math.round(f/2)-3;const Q=this._x+P;(Q<n.left||Q>n.right)&&(P=n.center.x-this._x-3),this._hoverPointer.style.left=`${P}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose()),this._isDisposed=!0}};ge=Zi([bi(1,Nn.b),bi(2,Si.pG),bi(3,Rt.TN),bi(4,ai.j)],ge);class Ze extends ut.x{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(n,f=200){super(),this._elements=n,this._eventDebounceDelay=f,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new ae.HE),this._onMouseOut=this._register(new ui.vl);for(const P of this._elements)this.onmouseover(P,()=>this._onTargetMouseOver()),this.onmouseleave(P,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new gi.pc(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){!this._isMouseIn&&!this._suppressNextMouseOut&&this._onMouseOut.fire()}suppressPendingMouseOut(){this._isMouseIn||(this._suppressNextMouseOut=!0)}
322addElement(n){if(this._elements.includes(n))return ae.jG.None;this._elements.push(n);const f=new ae.Cm;return f.add((0,Wt.ko)(n,Wt.Bx.MOUSE_OVER,()=>this._onTargetMouseOver())),f.add((0,Wt.ko)(n,Wt.Bx.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),f.add((0,ae.s)(()=>{const P=this._elements.indexOf(n);P>=0&&this._elements.splice(P,1)})),f}}class at{constructor(n){this._element=n,this.targetElements=[this._element]}dispose(){}}var Et=e(76357),Ft=e(87594),qt=e(16085);function Li(Ne){const n=Ne;return typeof n=="object"&&"markdown"in n&&"markdownNotSupportedFallback"in n}var Ni=e(78903);class xi{constructor(n,f,P){this.hoverDelegate=n,this.target=f,this.fadeInAnimation=P}async update(n,f,P){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let Q;if((0,Ki.Kg)(n)||(0,Wt.sb)(n)||n===void 0)Q=n;else{this._cancellationTokenSource=new Ni.Qi;const ce=this._cancellationTokenSource.token;let ke;if(Li(n)?(0,Ki.Tn)(n.markdown)?ke=n.markdown(ce).then(Je=>Je??n.markdownNotSupportedFallback):ke=n.markdown??n.markdownNotSupportedFallback:ke=n.element(ce),ke instanceof Promise?(this._hoverWidget||this.show((0,Ot.kg)(1762,"Loading..."),f,P),Q=await ke):Q=ke,this.isDisposed||ce.isCancellationRequested)return}this.show(Q,f,P)}show(n,f,P){const Q=this._hoverWidget;if(this.hasContent(n)){const ce={content:n,target:this.target,actions:P?.actions,linkHandler:P?.linkHandler,trapFocus:P?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!Q,showHoverHint:P?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(ce,f)}Q?.dispose()}hasContent(n){return n?(0,xt.VS)(n)?!!n.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}var Ci=e(68387),Di=e(48421),Fi=e(24594),Gi=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3223&&ce&&Object.defineProperty(n,f,ce),ce},Xi=function(Ne,n){return function(f,P){n(f,P,Ne)}};const tn=3;let yn=class extends ae.jG{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(n){const f=(0,Wt.sb)(n)?[n]:n.targetElements;for(let P=this._hoverStack.length-1;P>=0;P--)for(const Q of f)if((0,Wt.QX)(Q,this._hoverStack[P].hover.domNode))return P;return-1}constructor(n,f,P,Q,ce,ke){super(),this._instantiationService=n,this._configurationService=f,this._keybindingService=Q,this._layoutService=ce,this._accessibilityService=ke,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(P.onDidShowContextMenu(()=>this.hideHover())),this._register(Di.f.registerCommandAndKeybindingRule({id:"workbench.action.showHover",weight:0,primary:(0,Ci.m5)(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(n,f,P,Q){const ce=this._createHover(n,P);if(ce)return this._showHover(ce,n,f),ce.hover}showDelayedHover(n,f){if(n.id===void 0&&(n.id=Ys(n.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(n.target)<0)return;if(Gn(this._currentHoverOptions)===Gn(n))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===f?.groupId)return this.showInstantHover({...n,appearance:{...n.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&Gn(this._currentHoverOptions)===Gn(n))return this._currentDelayedHover;const P=this._createHover(n,void 0);if(!P){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=P.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=f?.groupId;const Q=f?.reducedDelay?this._configurationService.getValue("workbench.hover.reducedDelay"):this._configurationService.getValue("workbench.hover.delay");return(0,gi.wR)(Q).then(()=>{P.hover&&!P.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(P,n))}),P.hover}setupDelayedHover(n,f,P){const Q=ce=>{const ke={...typeof f=="function"?f():f,target:n};return ke.style===2&&ce&&(ke.target=xs(n,ce)),ke};return this._setupDelayedHover(n,Q,P)}setupDelayedHoverAtMouse(n,f,P){const Q=ce=>({...typeof f=="function"?f():f,target:ce?xs(n,ce):n});return this._setupDelayedHover(n,Q,P)}_setupDelayedHover(n,f,P){const Q=new ae.Cm;return Q.add((0,Wt.ko)(n,Wt.Bx.MOUSE_OVER,ce=>{this.showDelayedHover(f(ce),{groupId:P?.groupId,reducedDelay:P?.reducedDelay})})),P?.setupKeyboardEvents&&Q.add((0,Wt.ko)(n,Wt.Bx.KEY_DOWN,ce=>{const ke=new Ft.Z(ce);(ke.equals(10)||ke.equals(3))&&this.showInstantHover(f(),!0)})),this._delayedHovers.set(n,{show:ce=>{this.showInstantHover(f(),ce)}}),Q.add((0,ae.s)(()=>this._delayedHovers.delete(n))),Q}_createHover(n,f){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,n.content==="")return;if(n.id===void 0&&(n.id=Ys(n.content)),this._getContainingHoverIndex(n.target)>=0){if(this._hoverStack.length>=tn)return}else if(this._currentHover?.isLocked||Gn(this._currentHoverOptions)===Gn(n))return;this._lastHoverOptions=n;const ce=n.trapFocus||this._accessibilityService.isScreenReaderOptimized(),ke=(0,Wt.bq)();let Je;f||ce&&ke&&(ke.classList.contains("monaco-hover")||(Je=ke));const Ct=new ae.Cm,bt=this._instantiationService.createInstance(ge,n);if(n.persistence?.sticky&&(bt.isLocked=!0),n.position?.hoverPosition&&!(0,Ki.Et)(n.position.hoverPosition)&&(n.target={targetElements:(0,Wt.sb)(n.target)?[n.target]:n.target.targetElements,x:n.position.hoverPosition.x+10}),bt.onDispose(()=>{const kt=this._hoverStack.findIndex(ni=>ni.hover===bt);if(kt>=0){const ni=this._hoverStack[kt];for((0,Wt.nR)(bt.domNode)&&ni.lastFocusedElementBeforeOpen&&ni.lastFocusedElementBeforeOpen.focus();this._hoverStack.length>kt+1;){const ki=this._hoverStack.pop();ki.contextView.dispose(),ki.hover.dispose()}this._hoverStack.splice(kt,1),ni.contextView.dispose()}Ct.dispose()},void 0,Ct),!n.container){const kt=(0,Wt.sb)(n.target)?n.target:n.target.targetElements[0];n.container=this._layoutService.getContainer((0,Wt.zk)(kt))}if(Ct.add((0,Wt.ko)((0,Wt.zk)(n.container).document,Wt.Bx.MOUSE_DOWN,kt=>{(0,Wt.QX)(kt.target,bt.domNode)||this._hideHoverAndDescendants(bt)})),!n.persistence?.sticky){if("targetElements"in n.target)for(const ni of n.target.targetElements)Ct.add((0,Wt.ko)(ni,Wt.Bx.CLICK,()=>this._hideHoverAndDescendants(bt)));else Ct.add((0,Wt.ko)(n.target,Wt.Bx.CLICK,()=>this._hideHoverAndDescendants(bt)));const kt=(0,Wt.bq)();if(kt){const ni=(0,Wt.zk)(kt).document;Ct.add((0,Wt.ko)(kt,Wt.Bx.KEY_DOWN,Pi=>this._keyDown(Pi,bt,!!n.persistence?.hideOnKeyDown))),Ct.add((0,Wt.ko)(ni,Wt.Bx.KEY_DOWN,Pi=>this._keyDown(Pi,bt,!!n.persistence?.hideOnKeyDown))),Ct.add((0,Wt.ko)(kt,Wt.Bx.KEY_UP,Pi=>this._keyUp(Pi,bt))),Ct.add((0,Wt.ko)(ni,Wt.Bx.KEY_UP,Pi=>this._keyUp(Pi,bt)))}}if("IntersectionObserver"in je.G){const kt=new IntersectionObserver(Pi=>this._intersectionChange(Pi,bt),{threshold:0}),ni="targetElements"in n.target?n.target.targetElements[0]:n.target;kt.observe(ni),Ct.add((0,ae.s)(()=>kt.disconnect()))}return{hover:bt,lastFocusedElementBeforeOpen:Je,store:Ct}}_showHover(n,f,P){const{hover:Q,lastFocusedElementBeforeOpen:ce,store:ke}=n,Je=this._getContainingHoverIndex(f.target),Ct=Je>=0;if(!Ct)this._hideAllHovers();else{for(let ki=this._hoverStack.length-1;ki>Je;ki--)this._hoverStack[ki].hover.dispose();this._hoverStack.length=Je+1}if(Ct)for(let ki=0;ki<=Je;ki++)ke.add(this._hoverStack[ki].hover.addMouseTrackingElement(Q.domNo
322de));const bt=f.container??this._layoutService.getContainer((0,Wt.zk)((0,Wt.sb)(f.target)?f.target:f.target.targetElements[0])),kt=new Et.vx(bt,1),ni={hover:Q,options:f,contextView:kt,lastFocusedElementBeforeOpen:ce};this._hoverStack.push(ni);const Pi=new kn(Q,P,this._hoverStack.length);if(kt.show(Pi),ke.add(Q.onRequestLayout(()=>kt.layout())),P||f.persistence?.sticky){const ki=(0,Wt.zk)(bt);ke.add((0,Wt.ko)(ki,Wt.Bx.RESIZE,()=>kt.layout()))}if(f.onDidHide){const ki=f.onDidHide;ke.add((0,ae.s)(()=>ki()))}f.onDidShow?.()}_hideHoverAndDescendants(n){const f=this._hoverStack.findIndex(P=>P.hover===n);if(!(f<0)){for(let P=this._hoverStack.length-1;P>=f;P--)this._hoverStack[P].hover.dispose();this._hoverStack.length=f}}_hideAllHovers(){for(let n=this._hoverStack.length-1;n>=0;n--)this._hoverStack[n].hover.dispose();this._hoverStack.length=0}hideHover(n){this._hoverStack.length!==0&&(!n&&this._currentHover?.isLocked||this.doHideHover())}doHideHover(){const n=this._hoverStack.length;this._hoverStack[n-1]?.hover.dispose(),this._hoverStack.length=n-1}_intersectionChange(n,f){n[n.length-1].isIntersecting||f.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let n=(0,Wt.bq)();for(;n;){const f=this._delayedHovers.get(n)??this._managedHovers.get(n);if(f){f.show(!0);return}n=n.parentElement}}_keyDown(n,f,P){if(n.key==="Alt"){for(const ke of this._hoverStack)ke.hover.isLocked=!0;return}const Q=new Ft.Z(n);if(!(this._keybindingService.resolveKeyboardEvent(Q).getSingleModifierDispatchChords().some(ke=>!!ke)||this._keybindingService.softDispatch(Q,Q.target).kind!==0)&&P&&(!this._currentHoverOptions?.trapFocus||n.key!=="Tab")){const ke=this._hoverStack.find(Je=>Je.hover===f);this._hideHoverAndDescendants(f),ke?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(n,f){if(n.key==="Alt"){for(const Q of this._hoverStack)Q.options.persistence?.sticky||(Q.hover.isLocked=!1);if(!this._hoverStack.some(Q=>Q.hover.isMouseIn)){const Q=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),Q?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(n,f,P,Q){if(n.showNativeHover)return Cn(f,P);f.setAttribute("custom-hover","true"),f.title!==""&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),f.title="");let ce,ke;const Je=(ki,bn)=>{const ss=ke!==void 0;ki&&(ke?.dispose(),ke=void 0),bn&&(ce?.dispose(),ce=void 0),ss&&(n.onDidHideHover?.(),ke=void 0)},Ct=(ki,bn,ss,fs)=>new gi.pc(async()=>{(!ke||ke.isDisposed)&&(ke=new xi(n,ss||f,ki>0),await ke.update(typeof P=="function"?P():P,bn,{...Q,trapFocus:fs}))},ki),bt=new ae.Cm;let kt=!1;bt.add((0,Wt.ko)(f,Wt.Bx.MOUSE_DOWN,()=>{kt=!0,Je(!0,!0)},!0)),bt.add((0,Wt.ko)(f,Wt.Bx.MOUSE_UP,()=>{kt=!1},!0)),bt.add((0,Wt.ko)(f,Wt.Bx.MOUSE_LEAVE,ki=>{kt=!1,Je(!1,ki.fromElement===f)},!0)),bt.add((0,Wt.ko)(f,Wt.Bx.MOUSE_OVER,ki=>{if(ce)return;const bn=new ae.Cm,ss={targetElements:[f],dispose:()=>{}};if(n.placement===void 0||n.placement==="mouse"){const fs=js=>{ss.x=js.x+10,Ds(js,f)||Je(!0,!0)};bn.add((0,Wt.ko)(f,Wt.Bx.MOUSE_MOVE,fs,!0))}ce=bn,Ds(ki,f)&&bn.add(Ct(typeof n.delay=="function"?n.delay(P):n.delay,!1,ss))},!0));const ni=ki=>{if(kt||ce||(ke?.isDisposed&&(ke=void 0),(0,Wt.sb)(ki.relatedTarget)&&ki.relatedTarget.closest(".monaco-hover")||!ki.relatedTarget)||!Ds(ki,f))return;const ss={targetElements:[f],dispose:()=>{}},fs=new ae.Cm,js=()=>Je(!0,!0);fs.add((0,Wt.ko)(f,Wt.Bx.BLUR,js,!0)),fs.add(Ct(typeof n.delay=="function"?n.delay(P):n.delay,!1,ss)),ce=fs};(0,Wt.yD)(f)||bt.add((0,Wt.ko)(f,Wt.Bx.FOCUS,ni,!0));const Pi={show:ki=>{Je(!1,!0),Ct(0,ki,void 0,ki)},hide:()=>{Je(!0,!0)},update:async(ki,bn)=>{P=ki,await ke?.update(P,void 0,bn)},dispose:()=>{this._managedHovers.delete(f),bt.dispose(),Je(!0,!0)}};return this._managedHovers.set(f,Pi),Pi}showManagedHover(n){const f=this._managedHovers.get(n);f&&f.show(!0)}dispose(){this._managedHovers.forEach(n=>n.dispose()),super.dispose()}};yn=Gi([Xi(0,Vi._Y),Xi(1,Si.pG),Xi(2,vi.Z),Xi(3,Nn.b),Xi(4,qt.x),Xi(5,ai.j)],yn);function Gn(Ne){if(Ne!==void 0)return Ne?.id??Ne}function Ys(Ne){if(!(0,Wt.sb)(Ne))return typeof Ne=="string"?Ne.toString():Ne.value}function nn(Ne){const n=typeof Ne=="function"?Ne():Ne;if((0,Ki.Kg)(n))return(0,Fi.pS)(n);if(Li(n))return n.markdownNotSupportedFallback}function Cn(Ne,n){function f(P){P?Ne.setAttribute("title",P):Ne.removeAttribute("title")}return f(nn(n)),{update:P=>f(nn(P)),show:()=>{},hide:()=>{},dispose:()=>f(void 0)}}class kn{get anchorPosition(){return this._hover.anchor}constructor(n,f=!1,P=1){this._hover=n,this._focus=f,this.layer=P}render(n){return this._hover.render(n),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}function Ds(Ne,n){return(0,Wt.sb)(Ne.target)&&Gs(Ne.target,n)===n}
322function Gs(Ne,n){for(n=n??(0,Wt.zk)(Ne).document.body;!Ne.hasAttribute("custom-hover")&&Ne!==n;)Ne=Ne.parentElement;return Ne}function xs(Ne,n){return{targetElements:[Ne],x:n.x+10}}(0,jt.v)(Mi.TN,yn,1),(0,$t.zy)((Ne,n)=>{const f=Ne.getColor(wn.oZ);f&&(n.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${f.transparent(.5)}; }`),n.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${f.transparent(.5)}; }`))});var Ms=e(94327),$n=e(13072),_s=e(66459),ao=e(94535),ks=e(29879),Fs=e(38803),as=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>3&&ce&&Object.defineProperty(n,f,ce),ce},vs=function(Ne,n){return function(f,P){n(f,P,Ne)}};function Ns(Ne){return Ne.scheme===$n.ny.file?Ne.fsPath:Ne.path}let Er=0;class Lr{constructor(n,f,P,Q,ce,ke,Je){this.id=++Er,this.type=0,this.actual=n,this.label=n.label,this.confirmBeforeUndo=n.confirmBeforeUndo||!1,this.resourceLabel=f,this.strResource=P,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=Q,this.groupOrder=ce,this.sourceId=ke,this.sourceOrder=Je,this.isValid=!0}setValid(n){this.isValid=n}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?"  VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class ur{constructor(n,f){this.resourceLabel=n,this.reason=f}}class Da{constructor(){this.elements=new Map}createMessage(){const n=[],f=[];for(const[,Q]of this.elements)(Q.reason===0?n:f).push(Q.resourceLabel);const P=[];return n.length>0&&P.push((0,Ot.kg)(2099,"The following files have been closed and modified on disk: {0}.",n.join(", "))),f.length>0&&P.push((0,Ot.kg)(2100,"The following files have been modified in an incompatible way: {0}.",f.join(", "))),P.join(`
323`)}get size(){return this.elements.size}has(n){return this.elements.has(n)}set(n,f){this.elements.set(n,f)}delete(n){return this.elements.delete(n)}}class za{constructor(n,f,P,Q,ce,ke,Je){this.id=++Er,this.type=1,this.actual=n,this.label=n.label,this.confirmBeforeUndo=n.confirmBeforeUndo||!1,this.resourceLabels=f,this.strResources=P,this.groupId=Q,this.groupOrder=ce,this.sourceId=ke,this.sourceOrder=Je,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(n,f,P){this.removedResources||(this.removedResources=new Da),this.removedResources.has(f)||this.removedResources.set(f,new ur(n,P))}setValid(n,f,P){P?this.invalidatedResources&&(this.invalidatedResources.delete(f),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Da),this.invalidatedResources.has(f)||this.invalidatedResources.set(f,new ur(n,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":"  VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class fo{constructor(n,f){this.resourceLabel=n,this.strResource=f,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const n of this._past)n.type===1&&n.removeResource(this.resourceLabel,this.strResource,0);for(const n of this._future)n.type===1&&n.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const n=[];n.push(`* ${this.strResource}:`);for(let f=0;f<this._past.length;f++)n.push(`   * [UNDO] ${this._past[f]}`);for(let f=this._future.length-1;f>=0;f--)n.push(`   * [REDO] ${this._future[f]}`);return n.join(`
324`)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(n,f){n.type===1?n.setValid(this.resourceLabel,this.strResource,f):n.setValid(f)}setElementsValidFlag(n,f){for(const P of this._past)f(P.actual)&&this._setElementValidFlag(P,n);for(const P of this._future)f(P.actual)&&this._setElementValidFlag(P,n)}pushElement(n){for(const f of this._future)f.type===1&&f.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(n),this.versionId++}createSnapshot(n){const f=[];for(let P=0,Q=this._past.length;P<Q;P++)f.push(this._past[P].id);for(let P=this._future.length-1;P>=0;P--)f.push(this._future[P].id);return new Fs.To(n,f)}restoreSnapshot(n){const f=n.elements.length;let P=!0,Q=0,ce=-1;for(let Je=0,Ct=this._past.length;Je<Ct;Je++,Q++){const bt=this._past[Je];P&&(Q>=f||bt.id!==n.elements[Q])&&(P=!1,ce=Je),!P&&bt.type===1&&bt.removeResource(this.resourceLabel,this.strResource,0)}let ke=-1;for(let Je=this._future.length-1;Je>=0;Je--,Q++){const Ct=this._future[Je];P&&(Q>=f||Ct.id!==n.elements[Q])&&(P=!1,ke=Je),!P&&Ct.type===1&&Ct.removeResource(this.resourceLabel,this.strResource,0)}ce!==-1&&(this._past=this._past.slice(0,ce)),ke!==-1&&(this._future=this._future.slice(ke+1)),this.versionId++}getElements(){const n=[],f=[];for(const P of this._past)n.push(P.actual);for(const P of this._future)f.push(P.actual);return{past:n,future:f}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}
324splitPastWorkspaceElement(n,f){for(let P=this._past.length-1;P>=0;P--)if(this._past[P]===n){f.has(this.strResource)?this._past[P]=f.get(this.strResource):this._past.splice(P,1);break}this.versionId++}splitFutureWorkspaceElement(n,f){for(let P=this._future.length-1;P>=0;P--)if(this._future[P]===n){f.has(this.strResource)?this._future[P]=f.get(this.strResource):this._future.splice(P,1);break}this.versionId++}moveBackward(n){this._past.pop(),this._future.push(n),this.versionId++}moveForward(n){this._future.pop(),this._past.push(n),this.versionId++}}class nr{constructor(n){this.editStacks=n,this._versionIds=[];for(let f=0,P=this.editStacks.length;f<P;f++)this._versionIds[f]=this.editStacks[f].versionId}isValid(){for(let n=0,f=this.editStacks.length;n<f;n++)if(this._versionIds[n]!==this.editStacks[n].versionId)return!1;return!0}}const Ur=new fo("","");Ur.locked=!0;let sr=class{constructor(n,f){this._dialogService=n,this._notificationService=f,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(n){for(const f of this._uriComparisonKeyComputers)if(f[0]===n.scheme)return f[1].getComparisonKey(n);return n.toString()}_print(n){console.log("------------------------------------"),console.log(`AFTER ${n}: `);const f=[];for(const P of this._editStacks)f.push(P[1].toString());console.log(f.join(`
325`))}pushElement(n,f=Fs.I_.None,P=Fs.Ym.None){if(n.type===0){const Q=Ns(n.resource),ce=this.getUriComparisonKey(n.resource);this._pushElement(new Lr(n,Q,ce,f.id,f.nextOrder(),P.id,P.nextOrder()))}else{const Q=new Set,ce=[],ke=[];for(const Je of n.resources){const Ct=Ns(Je),bt=this.getUriComparisonKey(Je);Q.has(bt)||(Q.add(bt),ce.push(Ct),ke.push(bt))}ce.length===1?this._pushElement(new Lr(n,ce[0],ke[0],f.id,f.nextOrder(),P.id,P.nextOrder())):this._pushElement(new za(n,ce,ke,f.id,f.nextOrder(),P.id,P.nextOrder()))}}_pushElement(n){for(let f=0,P=n.strResources.length;f<P;f++){const Q=n.resourceLabels[f],ce=n.strResources[f];let ke;this._editStacks.has(ce)?ke=this._editStacks.get(ce):(ke=new fo(Q,ce),this._editStacks.set(ce,ke)),ke.pushElement(n)}}getLastElement(n){const f=this.getUriComparisonKey(n);if(this._editStacks.has(f)){const P=this._editStacks.get(f);if(P.hasFutureElements())return null;const Q=P.getClosestPastElement();return Q?Q.actual:null}return null}
325_splitPastWorkspaceElement(n,f){const P=n.actual.split(),Q=new Map;for(const ce of P){const ke=Ns(ce.resource),Je=this.getUriComparisonKey(ce.resource),Ct=new Lr(ce,ke,Je,0,0,0,0);Q.set(Ct.strResource,Ct)}for(const ce of n.strResources){if(f&&f.has(ce))continue;this._editStacks.get(ce).splitPastWorkspaceElement(n,Q)}}_splitFutureWorkspaceElement(n,f){const P=n.actual.split(),Q=new Map;for(const ce of P){const ke=Ns(ce.resource),Je=this.getUriComparisonKey(ce.resource),Ct=new Lr(ce,ke,Je,0,0,0,0);Q.set(Ct.strResource,Ct)}for(const ce of n.strResources){if(f&&f.has(ce))continue;this._editStacks.get(ce).splitFutureWorkspaceElement(n,Q)}}removeElements(n){const f=typeof n=="string"?n:this.getUriComparisonKey(n);this._editStacks.has(f)&&(this._editStacks.get(f).dispose(),this._editStacks.delete(f))}setElementsValidFlag(n,f,P){const Q=this.getUriComparisonKey(n);this._editStacks.has(Q)&&this._editStacks.get(Q).setElementsValidFlag(f,P)}createSnapshot(n){const f=this.getUriComparisonKey(n);return this._editStacks.has(f)?this._editStacks.get(f).createSnapshot(n):new Fs.To(n,[])}restoreSnapshot(n){const f=this.getUriComparisonKey(n.resource);if(this._editStacks.has(f)){const P=this._editStacks.get(f);P.restoreSnapshot(n),!P.hasPastElements()&&!P.hasFutureElements()&&(P.dispose(),this._editStacks.delete(f))}}getElements(n){const f=this.getUriComparisonKey(n);return this._editStacks.has(f)?this._editStacks.get(f).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(n){if(!n)return[null,null];let f=null,P=null;for(const[Q,ce]of this._editStacks){const ke=ce.getClosestPastElement();ke&&ke.sourceId===n&&(!f||ke.sourceOrder>f.sourceOrder)&&(f=ke,P=Q)}return[f,P]}canUndo(n){if(n instanceof Fs.Ym){const[,P]=this._findClosestUndoElementWithSource(n.id);return!!P}const f=this.getUriComparisonKey(n);return this._editStacks.has(f)?this._editStacks.get(f).hasPastElements():!1}_onError(n,f){(0,Ms.dz)(n);for(const P of f.strResources)this.removeElements(P);this._notificationService.error(n)}_acquireLocks(n){for(const f of n.editStacks)if(f.locked)throw new Error("Cannot acquire edit stack lock");for(const f of n.editStacks)f.locked=!0;return()=>{for(const f of n.editStacks)f.locked=!1}}_safeInvokeWithLocks(n,f,P,Q,ce){const ke=this._acquireLocks(P);let Je;try{Je=f()}catch(Ct){return ke(),Q.dispose(),this._onError(Ct,n)}return Je?Je.then(()=>(ke(),Q.dispose(),ce()),Ct=>(ke(),Q.dispose(),this._onError(Ct,n))):(ke(),Q.dispose(),ce())}async _invokeWorkspacePrepare(n){if(typeof n.actual.prepareUndoRedo>"u")return ae.jG.None;const f=n.actual.prepareUndoRedo();return typeof f>"u"?ae.jG.None:f}_invokeResourcePrepare(n,f){if(n.actual.type!==1||typeof n.actual.prepareUndoRedo>"u")return f(ae.jG.None);const P=n.actual.prepareUndoRedo();return P?(0,ae.Xm)(P)?f(P):P.then(Q=>f(Q)):f(ae.jG.None)}_getAffectedEditStacks(n){const f=[];for(const P of n.strResources)f.push(this._editStacks.get(P)||Ur);return new nr(f)}_tryToSplitAndUndo(n,f,P,Q){if(f.canSplit())return this._splitPastWorksp
325aceElement(f,P),this._notificationService.warn(Q),new Qo(this._undo(n,0,!0));for(const ce of f.strResources)this.removeElements(ce);return this._notificationService.warn(Q),new Qo}_checkWorkspaceUndo(n,f,P,Q){if(f.removedResources)return this._tryToSplitAndUndo(n,f,f.removedResources,(0,Ot.kg)(2101,"Could not undo '{0}' across all files. {1}",f.label,f.removedResources.createMessage()));if(Q&&f.invalidatedResources)return this._tryToSplitAndUndo(n,f,f.invalidatedResources,(0,Ot.kg)(2102,"Could not undo '{0}' across all files. {1}",f.label,f.invalidatedResources.createMessage()));const ce=[];for(const Je of P.editStacks)Je.getClosestPastElement()!==f&&ce.push(Je.resourceLabel);if(ce.length>0)return this._tryToSplitAndUndo(n,f,null,(0,Ot.kg)(2103,"Could not undo '{0}' across all files because changes were made to {1}",f.label,ce.join(", ")));const ke=[];for(const Je of P.editStacks)Je.locked&&ke.push(Je.resourceLabel);return ke.length>0?this._tryToSplitAndUndo(n,f,null,(0,Ot.kg)(2104,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",f.label,ke.join(", "))):P.isValid()?null:this._tryToSplitAndUndo(n,f,null,(0,Ot.kg)(2105,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",f.label))}_workspaceUndo(n,f,P){const Q=this._getAffectedEditStacks(f),ce=this._checkWorkspaceUndo(n,f,Q,!1);return ce?ce.returnValue:this._confirmAndExecuteWorkspaceUndo(n,f,Q,P)}_isPartOfUndoGroup(n){if(!n.groupId)return!1;for(const[,f]of this._editStacks){const P=f.getClosestPastElement();if(P){if(P===n){const Q=f.getSecondClosestPastElement();if(Q&&Q.groupId===n.groupId)return!0}if(P.groupId===n.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(n,f,P,Q){if(f.canSplit()&&!this._isPartOfUndoGroup(f)){let Je;(function(kt){kt[kt.All=0]="All",kt[kt.This=1]="This",kt[kt.Cancel=2]="Cancel"})(Je||(Je={}));const{result:Ct}=await this._dialogService.prompt({type:_s.A.Info,message:(0,Ot.kg)(2106,"Would you like to undo '{0}' across all files?",f.label),buttons:[{label:(0,Ot.kg)(2107,"&&Undo in {0} Files",P.editStacks.length),run:()=>Je.All},{label:(0,Ot.kg)(2108,"Undo this &&File"),run:()=>Je.This}],cancelButton:{run:()=>Je.Cancel}});if(Ct===Je.Cancel)return;
325if(Ct===Je.This)return this._splitPastWorkspaceElement(f,null),this._undo(n,0,!0);const bt=this._checkWorkspaceUndo(n,f,P,!1);if(bt)return bt.returnValue;Q=!0}let ce;try{ce=await this._invokeWorkspacePrepare(f)}catch(Je){return this._onError(Je,f)}const ke=this._checkWorkspaceUndo(n,f,P,!0);if(ke)return ce.dispose(),ke.returnValue;for(const Je of P.editStacks)Je.moveBackward(f);return this._safeInvokeWithLocks(f,()=>f.actual.undo(),P,ce,()=>this._continueUndoInGroup(f.groupId,Q))}_resourceUndo(n,f,P){if(!f.isValid){n.flushAllElements();return}if(n.locked){const Q=(0,Ot.kg)(2109,"Could not undo '{0}' because there is already an undo or redo operation running.",f.label);this._notificationService.warn(Q);return}return this._invokeResourcePrepare(f,Q=>(n.moveBackward(f),this._safeInvokeWithLocks(f,()=>f.actual.undo(),new nr([n]),Q,()=>this._continueUndoInGroup(f.groupId,P))))}_findClosestUndoElementInGroup(n){if(!n)return[null,null];let f=null,P=null;for(const[Q,ce]of this._editStacks){const ke=ce.getClosestPastElement();ke&&ke.groupId===n&&(!f||ke.groupOrder>f.groupOrder)&&(f=ke,P=Q)}return[f,P]}_continueUndoInGroup(n,f){if(!n)return;const[,P]=this._findClosestUndoElementInGroup(n);if(P)return this._undo(P,0,f)}undo(n){if(n instanceof Fs.Ym){const[,f]=this._findClosestUndoElementWithSource(n.id);return f?this._undo(f,n.id,!1):void 0}return typeof n=="string"?this._undo(n,0,!1):this._undo(this.getUriComparisonKey(n),0,!1)}_undo(n,f=0,P){if(!this._editStacks.has(n))return;const Q=this._editStacks.get(n),ce=Q.getClosestPastElement();if(!ce)return;if(ce.groupId){const[Je,Ct]=this._findClosestUndoElementInGroup(ce.groupId);if(ce!==Je&&Ct)return this._undo(Ct,f,P)}if((ce.sourceId!==f||ce.confirmBeforeUndo)&&!P)return this._confirmAndContinueUndo(n,f,ce);try{return ce.type===1?this._workspaceUndo(n,ce,P):this._resourceUndo(Q,ce,P)}finally{}}async _confirmAndContinueUndo(n,f,P){if((await this._dialogService.confirm({message:(0,Ot.kg)(2110,"Would you like to undo '{0}'?",P.label),primaryButton:(0,Ot.kg)(2111,"&&Yes"),cancelButton:(0,Ot.kg)(2112,"No")})).confirmed)return this._undo(n,f,!0)}_findClosestRedoElementWithSource(n){if(!n)return[null,null];let f=null,P=null;for(const[Q,ce]of this._editStacks){const ke=ce.getClosestFutureElement();ke&&ke.sourceId===n&&(!f||ke.sourceOrder<f.sourceOrder)&&(f=ke,P=Q)}return[f,P]}canRedo(n){if(n instanceof Fs.Ym){const[,P]=this._findClosestRedoElementWithSource(n.id);return!!P}const f=this.getUriComparisonKey(n);return this._editStacks.has(f)?this._editStacks.get(f).hasFutureElements():!1}_tryToSplitAndRedo(n,f,P,Q){if(f.canSplit())return this._splitFutureWorkspaceElement(f,P),this._notificationService.warn(Q),new Qo(this._redo(n));for(const ce of f.strResources)this.removeElements(ce);return this._notificationService.warn(Q),new Qo}_checkWorkspaceRedo(n,f,P,Q){if(f.removedResources)return this._tryToSplitAndRedo(n,f,f.removedResources,(0,Ot.kg)(2113,"Could not redo '{0}' across all files. {1}",f.label,f.removedResources.createMessage()));if(Q&&f.invalidatedResources)return this._tryToSplitAndRedo(n,f,f.invalidatedResources,(0,Ot.kg)(2114,"Could not redo '{0}' across all files. {1}",f.label,f.invalidatedResources.createMessage()));const ce=[];for(const Je of P.editStacks)Je.getClosestFutureElement()!==f&&ce.push(Je.resourceLabel);if(ce.length>0)return this._tryToSplitAndRedo(n,f,null,(0,Ot.kg)(2115,"Could not redo '{0}' across all files because changes were made to {1}",f.label,ce.join(", ")));const ke=[];for(const Je of P.editStacks)Je.locked&&ke.push(Je.resourceLabel);return ke.length>0?this._tryToSplitAndRedo(n,f,null,(0,Ot.kg)(2116,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",f.label,ke.join(", "))):P.isValid()?null:this._tryToSplitAndRedo(n,f,null,(0,Ot.kg)(2117,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",f.label))}_workspaceRedo(n,f){const P=this._getAffectedEditStacks(f),Q=this._checkWorkspaceRedo(n,f,P,!1);return Q?Q.returnValue:this._executeWorkspaceRedo(n,f,P)}async _executeWorkspaceRedo(n,f,P){let Q;try{Q=await this._invokeWorkspacePrepare(f)}catch(ke){return this._onError(ke,f)}const ce=this._checkWorkspaceRedo(n,f,P,!0);if(ce)return Q.dispose(),ce.returnValue;for(const ke of P.editStacks)ke.moveForward(f);return this._safeInvokeWithLocks(f,()=>f.actual.redo(),P,Q,()=>this._continueRedoInGroup(f.groupId))}_resourceRedo(n,f){if(!f.isValid){n.flushAllElements();return}if(n.locked){const P=(0,Ot.kg)(2118,"Could not redo '{0}' because there is already an undo or redo operation running.",f.label);this._notificationService.warn(P);return}return this._invokeResourcePrepare(f,P=>(n.moveForward(f),this._safeInvokeWithLocks(f,()=>f.actual.redo(),new nr([n]),P,()=>this._continueRedoInGroup(f.groupId))))}
325_findClosestRedoElementInGroup(n){if(!n)return[null,null];let f=null,P=null;for(const[Q,ce]of this._editStacks){const ke=ce.getClosestFutureElement();ke&&ke.groupId===n&&(!f||ke.groupOrder<f.groupOrder)&&(f=ke,P=Q)}return[f,P]}_continueRedoInGroup(n){if(!n)return;const[,f]=this._findClosestRedoElementInGroup(n);if(f)return this._redo(f)}redo(n){if(n instanceof Fs.Ym){const[,f]=this._findClosestRedoElementWithSource(n.id);return f?this._redo(f):void 0}return typeof n=="string"?this._redo(n):this._redo(this.getUriComparisonKey(n))}_redo(n){if(!this._editStacks.has(n))return;const f=this._editStacks.get(n),P=f.getClosestFutureElement();if(P){if(P.groupId){const[Q,ce]=this._findClosestRedoElementInGroup(P.groupId);if(P!==Q&&ce)return this._redo(ce)}try{return P.type===1?this._workspaceRedo(n,P):this._resourceRedo(f,P)}finally{}}}};sr=as([vs(0,ao.X),vs(1,ks.Ot)],sr);class Qo{constructor(n){this.returnValue=n}}(0,jt.v)(Fs.$D,sr,1);var kr=e(52115),zo=e(12060),gr=e(74403);function sn(Ne){return typeof Ne=="string"?!1:Array.isArray(Ne)?Ne.every(sn):!!Ne.exclusive}class jr{constructor(n,f,P,Q,ce){this.uri=n,this.languageId=f,this.notebookUri=P,this.notebookType=Q,this.recursive=ce}equals(n){return this.notebookType===n.notebookType&&this.languageId===n.languageId&&this.uri.toString()===n.uri.toString()&&this.notebookUri?.toString()===n.notebookUri?.toString()&&this.recursive===n.recursive}}class jn{get onDidChange(){return this._onDidChange.event}constructor(n){this._notebookInfoResolver=n,this._clock=0,this._entries=[],this._onDidChange=new ui.vl}register(n,f){let P={selector:n,provider:f,_score:-1,_time:this._clock++};return this._entries.push(P),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,ae.s)(()=>{if(P){const Q=this._entries.indexOf(P);Q>=0&&(this._entries.splice(Q,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),P=void 0)}})}has(n){return this.all(n).length>0}all(n){if(!n)return[];this._updateScores(n,!1);const f=[];for(const P of this._entries)P._score>0&&f.push(P.provider);return f}allNoModel(){return this._entries.map(n=>n.provider)}ordered(n,f=!1){const P=[];return this._orderedForEach(n,f,Q=>P.push(Q.provider)),P}orderedGroups(n){const f=[];let P,Q;return this._orderedForEach(n,!1,ce=>{P&&Q===ce._score?P.push(ce.provider):(Q=ce._score,P=[ce.provider],f.push(P))}),f}_orderedForEach(n,f,P){this._updateScores(n,f);for(const Q of this._entries)Q._score>0&&P(Q)}_updateScores(n,f){const P=this._notebookInfoResolver?.(n.uri),Q=P?new jr(n.uri,n.getLanguageId(),P.uri,P.type,f):new jr(n.uri,n.getLanguageId(),void 0,void 0,f);if(!this._lastCandidate?.equals(Q)){this._lastCandidate=Q;for(const ce of this._entries)if(ce._score=(0,gr.f)(ce.selector,Q.uri,Q.languageId,(0,ve.vd)(n),Q.notebookUri,Q.notebookType),sn(ce.selector)&&ce._score>0)if(f)ce._score=0;else{for(const ke of this._entries)ke._score=0;ce._score=1e3;break}this._entries.sort(jn._compareByScoreAndTime)}}static _compareByScoreAndTime(n,f){return n._score<f._score?1:n._score>f._score?-1:Do(n.selector)&&!Do(f.selector)?1:!Do(n.selector)&&Do(f.selector)?-1:n._time<f._time?1:n._time>f._time?-1:0}}function Do(Ne){return typeof Ne=="string"?!1:Array.isArray(Ne)?Ne.some(Do):!!Ne.isBuiltin}var Ln=e(29849);class xo{constructor(){this.referenceProvider=new jn(this._score.bind(this)),this.renameProvider=new jn(this._score.bind(this)),this.newSymbolNamesProvider=new jn(this._score.bind(this)),this.codeActionProvider=new jn(this._score.bind(this)),this.definitionProvider=new jn(this._score.bind(this)),this.typeDefinitionProvider=new jn(this._score.bind(this)),this.declarationProvider=new jn(this._score.bind(this)),this.implementationProvider=new jn(this._score.bind(this)),this.documentSymbolProvider=new jn(this._score.bind(this)),this.inlayHintsProvider=new jn(this._score.bind(this)),this.colorProvider=new jn(this._score.bind(this)),this.codeLensProvider=new jn(this._score.bind(this)),this.documentFormattingEditProvider=new jn(this._score.bind(this)),this.documentRangeFormattingEditProvider=new jn(this._score.bind(this)),this.onTypeFormattingEditProvider=new jn(this._score.bind(this)),this.signatureHelpProvider=new jn(this._score.bind(this)),this.hoverProvider=new jn(this._score.bind(this)),this.documentHighlightProvider=new jn(this._score.bind(this)),this.multiDocumentHighlightProvider=new jn(this._score.bind(this)),this.selectionRangeProvider=new jn(this._score.bind(this)),this.foldingRangeProvider=new jn(this._score.bind(this)),this.linkProvider=new jn(this._score.bind(this)),this.inlineCompletionsProvider=new jn(this._score.bind(this)),this.completionProvider=new jn(this._score.bind(this)),this.linkedEditingRangeProvider=new jn(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new jn(this._score.bind(this)),this.documentSemanticTokensProvider=new jn(this._score.bind(this)),this.documentDropEditProvider=new jn(this._score.bind(this)),this.documentPasteEditProvider=new jn(this._score.bind(this))}_score(n){return this._notebookTypeResolver?.(n)}}(0,jt.v)(Ln.u,xo,1);var io=e(46441),fr=e(63786),Fn=e(82891),hi=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3253&&ce&&Object.defineProperty(n,f,ce),ce},Yi=function(Ne,n){return function(f,P){n(f,P,Ne)}};let En=class extends ae.jG{constructor(n,f,P){super(),this._themeService=n,this._logService=f,this._languageService=P,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(n){return this._caches.has(n)||this._caches.set(n,new fr.i(n.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(n)}};En=hi([Yi(0,$t.Gy),Yi(1,io.rr),Yi(2,q.L)],En),(0,jt.v)(Fn.F,En,1);var An=e(85525),Cs=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>3&&ce&&Object.defineProperty(n,f,ce),ce},As=function(Ne,n){return function(f,P){n(f,P,Ne)}};let so=class extends ae.jG{constructor(n){super(),this._themeService=n,this._onWillCreateCodeEditor=this._register(new ui.vl),this._onCodeEditorAdd=this._register(new ui.vl),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new ui.vl),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new ui.vl),this._onDiffEditorAdd=this._register(new ui.vl),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new ui.vl),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new An.w,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(n){this._codeEditors[n.getId()]=n,this._onCodeEditorAdd.fire(n)}removeCodeEditor(n){delete this._codeEditors[n.getId()]&&this._onCodeEditorRemove.fire(n)}listCodeEditors(){return Object.keys(this._codeEditors).map(n=>this._codeEditors[n])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(n){this._diffEditors[n.getId()]=n,this._onDiffEditorAdd.fire(n)}removeDiffEditor(n){delete this._diffEditors[n.getId()]&&this._onDiffEditorRemove.fire(n)}listDiffEditors(){return Object.keys(this._diffEditors).map(n=>this._diffEditors[n])}getFocusedCodeEditor(){let n=null;const f=this.listCodeEditors();for(const P of f){if(P.hasTextFocus())return P;P.hasWidgetFocus()&&(n=P)}return n}removeDecorationType(n){const f=this._decorationOptionProviders.get(n);f&&(f.refCount--,f.refCount<=0&&(this._decorationOptionProviders.delete(n),f.dispose(),this.listCodeEditors().forEach(P=>P.removeDecorationsByType(n))))}setModelProperty(n,f,P){const Q=n.toString();let ce;this._modelProperties.has(Q)?ce=this._modelProperties.get(Q):(ce=new Map,this._modelProperties.set(Q,ce)),ce.set(f,P)}getModelProperty(n,f){const P=n.toString();if(this._modelProperties.has(P))return this._modelProperties.get(P).get(f)}async openCodeEditor(n,f,P){for(const Q of this._codeEditorOpenHandlers){const ce=await Q(n,f,P);if(ce!==null)return ce}return null}registerCodeEditorOpenHandler(n){const f=this._codeEditorOpenHandlers.unshift(n);return(0,ae.s)(f)}};so=Cs([As(0,$t.Gy)],so);var Wn=e(31540),Mo=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3253&&ce&&Object.defineProperty(n,f,ce),ce},Hs=function(Ne,n){return function(f,P){n(f,P,Ne)}};let Zs=class extends so{constructor(n,f){super(f),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=n.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(P,Q,ce)=>Q?this.doOpenEditor(Q,P):null))}_checkContextKey(){let n=!1;for(const f of this.listCodeEditors())if(!f.isSimpleWidget){n=!0;break}this._editorIsOpen.set(n)}setActiveCodeEditor(n){this._activeCodeEditor=n}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(n,f){if(!this.findModel(n,f.resource)){if(f.resource){const ce=f.resource.scheme;if(ce===$n.ny.http||ce===$n.ny.https)return(0,Wt.jh)(f.resource.toString()),n}return null}const Q=f.options?f.options.selection:null;if(Q)if(typeof Q.endLineNumber=="number"&&typeof Q.endColumn=="number")n.setSelection(Q),n.revealRangeInCenter(Q,1);else{const ce={lineNumber:Q.startLineNumber,column:Q.startColumn};n.setPosition(ce),n.revealPositionInCenter(ce,1)}return n}findModel(n,f){const P=n.getModel();return P&&P.uri.toString()!==f.toString()?null:P}};Zs=Mo([Hs(0,Wn.fN),Hs(1,$t.Gy)],Zs),(0,jt.v)(Ye.T,Zs,0);var $s=e(13338),la=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3253&&ce&&Object.defineProperty(n,f,ce),ce},Yo=function(Ne,n){return function(f,P){n(f,P,Ne)}};let po=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??je.G.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return(0,Wt.tG)(this.mainContainer)}get activeContainerDimension(){return(0,Wt.tG)(this.activeContainer)}get containers(){return(0,$s.Yc)(this._codeEditorService.listCodeEditors().map(n=>n.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(n){this._codeEditorService=n,this.onDidLayoutMainContainer=ui.Jh.None,this.onDidLayoutActiveContainer=ui.Jh.None,this.onDidLayoutContainer=ui.Jh.None,this.onDidChangeActiveContainer=ui.Jh.None,this.onDidAddContainer=ui.Jh.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};po=la([Yo(0,Ye.T)],po);let dl=class extends po{get mainContainer(){return this._container}constructor(n,f){super(f),this._container=n}};dl=la([Yo(1,Ye.T)],dl),(0,jt.v)(qt.x,po,1);var mr=e(39619),_o=e(27992),Dr=e(22467),Tl=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3253&&ce&&Object.defineProperty(n,f,ce),ce},Ai=function(Ne,n){return function(f,P){n(f,P,Ne)}};let pr=class extends ae.jG{constructor(n,f,P){super(),this._contextKeyService=n,this._layoutService=f,this._configurationService=P,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=this._register(new ui.vl),this._onDidChangeReducedMotion=this._register(new ui.vl),this._onDidChangeReducedTransparency=this._register(new ui.vl),this._onDidChangeLinkUnderline=this._register(new ui.vl),this._accessibilityModeEnabledContext=ai.f.bindTo(this._contextKeyService);const Q=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(Je=>{Je.affectsConfiguration("editor.accessibilitySupport")&&(Q(),this._onDidChangeScreenReaderOptimized.fire()),Je.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire()),Je.affectsConfiguration("workbench.reduceTransparency")&&(this._configTransparencyReduced=this._configurationService.getValue("workbench.reduceTransparency"),this._onDidChangeReducedTransparency.fire())})),Q(),this._register(this.onDidChangeScreenReaderOptimized(()=>Q()));const ce=je.G.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=ce.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion");const ke=je.G.matchMedia("(prefers-reduced-transparency: reduce)");this._systemTransparencyReduced=ke.matches,this._configTransparencyReduced=this._configurationService.getValue("workbench.reduceTransparency"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(ce),this.initReducedTransparencyListeners(ke),this.initLinkUnderlineListeners()}initReducedMotionListeners(n){this._register((0,Wt.ko)(n,"change",()=>{this._systemMotionReduced=n.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const f=()=>{const P=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("monaco-reduce-motion",P),this._layoutService.mainContainer.classList.toggle("monaco-enable-motion",!P)};f(),this._register(this.onDidChangeReducedMotion(()=>f()))}initReducedTransparencyListeners(n){this._register((0,Wt.ko)(n,"change",()=>{this._systemTransparencyReduced=n.matches,this._configTransparencyReduced==="auto"&&this._onDidChangeReducedTransparency.fire()}));const f=()=>{const P=this.isTransparencyReduced();this._layoutService.mainContainer.classList.toggle("monaco-reduce-transparency",P)};f(),this._register(this.onDidChangeReducedTransparency(()=>f()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(f=>{if(f.affectsConfiguration("accessibility.underlineLinks")){const P=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=P,this._onDidChangeLinkUnderline.fire()}}));const n=()=>{const f=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",f)};n(),this._register(this.onDidChangeLinkUnderlines(()=>n()))}onDidChangeLinkUnderlines(n){return this._onDidChangeLinkUnderline.event(n)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const n=this.getAccessibilitySupportConfigurationValue();return n==="on"||n==="auto"&&this._accessibilitySupport===2}getAccessibilitySupportConfigurationValue(){const n=this._configurationService.inspect("editor.accessibilitySupport");return n.policyValue??n.memoryValue??n.workspaceFolderValue??n.workspaceValue??n.userValue??n.applicationValue??n.defaultValue??"auto"}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const n=this._configMotionReduced;return n==="on"||n==="auto"&&this._systemMotionReduced}get onDidChangeReducedTransparency(){return this._onDidChangeReducedTransparency.event}
325isTransparencyReduced(){const n=this._configTransparencyReduced;return n==="on"||n==="auto"&&this._systemTransparencyReduced}getAccessibilitySupport(){return this._accessibilitySupport}};pr=Tl([Ai(0,Wn.fN),Ai(1,qt.x),Ai(2,Si.pG)],pr);var Ml=e(71285),go=e(58067),Io=e(73810),Ro=e(55893),or=e(22344),da=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>3&&ce&&Object.defineProperty(n,f,ce),ce},ca=function(Ne,n){return function(f,P){n(f,P,Ne)}},ha;const vo="application/vnd.code.resources";let Zo=(Nd=class extends ae.jG{constructor(n,f){super(),this.layoutService=n,this.logService=f,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(Ro.nr||Ro.c8)&&this.installWebKitWriteTextWorkaround(),this._register(ui.Jh.runAndSubscribe(Wt.Iv,({window:P,disposables:Q})=>{Q.add((0,Wt.ko)(P.document,"copy",()=>this.clearResourcesState()))},{window:je.G,disposables:this._store}))}triggerPaste(){this.logService.trace("BrowserClipboardService#triggerPaste")}installWebKitWriteTextWorkaround(){const n=()=>{const f=new gi.Zv;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=f,(0,Wt.fz)().navigator.clipboard.write([new ClipboardItem({"text/plain":f.p})]).catch(async P=>{(!(P instanceof Error)||P.name!=="NotAllowedError"||!f.isRejected)&&this.logService.error(P)})};this._register(ui.Jh.runAndSubscribe(this.layoutService.onDidAddContainer,({container:f,disposables:P})=>{P.add((0,Wt.ko)(f,"click",n)),P.add((0,Wt.ko)(f,"keydown",n))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(n,f){if(this.logService.trace("BrowserClipboardService#writeText called with type:",f," text.length:",n.length),this.clearResourcesState(),f){this.mapTextToType.set(f,n),this.logService.trace("BrowserClipboardService#writeText");return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(n);try{return this.logService.trace("before navigator.clipboard.writeText"),await(0,Wt.fz)().navigator.clipboard.writeText(n)}catch(P){console.error(P)}this.fallbackWriteText(n)}fallbackWriteText(n){this.logService.trace("BrowserClipboardService#fallbackWriteText");const f=(0,Wt.a)(),P=f.activeElement,Q=f.body.appendChild((0,Wt.$)("textarea",{"aria-hidden":!0}));Q.style.height="1px",Q.style.width="1px",Q.style.position="absolute",Q.value=n,Q.focus(),Q.select(),f.execCommand("copy"),(0,Wt.sb)(P)&&P.focus(),Q.remove()}async readText(n){if(this.logService.trace("BrowserClipboardService#readText called with type:",n),n){const f=this.mapTextToType.get(n)||"";return this.logService.trace("BrowserClipboardService#readText text.length:",f.length),f}try{const f=await(0,Wt.fz)().navigator.clipboard.readText();return this.logService.trace("BrowserClipboardService#readText text.length:",f.length),f}catch(f){console.error(f)}return""}async readFindText(){return this.findText}async writeFindText(n){this.findText=n}async readResources(){try{const f=await(0,Wt.fz)().navigator.clipboard.read();for(const P of f)if(P.types.includes(`web ${vo}`)){const Q=await P.getType(`web ${vo}`);return JSON.parse(await Q.text()).map(ke=>Ie.r.from(ke))}}catch{}const n=await this.computeResourcesStateHash();return this.resourcesStateHash!==n&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const n=await this.readText();return(0,or.tW)(n.substring(0,ha.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},ha=Nd,Nd.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,Nd);Zo=ha=da([ca(0,qt.x),ca(1,io.rr)],Zo);var cl=e(3338),Eo=e(82096),Ao=e(71386),Xo=e(4761),xr=e(67167);function Oo(Ne){return Object.isFrozen(Ne)?Ne:(0,Ao.ol)(Ne)}class cs{static createEmptyModel(n){return new cs({},[],[],void 0,n)}constructor(n,f,P,Q,ce){this._contents=n,this._keys=f,this._overrides=P,this._raw=Q,this.logService=ce,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){const n=(Array.isArray(this._raw)?this._raw:[this._raw]).map(f=>{if(f instanceof cs)return f;const P=new Ss("",this.logService);return P.parseRaw(f),P.configurationModel});this._rawConfiguration=n.reduce((f,P)=>P===f?P:f.merge(P),n[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(n=>n instanceof cs)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(n){return n?(0,Si.gD)(this.contents,n):this.contents}inspect(n,f){const P=this;return{get value(){return Oo(P.rawConfiguration.getValue(n))},get override(){return f?Oo(P.rawConfiguration.getOverrideValue(n,f)):void 0},get merged(){return Oo(f?P.rawConfiguration.override(f).getValue(n):P.rawConfiguration.getValue(n))},get overrides(){const Q=[];for(const{contents:ce,identifiers:ke,keys:Je}of P.rawConfiguration.overrides){const Ct=new cs(ce,Je,[],void 0,P.logService).getValue(n);Ct!==void 0&&Q.push({identifiers:ke,value:Ct})}return Q.length?Oo(Q):void 0}}}getOverrideValue(n,f){const P=this.getContentsForOverrideIdentifer(f);return P?n?(0,Si.gD)(P,n):P:void 0}override(n){let f=this.overrideConfigurations.get(n);return f||(f=this.createOverrideConfigurationModel(n),this.overrideConfigurations.set(n,f)),f}merge(...n){const f=(0,Ao.Go)(this.contents),P=(0,Ao.Go)(this.overrides),Q=[...this.keys],ce=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(const ke of n)if(ce.push(...ke._raw?Array.isArray(ke._raw)?ke._raw:[ke._raw]:[ke]),!ke.isEmpty()){this.mergeContents(f,ke.contents);for(const Je of ke.overrides){const[Ct]=P.filter(bt=>(0,$s.aI)(bt.identifiers,Je.identifiers));Ct?(this.mergeContents(Ct.contents,Je.contents),Ct.keys.push(...Je.keys),Ct.keys=(0,$s.dM)(Ct.keys)):P.push((0,Ao.Go)(Je))}for(const Je of ke.keys)Q.indexOf(Je)===-1&&Q.push(Je)}return new cs(f,Q,P,!ce.length||ce.every(ke=>ke instanceof cs)?void 0:ce,this.logService)}createOverrideConfigurationModel(n){const f=this.getContentsForOverrideIdentifer(n);if(!f||typeof f!="object"||!Object.keys(f).length)return this;const P={};for(const Q of(0,$s.dM)([...Object.keys(this.contents),...Object.keys(f)])){let ce=this.contents[Q];const ke=f[Q];ke&&(typeof ce=="object"&&typeof ke=="object"?(ce=(0,Ao.Go)(ce),this.mergeContents(ce,ke)):ce=ke),P[Q]=ce}return new cs(P,this.keys,this.overrides,void 0,this.logService)}mergeContents(n,f){for(const P of Object.keys(f)){if(P in n&&(0,Ki.Gv)(n[P])&&(0,Ki.Gv)(f[P])){this.mergeContents(n[P],f[P]);continue}n[P]=(0,Ao.Go)(f[P])}}getContentsForOverrideIdentifer(n){let f=null,P=null;const Q=ce=>{ce&&(P?this.mergeContents(P,ce):P=(0,Ao.Go)(ce))};for(const ce of this.overrides)ce.identifiers.length===1&&ce.identifiers[0]===n?f=ce.contents:ce.identifiers.includes(n)&&Q(ce.contents);return Q(f),P}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}
325setValue(n,f){this.updateValue(n,f,!1)}removeValue(n){const f=this.keys.indexOf(n);f!==-1&&(this.keys.splice(f,1),(0,Si.iB)(this.contents,n),Xo.rC.test(n)&&this.overrides.splice(this.overrides.findIndex(P=>(0,$s.aI)(P.identifiers,(0,Xo.Gv)(n))),1))}updateValue(n,f,P){if((0,Si.kW)(this.contents,n,f,Q=>this.logService.error(Q)),P=P||this.keys.indexOf(n)===-1,P&&this.keys.push(n),Xo.rC.test(n)){const Q=this.contents[n],ce=(0,Xo.Gv)(n),ke={identifiers:ce,keys:Object.keys(Q),contents:(0,Si.ad)(Q,Ct=>this.logService.error(Ct))},Je=this.overrides.findIndex(Ct=>(0,$s.aI)(Ct.identifiers,ce));Je!==-1?this.overrides[Je]=ke:this.overrides.push(ke)}}}class Ss{constructor(n,f){this._name=n,this.logService=f,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||cs.createEmptyModel(this.logService)}parseRaw(n,f){this._raw=n;const{contents:P,keys:Q,overrides:ce,restricted:ke,hasExcludedProperties:Je}=this.doParseRaw(n,f);this._configurationModel=new cs(P,Q,ce,Je?[n]:void 0,this.logService),this._restrictedConfigurations=ke||[]}doParseRaw(n,f){const P=xr.O.as(Xo.Fd.Configuration),Q=P.getConfigurationProperties(),ce=P.getExcludedConfigurationProperties(),ke=this.filter(n,Q,ce,!0,f);n=ke.raw;const Je=(0,Si.ad)(n,kt=>this.logService.error(`Conflict in settings file ${this._name}: ${kt}`)),Ct=Object.keys(n),bt=this.toOverrides(n,kt=>this.logService.error(`Conflict in settings file ${this._name}: ${kt}`));return{contents:Je,keys:Ct,overrides:bt,restricted:ke.restricted,hasExcludedProperties:ke.hasExcludedProperties}}filter(n,f,P,Q,ce){let ke=!1;if(!ce?.scopes&&!ce?.skipRestricted&&!ce?.skipUnregistered&&!ce?.exclude?.length)return{raw:n,restricted:[],hasExcludedProperties:ke};const Je={},Ct=[];for(const bt in n)if(Xo.rC.test(bt)&&Q){const kt=this.filter(n[bt],f,P,!1,ce);Je[bt]=kt.raw,ke=ke||kt.hasExcludedProperties,Ct.push(...kt.restricted)}else{const kt=f[bt];kt?.restricted&&Ct.push(bt),this.shouldInclude(bt,kt,P,ce)?Je[bt]=n[bt]:ke=!0}return{raw:Je,restricted:Ct,hasExcludedProperties:ke}}shouldInclude(n,f,P,Q){if(Q.exclude?.includes(n))return!1;if(Q.include?.includes(n))return!0;if(Q.skipRestricted&&f?.restricted||Q.skipUnregistered&&!f)return!1;const ce=f??P[n],ke=ce?typeof ce.scope<"u"?ce.scope:4:void 0;return ke===void 0||Q.scopes===void 0?!0:Q.scopes.includes(ke)}toOverrides(n,f){const P=[];for(const Q of Object.keys(n))if(Xo.rC.test(Q)){const ce={},ke=n[Q];for(const Je in ke)ce[Je]=ke[Je];P.push({identifiers:(0,Xo.Gv)(Q),keys:Object.keys(ce),contents:(0,Si.ad)(ce,f)})}return P}}class od{constructor(n,f,P,Q,ce,ke,Je,Ct,bt,kt,ni,Pi,ki){this.key=n,this.overrides=f,this._value=P,this.overrideIdentifiers=Q,this.defaultConfiguration=ce,this.policyConfiguration=ke,this.applicationConfiguration=Je,this.userConfiguration=Ct,this.localUserConfiguration=bt,this.remoteUserConfiguration=kt,this.workspaceConfiguration=ni,this.folderConfigurationModel=Pi,this.memoryConfigurationModel=ki}toInspectValue(n){return n?.value!==void 0||n?.override!==void 0||n?.overrides!==void 0?n:void 0}get defaultInspectValue(){return this._defaultInspectValue||(this._defaultInspectValue=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}}class Jo{constructor(n,f,P,Q,ce,ke,Je,Ct,bt,kt){this._defaultConfiguration=n,this._policyConfiguration=f,this._applicationConfiguration=P,this._localUserConfiguration=Q,this._remoteUserConfiguration=ce,this._workspaceConfiguration=ke,this._folderConfigurations=Je,this._memoryConfiguration=Ct,this._memoryConfigurationByResource=bt,this.logService=kt,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new _o.fT,this._userConfiguration=null}getValue(n,f,P){return this.getConsolidatedConfigurationModel(n,f,P).getValue(n)}updateValue(n,f,P={}){let Q;P.resource?(Q=this._memoryConfigurationByResource.get(P.resource),Q||(Q=cs.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(P.resource,Q))):Q=this._memoryConfiguration,f===void 0?Q.removeValue(n):Q.setValue(n,f),P.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(n,f,P){const Q=this.getConsolidatedConfigurationModel(n,f,P),ce=this.getFolderConfigurationModelForResource(f.resource,P),ke=f.resource?this._memoryConfigurationByResource.get(f.resource)||this._memoryConfiguration:this._memoryConfiguration,Je=new Set;for(const Ct of Q.overrides)for(const bt of Ct.identifiers)Q.getOverrideValue(n,bt)!==void 0&&Je.add(bt);return new od(n,f,Q.getValue(n),Je.size?[...Je]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,P?this._workspaceConfiguration:void 0,ce||void 0,ke)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{const n=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new cs(n.contents,n.keys,n.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(n,f,P){let Q=this.getConsolidatedConfigurationModelForResource(f,P);if(f.overrideIdentifier&&(Q=Q.override(f.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(n)!==void 0){Q=Q.merge();for(const ce of this._policyConfiguration.keys)Q.setValue(ce,this._policyConfiguration.getValue(ce))}return Q}getConsolidatedConfigurationModelForResource({resource:n},f){let P=this.getWorkspaceConsolidatedConfiguration();if(f&&n){const Q=f.getFolder(n);Q&&(P=this.getFolderConsolidatedConfiguration(Q.uri)||P);const ce=this._memoryConfigurationByResource.get(n);ce&&(P=P.merge(ce))}return P}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(n){let f=this._foldersConsolidatedConfigurations.get(n);if(!f){const P=this.getWorkspaceConsolidatedConfiguration(),Q=this._folderConfigurations.get(n);Q?(f=P.merge(Q),this._foldersConsolidatedConfigurations.set(n,f)):f=P}return f}getFolderConfigurationModelForResource(n,f){if(f&&n){const P=f.getFolder(n);if(P)return this._folderConfigurations.get(P.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((n,f)=>{const{contents:P,overrides:Q,keys:ce}=this._folderConfigurations.get(f);return n.push([f,{contents:P,overrides:Q,keys:ce}
325]),n},[])}}static parse(n,f){const P=this.parseConfigurationModel(n.defaults,f),Q=this.parseConfigurationModel(n.policy,f),ce=this.parseConfigurationModel(n.application,f),ke=this.parseConfigurationModel(n.userLocal,f),Je=this.parseConfigurationModel(n.userRemote,f),Ct=this.parseConfigurationModel(n.workspace,f),bt=n.folders.reduce((kt,ni)=>(kt.set(Ie.r.revive(ni[0]),this.parseConfigurationModel(ni[1],f)),kt),new _o.fT);return new Jo(P,Q,ce,ke,Je,Ct,bt,cs.createEmptyModel(f),new _o.fT,f)}static parseConfigurationModel(n,f){return new cs(n.contents,n.keys,n.overrides,n.raw,f)}}class zr{constructor(n,f,P,Q,ce){this.change=n,this.previous=f,this.currentConfiguraiton=P,this.currentWorkspace=Q,this.logService=ce,this._marker=`
326`,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const ke of n.keys)this.affectedKeys.add(ke);for(const[,ke]of n.overrides)for(const Je of ke)this.affectedKeys.add(Je);this._affectsConfigStr=this._marker;for(const ke of this.affectedKeys)this._affectsConfigStr+=ke+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Jo.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(n,f){const P=this._marker+n,Q=this._affectsConfigStr.indexOf(P);if(Q<0)return!1;const ce=Q+P.length;if(ce>=this._affectsConfigStr.length)return!1;const ke=this._affectsConfigStr.charCodeAt(ce);if(ke!==this._markerCode1&&ke!==this._markerCode2)return!1;if(f){const Je=this.previousConfiguration?this.previousConfiguration.getValue(n,f,this.previous?.workspace):void 0,Ct=this.currentConfiguraiton.getValue(n,f,this.currentWorkspace);return!(0,Ao.aI)(Je,Ct)}return!0}}class Wo extends ae.jG{get configurationModel(){return this._configurationModel}constructor(n){super(),this.logService=n,this._configurationModel=cs.createEmptyModel(n)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=cs.createEmptyModel(this.logService);const n=xr.O.as(Xo.Fd.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(n),n)}updateConfigurationModel(n,f){const P=this.getConfigurationDefaultOverrides();for(const Q of n){const ce=P[Q],ke=f[Q];ce!==void 0?this._configurationModel.setValue(Q,ce):ke?this._configurationModel.setValue(Q,this.getDefaultValue(Q,ke)):this._configurationModel.removeValue(Q)}}getDefaultValue(n,f){return(0,Ao.Go)(f.default)}}var bo=e(17954),wt=e(66525),w=e(13034),B=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
3263&&ce&&Object.defineProperty(n,f,ce),ce},ee=function(Ne,n){return function(f,P){n(f,P,Ne)}};const ye="data-keybinding-context";class Pe{constructor(n,f){this._id=n,this._parent=f,this._value=Object.create(null),this._value._contextId=n}get value(){return{...this._value}}setValue(n,f){return(0,Ao.aI)(this._value[n],f)?!1:(this._value[n]=f,!0)}removeValue(n){return n in this._value?(delete this._value[n],!0):!1}getValue(n){const f=this._value[n];return typeof f>"u"&&this._parent?this._parent.getValue(n):f}}const Vc=class Vc extends Pe{constructor(){super(-1,null)}setValue(n,f){return!1}removeValue(n){return!1}getValue(n){}};Vc.INSTANCE=new Vc;let Ge=Vc;const Ic=class Ic extends Pe{constructor(n,f,P){super(n,null),this._configurationService=f,this._values=wt.cB.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(Q=>{if(Q.source===7){const ce=Array.from(this._values,([ke])=>ke);this._values.clear(),P.fire(new Kt(ce))}else{const ce=[];for(const ke of Q.affectedKeys){const Je=`config.${ke}`,Ct=this._values.findSuperstr(Je);Ct!==void 0&&(ce.push(...bo.f.map(Ct,([bt])=>bt)),this._values.deleteSuperstr(Je)),this._values.has(Je)&&(ce.push(Je),this._values.delete(Je))}P.fire(new Kt(ce))}})}dispose(){this._listener.dispose()}getValue(n){if(n.indexOf(Ic._keyPrefix)!==0)return super.getValue(n);if(this._values.has(n))return this._values.get(n);const f=n.substr(Ic._keyPrefix.length),P=this._configurationService.getValue(f);let Q;switch(typeof P){case"number":case"boolean":case"string":Q=P;break;default:Array.isArray(P)?Q=JSON.stringify(P):Q=P}return this._values.set(n,Q),Q}setValue(n,f){return super.setValue(n,f)}removeValue(n){return super.removeValue(n)}};Ic._keyPrefix="config.";let yt=Ic;class mt{constructor(n,f,P){this._service=n,this._key=f,this._defaultValue=P,this.reset()}set(n){this._service.setContext(this._key,n)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class Ht{constructor(n){this.key=n}affectsSome(n){return n.has(this.key)}allKeysContainedIn(n){return this.affectsSome(n)}}class Kt{constructor(n){this.keys=n}affectsSome(n){for(const f of this.keys)if(n.has(f))return!0;return!1}allKeysContainedIn(n){return this.keys.every(f=>n.has(f))}}class zt{constructor(n){this.events=n}affectsSome(n){for(const f of this.events)if(f.affectsSome(n))return!0;return!1}allKeysContainedIn(n){return this.events.every(f=>f.allKeysContainedIn(n))}}function si(Ne,n){return Ne.allKeysContainedIn(new Set(Object.keys(n)))}class mi extends ae.jG{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(n){super(),this._onDidChangeContext=this._register(new ui.fV({merge:f=>new zt(f)})),this._isDisposed=!1,this._myContextId=n}createKey(n,f){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new mt(this,n,f)}bufferChangeEvents(n){this._onDidChangeContext.pause();try{n()}finally{this._onDidChangeContext.resume()}}createScoped(n){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new Oi(this,n)}contextMatchesRules(n){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const f=this.getContextValuesContainer(this._myContextId);return n?n.evaluate(f):!0}getContextKeyValue(n){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(n)}setContext(n,f){if(this._isDisposed)return;const P=this.getContextValuesContainer(this._myContextId);P&&P.setValue(n,f)&&this._onDidChangeContext.fire(new Ht(n))}removeContext(n){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(n)&&this._onDidChangeContext.fire(new Ht(n))}getContext(n){return this._isDisposed?Ge.INSTANCE:this.getContextValuesContainer(Hi(n))}dispose(){super.dispose(),this._isDisposed=!0}}let Ii=class extends mi{constructor(n){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=w.J7.bindTo(this);const f=this._register(new yt(this._myContextId,n,this._onDidChangeContext));this._contexts.set(this._myContextId,f),this._register(ui.Jh.runAndSubscribe(Wt.Iv,({window:P,disposables:Q})=>{const ce=Q.add(new ae.HE);Q.add((0,Wt.ko)(P,Wt.Bx.FOCUS_IN,()=>{ce.value=new ae.Cm,this.updateInputContextKeys(P.document,ce.value)},!0))},{window:je.G,disposables:this._store}))}updateInputContextKeys(n,f){function P(){return!!n.activeElement&&(0,Wt.yD)(n.activeElement)}const Q=P();if(this.inputFocusedContext.set(Q),Q){const ce=f.add((0,Wt.w5)(n.activeElement));ui.Jh.once(ce.onDidBlur)(()=>{(0,Wt.fz)().document===n&&this.inputFocusedContext.set(P()),ce.dis
326pose()},void 0,f)}}getContextValuesContainer(n){return this._isDisposed?Ge.INSTANCE:this._contexts.get(n)||Ge.INSTANCE}createChildContext(n=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const f=++this._lastContextId;return this._contexts.set(f,new Pe(f,this.getContextValuesContainer(n))),f}disposeContext(n){this._isDisposed||this._contexts.delete(n)}};Ii=B([ee(0,Si.pG)],Ii);class Oi extends mi{constructor(n,f){if(super(n.createChildContext()),this._parentChangeListener=this._register(new ae.HE),this._parent=n,this._updateParentChangeListener(),this._domNode=f,this._domNode.hasAttribute(ye)){let P="";this._domNode.classList&&(P=Array.from(this._domNode.classList.values()).join(", ")),console.error(`Element already has context attribute${P?": "+P:""}`)}this._domNode.setAttribute(ye,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(n=>{const P=this._parent.getContextValuesContainer(this._myContextId).value;si(n,P)||this._onDidChangeContext.fire(n)})}dispose(){this._isDisposed||(this._parentChangeListener.clear(),this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(ye),super.dispose())}getContextValuesContainer(n){return this._isDisposed?Ge.INSTANCE:this._parent.getContextValuesContainer(n)}createChildContext(n=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(n)}disposeContext(n){this._parent.disposeContext(n)}}function Hi(Ne){for(;Ne;){if(Ne.hasAttribute(ye)){const n=Ne.getAttribute(ye);return n?parseInt(n,10):NaN}Ne=Ne.parentElement}return 0}function dn(Ne,n,f){Ne.get(Wn.fN).createKey(String(n),Tn(f))}function Tn(Ne){return(0,Ao.PI)(Ne,n=>{if(typeof n=="object"&&n.$mid===1)return Ie.r.revive(n).toString();if(n instanceof Ie.r)return n.toString()})}Eo.w.registerCommand("_setContext",dn),Eo.w.registerCommand({id:"getContextKeyInfo",handler(){return[...Wn.N1.all()].sort((Ne,n)=>Ne.key.localeCompare(n.key))},metadata:{description:(0,Ot.kg)(1736,"A command that returns information about context keys"),args:[]}}),Eo.w.registerCommand("_generateContextKeyInfo",function(){const Ne=[],n=new Set;for(const f of Wn.N1.all())n.has(f.key)||(n.add(f.key),Ne.push(f));Ne.sort((f,P)=>f.key.localeCompare(P.key)),console.log(JSON.stringify(Ne,void 0,2))});var Pn=e(27969),Jn=e(54860),Vs=e(76243),os=e(9715),ts=e(30474),mo=e(83952),Ko=e(77439),Ka=e(23473),Rl=e(16831),Ir=e(5915),jd=e(19892),xa=e(58881),Kr=e(67938);const rd=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,zd=/(&amp;)?(&amp;)([^\s&])/g;var hl;(function(Ne){Ne[Ne.Right=0]="Right",Ne[Ne.Left=1]="Left"})(hl||(hl={}));var Ol;(function(Ne){Ne[Ne.Above=0]="Above",Ne[Ne.Below=1]="Below"})(Ol||(Ol={}));class Ga extends Ko.E{constructor(n,f,P,Q){n.classList.add("monaco-menu-container"),n.setAttribute("role","presentation");const ce=document.createElement("div");ce.classList.add("monaco-menu"),ce.setAttribute("role","presentation"),super(ce,{orientation:1,actionViewItemProvider:bt=>this.doGetActionViewItem(bt,P,ke),context:P.context,actionRunner:P.actionRunner,ariaLabel:P.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...Qt.zx||Qt.j9?[10]:[]],keyDown:!0}}),this.menuStyles=Q,this.menuElement=ce,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(n,Q),this._register(ts.q.addTarget(ce)),this._register((0,Wt.ko)(ce,Wt.Bx.KEY_DOWN,bt=>{new Ft.Z(bt).equals(2)&&bt.preventDefault()})),P.enableMnemonics&&this._register((0,Wt.ko)(ce,Wt.Bx.KEY_DOWN,bt=>{const kt=bt.key.toLocaleLowerCase(),ni=this.mnemonics.get(kt);if(ni!==void 0&&(Wt.fs.stop(bt,!0),ni.length===1&&(ni[0]instanceof ad&&ni[0].container&&this.focusItemByElement(ni[0].container),ni[0].onClick(bt)),ni.length>1)){const Pi=ni.shift();Pi&&Pi.container&&(this.focusItemByElement(Pi.container),ni.push(Pi)),this.mnemonics.set(kt,ni)}})),Qt.j9&&this._register((0,Wt.ko)(ce,Wt.Bx.KEY_DOWN,bt=>{const kt=new Ft.Z(bt);kt.equals(14)||kt.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Wt.fs.stop(bt,!0)):(kt.equals(13)||kt.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Wt.fs.stop(bt,!0))})),this._register((0,Wt.ko)(this.domNode,Wt.Bx.MOUSE_OUT,bt=>{const kt=bt.relatedTarget;(0,Wt.QX)(kt,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),bt.stopPropagation())})),this._register((0,Wt.ko)(this.actionsList,Wt.Bx.MOUSE_OVER,bt=>{let kt=bt.target;if(!(!kt||!(0,Wt.QX)(kt,this.actionsList)||kt===this.actionsList)){for(;kt.parentElement!==this.actionsList&&kt.parentElement!==null;)kt=kt.parentElement;if(kt.classList.contains("action-item")){const ni=this.focusedItem;this.setFocusedItem(kt),ni!==this.focusedItem&&this.updateFocus()}}})),this._register(ts.q.addTarget(this.actionsList)),this._register((0,Wt.ko)(this.actionsList,ts.B.Tap,bt=>{let kt=bt.initialTarget;if(!(!kt||!(0,Wt.QX)(kt,this.actionsList)||kt===this.actionsList)){for(;kt.parentElement!==this.actionsList&&kt.parentElement!==null;)kt=kt.parentElement;if(kt.classList.contains("action-item")){const ni=this.focusedItem;this.setFocusedItem(kt),ni!==this.focusedItem&&this.updateFocus()}}}));const ke={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Rl.MU(ce,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const Je=this.scrollableElement.getDomNode();Je.style.position="",this.styleScrollElement(Je,Q),this._register((0,Wt.ko)(ce,ts.B.Change,bt=>{Wt.fs.stop(bt,!0);const kt=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:kt-bt.translationY})})),this._register((0,Wt.ko)(Je,Wt.Bx.MOUSE_UP,bt=>{bt.preventDefault()}));const Ct=(0,Wt.zk)(n);
326ce.style.maxHeight=`${Math.max(10,Ct.innerHeight-n.getBoundingClientRect().top-35)}px`,f=f.filter((bt,kt)=>P.submenuIds?.has(bt.id)?(console.warn(`Found submenu cycle: ${bt.id}`),!1):!(bt instanceof Pn.wv&&(kt===f.length-1||kt===0||f[kt-1]instanceof Pn.wv))),this.push(f,{icon:!0,label:!0,isMenu:!0}),n.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(bt=>!(bt instanceof ul)).forEach((bt,kt,ni)=>{bt.updatePositionInSet(kt+1,ni.length)})}initializeOrUpdateStyleSheet(n,f){this.styleSheet||((0,Wt.Cl)(n)?this.styleSheet=(0,mo.li)(n):(Ga.globalStyleSheet||(Ga.globalStyleSheet=(0,mo.li)()),this.styleSheet=Ga.globalStyleSheet)),this.styleSheet.textContent=gl(f,(0,Wt.Cl)(n))}styleScrollElement(n,f){const P=f.foregroundColor??"",Q=f.backgroundColor??"",ce=f.borderColor?`1px solid ${f.borderColor}`:"",ke="var(--vscode-cornerRadius-large)";n.style.outline=ce,n.style.borderRadius=ke,n.style.color=P,n.style.backgroundColor=Q}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(n){const f=this.focusedItem;this.setFocusedItem(n),f!==this.focusedItem&&this.updateFocus()}setFocusedItem(n){for(let f=0;f<this.actionsList.children.length;f++){const P=this.actionsList.children[f];if(n===P){this.focusedItem=f;break}}}updateFocus(n){super.updateFocus(n,!0,!0),typeof this.focusedItem<"u"&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(n,f,P){if(n instanceof Pn.wv)return new ul(f.context,n,{icon:!0},this.menuStyles);if(n instanceof Pn.YH){const Q=new ad(n,n.actions,P,{...f,submenuIds:new Set([...f.submenuIds||[],n.id])},this.menuStyles);if(f.enableMnemonics){const ce=Q.getMnemonic();if(ce&&Q.isEnabled()){const ke=this.mnemonics.get(ce);ke!==void 0?ke.push(Q):this.mnemonics.set(ce,[Q])}}return Q}else{const Q=f.getKeyBinding?.(n)?.getLabel(),ce={enableMnemonics:f.enableMnemonics,useEventAsContext:f.useEventAsContext,keybinding:Q},ke=new Pl(f.context,n,ce,this.menuStyles);if(f.enableMnemonics){const Je=ke.getMnemonic();if(Je&&ke.isEnabled()){const Ct=this.mnemonics.get(Je);Ct!==void 0?Ct.push(ke):this.mnemonics.set(Je,[ke])}}return ke}}}class Pl extends Ka.EH{constructor(n,f,P,Q){if(P={...P,isMenu:!0,icon:P.icon!==void 0?P.icon:!1,label:P.label!==void 0?P.label:!0},super(f,f,P),this.menuStyle=Q,this.options=P,this.cssClass="",this.options.label&&P.enableMnemonics){const ce=this.action.label;if(ce){const ke=rd.exec(ce);ke&&(this.mnemonic=(ke[1]?ke[1]:ke[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new gi.uC(()=>{this.element&&(this._register((0,Wt.ko)(this.element,Wt.Bx.MOUSE_UP,ce=>{if(Wt.fs.stop(ce,!0),Ro.gm){if(new os.P((0,Wt.zk)(this.element),ce).rightButton)return;this.onClick(ce)}else setTimeout(()=>{this.onClick(ce)},0)})),this._register((0,Wt.ko)(this.element,Wt.Bx.CONTEXT_MENU,ce=>{Wt.fs.stop(ce,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(n){super.render(n),this.element&&(this.container=n,this.item=(0,Wt.BC)(this.element,(0,Wt.$)("a.action-menu-item")),this._action.id===Pn.wv.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=(0,Wt.BC)(this.item,(0,Wt.$)("span.menu-item-check"+xa.L.asCSSSelector(Ir.W.menuSelection))),this.check.setAttribute("role","none"),this.label=(0,Wt.BC)(this.item,(0,Wt.$)("span.action-label")),this.options.label&&this.options.keybinding&&((0,Wt.BC)(this.item,(0,Wt.$)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(n,f){this.item&&(this.item.setAttribute("aria-posinset",`${n}`),this.item.setAttribute("aria-setsize",`${f}`))}updateLabel(){if(this.label&&this.options.label){(0,Wt.w_)(this.label);let n=(0,Fi.pS)(this.action.label);if(n){const f=Gr(n);this.options.enableMnemonics||(n=f),this.label.setAttribute("aria-label",f.replace(/&&/g,"&"));const P=rd.exec(n);if(P){n=(0,Ee.ih)(n),zd.lastIndex=0;let Q=zd.exec(n);for(;Q&&Q[1];)Q=zd.exec(n);const ce=ke=>ke.replace(/&amp;&amp;/g,"&amp;");Q?this.label.append((0,Ee.NB)(ce(n.substr(0,Q.index))," "),(0,Wt.$)("u",{"aria-hidden":"true"},Q[3]),(0,Ee.BO)(ce(n.substr(Q.index+Q[0].length))," ")):this.label.textContent=ce(n).trim(),this.item?.setAttribute("aria-keyshortcuts",(P[1]?P[1]:P[3]).toLocaleLowerCase())}else this.label.textContent=n.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const n=this.action.checked;this.item.classList.toggle("checked",!!n),n!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",n?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const n=this.element&&this.element.classList.contains("focused"),f=n&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,P=n&&this.menuStyle.selectionBackgroun
326dColor?this.menuStyle.selectionBackgroundColor:void 0,Q=n&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",ce=n&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=f??"",this.item.style.backgroundColor=P??"",this.item.style.outline=Q,this.item.style.outlineOffset=ce),this.check&&(this.check.style.color=f??"")}}class ad extends Pl{constructor(n,f,P,Q,ce){super(n,n,Q,ce),this.submenuActions=f,this.parentData=P,this.submenuOptions=Q,this.mysubmenu=null,this.submenuDisposables=this._register(new ae.Cm),this.mouseOver=!1,this.expandDirection=Q&&Q.expandDirection!==void 0?Q.expandDirection:{horizontal:hl.Right,vertical:Ol.Below},this.showScheduler=new gi.uC(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new gi.uC(()=>{this.element&&!(0,Wt.QX)((0,Wt.bq)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(n){super.render(n),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=(0,Wt.BC)(this.item,(0,Wt.$)("span.submenu-indicator"+xa.L.asCSSSelector(Ir.W.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register((0,Wt.ko)(this.element,Wt.Bx.KEY_UP,f=>{const P=new Ft.Z(f);(P.equals(17)||P.equals(3))&&(Wt.fs.stop(f,!0),this.createSubmenu(!0))})),this._register((0,Wt.ko)(this.element,Wt.Bx.KEY_DOWN,f=>{const P=new Ft.Z(f);(0,Wt.bq)()===this.item&&(P.equals(17)||P.equals(3))&&Wt.fs.stop(f,!0)})),this._register((0,Wt.ko)(this.element,Wt.Bx.MOUSE_OVER,f=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register((0,Wt.ko)(this.element,Wt.Bx.MOUSE_LEAVE,f=>{this.mouseOver=!1})),this._register((0,Wt.ko)(this.element,Wt.Bx.FOCUS_OUT,f=>{this.element&&!(0,Wt.QX)((0,Wt.bq)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(n){Wt.fs.stop(n,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(n){if(this.parentData.submenu&&(n||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(n,f,P,Q){const ce={top:0,left:0};return ce.left=(0,Kr.Zp)(n.width,f.width,{position:Q.horizontal===hl.Right?0:1,offset:P.left,size:P.width}).position,ce.left>=P.left&&ce.left<P.left+P.width&&(P.left+10+f.width<=n.width&&(ce.left=P.left+10),P.top+=10,P.height=0),ce.top=(0,Kr.Zp)(n.height,f.height,{position:0,offset:P.top,size:0}).position,ce.top+f.height===P.top&&ce.top+P.height+f.height<=n.height&&(ce.top+=P.height),ce}createSubmenu(n=!0){if(this.element)if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded("true"),this.submenuContainer=(0,Wt.BC)(this.element,(0,Wt.$)("div.monaco-submenu")),this.submenuContainer.classList.add("menubar-menu-items-holder","context-view");const f=(0,Wt.zk)(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),P=parseFloat(f.paddingTop||"0")||0;this.submenuContainer.style.position="fixed",this.submenuContainer.style.top="0",this.submenuContainer.style.left="0",this.submenuContainer.style.zIndex="1",this.parentData.submenu=new Ga(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new Pn.HJ],this.submenuOptions,this.menuStyle);const Q=this.element.getBoundingClientRect(),ce={top:Q.top-P,left:Q.left,height:Q.height+2*P,width:Q.width},ke=this.submenuContainer.getBoundingClientRect(),Je=(0,Wt.zk)(this.element),{top:Ct,left:bt}=this.calculateSubmenuMenuLayout(new Wt.fg(Je.innerWidth,Je.innerHeight),Wt.fg.lift(ke),ce,this.expandDirection);this.submenuContainer.style.left=`${bt-ke.left}px`,this.submenuContainer.style.top=`${Ct-ke.top}
326px`,this.submenuDisposables.add((0,Wt.ko)(this.submenuContainer,Wt.Bx.KEY_UP,kt=>{new Ft.Z(kt).equals(15)&&(Wt.fs.stop(kt,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add((0,Wt.ko)(this.submenuContainer,Wt.Bx.KEY_DOWN,kt=>{new Ft.Z(kt).equals(15)&&Wt.fs.stop(kt,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(n),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(n){this.item&&this.item?.setAttribute("aria-expanded",n)}applyStyle(){super.applyStyle();const f=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=f??"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class ul extends Ka.Z4{constructor(n,f,P,Q){super(n,f,P),this.menuStyles=Q}render(n){super.render(n),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function Gr(Ne){const n=rd,f=n.exec(Ne);if(!f)return Ne;const P=!f[1];return Ne.replace(n,P?"$2$3":"").trim()}function Tr(Ne){const n=(0,jd.J)()[Ne.id];return`.codicon-${Ne.id}:before { content: '\\${n.toString(16)}'; }`}function gl(Ne,n){let P=`
327.monaco-menu {
328	font-size: 13px;
329	border-radius: var(--vscode-cornerRadius-large);
330	border: 1px solid ${Ne.borderColor??"var(--vscode-menu-border)"};
331	min-width: 160px;
332}
333
334${Tr(Ir.W.menuSelection)}
335${Tr(Ir.W.menuSubmenu)}
336
337.monaco-menu .monaco-action-bar {
338	text-align: right;
339	overflow: hidden;
340	white-space: nowrap;
341}
342
343.monaco-menu .monaco-action-bar .actions-container {
344	display: flex;
345	margin: 0 auto;
346	padding: 0;
347	width: 100%;
348	justify-content: flex-end;
349}
350
351.monaco-menu .monaco-action-bar.vertical .actions-container {
352	display: inline-block;
353}
354
355.monaco-menu .monaco-action-bar.reverse .actions-container {
356	flex-direction: row-reverse;
357}
358
359.monaco-menu .monaco-action-bar .action-item {
360	cursor: pointer;
361	display: inline-block;
362	transition: transform 50ms ease;
363	position: relative;  /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */
364}
365
366.monaco-menu .monaco-action-bar .action-item.disabled {
367	cursor: default;
368}
369
370.monaco-menu .monaco-action-bar .action-item .icon,
371.monaco-menu .monaco-action-bar .action-item .codicon {
372	display: inline-block;
373}
374
375.monaco-menu .monaco-action-bar .action-item .codicon {
376	display: flex;
377	align-items: center;
378}
379
380.monaco-menu .monaco-action-bar .action-label {
381	font-size: 11px;
382	margin-right: 4px;
383}
384
385.monaco-menu .monaco-action-bar .action-item.disabled .action-label,
386.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {
387	color: var(--vscode-disabledForeground);
388}
389
390/* Vertical actions */
391
392.monaco-menu .monaco-action-bar.vertical {
393	text-align: left;
394}
395
396.monaco-menu .monaco-action-bar.vertical .action-item {
397	display: block;
398}
399
400.monaco-menu .monaco-action-bar.vertical .action-label.separator {
401	display: block;
402	border-bottom: 1px solid var(--vscode-menu-separatorBackground);
403	padding-top: 1px;
404	padding: 30px;
405}
406
407.monaco-menu .secondary-actions .monaco-action-bar .action-label {
408	margin-left: 6px;
409}
410
411/* Action Items */
412.monaco-menu .monaco-action-bar .action-item.select-container {
413	overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */
414	flex: 1;
415	max-width: 170px;
416	min-width: 60px;
417	display: flex;
418	align-items: center;
419	justify-content: center;
420	margin-right: 10px;
421}
422
423.monaco-menu .monaco-action-bar.vertical {
424	margin-left: 0;
425	overflow: visible;
426}
427
428.monaco-menu .monaco-action-bar.vertical .actions-container {
429	display: block;
430}
431
432.monaco-menu .monaco-action-bar.vertical .action-item {
433	padding: 0;
434	transform: none;
435	display: flex;
436}
437
438.monaco-menu .monaco-action-bar.vertical .action-item.active {
439	transform: none;
440}
441
442.monaco-menu .monaco-action-bar.vertical .action-menu-item {
443	flex: 1 1 auto;
444	display: flex;
445	height: 24px;
446	align-items: center;
447	position: relative;
448	margin: 0 4px;
449	border-radius: var(--vscode-cornerRadius-medium);
450}
451
452.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,
453.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {
454	opacity: unset;
455}
456
457.monaco-menu .monaco-action-bar.vertical .action-label {
458	flex: 1 1 auto;
459	text-decoration: none;
460	padding: 0 1em;
461	background: none;
462	font-size: 12px;
463	line-height: 1;
464}
465
466.monaco-menu .monaco-action-bar.vertical .keybinding,
467.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
468	display: inline-block;
469	flex: 2 1 auto;
470	padding: 0 1em;
471	text-align: right;
472	font-size: 12px;
473	line-height: 1;
474	opacity: 0.7;
475}
476
477.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
478	height: 100%;
479}
480
481.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {
482	font-size: 16px !important;
483	display: flex;
484	align-items: center;
485}
486
487.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {
488	margin-left: auto;
489	margin-right: -20px;
490}
491
492.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,
493.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {
494	opacity: 0.4;
495}
496
497.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {
498	display: inline-block;
499	box-sizing: border-box;
500	margin: 0;
501}
502
503.monaco-menu .monaco-action-bar.vertical .action-item {
504	position: static;
505	overflow: visible;
506}
507
508.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {
509	position: absolute;
510}
511
512.monaco-menu .monaco-action-bar.vertical .action-label.separator {
513	width: 100%;
514	height: 0px !important;
515	opacity: 1;
516}
517
518.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {
519	padding: 0.7em 1em 0.1em 1em;
520	font-weight: bold;
521	opacity: 1;
522}
523
524.monaco-menu .monaco-action-bar.vertical .action-label:hover {
525	color: inherit;
526}
527
528.monaco-menu .monaco-action-bar.vertical .menu-item-check {
529	position: absolute;
530	visibility: hidden;
531	width: 1em;
532	height: 100%;
533}
534
535.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {
536	visibility: visible;
537	display: flex;
538	align-items: center;
539	justify-content: center;
540}
541
542/* Context Menu */
543
544.context-view.monaco-menu-container {
545	outline: 0;
546	border: none;
547	animation: fadeIn 0.083s linear;
548	-webkit-app-region: no-drag;
549	box-shadow: var(--vscode-shadow-lg${Ne.shadowColor?`, 0 0 12px ${Ne.shadowColor}`:""});
550	border-radius: var(--vscode-cornerRadius-large);
551	overflow: hidden;
552}
553
554.context-view.monaco-menu-container :focus,
555.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,
556.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {
557	outline: 0;
558}
559
560.hc-black .context-view.monaco-menu-container,
561.hc-light .context-view.monaco-menu-container,
562:host-context(.hc-black) .context-view.monaco-menu-container,
563:host-context(.hc-light) .context-view.monaco-menu-container {
564	box-shadow: none;
565}
566
567.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,
568.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,
569:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,
570:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {
571	background: none;
572}
573
574/* Show the menu item selection border only for keyboard navigation. Pointer-driven focus typically does not set :focus-visible, so suppress the border in that case. */
575.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus:not(:focus-visible) {
576	outline: none !important;
577	outline-offset: 0 !important;
578}
579
580/* High contrast themes always show the selection border to indicate the focused item, regardless of input modality. The duplicated .monaco-menu raises specificity above the keyboard-only suppression rule above so this wins independent of declaration order. */
581.hc-black .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
582.hc-light .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
583:host-context(.hc-black) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item,
584:host-context(.hc-light) .monaco-menu.monaco-menu .monaco-action-bar.vertical .action-item.focused .action-menu-item {
585	outline: 1px solid var(--vscode-menu-selectionBorder) !important;
586	outline-offset: -1px !important;
587}
588
589/* Vertical Action Bar Styles */
590
591.monaco-menu .monaco-action-bar.vertical {
592	padding: 4px 0;
593}
594
595.monaco-menu .monaco-action-bar.vertical .action-menu-item {
596	height: 24px;
597}
598
599.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),
600.monaco-menu .monaco-action-bar.vertical .keybinding {
601	font-size: inherit;
602	padding: 0 2em;
603	max-height: 100%;
604}
605
606.monaco-menu .monaco-action-bar.vertical .menu-item-check {
607	font-size: inherit;
608	width: 2em;
609}
610
611.monaco-menu .monaco-action-bar.vertical .action-label.separator {
612	font-size: inherit;
613	margin: 5px 0 !important;
614	padding: 0;
615	border-radius: 0;
616}
617
618.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,
619:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {
620	margin-left: 0;
621	margin-right: 0;
622}
623
624.monaco-menu .monaco-action-bar.vertical .submenu-indicator {
625	font-size: 60%;
626	padding: 0 1.8em;
627}
628
629.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,
630:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {
631	height: 100%;
632	mask-size: 10px 10px;
633	-webkit-mask-size: 10px 10px;
634}
635
636.monaco-menu .action-item {
637	cursor: default;
638}`;if(n){P+=`
639			/* Arrows */
640			.monaco-scrollable-element > .scrollbar > .scra {
641				cursor: pointer;
642				font-size: 11px !important;
643			}
644
645			.monaco-scrollable-element > .visible {
646				opacity: 1;
647
648				/* Background rule added for IE9 - to allow clicks on dom node */
649				background:rgba(0,0,0,0);
650
651				transition: opacity 100ms linear;
652			}
653			.monaco-scrollable-element > .invisible {
654				opacity: 0;
655				pointer-events: none;
656			}
657			.monaco-scrollable-element > .invisible.fade {
658				transition: opacity 800ms linear;
659			}
660
661			/* Scrollable Content Inset Shadow */
662			.monaco-scrollable-element > .shadow {
663				position: absolute;
664				display: none;
665			}
666			.monaco-scrollable-element > .shadow.top {
667				display: block;
668				top: 0;
669				left: 3px;
670				height: 3px;
671				width: 100%;
672			}
673			.monaco-scrollable-element > .shadow.left {
674				display: block;
675				top: 3px;
676				left: 0;
677				height: 100%;
678				width: 3px;
679			}
680			.monaco-scrollable-element > .shadow.top-left-corner {
681				display: block;
682				top: 0;
683				left: 0;
684				height: 3px;
685				width: 3px;
686			}
687			/* Fix for https://github.com/microsoft/vscode/issues/103170 */
688			.monaco-menu .action-item .monaco-submenu {
689				z-index: 1;
690			}
691		`;const Q=Ne.scrollbarShadow;Q&&(P+=`
692				.monaco-scrollable-element > .shadow.top {
693					box-shadow: ${Q} 0 6px 6px -6px inset;
694				}
695
696				.monaco-scrollable-element > .shadow.left {
697					box-shadow: ${Q} 6px 0 6px -6px inset;
698				}
699
700				.monaco-scrollable-element > .shadow.top.left {
701					box-shadow: ${Q} 6px 6px 6px -6px inset;
702				}
703			`);const ce=Ne.scrollbarSliderBackground;ce&&(P+=`
704				.monaco-scrollable-element > .scrollbar > .slider {
705					background: ${ce};
706				}
707			`);const ke=Ne.scrollbarSliderHoverBackground;ke&&(P+=`
708				.monaco-scrollable-element > .scrollbar > .slider:hover {
709					background: ${ke};
710				}
711			`);const Je=Ne.scrollbarSliderActiveBackground;Je&&(P+=`
712				.monaco-scrollable-element > .scrollbar > .slider.active {
713					background: ${Je};
714				}
715			`)}return P}var is=e(3273);class ld{constructor(n,f,P,Q){this.contextViewService=n,this.telemetryService=f,this.notificationService=P,this.keybindingService=Q,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(n){this.options=n}showContextMenu(n){const f=n.getActions();if(!f.length)return;this.focusToReturn=(0,Wt.bq)();let P;const Q=(0,Wt.sb)(n.domForShadowRoot)?n.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>n.getAnchor(),canRelayout:!1,anchorAlignment:n.anchorAlignment,anchorAxisAlignment:n.anchorAxisAlignment,layer:n.layer,render:ce=>{this.lastContainer=ce;const ke=n.getMenuClassName?n.getMenuClassName():"";ke&&(ce.className+=" "+ke),this.options.blockMouse&&(this.block=ce.appendChild((0,Wt.$)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",this.blockDisposable?.dispose(),this.blockDisposable=(0,Wt.ko)(this.block,Wt.Bx.MOUSE_DOWN,kt=>kt.stopPropagation()));const Je=new ae.Cm,Ct=n.actionRunner||Je.add(new Pn.LN);Ct.onWillRun(kt=>this.onActionRun(kt,!n.skipTelemetry),this,Je),Ct.onDidRun(this.onDidActionRun,this,Je),P=new Ga(ce,f,{actionViewItemProvider:n.getActionViewItem,context:n.getActionsContext?n.getActionsContext():null,actionRunner:Ct,getKeyBinding:n.getKeyBinding?n.getKeyBinding:kt=>this.keybindingService.lookupKeybinding(kt.id)},is.XS),P.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,Je),P.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,Je);const bt=(0,Wt.zk)(ce);return Je.add((0,Wt.ko)(bt,Wt.Bx.BLUR,()=>this.contextViewService.hideContextView(!0))),Je.add((0,Wt.ko)(bt,Wt.Bx.MOUSE_DOWN,kt=>{if(kt.defaultPrevented)return;const ni=new os.P(bt,kt);let Pi=ni.target;if(!ni.rightButton){for(;Pi;){if(Pi===ce)return;Pi=Pi.parentElement}this.contextViewService.hideContextView(!0)}})),(0,ae.qE)(Je,P)},focus:()=>{P?.focus(!!n.autoSelectFirstItem)},onHide:ce=>{n.onHide?.(!!ce),this.block&&(this.block.remove(),this.block=null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&((0,Wt.bq)()===this.lastContainer||(0,Wt.QX)((0,Wt.bq)(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},Q,!!Q)}onActionRun(n,f){f&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:n.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(n){n.error&&!(0,Ms.MB)(n.error)&&this.notificationService.error(n.error)}}var Mn=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7153&&ce&&Object.defineProperty(n,f,ce),ce},_r=function(Ne,n){return function(f,P){n(f,P,Ne)}};let Kd=class extends ae.jG{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new ld(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(n,f,P,Q,ce,ke){super(),this.telemetryService=n,this.notificationService=f,this.contextViewService=P,this.keybindingService=Q,this.menuService=ce,this.contextKeyService=ke,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new ui.vl),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new ui.vl),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(n){this.contextMenuHandler.configure(n)}showContextMenu(n){n=Us.transform(n,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...n,onHide:f=>{n.onHide?.(f),this._onDidHideContextMenu.fire()}}),Wt.Di.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};Kd=Mn([_r(0,Vs.k),_r(1,ks.Ot),_r(2,vi.l),_r(3,Nn.b),_r(4,go.ez),_r(5,Wn.fN)],Kd);var Us;(function(Ne){function n(P){return P&&P.menuId instanceof go.D8}function f(P,Q,ce){if(!n(P))return P;const{menuId:ke,menuActionOptions:Je,contextKeyService:Ct}=P;return{...P,getActions:()=>{let bt=[];if(ke){const kt=Q.getMenuActions(ke,Ct??ce,Je);bt=(0,Jn.nW)(kt)}return P.getActions?Pn.wv.join(P.getActions(),bt):bt}}}Ne.transform=f})(Us||(Us={}));var fl=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7153&&ce&&Object.defineProperty(n,f,ce),ce},cc=function(Ne,n){return function(f,P){n(f,P,Ne)}};let dd=class extends ae.jG{constructor(n){super(),this.layoutService=n,this.contextView=this._register(new Et.vx(this.layoutService.mainContainer,1)),this.layout(),this._register(n.onDidLayoutContainer(()=>this.layout()))}showContextView(n,f,P){let Q;f?f===this.layoutService.getContainer((0,Wt.zk)(f))?Q=1:P?Q=3:Q=2:Q=1,this.contextView.setContainer(f??this.layoutService.activeContainer,Q),this.contextView.show(n);const ce={close:()=>{this.openContextView===ce&&this.hideContextView()}};return this.openContextView=ce,ce}layout(){this.contextView.layout()}hideContextView(n){this.contextView.hide(n),this.openContextView=void 0}};dd=fl([cc(0,qt.x)],dd);class Gd extends dd{getContextViewElement(){return this.contextView.getViewElement()}}var $r=e(26579),$d=e(27983),kc=e(88195),vr=e(83312);class $a{constructor(n,f){this.key=n,this.data=f,this.incoming=new Map,this.outgoing=new Map}}class cd{constructor(n){this._hashFn=n,this._nodes=new Map}roots(){const n=[];for(const f of this._nodes.values())f.outgoing.size===0&&n.push(f);return n}insertEdge(n,f){const P=this.lookupOrInsertNode(n),Q=this.lookupOrInsertNode(f);P.outgoing.set(Q.key,Q),Q.incoming.set(P.key,P)}removeNode(n){const f=this._hashFn(n);this._nodes.delete(f);for(const P of this._nodes.values())P.outgoing.delete(f),P.incoming.delete(f)}lookupOrInsertNode(n){const f=this._hashFn(n);let P=this._nodes.get(f);return P||(P=new $a(f,n),this._nodes.set(f,P)),P}isEmpty(){return this._nodes.size===0}toString(){const n=[];for(const[f,P]of this._nodes)n.push(`${f}
716	(-> incoming)[${[...P.incoming.keys()].join(", ")}]
717	(outgoing ->)[${[...P.outgoing.keys()].join(",")}]
718`);return n.join(`
719`)}findCycleSlow(){for(const[n,f]of this._nodes){const P=new Set([n]),Q=this._findCycle(f,P);if(Q)return Q}}_findCycle(n,f){for(const[P,Q]of n.outgoing){if(f.has(P))return[...f,P].join(" -> ");f.add(P);const ce=this._findCycle(Q,f);if(ce)return ce;f.delete(P)}}}var ml=e(30657);const kl=!1;class Ho extends Error{constructor(n){super("cyclic dependency between services"),this.message=n.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
720${n.toString()}`}}class Mr{constructor(n=new ml.a,f=!1,P,Q=kl){this._services=n,this._strict=f,this._parent=P,this._enableTracing=Q,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(Vi._Y,this),this._globalGraph=Q?P?._globalGraph??new cd(ce=>ce):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,(0,ae.AS)(this._children),this._children.clear();for(const n of this._servicesToMaybeDispose)(0,ae.Xm)(n)&&n.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(n,f){this._throwIfDisposed();const P=this,Q=new class extends Mr{dispose(){P._children.delete(Q),super.dispose()}}(n,this._strict,this,this._enableTracing);return this._children.add(Q),f?.add(Q),Q}invokeFunction(n,...f){this._throwIfDisposed();const P=Rr.traceInvocation(this._enableTracing,n);let Q=!1;try{return n({get:ke=>{if(Q)throw(0,Ms.iH)("service accessor is only valid during the invocation of its target method");const Je=this._getOrCreateServiceInstance(ke,P);return Je||this._throwIfStrict(`[invokeFunction] unknown service '${ke}'`,!1),Je}},...f)}finally{Q=!0,P.stop()}}createInstance(n,...f){this._throwIfDisposed();let P,Q;return n instanceof vr.d?(P=Rr.traceCreation(this._enableTracing,n.ctor),Q=this._createInstance(n.ctor,n.staticArguments.concat(f),P)):(P=Rr.traceCreation(this._enableTracing,n),Q=this._createInstance(n,f,P)),P.stop(),Q}_createInstance(n,f=[],P){const Q=Vi._$.getServiceDependencies(n).sort((Je,Ct)=>Je.index-Ct.index),ce=[];for(const Je of Q){const Ct=this._getOrCreateServiceInstance(Je.id,P);Ct||this._throwIfStrict(`[createInstance] ${n.name} depends on UNKNOWN service ${Je.id}.`,!1),ce.push(Ct)}const ke=Q.length>0?Q[0].index:f.length;if(f.length!==ke){console.trace(`[createInstance] First service dependency of ${n.name} at position ${ke+1} conflicts with ${f.length} static arguments`);const Je=ke-f.length;Je>0?f=f.concat(new Array(Je)):f=f.slice(0,ke)}return Reflect.construct(n,f.concat(ce))}_setCreatedServiceInstance(n,f){if(this._services.get(n)instanceof vr.d)this._services.set(n,f);else if(this._parent)this._parent._setCreatedServiceInstance(n,f);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(n){const f=this._services.get(n);return!f&&this._parent?this._parent._getServiceInstanceOrDescriptor(n):f}_getOrCreateServiceInstance(n,f){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(n));const P=this._getServiceInstanceOrDescriptor(n);return P instanceof vr.d?this._safeCreateAndCacheServiceInstance(n,P,f.branch(n,!0)):(f.branch(n,!1),P)}_safeCreateAndCacheServiceInstance(n,f,P){if(this._activeInstantiations.has(n))throw new Error(`illegal state - RECURSIVELY instantiating service '${n}'`);this._activeInstantiations.add(n);try{return this._createAndCacheServiceInstance(n,f,P)}finally{this._activeInstantiations.delete(n)}}_createAndCacheServiceInstance(n,f,P){const Q=new cd(Ct=>Ct.id.toString());let ce=0;const ke=[{id:n,desc:f,_trace:P}],Je=new Set;for(;ke.length;){const Ct=ke.pop();if(!Je.has(String(Ct.id))){if(Je.add(String(Ct.id)),Q.lookupOrInsertNode(Ct),ce++>1e3)throw new Ho(Q);for(const bt of Vi._$.getServiceDependencies(Ct.desc.ctor)){const kt=this._getServiceInstanceOrDescriptor(bt.id);if(kt||this._throwIfStrict(`[createInstance] ${n} depends on ${bt.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(Ct.id),String(bt.id)),kt instanceof vr.d){const ni={id:bt.id,desc:kt,_trace:Ct._trace.branch(bt.id,!0)};Q.insertEdge(Ct,ni),ke.push(ni)}}}}for(;;){const Ct=Q.roots();if(Ct.length===0){if(!Q.isEmpty())throw new Ho(Q);break}for(const{data:bt}of Ct){if(this._getServiceInstanceOrDescriptor(bt.id)instanceof vr.d){const ni=this._createServiceInstanceWithOwner(bt.id,bt.desc.ctor,bt.desc.staticArguments,bt.desc.supportsDelayedInstantiation,bt._trace);this._setCreatedServiceInstance(bt.id,ni)}Q.removeNode(bt)}}return this._getServiceInstanceOrDescriptor(n)}_createServiceInstanceWithOwner(n,f,P=[],Q,ce){if(this._services.get(n)instanceof vr.d)return this._createServiceInstance(n,f,P,Q,ce,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(n,f,P,Q,ce);throw new Error(`illegalState - creating UNKNOWN service instance ${f.name}`)}_createServiceInstance(n,f,P=[],Q,ce,ke){if(Q){const Je=new Mr(void 0,this._strict,this,this._enableTracing);Je._globalGraphImplicitDependency=String(n);
720const Ct=new Map,bt=new gi.F6(()=>{const kt=Je._createInstance(f,P,ce);for(const[ni,Pi]of Ct){const ki=kt[ni];if(typeof ki=="function")for(const bn of Pi)bn.disposable=ki.apply(kt,bn.listener)}return Ct.clear(),ke.add(kt),kt});return new Proxy(Object.create(null),{get(kt,ni){if(!bt.isInitialized&&typeof ni=="string"&&(ni.startsWith("onDid")||ni.startsWith("onWill"))){let bn=Ct.get(ni);return bn||(bn=new An.w,Ct.set(ni,bn)),(fs,js,no)=>{if(bt.isInitialized)return bt.value[ni](fs,js,no);{const Bs={listener:[fs,js,no],disposable:void 0},ws=bn.push(Bs);return(0,ae.s)(()=>{ws(),Bs.disposable?.dispose()})}}}if(ni in kt)return kt[ni];const Pi=bt.value;let ki=Pi[ni];return typeof ki!="function"||(ki=ki.bind(Pi),kt[ni]=ki),ki},set(kt,ni,Pi){return bt.value[ni]=Pi,!0},getPrototypeOf(kt){return f.prototype}})}else{const Je=this._createInstance(f,P,ce);return ke.add(Je),Je}}_throwIfStrict(n,f){if(f&&console.warn(n),this._strict)throw new Error(n)}}const Vr=class Vr{static traceInvocation(n,f){return n?new Vr(2,f.name||new Error().stack.split(`
721`).slice(3,4).join(`
722`)):Vr._None}static traceCreation(n,f){return n?new Vr(1,f.name):Vr._None}constructor(n,f){this.type=n,this.name=f,this._start=Date.now(),this._dep=[]}branch(n,f){const P=new Vr(3,n.toString());return this._dep.push([n,f,P]),P}stop(){const n=Date.now()-this._start;Vr._totals+=n;let f=!1;function P(ce,ke){const Je=[],Ct=new Array(ce+1).join("	");for(const[bt,kt,ni]of ke._dep)if(kt&&ni){f=!0,Je.push(`${Ct}CREATES -> ${bt}`);const Pi=P(ce+1,ni);Pi&&Je.push(Pi)}else Je.push(`${Ct}uses -> ${bt}`);return Je.join(`
723`)}const Q=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${P(1,this)}`,`DONE, took ${n.toFixed(2)}ms (grand total ${Vr._totals.toFixed(2)}ms)`];(n>2||f)&&Vr.all.add(Q.join(`
724`))}};Vr.all=new Set,Vr._None=new class extends Vr{constructor(){super(0,null)}stop(){}branch(){return this}},Vr._totals=0;let Rr=Vr;var hd=e(37043);const Nl={kind:0},ud={kind:1};function gd(Ne,n,f){return{kind:2,commandId:Ne,commandArgs:n,isBubble:f}}class Qr{constructor(n,f,P){this._log=P,this._defaultKeybindings=n,this._defaultBoundCommands=new Map;for(const Q of n){const ce=Q.command;ce&&ce.charAt(0)!=="-"&&this._defaultBoundCommands.set(ce,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=Qr.handleRemovals([].concat(n).concat(f));for(let Q=0,ce=this._keybindings.length;Q<ce;Q++){const ke=this._keybindings[Q];if(ke.chords.length===0)continue;const Je=ke.when?.substituteConstants();Je&&Je.type===0||this._addKeyPress(ke.chords[0],ke)}}static _isTargetedForRemoval(n,f,P){if(f){for(let Q=0;Q<f.length;Q++)if(f[Q]!==n.chords[Q])return!1}if(P&&P.type!==1){if(!n.when)return!1;const Q=n.when.substituteConstants(),ce=P.substituteConstants();if(!Qr.whenIsEntirelyIncluded(Q,ce))return!1}return!0}static handleRemovals(n){const f=new Map;for(let Q=0,ce=n.length;Q<ce;Q++){const ke=n[Q];if(ke.command&&ke.command.charAt(0)==="-"){const Je=ke.command.substring(1);f.has(Je)?f.get(Je).push(ke):f.set(Je,[ke])}}if(f.size===0)return n;const P=[];for(let Q=0,ce=n.length;Q<ce;Q++){const ke=n[Q];if(!ke.command||ke.command.length===0){P.push(ke);continue}if(ke.command.charAt(0)==="-")continue;const Je=f.get(ke.command);if(!Je||!ke.isDefault){P.push(ke);continue}let Ct=!1;for(const bt of Je){const kt=bt.when;if(this._isTargetedForRemoval(ke,bt.chords,kt)){Ct=!0;break}}if(!Ct){P.push(ke);continue}}return P}_addKeyPress(n,f){const P=this._map.get(n);if(typeof P>"u"){this._map.set(n,[f]),this._addToLookupMap(f);return}for(let Q=P.length-1;Q>=0;Q--){const ce=P[Q];if(ce.command===f.command)continue;let ke=!0;for(let Je=1;Je<ce.chords.length&&Je<f.chords.length;Je++)if(ce.chords[Je]!==f.chords[Je]){ke=!1;break}ke&&Qr.whenIsEntirelyIncluded(ce.when,f.when)&&this._removeFromLookupMap(ce)}P.push(f),this._addToLookupMap(f)}_addToLookupMap(n){if(!n.command)return;let f=this._lookupMap.get(n.command);typeof f>"u"?(f=[n],this._lookupMap.set(n.command,f)):f.push(n)}_removeFromLookupMap(n){if(!n.command)return;const f=this._lookupMap.get(n.command);if(!(typeof f>"u")){for(let P=0,Q=f.length;P<Q;P++)if(f[P]===n){f.splice(P,1);return}}}static whenIsEntirelyIncluded(n,f){return!f||f.type===1?!0:!n||n.type===1?!1:(0,Wn.M0)(n,f)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(n,f,P=!1){const Q=this._lookupMap.get(n);if(typeof Q>"u"||Q.length===0)return null;if(Q.length===1&&!P)return Q[0];for(let ce=Q.length-1;ce>=0;ce--){const ke=Q[ce];if(f.contextMatchesRules(ke.when))return ke}return P?null:Q[Q.length-1]}resolve(n,f,P){const Q=[...f,P];this._log(`| Resolving ${Q}`);const ce=this._map.get(Q[0]);
724if(ce===void 0)return this._log("\\ No keybinding entries."),Nl;let ke=null;if(Q.length<2)ke=ce;else{ke=[];for(let Ct=0,bt=ce.length;Ct<bt;Ct++){const kt=ce[Ct];if(Q.length>kt.chords.length)continue;let ni=!0;for(let Pi=1;Pi<Q.length;Pi++)if(kt.chords[Pi]!==Q[Pi]){ni=!1;break}ni&&ke.push(kt)}}const Je=this._findCommand(n,ke);return Je?Q.length<Je.chords.length?(this._log(`\\ From ${ke.length} keybinding entries, awaiting ${Je.chords.length-Q.length} more chord(s), when: ${Al(Je.when)}, source: ${Qd(Je)}.`),ud):(this._log(`\\ From ${ke.length} keybinding entries, matched ${Je.command}, when: ${Al(Je.when)}, source: ${Qd(Je)}.`),gd(Je.command,Je.commandArgs,Je.bubble)):(this._log(`\\ From ${ke.length} keybinding entries, no when clauses matched the context.`),Nl)}_findCommand(n,f){for(let P=f.length-1;P>=0;P--){const Q=f[P];if(Qr._contextMatchesRules(n,Q.when))return Q}return null}static _contextMatchesRules(n,f){return f?f.evaluate(n):!0}}function Al(Ne){return Ne?`${Ne.serialize()}`:"no when condition"}function Qd(Ne){return Ne.extensionId?Ne.isBuiltinExtension?`built-in extension ${Ne.extensionId}`:`user extension ${Ne.extensionId}`:Ne.isDefault?"built-in":"user"}
724const pl=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class _l extends ae.jG{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ui.Jh.None}get inChordMode(){return this._currentChords.length>0}constructor(n,f,P,Q,ce){super(),this._contextKeyService=n,this._commandService=f,this._telemetryService=P,this._notificationService=Q,this._logService=ce,this._onDidUpdateKeybindings=this._register(new ui.vl),this._currentChords=[],this._currentChordChecker=new gi.vb,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Rs.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new gi.pc,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(n){this._logging&&this._logService.info(`[KeybindingService]: ${n}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(n,f,P=!1){const Q=this._getResolver().lookupPrimaryKeybinding(n,f||this._contextKeyService,P);if(Q)return Q.resolvedKeybinding}dispatchEvent(n,f){return this._dispatch(n,f)}softDispatch(n,f){this._log("/ Soft dispatching keyboard event");const P=this.resolveKeyboardEvent(n);if(P.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),Nl;const[Q]=P.getDispatchChords();if(Q===null)return this._log("\\ Keyboard event cannot be dispatched"),Nl;const ce=this._contextKeyService.getContext(f),ke=this._currentChords.map(({keypress:Je})=>Je);return this._getResolver().resolve(ce,ke,Q)}_scheduleLeaveChordMode(){const n=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-n>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(n,f){switch(this._currentChords.push({keypress:n,label:f}),this._currentChords.length){case 0:throw(0,Ms.iH)("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status((0,Ot.kg)(1763,"({0}) was pressed. Waiting for second key of chord...",f));break;default:{const P=this._currentChords.map(({label:Q})=>Q).join(", ");this._currentChordStatusMessage=this._notificationService.status((0,Ot.kg)(1764,"({0}) was pressed. Waiting for next key of chord...",P))}}this._scheduleLeaveChordMode(),hd.M.enabled&&hd.M.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.close(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],hd.M.enable()}_dispatch(n,f){return this._doDispatch(this.resolveKeyboardEvent(n),f,!1)}_singleModifierDispatch(n,f){const P=this.resolveKeyboardEvent(n),[Q]=P.getSingleModifierDispatchChords();if(Q)return this._ignoreSingleModifiers.has(Q)?(this._log(`+ Ignoring single modifier ${Q} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Rs.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Rs.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${Q}.`),this._currentSingleModifier=Q,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):Q===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${Q} ${Q}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(P,f,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${Q}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[ce]=P.getChords();return this._ignoreSingleModifiers=new Rs(ce),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(n,f,P=!1){let Q=!1;if(n.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let ce=null,ke=null;if(P){const[kt]=n.getSingleModifierDispatchChords();ce=kt,ke=kt?[kt]:[]}else[ce]=n.getDispatchChords(),ke=this._currentChords.map(({keypress:kt})=>kt);if(ce===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),Q;const Je=this._contextKeyService.getContext(f),Ct=n.getLabel(),bt=this._getResolver().resolve(Je,ke,ce);switch(bt.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",Ct,"[ No matching keybinding ]"),this.inChordMode){const kt=this._currentChords.map(({label:ni})=>ni).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${kt}, ${Ct}".`),this._notificationService.status((0,Ot.kg)(1765,"The key combination ({0}, {1}) is not a command.",kt,Ct),{hideAfter:10*1e3}),this._leaveChordMode(),Q=!0}return Q}case 1:return this._logService.trace("KeybindingService#dispatch",Ct,"[ Several keybindings match - more chords needed ]"),Q=!0,this._expectAnotherChord(ce,Ct),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),Q;case 2:{if(this._logService.trace("KeybindingService#dispatch",Ct,`[ Will dispatch command ${bt.commandId} ]`),bt.commandId===null||bt.commandId===""){if(this.inChordMode){const kt=this._currentChords.map(({label:ni})=>ni).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${kt}, ${Ct}".`),this._notificationService.status((0,Ot.kg)(1766,"The key combination ({0}, {1}) is not a command.",kt,Ct),{hideAfter:10*1e3}),this._leaveChordMode(),Q=!0}}else{this.inChordMode&&this._leaveChordMode(),bt.isBubble||(Q=!0),this._log(`+ Invoking command ${bt.commandId}
724.`),this._currentlyDispatchingCommandId=bt.commandId;try{typeof bt.commandArgs>"u"?this._commandService.executeCommand(bt.commandId).then(void 0,kt=>this._notificationService.warn(kt)):this._commandService.executeCommand(bt.commandId,bt.commandArgs).then(void 0,kt=>this._notificationService.warn(kt))}finally{this._currentlyDispatchingCommandId=null}pl.test(bt.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:bt.commandId,from:"keybinding",detail:n.getUserSettingsLabel()??void 0})}return Q}}}mightProducePrintableCharacter(n){return n.ctrlKey||n.metaKey?!1:n.keyCode>=31&&n.keyCode<=56||n.keyCode>=21&&n.keyCode<=30}appendKeybinding(n,f,P,Q){if(f){const ce=this.lookupKeybinding(f,P,Q)?.getLabel();if(ce)return(0,Ot.kg)(1767,"{0} ({1})",n,ce)}return n}}const Uc=class Uc{constructor(n){this._ctrlKey=n?n.ctrlKey:!1,this._shiftKey=n?n.shiftKey:!1,this._altKey=n?n.altKey:!1,this._metaKey=n?n.metaKey:!1}has(n){switch(n){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}};Uc.EMPTY=new Uc(null);let Rs=Uc;class Yd{constructor(n,f,P,Q,ce,ke,Je){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=n,this.chords=n?Yr(n.getDispatchChords()):[],n&&this.chords.length===0&&(this.chords=Yr(n.getSingleModifierDispatchChords())),this.bubble=f?f.charCodeAt(0)===94:!1,this.command=this.bubble?f.substr(1):f,this.commandArgs=P,this.when=Q,this.isDefault=ce,this.extensionId=ke,this.isBuiltinExtension=Je}}function Yr(Ne){const n=[];for(let f=0,P=Ne.length;f<P;f++){const Q=Ne[f];if(!Q)return[];n.push(Q)}return n}var Ia=e(98315);class Bo extends mr.z5{constructor(n,f){if(super(),f.length===0)throw(0,Ms.Qg)("chords");this._os=n,this._chords=f}getLabel(){return Ia.Of.toLabel(this._os,this._chords,n=>this._getLabel(n))}getAriaLabel(){return Ia.r0.toLabel(this._os,this._chords,n=>this._getAriaLabel(n))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:Ia.rr.toLabel(this._os,this._chords,n=>this._getElectronAccelerator(n))}getUserSettingsLabel(){return Ia.G$.toLabel(this._os,this._chords,n=>this._getUserSettingsLabel(n))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(n=>this._getChord(n))}_getChord(n){return new mr.FW(n.ctrlKey,n.shiftKey,n.altKey,n.metaKey,this._getLabel(n),this._getAriaLabel(n))}getDispatchChords(){return this._chords.map(n=>this._getChordDispatch(n))}getSingleModifierDispatchChords(){return this._chords.map(n=>this._getSingleModifierChordDispatch(n))}}class qo extends Bo{constructor(n,f){super(f,n)}_keyCodeToUILabel(n){if(this._os===2)switch(n){case 15:return"\u2190";case 16:return"\u2191";case 17:return"\u2192";case 18:return"\u2193"}return Ci.YM.toString(n)}_getLabel(n){return n.isDuplicateModifierCase()?"":this._keyCodeToUILabel(n.keyCode)}_getAriaLabel(n){return n.isDuplicateModifierCase()?"":Ci.YM.toString(n.keyCode)}_getElectronAccelerator(n){return Ci.YM.toElectronAccelerator(n.keyCode)}_getUserSettingsLabel(n){if(n.isDuplicateModifierCase())return"";const f=Ci.YM.toUserSettingsUS(n.keyCode);return f&&f.toLowerCase()}_getChordDispatch(n){return qo.getDispatchStr(n)}static getDispatchStr(n){if(n.isModifierKey())return null;let f="";return n.ctrlKey&&(f+="ctrl+"),n.shiftKey&&(f+="shift+"),n.altKey&&(f+="alt+"),n.metaKey&&(f+="meta+"),f+=Ci.YM.toString(n.keyCode),f}_getSingleModifierChordDispatch(n){return n.keyCode===5&&!n.shiftKey&&!n.altKey&&!n.metaKey?"ctrl":n.keyCode===4&&!n.ctrlKey&&!n.altKey&&!n.metaKey?"shift":n.keyCode===6&&!n.ctrlKey&&!n.shiftKey&&!n.metaKey?"alt":n.keyCode===57&&!n.ctrlKey&&!n.shiftKey&&!n.altKey?"meta":null}static _scanCodeToKeyCode(n){const f=Ci.Fo[n];if(f!==-1)return f;switch(n){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(n){if(!n)return null;if(n instanceof mr.dG)return n;const f=this._scanCodeToKeyCode(n.scanCode);return f===0?null:new mr.dG(n.ctrlKey,n.shiftKey,n.altKey,n.metaKey,f)}static resolveKeybinding(n,f){const P=Yr(n.chords.map(Q=>
724this._toKeyCodeChord(Q)));return P.length>0?[new qo(P,f)]:[]}}var Qa=e(8377),So=e(98826);class Ya extends ae.jG{constructor(n,f=[]){super(),this.logger=new io.Dk([n,...f]),this._register(n.onDidChangeLogLevel(P=>this.setLevel(P)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(n){this.logger.setLevel(n)}getLevel(){return this.logger.getLevel()}trace(n,...f){this.logger.trace(n,...f)}debug(n,...f){this.logger.debug(n,...f)}info(n,...f){this.logger.info(n,...f)}warn(n,...f){this.logger.warn(n,...f)}error(n,...f){this.logger.error(n,...f)}}var Xs=e(27619);const Zr=new Set([$n.ny.inMemory,$n.ny.vscodeSourceControl,$n.ny.walkThrough,$n.ny.walkThroughSnippet,$n.ny.vscodeChatCodeBlock,$n.ny.vscodeTerminal]);class vl{constructor(){this._byResource=new _o.fT,this._byOwner=new Map}set(n,f,P){let Q=this._byResource.get(n);Q||(Q=new Map,this._byResource.set(n,Q)),Q.set(f,P);let ce=this._byOwner.get(f);ce||(ce=new _o.fT,this._byOwner.set(f,ce)),ce.set(n,P)}get(n,f){return this._byResource.get(n)?.get(f)}delete(n,f){let P=!1,Q=!1;const ce=this._byResource.get(n);ce&&(P=ce.delete(f));const ke=this._byOwner.get(f);if(ke&&(Q=ke.delete(n)),P!==Q)throw new Error("illegal state");return P&&Q}values(n){return typeof n=="string"?this._byOwner.get(n)?.values()??bo.f.empty():Ie.r.isUri(n)?this._byResource.get(n)?.values()??bo.f.empty():bo.f.map(bo.f.concat(...this._byOwner.values()),f=>f[1])}}class Zd{constructor(n){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new _o.fT,this._service=n,this._subscription=n.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(n){for(const f of n){const P=this._data.get(f);P&&this._substract(P);const Q=this._resourceStats(f);this._add(Q),this._data.set(f,Q)}}_resourceStats(n){const f={errors:0,warnings:0,infos:0,unknowns:0};if(Zr.has(n.scheme))return f;for(const{severity:P}of this._service.read({resource:n}))P===Xs.cj.Error?f.errors+=1:P===Xs.cj.Warning?f.warnings+=1:P===Xs.cj.Info?f.infos+=1:f.unknowns+=1;return f}_substract(n){this.errors-=n.errors,this.warnings-=n.warnings,this.infos-=n.infos,this.unknowns-=n.unknowns}_add(n){this.errors+=n.errors,this.warnings+=n.warnings,this.infos+=n.infos,this.unknowns+=n.unknowns}}class Xr{constructor(){this._onMarkerChanged=new ui.QT({merge:Xr._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new vl,this._stats=new Zd(this),this._filteredResources=new _o.fT}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(n,f){for(const P of f||[])this.changeOne(n,P,[])}changeOne(n,f,P){if((0,$s.Ct)(P))this._data.delete(f,n)&&this._onMarkerChanged.fire([f]);else{const Q=[];for(const ce of P){const ke=Xr._toMarker(n,f,ce);ke&&Q.push(ke)}this._data.set(f,n,Q),this._onMarkerChanged.fire([f])}}static _toMarker(n,f,P){let{code:Q,severity:ce,message:ke,source:Je,startLineNumber:Ct,startColumn:bt,endLineNumber:kt,endColumn:ni,relatedInformation:Pi,modelVersionId:ki,tags:bn,origin:ss}=P;if(ke)return Ct=Ct>0?Ct:1,bt=bt>0?bt:1,kt=kt>=Ct?kt:Ct,ni=ni>0?ni:bt,{resource:f,owner:n,code:Q,severity:ce,message:ke,source:Je,startLineNumber:Ct,startColumn:bt,endLineNumber:kt,endColumn:ni,relatedInformation:Pi,modelVersionId:ki,tags:bn,origin:ss}}changeAll(n,f){const P=[],Q=this._data.values(n);if(Q)for(const ce of Q){const ke=bo.f.first(ce);ke&&(P.push(ke.resource),this._data.delete(ke.resource,n))}if((0,$s.EI)(f)){const ce=new _o.fT;for(const{resource:ke,marker:Je}of f){const Ct=Xr._toMarker(n,ke,Je);if(!Ct)continue;const bt=ce.get(ke);bt?bt.push(Ct):(ce.set(ke,[Ct]),P.push(ke))}for(const[ke,Je]of ce)this._data.set(ke,n,Je)}P.length>0&&this._onMarkerChanged.fire(P)}_createFilteredMarker(n,f){const P=f.length===1?(0,Ot.kg)(1801,'Problems are paused because: "{0}"',f[0]):(0,Ot.kg)(1802,'Problems are paused because: "{0}" and {1} more',f[0],f.length-1);return{owner:"markersFilter",resource:n,severity:Xs.cj.Info,message:P,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(n=Object.create(null)){let{owner:f,resource:P,severities:Q,take:ce}=n;if((!ce||ce<0)&&(ce=-1),f&&P){const ke=n.ignoreResourceFilters?void 0:this._filteredResources.get(P);if(ke?.length)return[this._createFilteredMarker(P,ke)];const Je=this._data.get(P,f);if(!Je)return[];const Ct=[];for(const bt of Je){if(ce>0&&Ct.length===ce)break;const kt=n.ignoreResourceFilters?void 0:this._filteredResources.get(P);kt?.length?Ct.push(this._createFilteredMarker(P,kt)):Xr._accept(bt,Q)&&Ct.push(bt)}return Ct}
724else{const ke=!f&&!P?this._data.values():this._data.values(P??f),Je=[],Ct=new _o.rm;for(const bt of ke)for(const kt of bt){if(Ct.has(kt.resource))continue;if(ce>0&&Je.length===ce)break;const ni=n.ignoreResourceFilters?void 0:this._filteredResources.get(kt.resource);ni?.length?(Je.push(this._createFilteredMarker(kt.resource,ni)),Ct.add(kt.resource)):Xr._accept(kt,Q)&&Je.push(kt)}return Je}}static _accept(n,f){return f===void 0||(f&n.severity)===n.severity}static _merge(n){const f=new _o.fT;for(const P of n)for(const Q of P)f.set(Q,!0);return Array.from(f.keys())}}var ua=e(54435),Za=e(44023),Vn=e(73027),Ta=e(90840),co=e(36477),fd=e(73678),Cl=e(46933),Js=e(96016);class Wl{constructor(){this._modifierObservables=new WeakMap}readModifierKeyStatus(n,f){const P=n instanceof Window?n:(0,Wt.zk)(n);let Q=this._modifierObservables.get(P);if(!Q){const ce=Wt.Di.getInstance();Q=(0,Cl.y0)(this,ce.event,()=>({ctrlKey:ce.keyStatus.ctrlKey,shiftKey:ce.keyStatus.shiftKey,altKey:ce.keyStatus.altKey,metaKey:ce.keyStatus.metaKey})),this._modifierObservables.set(P,Q)}return Q.read(f)}createFocusTracker(n,f){const P=f.add((0,Wt.w5)(n)),Q=ke=>{if(ke instanceof Window)return ke.document.hasFocus();const Je=ke.getRootNode()instanceof ShadowRoot?ke.getRootNode():null,Ct=Je?Je.activeElement:ke.ownerDocument.activeElement;return ke.contains(Ct)},ce=(0,Js.FY)("isFocused",Q(n));return f.add(P.onDidFocus(()=>ce.set(!0,void 0))),f.add(P.onDidBlur(()=>ce.set(!1,void 0))),ce}createHoverTracker(n,f){const P=(0,Js.FY)("isHovered",!1),Q=()=>P.set(!0,void 0),ce=()=>P.set(!1,void 0);return n.addEventListener("mouseenter",Q),n.addEventListener("mouseleave",ce),f.add({dispose:()=>{n.removeEventListener("mouseenter",Q),n.removeEventListener("mouseleave",ce)}}),P}createDomFocusTracker(n){return(0,Wt.w5)(n)}}(0,jt.v)(co.u,Wl,1);var Vo=e(4445),Po=e(26851),hc=e(84657),md=e(98769),bl=e(50180),Ma;(function(Ne){Ne[Ne.API=0]="API",Ne[Ne.USER=1]="USER"})(Ma||(Ma={}));var Jr=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7243&&ce&&Object.defineProperty(n,f,ce),ce},ga=function(Ne,n){return function(f,P){n(f,P,Ne)}};let pd=class{constructor(n){this._commandService=n}async open(n,f){if(!(0,$n.v$)(n,$n.ny.command))return!1;if(!f?.allowCommands||(typeof n=="string"&&(n=Ie.r.parse(n)),Array.isArray(f.allowCommands)&&!f.allowCommands.includes(n.path)))return!0;let P=[];try{P=(0,bl.qg)(decodeURIComponent(n.query))}catch{try{P=(0,bl.qg)(n.query)}catch{}}return Array.isArray(P)||(P=[P]),await this._commandService.executeCommand(n.path,...P),!0}};pd=Jr([ga(0,Eo.d)],pd);let Sl=class{constructor(n){this._editorService=n}async open(n,f){typeof n=="string"&&(n=Ie.r.parse(n));const{selection:P,uri:Q}=(0,ua.ew)(n);return n=Q,n.scheme===$n.ny.file&&(n=(0,Dr.Fd)(n)),await this._editorService.openCodeEditor({resource:n,options:{selection:P,source:f?.fromUserGesture?Ma.USER:Ma.API,...f?.editorOptions}},this._editorService.getFocusedCodeEditor(),f?.openToSide),!0}};Sl=Jr([ga(0,Ye.T)],Sl);let fa=class{constructor(n,f){this._openers=new An.w,this._validators=new An.w,this._resolvers=new An.w,this._resolvedUriTargets=new _o.fT(P=>P.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new An.w,this._defaultExternalOpener={openExternal:async P=>((0,$n.fV)(P,$n.ny.http,$n.ny.https)?(0,Wt.jh)(P):je.G.location.href=P,!0)},this._openers.push({open:async(P,Q)=>Q?.openExternal||(0,$n.fV)(P,$n.ny.mailto,$n.ny.http,$n.ny.https,$n.ny.vsls)?(await this._doOpenExternal(P,Q),!0):!1}),this._openers.push(new pd(f)),this._openers.push(new Sl(n))}registerOpener(n){return{dispose:this._openers.unshift(n)}}async open(n,f){const P=typeof n=="string"?Ie.r.parse(n):n;if(P.scheme===$n.ny.internal)return!1;if(!f?.skipValidation){const Q=this._resolvedUriTargets.get(P)??n;for(const ce of this._validators)if(!await ce.shouldOpen(Q,f))return!1}for(const Q of this._openers)if(await Q.open(n,f))return!0;return!1}async resolveExternalUri(n,f){for(const P of this._resolvers)try{const Q=await P.resolveExternalUri(n,f);if(Q)return this._resolvedUriTargets.has(Q.resolved)||this._resolvedUriTargets.set(Q.resolved,n),Q}catch{}throw new Error("Could not resolve external URI: "+n.toString())}async _doOpenExternal(n,f){const P=typeof n=="string"?Ie.r.parse(n):n;let Q;try{Q=(await this.resolveExternalUri(P,f)).resolved}catch{Q=P}let ce;if(typeof n=="string"&&P.toString()===Q.toString()?ce=n:ce=encodeURI(Q.toString(!0)),f?.allowContributedOpeners){const ke=typeof f?.allowContributedOpeners=="string"?f?.allowContributedOpeners:void 0;for(const Je of this._externalOpeners)if(await Je.openExternal(ce,{sourceUri:P,preferredOpenerId:ke},Ni.XO.None))return!0}return this._defaultExternalOpener.openExternal(ce,{sourceUri:P},Ni.XO.None)}dispose(){this._validators.clear()}};fa=Jr([ga(0,Ye.T),ga(1,Eo.d)],fa);var Bl=e(36813),Fl=e(85003),Nr=e(23877),yl=e(15365),Ar=e(28061),_d=e(90426),uc=e(83958),qr=e(53720),vd=e(18019);let ea=[],Xa=[],Ja=[];function ma(Ne,n=!1){Hl(Ne,!1,n)}function Hl(Ne,n,f){const P=Cd(Ne,n);ea.push(P),P.userConfigured?Ja.push(P):Xa.push(P),f&&!P.userConfigured&&ea.forEach(Q=>{Q.mime===P.mime||Q.userConfigured||(P.extension&&Q.extension===P.extension&&console.warn(`Overwriting extension <<${P.extension}>> to now point to mime <<${P.mime}>>`),P.filename&&Q.filename===P.filename&&console.warn(`Overwriting filename <<${P.filename}>> to now point to mime <<${P.mime}>>`),P.filepattern&&Q.filepattern===P.filepattern&&console.warn(`Overwriting filepattern <<${P.filepattern}>> to now point to mime <<${P.mime}>>`),P.firstline&&Q.firstline===P.firstline&&console.warn(`Overwriting firstline <<${P.firstline}>> to now point to mime <<${P.mime}>>`))})}function Cd(Ne,n){return{id:Ne.id,mime:Ne.mime,filename:Ne.filename,extension:Ne.extension,filepattern:Ne.filepattern,firstline:Ne.firstline,userConfigured:n,filepatternParsed:Ne.filepattern?(0,uc.qg)(Ne.filepattern,{ignoreCase:!0}):void 0,filepatternOnPath:Ne.filepattern?Ne.filepattern.indexOf(vd.SA.sep)>=0:!1}}function gc(){ea=ea.filter(Ne=>Ne.userConfigured),Xa=[]}function fc(Ne,n){return Vl(Ne,n).map(f=>f.id)}function Vl(Ne,n){let f;if(Ne)switch(Ne.scheme){case $n.ny.file:f=Ne.fsPath;break;case $n.ny.data:{f=Dr.B6.parseMetaData(Ne).get(Dr.B6.META_DATA_LABEL);break}case $n.ny.vscodeNotebookCell:f=void 0;break;default:f=Ne.path}if(!f)return[{id:"unknown",mime:qr.K.unknown}];f=f.toLowerCase();const P=(0,vd.P8)(f),Q=Xd(f,P,Ja);if(Q)return[Q,{id:ue.vH,mime:qr.K.text}];const ce=Xd(f,P,Xa);if(ce)return[ce,{id:ue.vH,mime:qr.K.text}];if(n){const ke=Jd(n);if(ke)return[ke,{id:ue.vH,mime:qr.K.text}]}return[{id:"unknown",mime:qr.K.unknown}]}function Xd(Ne,n,f){let P,Q,ce;for(let ke=f.length-1;ke>=0;ke--){const Je=f[ke];if((0,Ee.aI)(n,Je.filename)){P=Je;break}if(Je.filepattern&&(!Q||Je.filepattern.length>Q.filepattern.length)){const Ct=Je.filepatternOnPath?Ne:n;Je.filepatternParsed?.(Ct)&&(Q=Je)}Je.extension&&(!ce||Je.extension.length>ce.extension.length)&&(0,Ee.Dp)(n,Je.extension)&&(ce=Je)}
724if(P)return P;if(Q)return Q;if(ce)return ce}function Jd(Ne){if((0,Ee.LU)(Ne)&&(Ne=Ne.substring(1)),Ne.length>0)for(let n=ea.length-1;n>=0;n--){const f=ea[n];if(!f.firstline)continue;const P=Ne.match(f.firstline);if(P&&P.length>0)return f}}const Fo=Object.prototype.hasOwnProperty,Ul="vs.editor.nullLanguage";class bd{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(Ul,0),this._register(ue.vH,1),this._nextLanguageId=2}_register(n,f){this._languageIdToLanguage[f]=n,this._languageToLanguageId.set(n,f)}register(n){if(this._languageToLanguageId.has(n))return;const f=this._nextLanguageId++;this._register(n,f)}encodeLanguageId(n){return this._languageToLanguageId.get(n)||0}decodeLanguageId(n){return this._languageIdToLanguage[n]||Ul}}const Tc=class Tc extends ae.jG{constructor(n=!0,f=!1){super(),this._onDidChange=this._register(new ui.vl),this.onDidChange=this._onDidChange.event,Tc.instanceCount++,this._warnOnOverwrite=f,this.languageIdCodec=new bd,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},n&&(this._initializeFromRegistry(),this._register(ue.W6.onDidChangeLanguages(P=>{this._initializeFromRegistry()})))}dispose(){Tc.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},gc();const n=[].concat(ue.W6.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(n)}_registerLanguages(n){for(const f of n)this._registerLanguage(f);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(f=>{const P=this._languages[f];P.name&&(this._nameMap[P.name]=P.identifier),P.aliases.forEach(Q=>{this._lowercaseNameMap[Q.toLowerCase()]=P.identifier}),P.mimetypes.forEach(Q=>{this._mimeTypesMap[Q]=P.identifier})}),xr.O.as(Xo.Fd.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(n){const f=n.id;let P;Fo.call(this._languages,f)?P=this._languages[f]:(this.languageIdCodec.register(f),P={identifier:f,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[f]=P),this._mergeLanguage(P,n)}_mergeLanguage(n,f){const P=f.id;let Q=null;if(Array.isArray(f.mimetypes)&&f.mimetypes.length>0&&(n.mimetypes.push(...f.mimetypes),Q=f.mimetypes[0]),Q||(Q=`text/x-${P}`,n.mimetypes.push(Q)),Array.isArray(f.extensions)){f.configuration?n.extensions=f.extensions.concat(n.extensions):n.extensions=n.extensions.concat(f.extensions);for(const Je of f.extensions)ma({id:P,mime:Q,extension:Je},this._warnOnOverwrite)}if(Array.isArray(f.filenames))for(const Je of f.filenames)ma({id:P,mime:Q,filename:Je},this._warnOnOverwrite),n.filenames.push(Je);if(Array.isArray(f.filenamePatterns))for(const Je of f.filenamePatterns)ma({id:P,mime:Q,filepattern:Je},this._warnOnOverwrite);if(typeof f.firstLine=="string"&&f.firstLine.length>0){let Je=f.firstLine;Je.charAt(0)!=="^"&&(Je="^"+Je);try{const Ct=new RegExp(Je);(0,Ee.eY)(Ct)||ma({id:P,mime:Q,firstline:Ct},this._warnOnOverwrite)}catch(Ct){console.warn(`[${f.id}]: Invalid regular expression \`${Je}\`: `,Ct)}}n.aliases.push(P);let ce=null;if(typeof f.aliases<"u"&&Array.isArray(f.aliases)&&(f.aliases.length===0?ce=[null]:ce=f.aliases),ce!==null)for(const Je of ce)!Je||Je.length===0||n.aliases.push(Je);const ke=ce!==null&&ce.length>0;if(!(ke&&ce[0]===null)){const Je=(ke?ce[0]:null)||P;(ke||!n.name)&&(n.name=Je)}f.configuration&&n.configurationFiles.push(f.configuration),f.icon&&n.icons.push(f.icon)}isRegisteredLanguageId(n){return n?Fo.call(this._languages,n):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(n){const f=n.toLowerCase();return Fo.call(this._lowercaseNameMap,f)?this._lowercaseNameMap[f]:null}getLanguageIdByMimeType(n){return n&&Fo.call(this._mimeTypesMap,n)?this._mimeTypesMap[n]:null}guessLanguageIdByFilepathOrFirstLine(n,f){return!n&&!f?[]:fc(n,f)}};Tc.instanceCount=0;let Ra=Tc;const Mc=class Mc extends ae.jG{constructor(n=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new ui.vl),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new ui.vl),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new ui.vl({leakWarningThreshold:200,leakWarningName:"LanguageService._onDidChange"})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Mc.instanceCount++,this._registry=this._register(new Ra(!0,n)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){Mc.instanceCount--,super.dispose()}isRegisteredLanguageId(n){return this._registry.isRegisteredLanguageId(n)}getLanguageIdByLanguageName(n){return this._registry.getLanguageIdByLanguageName(n)}getLanguageIdByMimeType(n){return this._registry.getLanguageIdByMimeType(n)}guessLanguageIdByFilepathOrFirstLine(n,f){return this._registry.guessLanguageIdByFilepathOrFirstLine(n,f).at(0)??null}createById(n){return new qd(this.onDidChange,()=>this._createAndGetLanguageIdentifier(n))}createByFilepathOrFirstLine(n,f){return new qd(this.onDidChange,()=>{const P=this.guessLanguageIdByFilepathOrFirstLine(n,f);return this._createAndGetLanguageIdentifier(P)})}_createAndGetLanguageIdentifier(n){return(!n||!this.isRegisteredLanguageId(n))&&(n=ue.vH),n}requestBasicLanguageFeatures(n){this._requestedBasicLanguages.has(n)||(this._requestedBasicLanguages.add(n),this._onDidRequestBasicLanguageFeatures.fire(n))}requestRichLanguageFeatures(n){this._requestedRichLanguages.has(n)||(this._requestedRichLanguages.add(n),this.requestBasicLanguageFeatures(n),oe.dG.getOrCreate(n),this._onDidRequestRichLanguageFeatures.fire(n))}};Mc.instanceCount=0;let Sd=Mc;class qd{constructor(n,f){this._value=(0,Cl.y0)(this,n,()=>f()),this.onDidChange=ui.Jh.fromObservable(this._value)}get languageId(){return this._value.get()}}var mc=e(80886),Cr=e(48295),yd=e(88436),Uo=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7243&&ce&&Object.defineProperty(n,f,ce),ce},wd=function(Ne,n){return function(f,P){n(f,P,Ne)}};let jl=class extends ae.jG{constructor(n,f){super(),this._markerService=f,this._onDidChangeMarker=this._register(new ui.vl),this._suppressedRanges=new _o.fT,this._markerDecorations=new _o.fT,n.getModels().forEach(P=>this._onModelAdded(P)),this._register(n.onModelAdded(this._onModelAdded,this)),this._register(n.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(n=>n.dispose()),this._markerDecorations.clear()}getMarker(n,f){const P=this._markerDecorations.get(n);return P&&P.getMarker(f)||null}_handleMarkerChange(n){n.forEach(f=>{const P=this._markerDecorations.get(f);P&&this._updateDecorations(P)})}_onModelAdded(n){const f=new zl(n);this._markerDecorations.set(n.uri,f),this._updateDecorations(f)}_onModelRemoved(n){const f=this._markerDecorations.get(n.uri);f&&(f.dispose(),this._markerDecorations.delete(n.uri)),(n.uri.scheme===$n.ny.inMemory||n.uri.scheme===$n.ny.internal||n.uri.scheme===$n.ny.vscode)&&this._markerService?.read({resource:n.uri}).map(P=>P.owner).forEach(P=>this._markerService.remove(P,[n.uri]))}_updateDecorations(n){let f=this._markerService.read({resource:n.model.uri,take:500});const P=this._suppressedRanges.get(n.model.uri);P&&(f=f.filter(Q=>!bo.f.some(P,ce=>Ar.Q.areIntersectingOrTouching(ce,Q)))),n.update(f)&&this._onDidChangeMarker.fire(n.model)}};jl=Uo([wd(0,De.S),wd(1,Xs.DR)],jl);class zl extends ae.jG{constructor(n){super(),this.model=n,this._map=new _o.cO,this._register((0,ae.s)(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(n){const{added:f,removed:P}=(0,yd.Zv)(new Set(this._map.keys()),new Set(n));if(f.length===0&&P.length===0)return!1;const Q=P.map(Je=>this._map.get(Je)),ce=f.map(Je=>({range:this._createDecorationRange(this.model,Je),options:this._createDecorationOption(Je)})),ke=this.model.deltaDecorations(Q,ce);for(const Je of P)this._map.delete(Je);for(let Je=0;Je<ke.length;Je++)this._map.set(f[Je],ke[Je]);return!0}getMarker(n){return this._map.getKey(n.id)}_createDecorationRange(n,f){let P=Ar.Q.lift(f);if(f.severity===Xs.cj.Hint&&!this._hasMarkerTag(f,1)&&!this._hasMarkerTag(f,2)&&(P=P.setEndPosition(P.startLineNumber,P.startColumn+2)),P=n.validateRange(P),P.isEmpty()){const Q=n.getLineLastNonWhitespaceColumn(P.startLineNumber)||n.getLineMaxColumn(P.startLineNumber);if(Q===1||P.endColumn>=Q)return P;const ce=n.getWordAtPosition(P.getStartPosition());ce&&(P=new Ar.Q(P.startLineNumber,ce.startColumn,P.endLineNumber,ce.endColumn))}else if(f.endColumn===Number.MAX_VALUE&&f.startColumn===1&&P.startLineNumber===P.endLineNumber){const Q=n.getLineFirstNonWhitespaceColumn(f.startLineNumber);Q<P.endColumn&&(P=new Ar.Q(P.startLineNumber,Q,P.endLineNumber,P.endColumn),f.startColumn=Q)}return P}_createDecorationOption(n){let f,P,Q,ce,ke;switch(n.severity){case Xs.cj.Hint:this._hasMarkerTag(n,2)?f=void 0:this._hasMarkerTag(n,1)?f="squiggly-unnecessary":f="squiggly-hint",Q=0;break;case Xs.cj.Info:f="squiggly-info",P=(0,$t.Yf)(Cr.AQ),Q=10,ke={color:(0,$t.Yf)(Wi.Ko),position:1};break;case Xs.cj.Warning:f="squiggly-warning",P=(0,$t.Yf)(Cr.aZ),Q=20,ke={color:(0,$t.Yf)(Wi.uM),position:1};break;case Xs.cj.Error:default:f="squiggly-error",P=(0,$t.Yf)(Cr.yI),Q=30,ke={color:(0,$t.Yf)(Wi.yL),position:1};break}return n.tags&&(n.tags.indexOf(1)!==-1&&(ce="squiggly-inline-unnecessary"),n.tags.indexOf(2)!==-1&&(ce="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:f,showIfCollapsed:!0,overviewRuler:{color:P,position:ve.A5.Right},minimap:ke,zIndex:Q,inlineClassName:ce}}_hasMarkerTag(n,f){return n.tags?n.tags.indexOf(f)>=0:!1}}var rr=e(78471),er=e(54296),Kl=e(31531),Gl=e(41504),Ed=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7243&&ce&&Object.defineProperty(n,f,ce),ce},$l=function(Ne,n){return function(f,P){n(f,P,Ne)}},Oa;function br(Ne){return Ne.toString()}class Ql{constructor(n,f,P){this.model=n,this._modelEventListeners=new ae.Cm,this.model=n,this._modelEventListeners.add(n.onWillDispose(()=>f(n))),this._modelEventListeners.add(n.onDidChangeLanguage(Q=>P(n,Q)))}dispose(){this._modelEventListeners.dispose()}}const pc=Qt.j9||Qt.zx?1:2;class Ld{constructor(n,f,P,Q,ce,ke,Je,Ct){this.uri=n,this.initialUndoRedoSnapshot=f,this.time=P,this.sharesUndoRedoStack=Q,this.heapSize=ce,this.sha1=ke,this.versionId=Je,this.alternativeVersionId=Ct}}let wl=(Ad=class extends ae.jG{constructor(n,f,P,Q){super(),this._configurationService=n,this._resourcePropertiesService=f,this._undoRedoService=P,this._instantiationService=Q,this._onModelAdded=this._register(new ui.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new ui.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new ui.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(ce=>this._updateModelOptions(ce))),this._updateModelOptions(void 0)}static _readModelOptions(n,f){let P=rr.R.tabSize;n.editor&&typeof n.editor.tabSize<"u"&&(P=(0,_e.wA)(n.editor.tabSize,rr.R.tabSize,1,100));let Q="tabSize";n.editor&&typeof n.editor.indentSize<"u"&&n.editor.indentSize!=="tabSize"&&(Q=(0,_e.wA)(n.editor.indentSize,"tabSize",1,100));let ce=rr.R.insertSpaces;n.editor&&typeof n.editor.insertSpaces<"u"&&(ce=n.editor.insertSpaces==="false"?!1:!!n.editor.insertSpaces);let ke=pc;const Je=n.eol;Je===`\r
725`?ke=2:Je===`
726`&&(ke=1);let Ct=rr.R.trimAutoWhitespace;n.editor&&typeof n.editor.trimAutoWhitespace<"u"&&(Ct=n.editor.trimAutoWhitespace==="false"?!1:!!n.editor.trimAutoWhitespace);let bt=rr.R.detectIndentation;n.editor&&typeof n.editor.detectIndentation<"u"&&(bt=n.editor.detectIndentation==="false"?!1:!!n.editor.detectIndentation);let kt=rr.R.largeFileOptimizations;n.editor&&typeof n.editor.largeFileOptimizations<"u"&&(kt=n.editor.largeFileOptimizations==="false"?!1:!!n.editor.largeFileOptimizations);let ni=rr.R.bracketPairColorizationOptions;if(n.editor?.bracketPairColorization&&typeof n.editor.bracketPairColorization=="object"){const Pi=n.editor.bracketPairColorization;ni={enabled:!!Pi.enabled,independentColorPoolPerBracketType:!!Pi.independentColorPoolPerBracketType}}return{isForSimpleWidget:f,tabSize:P,indentSize:Q,insertSpaces:ce,detectIndentation:bt,defaultEOL:ke,trimAutoWhitespace:Ct,largeFileOptimizations:kt,bracketPairColorizationOptions:ni}}_getEOL(n,f){if(n)return this._resourcePropertiesService.getEOL(n,f);const P=this._configurationService.getValue("files.eol",{overrideIdentifier:f});return P&&typeof P=="string"&&P!=="auto"?P:Qt.OS===3||Qt.OS===2?`
727`:`\r
728`}_shouldRestoreUndoStack(){const n=this._configurationService.getValue("files.restoreUndoStack");return typeof n=="boolean"?n:!0}getCreationOptions(n,f,P){const Q=typeof n=="string"?n:n.languageId;let ce=this._modelCreationOptionsByLanguageAndResource[Q+f];if(!ce){const ke=this._configurationService.getValue("editor",{overrideIdentifier:Q,resource:f}),Je=this._getEOL(f,Q);ce=Oa._readModelOptions({editor:ke,eol:Je},P),this._modelCreationOptionsByLanguageAndResource[Q+f]=ce}return ce}_updateModelOptions(n){const f=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const P=Object.keys(this._models);for(let Q=0,ce=P.length;Q<ce;Q++){const ke=P[Q],Je=this._models[ke],Ct=Je.model.getLanguageId(),bt=Je.model.uri;if(n&&!n.affectsConfiguration("editor",{overrideIdentifier:Ct,resource:bt})&&!n.affectsConfiguration("files.eol",{overrideIdentifier:Ct,resource:bt}))continue;const kt=f[Ct+bt],ni=this.getCreationOptions(Ct,bt,Je.model.isForSimpleWidget);Oa._setModelOptionsForModel(Je.model,ni,kt)}}static _setModelOptionsForModel(n,f,P){P&&P.defaultEOL!==f.defaultEOL&&n.getLineCount()===1&&n.setEOL(f.defaultEOL===1?0:1),!(P&&P.detectIndentation===f.detectIndentation&&P.insertSpaces===f.insertSpaces&&P.tabSize===f.tabSize&&P.indentSize===f.indentSize&&P.trimAutoWhitespace===f.trimAutoWhitespace&&(0,Ao.aI)(P.bracketPairColorizationOptions,f.bracketPairColorizationOptions))&&(f.detectIndentation?(n.detectIndentation(f.insertSpaces,f.tabSize),n.updateOptions({trimAutoWhitespace:f.trimAutoWhitespace,bracketColorizationOptions:f.bracketPairColorizationOptions})):n.updateOptions({insertSpaces:f.insertSpaces,tabSize:f.tabSize,indentSize:f.indentSize,trimAutoWhitespace:f.trimAutoWhitespace,bracketColorizationOptions:f.bracketPairColorizationOptions}))}_insertDisposedModel(n){this._disposedModels.set(br(n.uri),n),this._disposedModelsHeapSize+=n.heapSize}_removeDisposedModel(n){const f=this._disposedModels.get(br(n));return f&&(this._disposedModelsHeapSize-=f.heapSize),this._disposedModels.delete(br(n)),f}_ensureDisposedModelsHeapSize(n){if(this._disposedModelsHeapSize>n){const f=[];
728for(this._disposedModels.forEach(P=>{P.sharesUndoRedoStack||f.push(P)}),f.sort((P,Q)=>P.time-Q.time);f.length>0&&this._disposedModelsHeapSize>n;){const P=f.shift();this._removeDisposedModel(P.uri),P.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(P.initialUndoRedoSnapshot)}}}_createModelData(n,f,P,Q){const ce=this.getCreationOptions(f,P,Q),ke=this._instantiationService.createInstance(Kl.Bz,n,f,ce,P);if(P&&this._disposedModels.has(br(P))){const bt=this._removeDisposedModel(P),kt=this._undoRedoService.getElements(P),ni=this._getSHA1Computer(),Pi=ni.canComputeSHA1(ke)?ni.computeSHA1(ke)===bt.sha1:!1;if(Pi||bt.sharesUndoRedoStack){for(const ki of kt.past)(0,er.Th)(ki)&&ki.matchesResource(P)&&ki.setModel(ke);for(const ki of kt.future)(0,er.Th)(ki)&&ki.matchesResource(P)&&ki.setModel(ke);this._undoRedoService.setElementsValidFlag(P,!0,ki=>(0,er.Th)(ki)&&ki.matchesResource(P)),Pi&&(ke._overwriteVersionId(bt.versionId),ke._overwriteAlternativeVersionId(bt.alternativeVersionId),ke._overwriteInitialUndoRedoSnapshot(bt.initialUndoRedoSnapshot))}else bt.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(bt.initialUndoRedoSnapshot)}const Je=br(ke.uri);if(this._models[Je])throw new Error("ModelService: Cannot add model because it already exists!");const Ct=new Ql(ke,bt=>this._onWillDispose(bt),(bt,kt)=>this._onDidChangeLanguage(bt,kt));return this._models[Je]=Ct,Ct}createModel(n,f,P,Q=!1){let ce;return f?ce=this._createModelData(n,f,P,Q):ce=this._createModelData(n,ue.vH,P,Q),this._onModelAdded.fire(ce.model),ce.model}getModels(){const n=[],f=Object.keys(this._models);for(let P=0,Q=f.length;P<Q;P++){const ce=f[P];n.push(this._models[ce].model)}return n}getModel(n){const f=br(n),P=this._models[f];return P?P.model:null}_schemaShouldMaintainUndoRedoElements(n){return n.scheme===$n.ny.file||n.scheme===$n.ny.vscodeRemote||n.scheme===$n.ny.vscodeUserData||n.scheme===$n.ny.vscodeNotebookCell||n.scheme==="fake-fs"}_onWillDispose(n){const f=br(n.uri),P=this._models[f],Q=this._undoRedoService.getUriComparisonKey(n.uri)!==n.uri.toString();let ce=!1,ke=0;if(Q||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(n.uri)){const bt=this._undoRedoService.getElements(n.uri);if(bt.past.length>0||bt.future.length>0){for(const kt of bt.past)(0,er.Th)(kt)&&kt.matchesResource(n.uri)&&(ce=!0,ke+=kt.heapSize(n.uri),kt.setModel(n.uri));for(const kt of bt.future)(0,er.Th)(kt)&&kt.matchesResource(n.uri)&&(ce=!0,ke+=kt.heapSize(n.uri),kt.setModel(n.uri))}}const Je=Oa.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,Ct=this._getSHA1Computer();if(ce)if(!Q&&(ke>Je||!Ct.canComputeSHA1(n))){const bt=P.model.getInitialUndoRedoSnapshot();bt!==null&&this._undoRedoService.restoreSnapshot(bt)}else this._ensureDisposedModelsHeapSize(Je-ke),this._undoRedoService.setElementsValidFlag(n.uri,!1,bt=>(0,er.Th)(bt)&&bt.matchesResource(n.uri)),this._insertDisposedModel(new Ld(n.uri,P.model.getInitialUndoRedoSnapshot(),Date.now(),Q,ke,Ct.computeSHA1(n),n.getVersionId(),n.getAlternativeVersionId()));else if(!Q){const bt=P.model.getInitialUndoRedoSnapshot();bt!==null&&this._undoRedoService.restoreSnapshot(bt)}delete this._models[f],P.dispose(),delete this._modelCreationOptionsByLanguageAndResource[n.getLanguageId()+n.uri],this._onModelRemoved.fire(n)}_onDidChangeLanguage(n,f){const P=f.oldLanguage,Q=n.getLanguageId(),ce=this.getCreationOptions(P,n.uri,n.isForSimpleWidget),ke=this.getCreationOptions(Q,n.uri,n.isForSimpleWidget);Oa._setModelOptionsForModel(n,ke,ce),this._onModelModeChanged.fire({model:n,oldLanguageId:P})}_getSHA1Computer(){return new Yl}},Oa=Ad,Ad.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,Ad);wl=Oa=Ed([$l(0,Si.pG),$l(1,Gl.J),$l(2,Fs.$D),$l(3,Vi._Y)],wl);const jc=class jc{canComputeSHA1(n){return n.getValueLength()<=jc.MAX_MODEL_SIZE}computeSHA1(n){const f=new or.v7,P=n.createSnapshot();let Q;for(;Q=P.read();)f.update(Q);return f.digest()}};jc.MAX_MODEL_SIZE=10*1024*1024;let Yl=jc;var El=e(37042),ec=e(82466),qa=e(45933),ar=e(83616),tc=e(19381),Ll=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7283&&ce&&Object.defineProperty(n,f,ce),ce},Dl=function(Ne,n){return function(f,P){n(f,P,Ne)}};let el=class extends ae.jG{constructor(n,f,P){super(),this.quickInputService=n,this.instantiationService=f,this.contextKeyService=P,this.registry=xr.O.as(tc.Fd.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register((0,ae.s)(()=>{for(const Q of this.mapProviderToDescriptor.values())(0,ae.Xm)(Q)&&Q.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(n="",f){this.doShowOrPick(n,!1,f)}doShowOrPick(n,f,P){const[Q,ce]=this.getOrInstantiateProvider(n,P?.enabledProviderPrefixes),ke=this.visibleQuickAccess,Je=ke?.descriptor;if(ke&&ce&&Je===ce){n!==ce.prefix&&!P?.preserveValue&&(ke.picker.value=n),this.adjustValueSelection(ke.picker,ce,P);return}if(ce&&!P?.preserveValue){let bn;if(ke&&Je&&Je!==ce){const ss=ke.value.substr(Je.prefix.length);ss&&(bn=`${ce.prefix}${ss}`)}if(!bn){const ss=Q?.defaultFilterValue;ss===tc.aJ.LAST?bn=this.lastAcceptedPickerValues.get(ce):typeof ss=="string"&&(bn=`${ce.prefix}${ss}`)}typeof bn=="string"&&(n=bn)}const Ct=ke?.picker?.valueSelection,bt=ke?.picker?.value,kt=new ae.Cm,ni=kt.add(this.quickInputService.createQuickPick({useSeparators:!0}));ni.value=n,this.adjustValueSelection(ni,ce,P),ni.placeholder=P?.placeholder??ce?.placeholder,ni.quickNavigate=P?.quickNavigateConfiguration,ni.hideInput=!!ni.quickNavigate&&!ke,(typeof P?.itemActivation=="number"||P?.quickNavigateConfiguration)&&(ni.itemActivation=P?.itemActivation??Vn.C1.SECOND),ni.contextKey=ce?.contextKey,ni.filterValue=bn=>bn.substring(ce?ce.prefix.length:0);let Pi;f&&(Pi=new gi.Zv,kt.add(ui.Jh.once(ni.onWillAccept)(bn=>{bn.veto(),ni.hide()}))),kt.add(this.registerPickerListeners(ni,Q,ce,n,P));const ki=kt.add(new Ni.Qi);if(Q&&kt.add(Q.provide(ni,ki.token,P?.providerOptions)),ui.Jh.once(ni.onDidHide)(()=>{ni.selectedItems.length===0&&ki.cancel(),kt.dispose(),Pi?.complete(ni.selectedItems.slice(0))}),ni.show(),Ct&&bt===n&&(ni.valueSelection=Ct),f)return Pi?.p}adjustValueSelection(n,f,P){let Q;P?.preserveValue?Q=[n.value.length,n.value.length]:Q=[f?.prefix.length??0,n.value.length],n.valueSelection=Q}registerPickerListeners(n,f,P,Q,ce){const ke=new ae.Cm,Je=this.visibleQuickAccess={picker:n,descriptor:P,value:Q};return ke.add((0,ae.s)(()=>{Je===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),ke.add(n.onDidChangeValue(Ct=>{const[bt]=this.getOrInstantiateProvider(Ct,ce?.enabledProviderPrefixes);bt!==f?this.show(Ct,{enabledProviderPrefixes:ce?.enabledProviderPrefixes,preserveValue:!0,providerOptions:ce?.providerOptions}):Je.value=Ct})),P&&ke.add(n.onDidAccept(()=>{this.lastAcceptedPickerValues.set(P,n.value)})),ke}getOrInstantiateProvider(n,f){const P=this.registry.getQuickAccessProvider(n,this.contextKeyService);if(!P||f&&!f?.includes(P.prefix))return[void 0,void 0];let Q=this.mapProviderToDescriptor.get(P);return Q||(Q=this.instantiationService.createInstance(P.ctor),this.mapProviderToDescriptor.set(P,Q)),[Q,P]}};el=Ll([Dl(0,Vn.GK),Dl(1,Vi._Y),Dl(2,Wn.fN)],el);var Pa=e(93557),tl=e(34061),Zl=e(91818),_c=e(94664),Dd=e(88846),vc=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7283&&ce&&Object.defineProperty(n,f,ce),ce};class xd{constructor(n){this.nodes=n}toString(){return this.nodes.map(n=>typeof n=="string"?n:n.label).join("")}}vc([Dd.B],xd.prototype,"toString",null);const Cc=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function Xl(Ne){const n=[];let f=0,P;for(;P=Cc.exec(Ne);){P.index-f>0&&n.push(Ne.substring(f,P.index));const[,Q,ce,,ke]=P;ke?n.push({label:Q,href:ce,title:ke}):n.push({label:Q,href:ce}),f=P.index+P[0].length}return f<Ne.length&&n.push(Ne.substring(f)),new xd(n)}const il={},bc=new _c.n("quick-input-button-icon-");function Sc(Ne){if(!Ne)return;let n;const f=Ne.dark.toString();return il[f]?n=il[f]:(n=bc.nextId(),(0,mo.Wt)(`.${n}, .hc-light .${n}`,`background-image: ${(0,Pa.Tf)(Ne.light||Ne.dark)}`),(0,mo.Wt)(`.vs-dark .${n}, .hc-black .${n}`,`background-image: ${(0,Pa.Tf)(Ne.dark)}`),il[f]=n),n}class ka{constructor(n,f,P,Q,ce,ke,Je){this.id=n,this.label=f,this.tooltip=P,this.enabled=ce,this._checked=ke,this._run=Je,this.class=Q}get checked(){return this._checked}set checked(n){this._checked=n,this._run()}run(){return this._checked=!this._checked,this._run()}}function ic(Ne,n,f){let P=Ne.iconClass||Sc(Ne.iconPath);Ne.alwaysVisible&&(P=P?`${P} always-visible`:"always-visible");const Q=()=>(Ne.toggle&&(Ne.toggle.checked=!Ne.toggle.checked),f());return Ne.toggle?new ka(n,Ne.tooltip||"","",P,!0,Ne.toggle.checked,Q):{id:n,label:"",tooltip:Ne.tooltip||"",class:P,enabled:!0,run:Q}}function pa(Ne,n,f){const P=[],Q=[];return Ne.forEach((ce,ke)=>{const Je=ic(ce,`${n}-${ke}`,async()=>f(ce));ce.label&&(Je.label=ce.label),ce.secondary?Q.push(Je):P.push(Je)}),{primary:P,secondary:Q}}function Id(Ne,n,f){(0,Wt.Ln)(n);const P=Xl(Ne);let Q=0;for(const ce of P.nodes)if(typeof ce=="string")n.append(...(0,Zl.n)(ce));else{let ke=ce.title;!ke&&ce.href.startsWith("command:")?ke=(0,Ot.kg)(1835,"Click to execute command '{0}'",ce.href.substring(8)):ke||(ke=ce.href);const Je=(0,Wt.$)("a",{href:ce.href,title:ke,tabIndex:Q++},ce.label);Je.style.textDecoration="underline";const Ct=ki=>{(0,Wt.sd)(ki)&&Wt.fs.stop(ki,!0),f.callback(ce.href)},bt=f.disposables.add(new tl.f(Je,Wt.Bx.CLICK)).event,kt=f.disposables.add(new tl.f(Je,Wt.Bx.KEY_DOWN)).event,ni=ui.Jh.chain(kt,ki=>ki.filter(bn=>{const ss=new Ft.Z(bn);return ss.equals(10)||ss.equals(3)}));f.disposables.add(ts.q.addTarget(Je));const Pi=f.disposables.add(new tl.f(Je,ts.B.Tap)).event;ui.Jh.any(bt,Pi,ni)(Ct,null,f.disposables),n.appendChild(Je)}}var yc=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7283&&ce&&Object.defineProperty(n,f,ce),ce},Td=function(Ne,n){return function(f,P){n(f,P,Ne)}};const nc="inQuickInput",sc=new Wn.N1(nc,!1,(0,Ot.kg)(1812,"Whether keyboard focus is inside the quick input control")),nl=Wn.M$.has(nc),wc="quickInputAlignment",oc=new Wn.N1(wc,"top",(0,Ot.kg)(1813,"The alignment of the quick input")),Na="quickInputType",rc=new Wn.N1(Na,void 0,(0,Ot.kg)(1814,"The type of the currently visible quick input")),Aa="cursorAtEndOfQuickInputBox",Ec=new Wn.N1(Aa,!1,(0,Ot.kg)(1815,"Whether the cursor in the quick input is at the end of the input box")),Sr=Wn.M$.has(Aa),Wa={iconClass:xa.L.asClassName(Ir.W.quickInputBack),tooltip:(0,Ot.kg)(1816,"Back")},zc=class zc extends ae.jG{constructor(n){super(),this.ui=n,this._visible=(0,Js.FY)("visible",!1),this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this._inputButtons=[],this.buttonsUpdated=!1,this.noValidationMessage=zc.noPromptMessage,this._severity=_s.A.Ignore,this.onDidTriggerButtonEmitter=this._register(new ui.vl),this.onDidHideEmitter=this._register(new ui.vl),this.onWillHideEmitter=this._register(new ui.vl),this.onDisposeEmitter=this._register(new ui.vl),this.visibleDisposables=this._register(new ae.Cm),this.onDidTriggerButton=this.onDidTriggerButtonEmitter.event,this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(n){this._title=n,this.update()}get description(){return this._description}set description(n){this._description=n,this.update()}get step(){return this._steps}set step(n){this._steps=n,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(n){this._totalSteps=n,this.update()}get enabled(){return this._enabled}set enabled(n){this._enabled=n,this.update()}get contextKey(){return this._contextKey}set contextKey(n){this._contextKey=n,this.update()}get busy(){return this._busy}set busy(n){this._busy=n,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(n){const f=this._ignoreFocusOut!==n&&!Qt.un;this._ignoreFocusOut=n&&!Qt.un,f&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons,...this._inputButtons]}set buttons(n){const f=[],P=[],Q=[],ce=[];for(const ke of n)if(ke===Wa)f.push(ke);else switch(ke.location){case Vn.dH.Inline:Q.push(ke);break;case Vn.dH.Input:ce.push(ke);break;default:P.push(ke);break}this._leftButtons=f,this._rightButtons=P,this._inlineButtons=Q,this._inputButtons=ce,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(n){this._validationMessage=n,this.update()}get severity(){return this._severity}set severity(n){this._severity=n,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(n=>{this.buttons.indexOf(n)!==-1&&this.onDidTriggerButtonEmitter.fire(n)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(n=Vn.kF.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:n})}willHide(n=Vn.kF.Other){this.onWillHideEmitter.fire({reason:n})}update(){if(!this.visible)return;const n=this.getTitle();n&&this.ui.title.textContent!==n?this.ui.title.textContent=n:!n&&this.ui.title.innerHTML!=="&nbsp;"&&(this.ui.title.innerText="\xA0");const f=this.getDescription();if(this.ui.description1.textContent!==f&&(this.ui.description1.textContent=f),this.ui.description2.textContent!==f&&(this.ui.description2.textContent=f),this.busy&&!this.busyDelay&&(this.busyDelay=new gi.pc,this.busyDelay.setIfNotSet(()=>{this.visible&&(this.ui.progressBar.infinite(),this.ui.progressBar.getContainer().removeAttribute("aria-hidden"))},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.ui.progressBar.getContainer().setAttribute("aria-hidden","true"),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1;const Q=pa(this._leftButtons,"left-button",Ct=>
728this.onDidTriggerButtonEmitter.fire(Ct));this.ui.leftActionBar.setActions(Q.primary,Q.secondary);const ce=pa(this._rightButtons,"right-button",Ct=>this.onDidTriggerButtonEmitter.fire(Ct));this.ui.rightActionBar.setActions(ce.primary,ce.secondary);const ke=pa(this._inlineButtons,"inline-button",Ct=>this.onDidTriggerButtonEmitter.fire(Ct));this.ui.inlineActionBar.setActions(ke.primary,ke.secondary);const Je=this._inputButtons.length*22;this.ui.countContainer.style.right=Je>0?`${4+Je}px`:"4px",this.ui.inputBox.actions=this._inputButtons.map((Ct,bt)=>ic(Ct,`id-${bt}`,async()=>this.onDidTriggerButtonEmitter.fire(Ct)))}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const P=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==P&&(this._lastValidationMessage=P,(0,Wt.Ln)(this.ui.message),P&&Id(P,this.ui.message,{callback:Q=>{this.ui.linkOpenerDelegate(Q)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?(0,Ot.kg)(1818,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(n){if(this.ui.inputBox.showDecoration(n),n!==_s.A.Ignore){const f=this.ui.inputBox.stylesForType(n);this.ui.message.style.color=f.foreground?`${f.foreground}`:"",this.ui.message.style.backgroundColor=f.background?`${f.background}`:"",this.ui.message.style.border=f.border?`1px solid ${f.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}};zc.noPromptMessage=(0,Ot.kg)(1817,"Press 'Enter' to confirm your input or 'Escape' to cancel");let _a=zc;const Kc=class Kc extends _a{constructor(n){super(n),this._value="",this.onDidChangeValueEmitter=this._register(new ui.vl),this.onWillAcceptEmitter=this._register(new ui.vl),this.onDidAcceptEmitter=this._register(new ui.vl),this.onDidCustomEmitter=this._register(new ui.vl),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=Vn.C1.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new ui.vl),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new ui.vl),this.onDidTriggerItemButtonEmitter=this._register(new ui.vl),this.onDidTriggerSeparatorButtonEmitter=this._register(new ui.vl),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._customButtonSecondary=!1,this._focusEventBufferer=new ui.at,this.type="quickPick",this.filterValue=f=>f,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event,this.noValidationMessage=void 0}get quickNavigate(){return this._quickNavigate}set quickNavigate(n){this._quickNavigate=n,this.update()}get value(){return this._value}set value(n){this.doSetValue(n)}doSetValue(n,f){this._value!==n&&(this._value=n,f||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(n){this._ariaLabel=n,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(n){this._placeholder=n,this.update()}get prompt(){return this.noValidationMessage}set prompt(n){this.noValidationMessage=n,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(n){this.ui.list.scrollTop=n}set items(n){this._items=n,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(n){this._canSelectMany=n,this.update()}
728get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(n){this._canAcceptInBackground=n}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(n){this._matchOnDescription=n,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(n){this._matchOnDetail=n,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(n){this._matchOnLabel=n,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(n){this._matchOnLabelMode=n,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(n){this._sortByLabel=n,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(n){this._keepScrollPosition=n}get itemActivation(){return this._itemActivation}set itemActivation(n){this._itemActivation=n}get activeItems(){return this._activeItems}set activeItems(n){this._activeItems=n,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(n){this._selectedItems=n,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Vn.Ym:this.ui.keyMods}get valueSelection(){const n=this.ui.inputBox.getSelection();if(n)return[n.start,n.end]}set valueSelection(n){this._valueSelection=n,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(n){this._customButton=n,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(n){this._customButtonLabel=n,this.update()}get customHover(){return this._customButtonHover}set customHover(n){this._customButtonHover=n,this.update()}get customButtonSecondary(){return this._customButtonSecondary}set customButtonSecondary(n){this._customButtonSecondary=n??!1,this.update()}get ok(){return this._ok}set ok(n){this._ok=n,this.update()}get okLabel(){return this._okLabel??(0,Ot.kg)(1820,"OK")}set okLabel(n){this._okLabel=n,this.update()}get hideInput(){return!!this._hideInput}set hideInput(n){this._hideInput=n,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(Vn.Fp.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(n=>{this.doSetValue(n,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(n,f)=>f)(n=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&(0,$s.aI)(n,this._activeItems,(f,P)=>f===P)||(this._activeItems=n,this.onDidChangeActiveEmitter.fire(n))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:n,event:f})=>{if(this.canSelectMany&&!n.some(P=>P.pickable===!1)){n.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&(0,$s.aI)(n,this._selectedItems,(P,Q)=>P===Q)||(this._selectedItems=n,this.onDidChangeSelectionEmitter.fire(n),n.length&&this.handleAccept((0,Wt.Er)(f)&&f.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(n=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&(0,$s.aI)(n,this._selectedItems,(f,P)=>f===P)||(this._selectedItems=n,this.onDidChangeSelectionEmitter.fire(n))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(n=>this.onDidTriggerItemButtonEmitter.fire(n))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(n=>this.onDidTriggerSeparatorButtonEmitter.fire(n))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(n){let f=!1;this.onWillAcceptEmitter.fire({veto:()=>f=!0}
728),f||this.onDidAcceptEmitter.fire({inBackground:n})}registerQuickNavigation(){return(0,Wt.ko)(this.ui.container,Wt.Bx.KEY_UP,n=>{if(this.canSelectMany||!this._quickNavigate)return;const f=new Ft.Z(n),P=f.keyCode;this._quickNavigate.keybindings.some(ke=>{const Je=ke.getChords();return Je.length>1?!1:Je[0].shiftKey&&P===4?!(f.ctrlKey||f.altKey||f.metaKey):!!(Je[0].altKey&&P===6||Je[0].ctrlKey&&P===5||Je[0].metaKey&&P===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const n=this.keepScrollPosition?this.scrollTop:0,f=!!this.description,P={title:!!this.title||!!this.step||!!this.titleButtons.length,description:f,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||f,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage||!!this.prompt,customButton:this.customButton};this.ui.setVisibilities(P),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let Q=this.ariaLabel;!Q&&P.inputBox&&(Q=this.placeholder,this.title&&(Q=Q?`${Q} - ${this.title}`:this.title),Q||(Q=Kc.DEFAULT_ARIA_LABEL)),this.ui.list.ariaLabel!==Q&&(this.ui.list.ariaLabel=Q??null),this.ui.inputBox.ariaLabel!==Q&&(this.ui.inputBox.ariaLabel=Q??"input"),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case Vn.C1.NONE:this._itemActivation=Vn.C1.FIRST;break;case Vn.C1.SECOND:this.ui.list.focus(Vn.Fp.Second),this._itemActivation=Vn.C1.FIRST;break;case Vn.C1.LAST:this.ui.list.focus(Vn.Fp.Last),this._itemActivation=Vn.C1.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||"",this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",this.ui.customButton.secondary=this.customButtonSecondary||!1,P.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(Vn.Fp.First)),this.keepScrollPosition&&(this.scrollTop=n)}focus(n){this.ui.list.focus(n),this.canSelectMany&&this.ui.list.domFocus()}accept(n){n&&!this._canAcceptInBackground||(this.activeItems[0]&&!this._canSelectMany&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(n??!1))}};Kc.DEFAULT_ARIA_LABEL=(0,Ot.kg)(1819,"Type to narrow down results.");let va=Kc;class Lc extends _a{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new ui.vl),this.onDidAcceptEmitter=this._register(new ui.vl),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(n){this._value=n||"",this.update()}get valueSelection(){const n=this.ui.inputBox.getSelection();if(n)return[n.start,n.end]}set valueSelection(n){this._valueSelection=n,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(n){this._placeholder=n,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(n){this._ariaLabel=n,this.update()}get password(){return this._password}set password(n){this._password=n,this.update()}get prompt(){return this._prompt}set prompt(n){this._prompt=n,this.noValidationMessage=n?(0,Ot.kg)(1821,"{0} (Press 'Enter' to confirm or 'Escape' to cancel)",n):_a.noPromptMessage,this.update()}
728show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(n=>{n!==this.value&&(this._value=n,this.onDidValueChangeEmitter.fire(n))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const n={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(n),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let f=this.ariaLabel;!f&&n.inputBox&&(f=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:"input"),this.ui.inputBox.ariaLabel!==f&&(this.ui.inputBox.ariaLabel=f||"input")}}let Jl=class extends Mi.fO{constructor(n,f){super("mouse",void 0,P=>this.getOverrideOptions(P),n,f)}getOverrideOptions(n){const f=((0,Wt.sb)(n.content)?n.content.textContent??"":typeof n.content=="string"?n.content:n.content.value).includes(`
729`);return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:f,skipFadeInAnimation:!0}}}};Jl=yc([Td(0,Si.pG),Td(1,Mi.TN)],Jl);var ho=e(29762),Md=e(21550),ql=e(72957);const Ba="done",sl="active",lr="infinite",Ca="infinite-long-running",ac="discrete",ta=(0,Ot.kg)(16,"Progress"),Gc=class Gc extends ae.jG{constructor(n,f){super(),this.progressSignal=this._register(new ae.HE),this.workedVal=0,this.showDelayedScheduler=this._register(new gi.uC(()=>(0,Wt.WU)(this.element),0)),this.longRunningScheduler=this._register(new gi.uC(()=>this.infiniteLongRunning(),Gc.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(n,f)}create(n,f){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),this.element.setAttribute("aria-label",f?.ariaLabel&&f.ariaLabel.trim()?f.ariaLabel:ta),n.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=f?.progressBarBackgroun
729d||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(sl,lr,Ca,ac),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(n){return this.element.classList.add(Ba),this.element.classList.contains(lr)?(this.bit.style.opacity="0",n?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",n?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(ac,Ba,Ca),this.element.classList.add(sl,lr),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Ca)}getContainer(){return this.element}};Gc.LONG_RUNNING_INFINITE_THRESHOLD=1e4;let ol=Gc;var Fa=e(6595),ko=e(99788);const Ha=Wt.$;class ba extends ae.jG{constructor(n,f,P){super(),this.parent=n,this._listFocusMode=!1,this.onDidChange=Q=>this.findInput.onDidChange(Q),this.container=(0,Wt.BC)(this.parent,Ha(".quick-input-box")),this.findInput=this._register(new Fa.c(this.container,void 0,{label:"",inputBoxStyles:f,toggleStyles:P,actionViewItemProvider:(0,ko.Om)(P),hideHoverOnValueChange:!0}))}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(n){this.findInput.setValue(n)}select(n=null){this.findInput.inputBox.select(n)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(n){this.findInput.inputBox.setPlaceHolder(n)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(n){this.findInput.inputBox.inputElement.type=n?"password":"text"}set enabled(n){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!n)}set toggles(n){this.findInput.setAdditionalToggles(n)}set actions(n){this.setActions(n)}setActions(n,f){this.findInput.setActions(n,f)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute("aria-label")||""}set ariaLabel(n){this.findInput.inputBox.inputElement.setAttribute("aria-label",n)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(n,f){this.findInput.inputBox.inputElement.setAttribute(n,f)}removeAttribute(n){this.findInput.inputBox.inputElement.removeAttribute(n)}setListFocusMode(n){if(this._listFocusMode===n)return;this._listFocusMode=n;const f=this.findInput.inputBox.inputElement;n?(f.setAttribute("aria-haspopup","listbox"),f.setAttribute("aria-autocomplete","list")):(f.removeAttribute("aria-haspopup"),f.removeAttribute("aria-autocomplete"))}showDecoration(n){n===_s.A.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:n===_s.A.Info?1:n===_s.A.Warning?2:3,content:""})}stylesForType(n){return this.findInput.inputBox.stylesForType(n===_s.A.Info?1:n===_s.A.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var ia=e(79400),uo=e(67159),rl=e(90462),Va=e(42124),Wr=e(63946);const Or=new Wr.d(()=>{const Ne=Va.x.Collator(void 0,{numeric:!0,sensitivity:"base"}).value;return{collator:Ne,collatorIsNumeric:Ne.resolvedOptions().numeric}});new Wr.d(()=>({collator:Va.x.Collator(void 0,{numeric:!0}).value})),new Wr.d(()=>({collator:Va.x.Collator(void 0,{numeric:!0,sensitivity:"accent"}).value}));function na(Ne,n,f=!1){const P=Ne||"",Q=n||"",ce=Or.value.collator.compare(P,Q);return Or.value.collatorIsNumeric&&ce===0&&P!==Q?P<Q?-1:1:ce}function ed(Ne,n,f){const P=Ne.toLowerCase(),Q=n.toLowerCase(),ce=qs(Ne,n,f);if(ce)return ce;const ke=P.endsWith(f),Je=Q.endsWith(f);if(ke!==Je)return ke?-1:1;const Ct=na(P,Q);return Ct!==0?Ct:P.localeCompare(Q)}function qs(Ne,n,f){const P=Ne.toLowerCase(),Q=n.toLowerCase(),ce=P.startsWith(f),ke=Q.startsWith(f);if(ce!==ke)return ce?-1:1;if(ce&&ke){if(P.length<Q.length)return-1;if(P.length>Q.length)return 1}return 0}var al=e(89563),yr=e(48655),oo=e(39084),Sa=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7293&&ce&&Object.defineProperty(n,f,ce),ce},ya=function(Ne,n){return function(f,P){n(f,P,Ne)}},Ua,ll;const Go=Wt.$;class sa{constructor(n,f,P){this.index=n,this.hasCheckbox=f,this._hidden=!1,this._init=new Wr.d(()=>{const Q=P.label??"",ce=(0,Fi._k)(Q).text.trim(),ke=P.ariaLabel||[Q,this.saneDescription,this.saneDetail].map(Je=>(0,Fi.R$)(Je)).filter(Je=>!!Je).join(", ");return{saneLabel:Q,saneSortLabel:ce,saneAriaLabel:ke}}),this._saneDescription=P.description,this._saneTooltip=P.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(n){this._element=n}get hidden(){return this._hidden}set hidden(n){this._hidden=n}get saneDescription(){return this._saneDescription}set saneDescription(n){this._saneDescription=n}get saneDetail(){return this._saneDetail}set saneDetail(n){this._saneDetail=n}get saneTooltip(){return this._saneTooltip}set saneTooltip(n){this._saneTooltip=n}get labelHighlights(){return this._labelHighlights}set labelHighlights(n){this._labelHighlights=n}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(n){this._descriptionHighlights=n}get detailHighlights(){return this._detailHighlights}set detailHighlights(n){this._detailHighlights=n}}class ft extends sa{constructor(n,f,P,Q,ce,ke,Je){super(n,P,ke),this.childIndex=f,this.fireButtonTriggered=Q,this._onChecked=ce,this.item=ke,this._separator=Je,this._checked=!1,this.onChecked=P?ui.Jh.map(ui.Jh.filter(this._onChecked.event,Ct=>Ct.element===this),Ct=>Ct.checked):ui.Jh.None,this._saneDetail=ke.detail,this._labelHighlights=ke.highlights?.label,this._descriptionHighlights=ke.highlights?.description,this._detailHighlights=ke.highlights?.detail}get separator(){return this._separator}set separator(n){this._separator=n}get checked(){return this._checked}set checked(n){n!==this._checked&&(this._checked=n,this._onChecked.fire({element:this,checked:n}))}get checkboxDisabled(){return!!this.item.disabled}}var t;(function(Ne){Ne[Ne.NONE=0]="NONE",Ne[Ne.MOUSE_HOVER=1]="MOUSE_HOVER",Ne[Ne.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(t||(t={}));class s extends sa{constructor(n,f,P){super(n,!1,P),this.fireSeparatorButtonTriggered=f,this.separator=P,this.children=new Array,this.focusInsideSeparator=t.NONE}}class m{getHeight(n){return n instanceof s?30:n.saneDetail?44:22}getTemplateId(n){return n instanceof ft?se.ID:be.ID}}class O{getWidgetAriaLabel(){return(0,Ot.kg)(1834,"Quick Input")}getAriaLabel(n){return n.separator?.label?`${n.saneAriaLabel}, ${n.separator.label}`:n.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(n){return n.hasCheckbox?"checkbox":"option"}isChecked(n){if(!(!n.hasCheckbox||!(n instanceof ft)))return{get value(){return n.checked},onDidChange:f=>n.onChecked(()=>f())}}}class F extends ae.jG{constructor(n,f,P){super(),this.hoverDelegate=n,this.toggleStyles=f,this.contextMenuService=P,this._onDidDisposeFocusedElement=this._register(new ui.vl),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(n){const f=Object.create(null);f.toDisposeElement=new ae.Cm,f.toDisposeTemplate=new ae.Cm,f.entry=(0,Wt.BC)(n,Go(".quick-input-list-entry"));const P=(0,Wt.BC)(f.entry,Go("label.quick-input-list-label"));f.outerLabel=P,f.checkbox=f.toDisposeTemplate.add(new ae.HE),f.toDisposeTemplate.add((0,Wt.un)(P,Wt.Bx.CLICK,bt=>{if(f.checkbox.value&&!bt.defaultPrevented&&f.checkbox.value.enabled){const kt=!f.checkbox.value.checked;f.checkbox.value.checked=kt,f.element.checked=kt}}));const Q=(0,Wt.BC)(P,Go(".quick-input-list-rows")),ce=(0,Wt.BC)(Q,Go(".quick-input-list-row")),ke=(0,Wt.BC)(Q,Go(".quick-input-list-row"));f.label=new ia.s(ce,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),f.toDisposeTemplate.add(f.label),f.icon=(0,Wt.Hs)(f.label.element,Go(".quick-input-list-icon"));const Je=(0,Wt.BC)(ce,Go(".quick-input-list-entry-keybinding"));f.keybinding=new uo.x(Je,Qt.OS),f.toDisposeTemplate.add(f.keybinding);const Ct=(0,Wt.BC)(ke,Go(".quick-input-list-label-meta"));return f.detail=new ia.s(Ct,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),f.toDisposeTemplate.add(f.detail),f.separator=(0,Wt.BC)(f.entry,Go(".quick-input-list-separator")),f.toolBar=new ho.i(f.entry,this.contextMenuService,{...this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0,actionViewItemProvider:(0,ko.Om)(this.toggleStyles),icon:!0,label:!1}),f.toolBar.getElement().classList.add("quick-input-list-entry-action-bar"),f.toDisposeTemplate.add(f.toolBar),f}disposeTemplate(n){n.toDisposeElement.dispose(),n.toDisposeTemplate.dispose()}disposeElement(n,f,P){(0,Wt.nR)(P.entry)&&this._onDidDisposeFocusedElement.fire(),P.toDisposeElement.clear(),P.toolBar.setActions([])}}let se=(Wd=class extends F{constructor(n,f,P,Q){super(n,f,P),this.themeService=Q,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return Ua.ID}ensureCheckbox(n,f){if(!n.hasCheckbox){f.checkbox.value?.domNode.remove(),f.checkbox.clear();return}let P=f.checkbox.value;P?P.setTitle(n.saneLabel):(P=new ko.Sc(n.saneLabel,n.checked,{...is.$B,size:15}),f.checkbox.value=P,f.outerLabel.prepend(P.domNode),P.domNode.tabIndex=-1),n.checkboxDisabled?P.disable():P.enable(),P.checked=n.checked,f.toDisposeElement.add(n.onChecked(Q=>P.checked=Q)),f.toDisposeElement.add(P.onChange(()=>n.checked=P.checked))}renderElement(n,f,P){const Q=n.element;P.element=Q,Q.element=P.entry??void 0;const ce=Q.item;Q.element.classList.toggle("not-pickable",Q.item.pickable===!1),this.ensureCheckbox(Q,P);const{labelHighlights:ke,descriptionHighlights:Je,detailHighlights:Ct}=Q;if(ce.iconPath){const Pi=(0,al.HD)(this.themeService.getColorTheme(
729).type)?ce.iconPath.dark:ce.iconPath.light??ce.iconPath.dark,ki=Ie.r.revive(Pi);P.icon.className="quick-input-list-icon",P.icon.style.backgroundImage=(0,Pa.Tf)(ki)}else P.icon.style.backgroundImage="",P.icon.className=ce.iconClass?`quick-input-list-icon ${ce.iconClass}`:"";let bt;!Q.saneTooltip&&Q.saneDescription&&(bt={markdown:{value:(0,Ee.ih)(Q.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDescription});const kt={matches:ke||[],descriptionTitle:bt,descriptionMatches:Je||[],labelEscapeNewLines:!0};if(kt.extraClasses=ce.iconClasses,kt.italic=ce.italic,kt.strikethrough=ce.strikethrough,P.entry.classList.remove("quick-input-list-separator-as-item"),P.label.setLabel(Q.saneLabel,Q.saneDescription,kt),P.keybinding.set(ce.keybinding),Q.saneDetail){let Pi;Q.saneTooltip||(Pi={markdown:{value:(0,Ee.ih)(Q.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDetail}),P.detail.element.style.display="",P.detail.setLabel(Q.saneDetail,void 0,{matches:Ct,title:Pi,labelEscapeNewLines:!0})}else P.detail.element.style.display="none";Q.separator?.label?(P.separator.textContent=Q.separator.label,P.separator.style.display="",this.addItemWithSeparator(Q)):P.separator.style.display="none",P.entry.classList.toggle("quick-input-list-separator-border",!!Q.separator&&Q.childIndex!==0);const ni=ce.buttons;if(ni&&ni.length){const{primary:Pi,secondary:ki}=pa(ni,"quick-input-item",bn=>Q.fireButtonTriggered({button:bn,item:Q.item}));P.toolBar.setActions(Pi,ki),P.entry.classList.add("has-actions")}else P.toolBar.setActions([]),P.entry.classList.remove("has-actions")}disposeElement(n,f,P){this.removeItemWithSeparator(n.element),super.disposeElement(n,f,P)}isItemWithSeparatorVisible(n){return this._itemsWithSeparatorsFrequency.has(n)}addItemWithSeparator(n){this._itemsWithSeparatorsFrequency.set(n,(this._itemsWithSeparatorsFrequency.get(n)||0)+1)}removeItemWithSeparator(n){const f=this._itemsWithSeparatorsFrequency.get(n)||0;f>1?this._itemsWithSeparatorsFrequency.set(n,f-1):this._itemsWithSeparatorsFrequency.delete(n)}},Ua=Wd,Wd.ID="quickpickitem",Wd);se=Ua=Sa([ya(2,vi.Z),ya(3,$t.Gy)],se);let be=(Bd=class extends F{constructor(n,f,P){super(n,f,P),this._visibleSeparatorsFrequency=new Map}get templateId(){return ll.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(n){return this._visibleSeparatorsFrequency.has(n)}renderElement(n,f,P){const Q=n.element;P.element=Q,Q.element=P.entry??void 0,Q.element.classList.toggle("focus-inside",!!Q.focusInsideSeparator);const ce=Q.separator,{labelHighlights:ke,descriptionHighlights:Je}=Q;P.icon.style.backgroundImage="",P.icon.className="";let Ct;!Q.saneTooltip&&Q.saneDescription&&(Ct={markdown:{value:(0,Ee.ih)(Q.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:Q.saneDescription});const bt={matches:ke||[],descriptionTitle:Ct,descriptionMatches:Je||[],labelEscapeNewLines:!0};P.entry.classList.add("quick-input-list-separator-as-item"),P.label.setLabel(Q.saneLabel,Q.saneDescription,bt),P.separator.style.display="none",P.entry.classList.add("quick-input-list-separator-border");const kt=ce.buttons;if(kt&&kt.length){const{primary:ni,secondary:Pi}=pa(kt,"quick-input-separator",ki=>Q.fireSeparatorButtonTriggered({button:ki,separator:Q.separator}));P.toolBar.setActions(ni,Pi),P.entry.classList.add("has-actions")}else P.toolBar.setActions([]),P.entry.classList.remove("has-actions");this.addSeparator(Q)}disposeElement(n,f,P){this.removeSeparator(n.element),this.isSeparatorVisible(n.element)||n.element.element?.classList.remove("focus-inside"),super.disposeElement(n,f,P)}addSeparator(n){this._visibleSeparatorsFrequency.set(n,(this._visibleSeparatorsFrequency.get(n)||0)+1)}removeSeparator(n){const f=this._visibleSeparatorsFrequency.get(n)||0;f>1?this._visibleSeparatorsFrequency.set(n,f-1):this._visibleSeparatorsFrequency.delete(n)}},ll=Bd,Bd.ID="quickpickseparator",Bd);be=ll=Sa([ya(2,vi.Z)],be);let Oe=class extends ae.jG{constructor(n,f,P,Q,ce,ke,Je){super(),this.parent=n,this.hoverDelegate=f,this.linkOpenerDelegate=P,this.styles=ce,this.accessibilityService=Je,this._onLeave=this._register(new ui.vl),this.onLeave=this._onLeave.event,this._visibleCountObservable=(0,Js.FY)("VisibleCount",0),this.onChangedVisibleCount=ui.Jh.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=(0,Js.FY)("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=ui.Jh.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=(0,Js.FY)("CheckedCount",0),this.onChangedCheckedCount=ui.Jh.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=(0,yr.Z)({equalsFn:$s.aI},new Array),this.onChangedCheckedElements=ui.Jh.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=this._register(new ui.vl),this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=this._register(new ui.vl),this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=this._register(new ui.vl),this._elementCheckedEventBufferer=new ui.at,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new ae.Cm),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=(0,Wt.BC)(this.parent,Go(".quick-input-list")),this._separatorRenderer=this._register(ke.createInstance(be,f,this.styles.toggle)),this._itemRenderer=this._register(ke.createInstance(se,f,this.styles.toggle)),this._tree=this._register(ke.createInstance(So.zL,"QuickInput",this._container,new m,[this._itemRenderer,this._separatorRenderer],{filter:{filter(Ct){return Ct.hidden?0:Ct instanceof s?2:1}},sorter:{compare:(Ct,bt)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const kt=this._lastQueryString.toLowerCase();return lt(Ct,bt,kt)}}
729,accessibilityProvider:new O,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:rl.KP.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=Q,this._register(this._itemRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._register(this._separatorRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._registerListeners()}get onDidChangeFocus(){return ui.Jh.map(this._tree.onDidChangeFocus,n=>n.elements.filter(f=>f instanceof ft).map(f=>f.item),this._store)}get onDidChangeSelection(){return ui.Jh.map(this._tree.onDidChangeSelection,n=>({items:n.elements.filter(f=>f instanceof ft).map(f=>f.item),event:n.browserEvent}),this._store)}get displayed(){return this._container.style.display!=="none"}set displayed(n){this._container.style.display=n?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(n){this._tree.scrollTop=n}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(n){this._tree.ariaLabel=n??""}set enabled(n){this._tree.getHTMLElement().style.pointerEvents=n?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(n){this._matchOnDescription=n}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(n){this._matchOnDetail=n}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(n){this._matchOnLabel=n}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(n){this._matchOnLabelMode=n}get sortByLabel(){return this._sortByLabel}set sortByLabel(n){this._sortByLabel=n}get shouldLoop(){return this._shouldLoop}set shouldLoop(n){this._shouldLoop=n}_registerListeners(){this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnContainerClick(){this._register((0,Wt.ko)(this._container,Wt.Bx.CLICK,n=>{(n.x||n.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register((0,Wt.ko)(this._container,Wt.Bx.AUXCLICK,n=>{n.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const n=this._itemElements.filter(f=>!f.hidden).length;this._visibleCountObservable.set(n,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(n,f)=>f)(n=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(n=>{n.element&&(n.browserEvent.preventDefault(),this._tree.setSelection([n.element]))}))}_registerHoverListeners(){const n=this._register(new gi.Th(typeof this.hoverDelegate.delay=="function"?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async f=>{if((0,Wt.nY)(f.browserEvent.target)){n.cancel();return}if(!(!(0,Wt.nY)(f.browserEvent.relatedTarget)&&(0,Wt.QX)(f.browserEvent.relatedTarget,f.element?.element)))try{await n.trigger(async()=>{f.element instanceof ft&&this.showHover(f.element)})}catch(P){if(!(0,Ms.MB)(P))throw P}})),this._register(this._tree.onMouseOut(f=>{(0,Wt.QX)(f.browserEvent.relatedTarget,f.element?.element)||n.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(n=>{const f=n.elements[0]?this._tree.getParentElement(n.elements[0]):null;for(const P of this._separatorRenderer.visibleSeparators){const Q=P===f;!!(P.focusInsideSeparator&t.ACTIVE_ITEM)!==Q&&(Q?P.focusInsideSeparator|=t.ACTIVE_ITEM:P.focusInsideSeparator&=~t.ACTIVE_ITEM,this._tree.rerender(P))}})),this._register(this._tree.onMouseOver(n=>{const f=n.element?this._tree.getParentElement(n.element):null;for(const P of this._separatorRenderer.visibleSeparators){if(P!==f)continue;!!(P.focusInsideSeparator&t.MOUSE_HOVER)||(P.focusInsideSeparator|=t.MOUSE_HOVER,this._tree.rerender(P))}})),this._register(this._tree.onMouseOut(n=>{const f=n.element?this._tree.getParentElement(n.element):null;
729for(const P of this._separatorRenderer.visibleSeparators){if(P!==f)continue;!!(P.focusInsideSeparator&t.MOUSE_HOVER)&&(P.focusInsideSeparator&=~t.MOUSE_HOVER,this._tree.rerender(P))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(n=>{const f=n.elements.filter(P=>P instanceof ft);f.length!==n.elements.length&&(n.elements.length===1&&n.elements[0]instanceof s&&(this._tree.setFocus([n.elements[0].children[0]]),this._tree.reveal(n.elements[0],0)),this._tree.setSelection(f))}))}setAllVisibleChecked(n){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(f=>{!f.hidden&&!f.checkboxDisabled&&f.item.pickable!==!1&&(f.checked=n)})})}setElements(n){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=n,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes");let f;this._itemElements=new Array,this._elementTree=n.reduce((P,Q,ce)=>{let ke;if(Q.type==="separator"){if(!Q.buttons)return P;f=new s(ce,Je=>this._onSeparatorButtonTriggered.fire(Je),Q),ke=f}else{const Je=ce>0?n[ce-1]:void 0;let Ct;Je&&Je.type==="separator"&&!Je.buttons&&(Ct=Je);const bt=new ft(ce,f?.children?f.children.length:ce,this._hasCheckboxes&&Q.pickable!==!1,kt=>this._onButtonTriggered.fire(kt),this._elementChecked,Q,Ct);if(this._itemElements.push(bt),f)return f.children.push(bt),P;ke=bt}return P.push(ke),P},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&(0,gi.EQ)(()=>{const P=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),Q=P?.parentNode;if(P&&Q){const ce=P.nextSibling;P.remove(),Q.insertBefore(P,ce)}},0,this._elementDisposable)}setFocusedElements(n){const f=n.map(P=>this._itemElements.find(Q=>Q.item===P)).filter(P=>!!P).filter(P=>!P.hidden);if(this._tree.setFocus(f),n.length>0){const P=this._tree.getFocus()[0];P&&this._tree.reveal(P)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(n){const f=n.map(P=>this._itemElements.find(Q=>Q.item===P)).filter(P=>!!P);this._tree.setSelection(f)}getCheckedElements(){return this._itemElements.filter(n=>n.checked).map(n=>n.item)}setCheckedElements(n){this._elementCheckedEventBufferer.bufferEvents(()=>{const f=new Set;for(const P of n)f.add(P);for(const P of this._itemElements)P.checked=f.has(P.item)})}focus(n){if(this._itemElements.length)switch(n===Vn.Fp.Second&&this._itemElements.length<2&&(n=Vn.Fp.First),n){case Vn.Fp.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,f=>f.element instanceof ft);break;case Vn.Fp.Second:{this._tree.scrollTop=0;let f=!1;this._tree.focusFirst(void 0,P=>P.element instanceof ft?f?!0:(f=!f,!1):!1);break}case Vn.Fp.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,f=>f.element instanceof ft);break;case Vn.Fp.Next:{const f=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,Q=>Q.element instanceof ft?(this._tree.reveal(Q.element),!0):!1);const P=this._tree.getFocus();f.length&&f[0]===P[0]&&this._onLeave.fire();break}case Vn.Fp.Previous:{const f=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,Q=>{if(!(Q.element instanceof ft))return!1;const ce=this._tree.getParentElement(Q.element);return ce===null||ce.children[0]!==Q.element?this._tree.reveal(Q.element):this._tree.reveal(ce),!0});const P=this._tree.getFocus();f.length&&f[0]===P[0]&&this._onLeave.fire();break}case Vn.Fp.NextPage:this._tree.focusNextPage(void 0,f=>f.element instanceof ft?(this._tree.reveal(f.element),!0):!1);break;case Vn.Fp.PreviousPage:this._tree.focusPreviousPage(void 0,f=>{if(!(f.element instanceof ft))return!1;const P=this._tree.getParentElement(f.element);return P===null||P.children[0]!==f.element?this._tree.reveal(f.element):this._tree.reveal(P),!0});break;case Vn.Fp.NextSeparator:{let f=!1;const P=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,ce=>{if(f)return!0;if(ce.element instanceof s)f=!0,this._separatorRenderer.isSeparatorVisible(ce.element)?this._tree.reveal(ce.element.children[0]):this._tree.reveal(ce.element,0);else if(ce.element instanceof ft){if(ce.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(ce.element)?this._tree.reveal(ce.element):this._tree.reveal(ce.element,0),!0;if(ce.element===this._elementTree[0])return this._tree.reveal(ce.element,0),!0}return!1});const Q=this._tree.getFocus()[0];P===Q&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,ce=>ce.element instanceof ft));break}case Vn.Fp.PreviousSeparator:{let f,P=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,Q=>{if(Q.element instanceof s)P?f||(this._separatorRenderer.isSeparatorVisible(Q.element)?this._tree.reveal(Q.element):this._tree.reveal(Q.element,0),f=Q.element.children[0]):P=!0;else if(Q.element instanceof ft&&!f){if(Q.element.separator)this._itemRenderer.isItemWithSeparatorVisible(Q.element)?this._tree.reveal(Q.element):this._tree.reveal(Q.element,0),f=Q.element;else if(Q.element===this._elementTree[0])return this._tree.reveal(Q.element,0),!0}return!1}),f&&this._tree.setFocus([f]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(n){this._tree.getHTMLElement().style.maxHeight=n?`${Math.floor(n/44)*44+6}px`:"",this._tree.layout()}filter(n){if(this._lastQueryString=n,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const f=n;if(n=n.trim(),!n||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEac
729h(P=>{P.labelHighlights=void 0,P.descriptionHighlights=void 0,P.detailHighlights=void 0,P.hidden=!1;const Q=P.index&&this._inputElements[P.index-1];P.item&&(P.separator=Q&&Q.type==="separator"&&!Q.buttons?Q:void 0)});else{let P;this._itemElements.forEach(Q=>{let ce;this.matchOnLabelMode==="fuzzy"?ce=this.matchOnLabel?(0,Fi.pz)(n,(0,Fi._k)(Q.saneLabel))??void 0:void 0:ce=this.matchOnLabel?it(f,(0,Fi._k)(Q.saneLabel))??void 0:void 0;const ke=this.matchOnDescription?(0,Fi.pz)(n,(0,Fi._k)(Q.saneDescription||""))??void 0:void 0,Je=this.matchOnDetail?(0,Fi.pz)(n,(0,Fi._k)(Q.saneDetail||""))??void 0:void 0;if(ce||ke||Je?(Q.labelHighlights=ce,Q.descriptionHighlights=ke,Q.detailHighlights=Je,Q.hidden=!1):(Q.labelHighlights=void 0,Q.descriptionHighlights=void 0,Q.detailHighlights=void 0,Q.hidden=Q.item?!Q.item.alwaysShow:!0),Q.item?Q.separator=void 0:Q.separator&&(Q.hidden=!0),!this.sortByLabel){const Ct=Q.index&&this._inputElements[Q.index-1]||void 0;Ct?.type==="separator"&&!Ct.buttons&&(P=Ct),P&&!Q.hidden&&(Q.separator=P,P=void 0)}})}return this._setElementsToTree(this._sortByLabel&&n?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const n=this._tree.getFocus().filter(P=>P instanceof ft),f=this._allVisibleChecked(n);for(const P of n)P.checkboxDisabled||(P.checked=!f)})}style(n){this._tree.style(n)}toggleHover(){const n=this._tree.getFocus()[0];if(!n?.saneTooltip||!(n instanceof ft))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(n);const f=new ae.Cm;f.add(this._tree.onDidChangeFocus(P=>{P.elements[0]instanceof ft&&this.showHover(P.elements[0])})),this._lastHover&&f.add(this._lastHover),this._elementDisposable.add(f)}_setElementsToTree(n){const f=new Array;for(const P of n)P instanceof s?f.push({element:P,collapsible:!1,collapsed:!1,children:P.children.map(Q=>({element:Q,collapsible:!1,collapsed:!1}))}):f.push({element:P,collapsible:!1,collapsed:!1});this._tree.setChildren(null,f)}_allVisibleChecked(n,f=!0){for(let P=0,Q=n.length;P<Q;P++){const ce=n[P];if(!ce.hidden&&ce.item.pickable!==!1)if(ce.checked)f=!0;else return!1}return f}_updateCheckedObservables(){(0,oo.Rn)(n=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),n);const f=this._itemElements.filter(P=>P.checked).length;this._checkedCountObservable.set(f,n),this._checkedElementsObservable.set(this.getCheckedElements(),n)})}showHover(n){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),!(!n.element||!n.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:n.saneTooltip,target:n.element,linkHandler:f=>{this.linkOpenerDelegate(f)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};Sa([Dd.B],Oe.prototype,"onDidChangeFocus",null),Sa([Dd.B],Oe.prototype,"onDidChangeSelection",null),Oe=Sa([ya(5,Vi._Y),ya(6,ai.j)],Oe);function it(Ne,n){const{text:f,iconOffsets:P}=n;if(!P||P.length===0)return ct(Ne,f);const Q=(0,Ee.NB)(f," "),ce=f.length-Q.length,ke=ct(Ne,Q);if(ke)for(const Je of ke){const Ct=P[Je.start+ce]+ce;Je.start+=Ct,Je.end+=Ct}return ke}function ct(Ne,n){const f=n.toLowerCase().indexOf(Ne.toLowerCase());return f!==-1?[{start:f,end:f+Ne.length}]:null}function lt(Ne,n,f){const P=Ne.labelHighlights||[],Q=n.labelHighlights||[];return P.length&&!Q.length?-1:!P.length&&Q.length?1:P.length===0&&Q.length===0?0:ed(Ne.saneSortLabel,n.saneSortLabel,f)}function Dt(Ne,n={}){Di.f.registerCommandAndKeybindingRule({weight:200,when:nl,metadata:{description:(0,Ot.kg)(1822,"Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...Ne,secondary:ti(Ne.primary,Ne.secondary??[],n)})}function It(Ne,n={}){Di.f.registerCommandAndKeybindingRule({weight:200,when:Wn.M$.and(Wn.M$.or(Wn.M$.equals(Na,"quickPick"),Wn.M$.equals(Na,"quickTree")),nl),metadata:{description:(0,Ot.kg)(1823,"Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},...Ne,secondary:ti(Ne.primary,Ne.secondary??[],n)})}const Ut=Qt.zx?256:2048;function ti(Ne,n,f={}){return f.withAltMod&&n.push(512+Ne),f.withCtrlMod&&(n.push(Ut+Ne),f.withAltMod&&n.push(512+Ut+Ne)),f.withShiftMod&&(n.push(1024+Ne),f.withAltMod&&n.push(1536+Ne),f.withCtrlMod&&(n.push(Ut+1024+Ne),f.withAltMod&&n.push(512+Ut+1024+Ne))),f.withCmdMod&&Qt.zx&&(n.push(2048+Ne),f.withCtrlMod&&n.push(2304+Ne),f.withAltMod&&(n.push(2560+Ne),f.withCtrlMod&&n.push(2816+Ne))),n}function ii(Ne,n){return f=>{const P=f.get(Vn.GK).currentQuickInput;if(P)return n&&P.quickNavigate?P.focus(n):P.focus(Ne)}}It({id:"quickInput.pageNext",primary:12,handler:ii(Vn.Fp.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),It({id:"quickInput.pagePrevious",primary:11,handler:ii(Vn.Fp.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),It({id:"quickInput.first",primary:Ut+14,handler:ii(Vn.Fp.First)},{withAltMod:!0,withCmdMod:!0}),It({id:"quickInput.last",primary:Ut+13,handler:ii(Vn.Fp.Last)},{withAltMod:!0,withCmdMod:!0}),It({id:"quickInput.next",primary:18,handler:ii(Vn.Fp.Next)},{withCtrlMod:!0}),It({id:"quickInput.previous",primary:16,handler:ii(Vn.Fp.Previous)},{withCtrlMod:!0});const oi=(0,Ot.kg)(1824,"If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),yi=(0,Ot.kg)(1825,"If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");Qt.zx?(It({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:ii(Vn.Fp.NextSeparator,Vn.Fp.Next),metadata:{description:oi}}),It({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:ii(Vn.Fp.NextSeparator)},{withCtrlMod:!0}),It({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:ii(Vn.Fp.PreviousSeparator,Vn.Fp.Previous),metadata:{description:yi}}),It({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:ii(Vn.Fp.PreviousSeparator)},{withCtrlMod:!0})):(It({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:ii(Vn.Fp.NextSeparator,Vn.Fp.Next),metadata:{description:oi}}),It({id:"quickInput.nextSeparator",primary:2578,handler:ii(Vn.Fp.NextSeparator)}),It({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:ii(Vn.Fp.PreviousSeparator,Vn.Fp.Previous),metadata:{description:yi}}),It({id:"quickInput.previousSeparator",primary:2576,handler:ii(Vn.Fp.PreviousSeparator)})),Di.f.registerCommandAndKeybindingRule({id:"quickInput.accept",primary:3,weight:200,when:Wn.M$.and(Wn.M$.notEquals(Na,"quickWidget"),nl,Wn.M$.not("isComposing")),metadata:{description:(0,Ot.kg)(1826,"Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")},handler:Ne=>{Ne.get(Vn.GK).currentQuickInput?.accept()},secondary:ti(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0,withShiftMod:!0})}
729),It({id:"quickInput.acceptInBackground",when:Wn.M$.and(nl,Wn.M$.equals(Na,"quickPick"),Wn.M$.or(w.J7.negate(),Sr)),primary:17,weight:250,handler:Ne=>{Ne.get(Vn.GK).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),Dt({id:"quickInput.hide",primary:9,handler:Ne=>{Ne.get(Vn.GK).currentQuickInput?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),It({id:"quickInput.toggleCheckbox",when:Wn.M$.and(nl,Wn.M$.or(Wn.M$.equals(Na,"quickPick"),Wn.M$.equals(Na,"quickTree")),w.J7.negate()),primary:10,handler:Ne=>{Ne.get(Vn.GK).toggle()}}),It({id:"quickInput.toggleHover",primary:Ut|10,handler:Ne=>{Ne.get(Vn.GK).toggleHover()}});var Ti=e(40947),ji=e(97757),an=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>3&&ce&&Object.defineProperty(n,f,ce),ce},Qi=function(Ne,n){return function(f,P){n(f,P,Ne)}},Ji;const mn=Wt.$;class rn extends ae.jG{constructor(){super(...arguments),this._onDidChangeCheckboxState=this._register(new ui.vl),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event}setCheckboxState(n,f){this._onDidChangeCheckboxState.fire({item:n,checked:f})}}let vn=(Fd=class extends ae.jG{constructor(n,f,P,Q,ce,ke,Je){super(),this._hoverDelegate=n,this._buttonTriggeredEmitter=f,this.onCheckedEvent=P,this._checkboxStateHandler=Q,this._toggleStyles=ce,this._contextMenuService=ke,this._themeService=Je,this.templateId=Ji.ID,this._onDidDisposeFocusedElement=this._register(new ui.vl),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(n){const f=new ae.Cm,P=(0,Wt.BC)(n,mn(".quick-input-tree-entry")),Q=f.add(new ko.kk("",!1,{...is.$B,size:15}));P.appendChild(Q.domNode);const ce=(0,Wt.BC)(P,mn("label.quick-input-tree-label")),ke=(0,Wt.BC)(ce,mn(".quick-input-tree-rows")),Je=(0,Wt.BC)(ke,mn(".quick-input-tree-row")),Ct=(0,Wt.Hs)(Je,mn(".quick-input-tree-icon")),bt=f.add(new ia.s(Je,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),kt=f.add(new ho.i(P,this._contextMenuService,{actionViewItemProvider:(0,ko.Om)(this._toggleStyles),hoverDelegate:this._hoverDelegate,icon:!0,label:!1}));return kt.getElement().classList.add("quick-input-tree-entry-action-bar"),{toDisposeTemplate:f,entry:P,checkbox:Q,icon:Ct,label:bt,actionBar:kt,toDisposeElement:new ae.Cm}}renderElement(n,f,P,Q){const ce=P.toDisposeElement,ke=n.element;if(ke.pickable===!1)P.checkbox.domNode.style.display="none";else{const ni=P.checkbox;ni.domNode.style.display="",ni.checked=ke.checked??!1,ce.add(ui.Jh.filter(this.onCheckedEvent,Pi=>Pi.item===ke)(Pi=>ni.checked=Pi.checked)),ke.disabled&&ni.disable(),ce.add(ni.onChange(Pi=>this._checkboxStateHandler.setCheckboxState(ke,ni.checked)))}if(ke.iconPath){const ni=(0,al.HD)(this._themeService.getColorTheme().type)?ke.iconPath.dark:ke.iconPath.light??ke.iconPath.dark,Pi=Ie.r.revive(ni);P.icon.className="quick-input-tree-icon",P.icon.style.backgroundImage=(0,Pa.Tf)(Pi)}else P.icon.style.backgroundImage="",P.icon.className=ke.iconClass?`quick-input-tree-icon ${ke.iconClass}`:"";const{labelHighlights:Je,descriptionHighlights:Ct}=n.filterData||{};let bt;ke.description&&(bt={markdown:{value:(0,Ee.ih)(ke.description),supportThemeIcons:!0},markdownNotSupportedFallback:ke.description}),P.label.setLabel(ke.label,ke.description,{matches:Je,descriptionMatches:Ct,extraClasses:ke.iconClasses,italic:ke.italic,strikethrough:ke.strikethrough,labelEscapeNewLines:!0,descriptionTitle:bt});const kt=ke.buttons;if(kt&&kt.length){const{primary:ni,secondary:Pi}=pa(kt,"quick-input-tree",ki=>this._buttonTriggeredEmitter.fire({item:ke,button:ki}));P.actionBar.setActions(ni,Pi),P.entry.classList.add("has-actions")}else P.actionBar.setActions([]),P.entry.classList.remove("has-actions")}disposeElement(n,f,P,Q){(0,Wt.nR)(P.entry)&&this._onDidDisposeFocusedElement.fire(),P.toDisposeElement.clear(),P.actionBar.setActions([])}disposeTemplate(n){n.toDisposeElement.dispose(),n.toDisposeTemplate.dispose()}},Ji=Fd,Fd.ID="quickInputTreeElement",Fd);vn=Ji=an([Qi(5,vi.Z),Qi(6,$t.Gy)],vn);class Hn{getHeight(n){return 22}getTemplateId(n){return vn.ID}}function Rn(Ne){let n=!1,f=!1,P=!1;for(const ce of Ne){switch(ce.element?.checked){case"mixed":P=!0;break;case!0:n=!0;break;default:f=!0;break}if(n&&f&&P)break}return f?P||n?"mixed":!1:P?"mixed":n}class xn{constructor(n){this.onCheckedEvent=n}getWidgetAriaLabel(){return(0,Ot.kg)(1836,"Quick Tree")}getAriaLabel(n){return n.ariaLabel||[n.label,n.description].map(f=>(0,Fi.R$)(f)).filter(f=>!!f).join(", ")}getWidgetRole(){return"tree"}getRole(n){return"checkbox"}isChecked(n){return{get value(){return n.checked==="mixed"?"mixed":!!n.checked},onDidChange:f=>ui.Jh.filter(this.onCheckedEvent,P=>P.item===n)(P=>f())}}}class ds{constructor(){this.filterValue="",this.matchOnLabel=!0,this.matchOnDescription=!1}filter(n,f){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return n.children?{visibility:2,data:{}}:{visibility:1,data:{}};const P=this.matchOnLabel?(0,Fi.pz)(this.filterValue,(0,Fi._k)(n.label))??void 0:void 0,Q=this.matchOnDescription?(0,Fi.pz)(this.filterValue,(0,Fi._k)(n.description||""))??void 0:void 0;return{visibility:f===1||P||Q?1:n.children?2:0,data:{labelHighlights:P,descriptionHighlights:Q}}}}class ls extends ae.jG{constructor(){super(...arguments),this._sortByLabel=!0}get sortByLabel(){return this._sortByLabel}set sortByLabel(n){this._sortByLabel=n}compare(n,f){if(!this._sortByLabel)return 0;if(n.label<f.label)return-1;if(n.label>f.label)return 1;if(n.description&&f.description){if(n.description<f.description)return-1;if(n.description>f.description)return 1}else{if(n.description)return-1;if(f.description)return 1}return 0}}var Es=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7293&&ce&&Object.defineProperty(n,f,ce),ce},hs=function(Ne,n){return function(f,P){n(f,P,Ne)}};const ro=Wt.$,eo="quick-input-tree-flat";class Ls{constructor(){this._elementIds=new WeakMap,this._counter=0}getId(n){let f=n.id;return f!==void 0||(f=this._elementIds.get(n),f!==void 0)||(f=`__generated_${this._counter++}`,this._elementIds.set(n,f)),f}}let yo=class extends ae.jG{constructor(n,f,P,Q){super(),this.instantiationService=Q,this._onDidTriggerButton=this._register(new ui.vl),this._onDidChangeCheckboxState=this._register(new ui.vl),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new ui.vl),this.onDidChangeCheckedLeafItems=this._onDidCheckedLeafItemsChange.event,this._onLeave=this._register(new ui.vl),this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new ui.vl),this.onDidAccept=this._onDidAccept.event,this._container=(0,Wt.BC)(n,ro(".quick-input-tree")),this._checkboxStateHandler=this._register(new rn),this._renderer=this._register(this.instantiationService.createInstance(vn,f,this._onDidTriggerButton,this.onDidChangeCheckboxState,this._checkboxStateHandler,P.toggle)),this._filter=this.instantiationService.createInstance(ds),this._sorter=this._register(new ls),this._tree=this._register(this.instantiationService.createInstance(So.zL,"QuickInputTree",this._container,new Hn,[this._renderer],{accessibilityProvider:new xn(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:rl.KP.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:this._sorter,filter:this._filter,identityProvider:new Ls})),this._register(this._renderer.onDidDisposeFocusedElement(()=>{this._tree.domFocus()})),this.registerCheckboxStateListeners(),this.registerOnDidChangeFocus()}get tree(){return this._tree}get displayed(){return this._container.style.display!=="none"}set displayed(n){this._container.style.display=n?"":"none"}get sortByLabel(){return this._sorter.sortByLabel}set sortByLabel(n){this._sorter.sortByLabel=n,this._tree.resort(null,!0)}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}filter(n){this._filter.filterValue=n,this._tree.refilter()}updateFilterOptions(n){n.matchOnLabel!==void 0&&(this._filter.matchOnLabel=n.matchOnLabel),n.matchOnDescription!==void 0&&(this._filter.matchOnDescription=n.matchOnDescription),this._tree.refilter()}setTreeData(n){let f=!1;const P=ce=>{let ke;return ce.children&&ce.children.length>0&&(f=!0,ke=ce.children.map(Je=>P(Je)),ce.checked=Rn(ke)),{element:ce,children:ke,collapsible:!!ke,collapsed:ce.collapsed?ji.Yo.PreserveOrCollapsed:ji.Yo.PreserveOrExpanded}},Q=n.map(ce=>P(ce));this._tree.setChildren(null,Q),this._container.classList.toggle(eo,!f)}layout(n){this._tree.getHTMLElement().style.maxHeight=n?`${Math.floor(n/44)*44+6}px`:"",this._tree.layout()}focus(n){switch(n){case Vn.Fp.First:this._tree.scrollTop=0,this._tree.focusFirst();break;case Vn.Fp.Second:{this._tree.scrollTop=0;let f=!1;this._tree.focusFirst(void 0,P=>f?!0:(f=!f,!1));break}case Vn.Fp.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast();break;case Vn.Fp.Next:{const f=this._tree.getFocus();this._tree.focusNext(void 0,!1,void 0,Q=>(this._tree.reveal(Q.element),!0));const P=this._tree.getFocus();f.length&&f[0]===P[0]&&this._onLeave.fire();break}case Vn.Fp.Previous:{const f=this._tree.getFocus();this._tree.focusPrevious(void 0,!1,void 0,Q=>(this._tree.reveal(Q.element),!0));const P=this._tree.getFocus();f.length&&f[0]===P[0]&&this._onLeave.fire();break}case Vn.Fp.NextPage:this._tree.focusNextPage(void 0,f=>(this._tree.reveal(f.element),!0));break;case Vn.Fp.PreviousPage:this._tree.focusPreviousPage(void 0,f=>(this._tree.reveal(f.element),!0));break;case Vn.Fp.NextSeparator:case Vn.Fp.PreviousSeparator:return}}registerCheckboxStateListeners(){this._register(this._tree.onDidOpen(n=>{const f=n.element;if(!f||f.disabled)return;if(f.pickable===!1){this._tree.setFocus([f]),this._onDidAccept.fire();return}const P=n.browserEvent?.target;P&&P.classList.contains(ko.Sc.CLASS_NAME)||this.updateCheckboxState(f,f.checked===!0)})),this._register(this._checkboxStateHandler.onDidChangeCheckboxState(n=>{this.updateCheckboxState(n.item,n.checked===!0,!0),this._tree.setFocus([n.item]),this._tree.setSelection([n.item])}))}updateCheckboxState(n,f,P=!1){if((n.checked??!1)===f)return;n.checked=f,P||this._tree.rerender(n);const Q=new Set,ce=[...this._tree.getNode(n).children];for(;ce.length;){const Je=ce.shift();Je?.element&&!Q.has(Je.element)&&(Q.add(Je.element),(Je.element.checked??!1)!==n.checked&&(Je.element.checked=n.checked,this._tree.rerender(Je.element)),ce.push(...Je.children))}let ke=this._tree.getParentElement(n);for(;ke;){const Je=[...this._tree.getNode(ke).children],Ct=Rn(Je);(ke.checked??!1)!==Ct&&(ke.checked=Ct,this._tree.rerender(ke)),ke=this._tree.getParentElement(ke)}this._onDidChangeCheckboxState.fire({item:n,checked:n.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}registerOnDidChangeFocus(){this._register(this._tree.onDidChangeFocus(n=>{const f=this._tree.getFocus().findLast(P=>P!==null);this._tree.setSelection(f?[f]:[],n.browserEvent)}))}getCheckedLeafItems(){const n=new Set,f=[...this._tree.getNode().children],P=new Array;for(;f.length;){const Q=f.shift();!Q?.element||n.has(Q.element)||Q.element.checked&&(n.add(Q.element),f.push(...Q.children),Q.element.children||P.push(Q.element))}return P}getActiveItems(){return this._tree.getFocus().filter(n=>n!==null)}toggleCheckbox(){for(const n of this.getActiveItems())n.pickable!==!1&&!n.disabled&&this.updateCheckboxState(n,n.checked!==!0)}checkAll(n){const f=new Set,P=[...this._tree.getNode().children];let Q=!1;for(;P.length;){const ce=P.shift();!ce?.element||f.has(ce.element)||ce.element.checked!==n&&(Q=!0,ce.element.checked=n,P.push(...ce.children),f.add(ce.element),this._tree.rerender(ce.element),this._onDidChangeCheckboxState.fire({item:ce.element,checked:ce.element.checked}))}Q&&this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}};yo=Es([hs(3,Vi._Y)],yo);var wo=e(47936);const $c=class $c extends _a{constructor(n){super(n),this.type="quickTree",this._value=(0,Js.FY)("value",""),this._ariaLabel=(0,Js.FY)("ariaLabel",void 0),this._placeholder=(0,Js.FY)("placeholder",void 0),this._matchOnDescription=(0,Js.FY)("matchOnDescription",!1),this._matchOnLabel=(0,Js.FY)("matchOnLabel",!0),this._sortByLabel=(0,Js.FY)("sortByLabel",!0),this._activeItems=(0,Js.FY)("activeItems",[]),this._itemTree=(0,Js.FY)("itemTree",[]),this._onDidChangeCheckedLeafItems=this._register(new ui.vl),this._onDidChangeCheckboxState=this._register(new ui.vl),this._onDidAcceptEmitter=this._register(new ui.vl),this.onDidAccept=ui.Jh.any(n.onDidAccept,this._onDidAcceptEmitter.event),this._registerAutoruns(),this._register(n.tree.onDidChangeCheckedLeafItems(f=>this._onDidChangeCheckedLeafItems.fire(f))),this._register(n.tree.onDidChangeCheckboxState(f=>this._onDidChangeCheckboxState.fire(f.item))),this._register(n.tree.tree.onDidChangeFocus(f=>{this._activeItems.set(n.tree.getActiveItems(),void 0)}))}get placeholder(){return this._placeholder.get()}set placeholder(n){this._placeholder.set(n,void 0)}show(){if(!this.visible){const f={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,list:!1,tree:!0,message:!!this.validationMessage,customButton:!1};this.ui.setVisibilities(f),this.visibleDisposables.add(this.ui.inputBox.onDidChange(P=>{this._value.set(P,void 0)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckboxState(P=>{const Q=Rn([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==Q&&(this.ui.checkAll.checked=Q)})),this.visibleDisposables.add(this.ui.checkAll.onChange(P=>{const Q=this.ui.checkAll.checked;this.ui.tree.checkAll(Q)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckedLeafItems(P=>{this.ui.count.setCount(P.length)}))}super.show(),(0,Qt._p)(()=>this.ui.count.setCount(this.ui.tree.getCheckedLeafItems().length));const n=Rn([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==n&&(this.ui.checkAll.checked=n)}update(){if(!this.visible)return;const n={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,tree:!0,message:!!this.validationMessage};
729this.ui.setVisibilities(n),super.update()}_registerAutoruns(){this.registerVisibleAutorun(n=>{const f=this._value.read(n);this.ui.inputBox.value=f,this.ui.tree.filter(f)}),this.registerVisibleAutorun(n=>{let f=this._ariaLabel.read(n);f||(f=this.placeholder||$c.DEFAULT_ARIA_LABEL,this.title&&(f+=` - ${this.title}`)),this.ui.list.ariaLabel!==f&&(this.ui.list.ariaLabel=f??null),this.ui.inputBox.ariaLabel!==f&&(this.ui.inputBox.ariaLabel=f??"input")}),this.registerVisibleAutorun(n=>{const f=this._placeholder.read(n);this.ui.inputBox.placeholder!==f&&(this.ui.inputBox.placeholder=f??"")}),this.registerVisibleAutorun(n=>{const f=this._matchOnLabel.read(n),P=this._matchOnDescription.read(n);this.ui.tree.updateFilterOptions({matchOnLabel:f,matchOnDescription:P})}),this.registerVisibleAutorun(n=>{const f=this._sortByLabel.read(n);this.ui.tree.sortByLabel=f}),this.registerVisibleAutorun(n=>{const f=this._itemTree.read(n);this.ui.tree.setTreeData(f)})}registerVisibleAutorun(n){this._register((0,wo.fm)(f=>{this._visible.read(f)&&n(f)}))}focus(n){this.ui.tree.focus(n),this.ui.tree.tree.domFocus()}accept(n){this._onDidAcceptEmitter.fire()}};$c.DEFAULT_ARIA_LABEL=(0,Ot.kg)(1837,"Type to narrow down results.");let To=$c;var tr=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7293&&ce&&Object.defineProperty(n,f,ce),ce},ir=function(Ne,n){return function(f,P){n(f,P,Ne)}},dr;const lo=Wt.$,Br="workbench.quickInput.viewState";let jo=(Hd=class extends ae.jG{get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(n,f,P,Q,ce,ke){super(),this.options=n,this.layoutService=f,this.instantiationService=P,this.storageService=ce,this.contextMenuService=ke,this.enabled=!0,this.onDidAcceptEmitter=this._register(new ui.vl),this.onDidCustomEmitter=this._register(new ui.vl),this.onDidTriggerButtonEmitter=this._register(new ui.vl),this.keyMods={ctrlCmd:!1,alt:!1,shift:!1},this.controller=null,this.onShowEmitter=this._register(new ui.vl),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new ui.vl),this.onHide=this.onHideEmitter.event,this._alignment=(0,Js.FY)(this,"top"),this.alignment=this._alignment,this.inQuickInputContext=sc.bindTo(Q),this.quickInputTypeContext=rc.bindTo(Q),this.endOfQuickInputBoxContext=Ec.bindTo(Q),this.idPrefix=n.idPrefix,this._container=n.container,this.styles=n.styles,this._register(ui.Jh.runAndSubscribe(Wt.Iv,({window:Je,disposables:Ct})=>this.registerKeyModsListeners(Je,Ct),{window:je.G,disposables:this._store})),this._register((0,Wt.q3)(Je=>{this.ui&&(0,Wt.zk)(this.ui.container)===Je&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}
729)),this.viewState=this.loadViewState()}registerKeyModsListeners(n,f){const P=Q=>{this.keyMods.ctrlCmd=Q.ctrlKey||Q.metaKey,this.keyMods.alt=Q.altKey,this.keyMods.shift=Q.shiftKey};for(const Q of[Wt.Bx.KEY_DOWN,Wt.Bx.KEY_UP,Wt.Bx.MOUSE_DOWN])f.add((0,Wt.ko)(n,Q,P,!0))}getUI(n){if(this.ui)return n&&(0,Wt.zk)(this._container)!==(0,Wt.zk)(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const f=(0,Wt.BC)(this._container,lo(".quick-input-widget.show-file-icons"));f.tabIndex=-1,f.style.display="none";const P=(0,mo.li)(f),Q=(0,Wt.BC)(f,lo(".quick-input-titlebar")),ce=this._register(new ho.i(Q,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:(0,ko.Om)(this.styles.toggle),icon:!0,label:!1}));ce.getElement().classList.add("quick-input-left-action-bar");const ke=(0,Wt.BC)(Q,lo(".quick-input-title")),Je=this._register(new ho.i(Q,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:(0,ko.Om)(this.styles.toggle),icon:!0,label:!1}));Je.getElement().classList.add("quick-input-right-action-bar");const Ct=(0,Wt.BC)(f,lo(".quick-input-header")),bt=this._register(new ko.kk((0,Ot.kg)(1827,"Toggle all checkboxes"),!1,{...is.$B,size:15}));(0,Wt.BC)(Ct,bt.domNode),this._register(bt.onChange(()=>{const Ps=bt.checked;ja.setAllVisibleChecked(Ps===!0)})),this._register((0,Wt.ko)(bt.domNode,Wt.Bx.CLICK,Ps=>{(Ps.x||Ps.y)&&ki.setFocus()}));const kt=(0,Wt.BC)(Ct,lo(".quick-input-description")),ni=(0,Wt.BC)(Ct,lo(".quick-input-and-message")),Pi=(0,Wt.BC)(ni,lo(".quick-input-filter")),ki=this._register(new ba(Pi,this.styles.inputBox,this.styles.toggle));ki.setAttribute("aria-describedby",`${this.idPrefix}message`);const bn=(0,Wt.BC)(Pi,lo(".quick-input-visible-count"));bn.setAttribute("aria-live","polite"),bn.setAttribute("aria-atomic","true");const ss=this._register(new ql.x(bn,{countFormat:(0,Ot.kg)(1828,"{0} Results")},this.styles.countBadge)),fs=(0,Wt.BC)(Pi,lo(".quick-input-count"));fs.setAttribute("aria-live","polite");const js=this._register(new ql.x(fs,{countFormat:(0,Ot.kg)(1829,"{0} Selected")},this.styles.countBadge)),no=this._register(new ho.i(Ct,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:(0,ko.Om)(this.styles.toggle),icon:!0,label:!1}));no.getElement().classList.add("quick-input-inline-action-bar");const Bs=(0,Wt.BC)(Ct,lo(".quick-input-action")),ws=this._register(new Md.$(Bs,this.styles.button));ws.label=(0,Ot.kg)(1830,"OK"),this._register(ws.onDidClick(Ps=>{this.onDidAcceptEmitter.fire()}));const hr=(0,Wt.BC)(Ct,lo(".quick-input-action")),Pr=this._register(new Md.$(hr,{...this.styles.button,supportIcons:!0}));Pr.label=(0,Ot.kg)(1831,"Custom"),this._register(Pr.onDidClick(Ps=>{this.onDidCustomEmitter.fire()}));const No=(0,Wt.BC)(ni,lo(`#${this.idPrefix}message.quick-input-message`)),Pc=this._register(new ol(f,this.styles.progressBar));Pc.getContainer().classList.add("quick-input-progress");const Qs=(0,Wt.BC)(f,lo(".quick-input-html-widget"));Qs.tabIndex=-1;const $o=(0,Wt.BC)(f,lo(".quick-input-description")),La=this.idPrefix+"list",ja=this._register(this.instantiationService.createInstance(Oe,f,this.options.hoverDelegate,this.options.linkOpenerDelegate,La,this.styles));ki.setAttribute("aria-controls",La),this._register(ja.onDidChangeFocus(()=>{if(ki.hasFocus()){const Ps=ja.getActiveDescendant();Ps?(ki.setAttribute("aria-activedescendant",Ps),ki.setListFocusMode(!0)):(ki.removeAttribute("aria-activedescendant"),ki.setListFocusMode(!1))}})),this._register(ja.onChangedAllVisibleChecked(Ps=>{bt.checked=Ps})),this._register(ja.onChangedVisibleCount(Ps=>{ss.setCount(Ps)})),this._register(ja.onChangedCheckedCount(Ps=>{(0,Qt._p)(()=>js.setCount(Ps))})),this._register(ja.onLeave(()=>{setTimeout(()=>{this.controller&&(ki.setFocus(),this.controller instanceof va&&this.controller.canSelectMany&&ja.clearFocus())},0)}));const Ud=this._register(this.instantiationService.createInstance(yo,f,this.options.hoverDelegate,this.styles));this._register(Ud.tree.onDidChangeFocus(()=>
729{if(ki.hasFocus()){const Ps=Ud.getActiveDescendant();Ps?(ki.setAttribute("aria-activedescendant",Ps),ki.setListFocusMode(!0)):(ki.removeAttribute("aria-activedescendant"),ki.setListFocusMode(!1))}})),this._register(Ud.onLeave(()=>{setTimeout(()=>{this.controller&&(ki.setFocus(),Ud.tree.setFocus([]))},0)})),this._register(Ud.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(Ud.tree.onDidChangeContentHeight(()=>this.updateLayout()));const Ih=(0,Wt.w5)(f);return this._register(Ih),this._register((0,Wt.ko)(f,Wt.Bx.FOCUS,Ps=>{const aa=this.getUI();if((0,Wt.QX)(Ps.relatedTarget,aa.inputContainer)){const Th=aa.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==Th&&this.endOfQuickInputBoxContext.set(Th)}(0,Wt.QX)(Ps.relatedTarget,aa.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=(0,Wt.sb)(Ps.relatedTarget)?Ps.relatedTarget:void 0)},!0)),this._register(Ih.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Vn.kF.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(ki.onKeyDown(Ps=>{const aa=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==aa&&this.endOfQuickInputBoxContext.set(aa),(0,Ci.VL)(Ps.keyCode)||(ki.removeAttribute("aria-activedescendant"),ki.setListFocusMode(!1))})),this._register((0,Wt.ko)(f,Wt.Bx.FOCUS,Ps=>{ki.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(td,this._container,f,[{node:Q,includeChildren:!0,excludeNodes:[ce.getElement(),Je.getElement()]},{node:Ct,includeChildren:!1}],this.viewState)),this._register((0,wo.fm)(Ps=>{const aa=this.dndController?.dndViewState.read(Ps);aa&&(aa.top!==void 0&&aa.left!==void 0?this.viewState={...this.viewState,top:aa.top,left:aa.left}:this.viewState=void 0,this.updateLayout(),aa.done&&this.saveViewState(this.viewState))})),this._register((0,wo.fm)(Ps=>{this._alignment.set(this.dndController.alignment.read(Ps),void 0)})),this.ui={container:f,styleSheet:P,leftActionBar:ce,titleBar:Q,title:ke,description1:$o,description2:kt,widget:Qs,rightActionBar:Je,inlineActionBar:no,checkAll:bt,inputContainer:ni,filterContainer:Pi,inputBox:ki,visibleCountContainer:bn,visibleCount:ss,countContainer:fs,count:js,okContainer:Bs,ok:ws,message:No,customButtonContainer:hr,customButton:Pr,list:ja,tree:Ud,progressBar:Pc,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:Ps=>this.show(Ps),hide:()=>this.hide(),setVisibilities:Ps=>this.setVisibilities(Ps),setEnabled:Ps=>this.setEnabled(Ps),setContextKey:Ps=>this.options.setContextKey(Ps),linkOpenerDelegate:Ps=>this.options.linkOpenerDelegate(Ps)},this.updateStyles(),this.ui}reparentUI(n){this.ui&&(this._container=n,(0,Wt.BC)(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(n,f={},P=Ni.XO.None){return new Promise((Q,ce)=>{let ke=kt=>{ke=Q,f.onKeyMods?.(Je.keyMods),Q(kt)};if(P.isCancellationRequested){ke(void 0);return}const Je=this.createQuickPick({useSeparators:!0});let Ct;const bt=[Je,Je.onDidAccept(()=>{if(Je.canSelectMany)ke(Je.selectedItems.slice()),Je.hide();
729else{const kt=Je.activeItems[0];kt&&(ke(kt),Je.hide())}}),Je.onDidChangeActive(kt=>{const ni=kt[0];ni&&f.onDidFocus&&f.onDidFocus(ni)}),Je.onDidChangeSelection(kt=>{if(!Je.canSelectMany){const ni=kt[0];ni&&(ke(ni),Je.hide())}}),Je.onDidTriggerItemButton(kt=>f.onDidTriggerItemButton&&f.onDidTriggerItemButton({...kt,removeItem:()=>{const ni=Je.items.indexOf(kt.item);if(ni!==-1){const Pi=Je.items.slice(),ki=Pi.splice(ni,1),bn=Je.activeItems.filter(fs=>fs!==ki[0]),ss=Je.keepScrollPosition;Je.keepScrollPosition=!0,Je.items=Pi,bn&&(Je.activeItems=bn),Je.keepScrollPosition=ss}}})),Je.onDidTriggerSeparatorButton(kt=>f.onDidTriggerSeparatorButton?.(kt)),Je.onDidChangeValue(kt=>{Ct&&!kt&&(Je.activeItems.length!==1||Je.activeItems[0]!==Ct)&&(Je.activeItems=[Ct])}),P.onCancellationRequested(()=>{Je.hide()}),Je.onDidHide(()=>{(0,ae.AS)(bt),ke(void 0)})];Je.title=f.title,f.value&&(Je.value=f.value),Je.canSelectMany=!!f.canPickMany,Je.placeholder=f.placeHolder,Je.prompt=f.prompt,Je.ignoreFocusOut=!!f.ignoreFocusLost,Je.matchOnDescription=!!f.matchOnDescription,Je.matchOnDetail=!!f.matchOnDetail,f.sortByLabel!==void 0&&(Je.sortByLabel=f.sortByLabel),Je.matchOnLabel=f.matchOnLabel===void 0||f.matchOnLabel,Je.quickNavigate=f.quickNavigate,Je.hideInput=!!f.hideInput,Je.contextKey=f.contextKey,Je.anchor=f.anchor,Je.anchorPosition=f.anchorPosition,Je.busy=!0,Promise.all([n,f.activeItem]).then(([kt,ni])=>{Ct=ni,Je.busy=!1,Je.items=kt,Je.canSelectMany&&(Je.selectedItems=kt.filter(Pi=>Pi.type!=="separator"&&Pi.picked)),Ct&&(Je.activeItems=[Ct])}),Je.show(),Promise.resolve(n).then(void 0,kt=>{ce(kt),Je.hide()})})}setValidationOnInput(n,f){f&&(0,Ki.Kg)(f)?(n.severity=_s.A.Error,n.validationMessage=f):f&&!(0,Ki.Kg)(f)?(n.severity=f.severity,n.validationMessage=f.content):(n.severity=_s.A.Ignore,n.validationMessage=void 0)}input(n={},f=Ni.XO.None){return new Promise(P=>{if(f.isCancellationRequested){P(void 0);return}const Q=this.createInputBox(),ce=n.validateInput||(()=>Promise.resolve(void 0)),ke=ui.Jh.debounce(Q.onDidChangeValue,(kt,ni)=>ni,100);let Je=n.value||"",Ct=Promise.resolve(ce(Je));const bt=[Q,ke(kt=>{kt!==Je&&(Ct=Promise.resolve(ce(kt)),Je=kt),Ct.then(ni=>{kt===Je&&this.setValidationOnInput(Q,ni)})}),Q.onDidAccept(()=>{const kt=Q.value;kt!==Je&&(Ct=Promise.resolve(ce(kt)),Je=kt),Ct.then(ni=>{!ni||!(0,Ki.Kg)(ni)&&ni.severity!==_s.A.Error?(P(kt),Q.hide()):kt===Je&&this.setValidationOnInput(Q,ni)})}),f.onCancellationRequested(()=>{Q.hide()}),Q.onDidHide(()=>{(0,ae.AS)(bt),P(void 0)})];Q.title=n.title,Q.value=n.value||"",Q.valueSelection=n.valueSelection,Q.prompt=n.prompt,Q.placeholder=n.placeHolder,Q.password=!!n.password,Q.ignoreFocusOut=!!n.ignoreFocusLost,Q.show()})}createQuickPick(n={useSeparators:!1}){const f=this.getUI(!0);return new va(f)}createInputBox(){const n=this.getUI(!0);return new Lc(n)}show(n){const f=this.getUI(!0),P=this.controller;if(this.controller=n,P?.didHide(),(0,Wt.sb)(n.anchor)){const ce=(0,Wt.zk)(n.anchor);(0,Wt.zk)(this._container)!==ce&&this.reparentUI(this.layoutService.getContainer(ce))}this.setEnabled(!0),f.leftActionBar.setActions([]),f.title.textContent="",f.description1.textContent="",f.description2.textContent="",(0,Wt.Ln)(f.widget),f.rightActionBar.setActions([]),f.inlineActionBar.setActions([]),f.checkAll.checked=!1,f.inputBox.placeholder="",f.inputBox.password=!1,f.inputBox.showDecoration(_s.A.Ignore),f.visibleCount.setCount(0),f.count.setCount(0),f.countContainer.style.right="4px",(0,Wt.Ln)(f.message),f.progressBar.stop(),f.progressBar.getContainer().setAttribute("aria-hidden","true"),f.list.setElements([]),f.list.matchOnDescription=!1,f.list.matchOnDetail=!1,f.list.matchOnLabel=!0,f.list.sortByLabel=!0,f.tree.updateFilterOptions({matchOnDescription:!1,matchOnLabel:!0}),f.tree.sortByLabel=!0,f.ignoreFocusOut=!1,f.inputBox.toggles=void 0,f.inputBox.actions=void 0;const Q=this.options.backKeybindingLabel();Wa.tooltip=Q?(0,Ot.kg)(1832,"Back ({0})",Q):(0,Ot.kg)(1833,"Back"),f.container.style.display="",this.updateLayout(),this.dndController?.setEnabled(!n.anchor),this.dndController?.layoutContainer(),n.anchor?this._alignment.
729set("custom",void 0):this._alignment.set(this.dndController?.alignment.get()??"top",void 0),this.onShowEmitter.fire(),f.inputBox.setFocus(),this.quickInputTypeContext.set(n.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(n){const f=this.getUI();f.title.style.display=n.title?"":"none",f.description1.style.display=n.description&&(n.inputBox||n.checkAll)?"":"none",f.description2.style.display=n.description&&!(n.inputBox||n.checkAll)?"":"none",f.checkAll.domNode.style.display=n.checkAll?"":"none",f.inputContainer.style.display=n.inputBox?"":"none",f.filterContainer.style.display=n.inputBox?"":"none",f.visibleCountContainer.style.display=n.visibleCount?"":"none",f.countContainer.style.display=n.count?"":"none",f.okContainer.style.display=n.ok?"":"none",f.customButtonContainer.style.display=n.customButton?"":"none",f.message.style.display=n.message?"":"none",f.progressBar.getContainer().style.display=n.progressBar?"":"none",f.list.displayed=!!n.list,f.tree.displayed=!!n.tree,f.container.classList.toggle("show-checkboxes",!!n.checkBox),f.container.classList.toggle("hidden-input",!n.inputBox&&!n.description),this.updateLayout()}setEnabled(n){if(n!==this.enabled){this.enabled=n;const f=this.getUI();for(let P=0;P<f.leftActionBar.getItemsLength();P++){const Q=f.leftActionBar.getItemAction(P);Q&&(Q.enabled=n)}for(let P=0;P<f.rightActionBar.getItemsLength();P++){const Q=f.rightActionBar.getItemAction(P);Q&&(Q.enabled=n)}n?f.checkAll.enable():f.checkAll.disable(),f.inputBox.enabled=n,f.ok.enabled=n,f.list.enabled=n}}hide(n){const f=this.controller;if(!f)return;f.willHide(n);const P=this.ui?.container,Q=P&&!(0,Wt.nR)(P);if(this.controller=null,this.onHideEmitter.fire(),P&&(P.style.display="none"),!Q){let ce=this.previousFocusElement;for(;ce&&!ce.offsetParent;)ce=ce.parentElement??void 0;ce?.offsetParent?(ce.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}f.didHide(n)}toggle(){this.isVisible()&&(this.controller instanceof va&&this.controller.canSelectMany?this.getUI().list.toggleCheckbox():this.controller instanceof To&&this.getUI().tree.toggleCheckbox())}toggleHover(){this.isVisible()&&this.controller instanceof va&&this.getUI().list.toggleHover()}layout(n,f){this.dimension=n,this.titleBarOffset=f,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){const n=this.ui.container.style;let f=Math.min(this.dimension.width*.62,dr.MAX_WIDTH);n.width=f+"px";let P=this.dimension&&this.dimension.height*.4;if(this.controller?.anchor){const Q=this.controller.anchor,ke=(0,Wt.sb)(Q)?(0,Wt.zk)(Q):(0,Wt.fz)(),Je=this.layoutService.getContainer(ke).getBoundingClientRect(),Ct=48;let bt=(0,Et.KG)(Q),kt=1,ni=.2,Pi=200;this.controller.anchorPosition==="overlay"?(f=bt.width+12,ni=.4,bt={top:bt.top-7,left:bt.left-7,width:bt.width,height:0},Pi=Math.min(400,Je.bottom-bt.top-Ct),kt=0):f=380,P=this.dimension?Math.min(this.dimension.height*ni,Pi):Pi;const ki=Math.floor(P)+Ct,{top:bn,left:ss,right:fs,bottom:js,anchorAlignment:no,anchorPosition:Bs}=(0,Kr.$P)(Je,{width:f,height:ki},bt,{anchorPosition:kt});no===1?(n.right=`${fs}px`,n.left="initial"):(n.left=`${ss}px`,n.right="initial"),Bs===1?(n.bottom=`${js}px`,n.top="initial"):(n.top=`${bn}px`,n.bottom="initial"),n.width=`${f}px`,n.height=""}else n.top=`${this.viewState?.top!==void 0?Math.round(this.dimension.height*this.viewState.top):this.titleBarOffset}px`,n.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-f/2)}px`,n.right="",n.bottom="",n.height="";this.ui.inputBox.layout(),this.ui.list.layout(P),this.ui.tree.layout(P)}}applyStyles(n){this.styles=n,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:n,quickInputBackground:f,quickInputForeground:P,widgetBorder:Q}=this.styles.widget;this.ui.titleBar.style.backgroundColor=n??"",this.ui.container.style.backgroundColor=f??"",this.ui.container.style.color=P??"",this.ui.container.style.border=Q?`1px solid ${Q}`:"",this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);const ce=[];this.styles.pickerGroup.pickerGroupBorder&&ce.push(`.quick-input-list .quick-input-list-entry { border-top-color:  ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&ce.push(`.quick-input-list .quick-input-list-separator { color:  ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&ce.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }
729"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(ce.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&ce.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&ce.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&ce.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&ce.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&ce.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),ce.push("}"));const ke=ce.join(`
730`);ke!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=ke)}}loadViewState(){try{const n=JSON.parse(this.storageService.get(Br,-1,"{}"));if(n.top!==void 0||n.left!==void 0)return n}catch{}}saveViewState(n){this.layoutService.activeContainer===this.layoutService.mainContainer&&(n!==void 0?this.storageService.store(Br,JSON.stringify(n),-1,1):this.storageService.remove(Br,-1))}},dr=Hd,Hd.MAX_WIDTH=600,Hd);jo=dr=tr([ir(1,qt.x),ir(2,Vi._Y),ir(3,Wn.fN),ir(4,Ta.CS),ir(5,vi.Z)],jo);let td=class extends ae.jG{constructor(n,f,P,Q,ce,ke,Je){super(),this._container=n,this._quickInputContainer=f,this._quickInputDragAreas=P,this._layoutService=ce,this.configurationService=Je,this.dndViewState=(0,Js.FY)(this,void 0),this._enabled=!0,this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._alignment=(0,Js.FY)(this,"top"),this.alignment=this._alignment,this._quickInputAlignmentContext=oc.bindTo(ke);const Ct=(0,Ti.gO)(this.configurationService)==="custom";this._controlsOnLeft=Ct&&Qt.iD===1,this._controlsOnRight=Ct&&(Qt.iD===3||Qt.iD===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...Q,done:!0},void 0),Q?.top!==void 0&&Q?.left!==void 0&&this._setAlignmentState(void 0)}reparentUI(n){this._container=n}layoutContainer(n=this._layoutService.activeContainerDimension){if(!this._enabled)return;const f=this.dndViewState.get(),P=this._quickInputContainer.getBoundingClientRect();if(f?.top!==void 0&&f?.left!==void 0){const Q=Math.round(f.left*100)/100,ce=n.width,ke=P.width,Je=Q*ce-ke/2;this._layout(f.top*n.height,Je)}}setEnabled(n){this._enabled=n,this._quickInputContainer.classList.toggle("no-drag",!n)}_setAlignmentState(n){this._quickInputAlignmentContext.set(n),this._alignment.set(n??"custom",void 0)}_registerLayoutListener(){this._register(ui.Jh.filter(this._layoutService.onDidLayoutContainer,n=>n.container===this._container)(n=>this.layoutContainer(n.dimension)))}registerMouseListeners(){const n=this._quickInputContainer;this._register((0,Wt.xb)(n,f=>{if(!this._enabled)return;const P=new os.P((0,Wt.zk)(n),f);if(P.detail!==2)return;const Q=this._quickInputDragAreas.find(({node:ce,includeChildren:ke})=>ke?(0,Wt.QX)(P.target,ce):P.target===ce);!Q||Q.excludeNodes?.some(ce=>(0,Wt.QX)(P.target,ce))||(this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0),this._setAlignmentState("top"))})),this._register((0,Wt._9)(n,f=>{if(!this._enabled)return;const P=(0,Wt.zk)(this._layoutService.activeContainer),Q=new os.P(P,f),ce=this._quickInputDragAreas.find(({node:Pi,includeChildren:ki})=>ki?(0,Wt.QX)(Q.target,Pi):Q.target===Pi);if(!ce||ce.excludeNodes?.some(Pi=>(0,Wt.QX)(Q.target,Pi)))return;const ke=this._quickInputContainer.getBoundingClientRect(),Je=Q.browserEvent.clientX-ke.left,Ct=Q.browserEvent.clientY-ke.top;let bt=!1;const kt=(0,Wt.J$)(P,Pi=>{new os.P(P,Pi).preventDefault(),bt||(bt=!0),this._layout(Pi.clientY-Ct,Pi.clientX-Je)}),ni=(0,Wt.xb)(P,Pi=>{if(bt){const ki=this.dndViewState.get();
730this.dndViewState.set({top:ki?.top,left:ki?.left,done:!0},void 0)}kt.dispose(),ni.dispose()})}))}_layout(n,f){const P=this._getTopSnapValue(),Q=this._getCenterYSnapValue(),ce=this._getCenterXSnapValue();n=Math.max(0,Math.min(n,this._container.clientHeight-this._quickInputContainer.clientHeight)),n<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?f=Math.max(f,80/(0,Ro.pR)((0,Wt.fz)())):this._controlsOnRight&&(f=Math.min(f,this._container.clientWidth-this._quickInputContainer.clientWidth-140/(0,Ro.pR)((0,Wt.fz)()))));const ke=Math.abs(n-P)<this._snapThreshold;n=ke?P:n;const Je=Math.abs(n-Q)<this._snapThreshold;n=Je?Q:n;const Ct=n/this._container.clientHeight;f=Math.max(0,Math.min(f,this._container.clientWidth-this._quickInputContainer.clientWidth));const bt=Math.abs(f-ce)<this._snapThreshold;f=bt?ce:f;const kt=this._container.clientWidth,ni=this._quickInputContainer.clientWidth,ki=(f+ni/2)/kt;if(this.dndViewState.set({top:Ct,left:ki,done:!1},void 0),bt){if(ke){this._setAlignmentState("top");return}else if(Je){this._setAlignmentState("center");return}}this._setAlignmentState(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};td=tr([ir(4,qt.x),ir(5,Wn.fN),ir(6,Si.pG)],td);var id=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7303&&ce&&Object.defineProperty(n,f,ce),ce},oa=function(Ne,n){return function(f,P){n(f,P,Ne)}};let Fr=class extends $t.lR{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(el))),this._quickAccess}constructor(n,f,P,Q,ce){super(P),this.instantiationService=n,this.contextKeyService=f,this.layoutService=Q,this.configurationService=ce,this._alignment=(0,Js.FY)(this,"top"),this._onShow=this._register(new ui.vl),this._onHide=this._register(new ui.vl),this.contexts=new Map}createController(n=this.layoutService,f){const P={idPrefix:"quickInput_",container:n.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:ce=>this.setContextKey(ce),linkOpenerDelegate:ce=>{this.instantiationService.invokeFunction(ke=>{ke.get(ua.Cr).open(ce,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>n.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(Jl))},Q=this._register(this.instantiationService.createInstance(jo,{...P,...f}));return Q.layout(n.activeContainerDimension,n.activeContainerOffset.quickPickTop),this._register(n.onDidLayoutActiveContainer(ce=>{(0,Wt.zk)(n.activeContainer)===(0,Wt.zk)(Q.container)&&Q.layout(ce,n.activeContainerOffset.quickPickTop)})),this._register(n.onDidChangeActiveContainer(()=>{Q.isVisible()||Q.layout(n.activeContainerDimension,n.activeContainerOffset.quickPickTop)})),this._register(Q.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(Q.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),this._register((0,wo.fm)(ce=>{this._alignment.set(Q.alignment.read(ce),void 0)})),Q}setContextKey(n){let f;n&&(f=this.contexts.get(n),f||(f=new Wn.N1(n,!1).bindTo(this.contextKeyService),this.contexts.set(n,f))),!(f&&f.get())&&(this.resetContextKeys(),f?.set(!0))}
730resetContextKeys(){this.contexts.forEach(n=>{n.get()&&n.reset()})}pick(n,f,P=Ni.XO.None){return this.controller.pick(n,f,P)}input(n={},f=Ni.XO.None){return this.controller.input(n,f)}createQuickPick(n={useSeparators:!1}){return this.controller.createQuickPick(n)}createInputBox(){return this.controller.createInputBox()}toggle(){this.controller.toggle()}toggleHover(){this.hasController&&this.controller.toggleHover()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:(0,Ei.Gu)(Xt.EL),quickInputForeground:(0,Ei.Gu)(Xt.HJ),quickInputTitleBackground:(0,Ei.Gu)(Xt.er),widgetBorder:(0,Ei.Gu)(wn.DS),widgetShadow:(0,Ei.Gu)(wn.f9)},inputBox:is.ho,toggle:is.mk,countBadge:is.m$,button:is.cv,progressBar:is.oJ,keybindingLabel:is.ir,list:(0,is.t8)({listBackground:Xt.EL,listFocusBackground:Xt.Al,listFocusForeground:Xt.nH,listInactiveFocusForeground:Xt.nH,listInactiveSelectionIconForeground:Xt.c7,listInactiveFocusBackground:Xt.Al,listInactiveSelectionBackground:Xt.Al,listInactiveSelectionForeground:Xt.nH,listFocusOutline:zi.bu,listInactiveFocusOutline:zi.bu,treeStickyScrollBackground:Xt.EL}),pickerGroup:{pickerGroupBorder:(0,Ei.Gu)(Xt.iw),pickerGroupForeground:(0,Ei.Gu)(Xt.NB)}}}};Fr=id([oa(0,Vi._Y),oa(1,Wn.fN),oa(2,$t.Gy),oa(3,qt.x),oa(4,Si.pG)],Fr);var lc=e(48289),Rd=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7303&&ce&&Object.defineProperty(n,f,ce),ce},wa=function(Ne,n){return function(f,P){n(f,P,Ne)}};let nd=class extends Fr{constructor(n,f,P,Q,ce,ke){super(f,P,Q,new dl(n.getContainerDomNode(),ce),ke),this.host=void 0;const Je=tt.get(n);if(Je){const Ct=Je.widget;this.host={_serviceBrand:void 0,get mainContainer(){return Ct.getDomNode()},getContainer(){return Ct.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[Ct.getDomNode()]},get activeContainer(){return Ct.getDomNode()},get mainContainerDimension(){return n.getLayoutInfo()},get activeContainerDimension(){return n.getLayoutInfo()},get onDidLayoutMainContainer(){return n.onDidLayoutChange},get onDidLayoutActiveContainer(){return n.onDidLayoutChange},get onDidLayoutContainer(){return ui.Jh.map(n.onDidLayoutChange,bt=>({container:Ct.getDomNode(),dimension:bt}))},get onDidChangeActiveContainer(){return ui.Jh.None},get onDidAddContainer(){return ui.Jh.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>n.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};nd=Rd([wa(1,Vi._Y),wa(2,Wn.fN),wa(3,$t.Gy),wa(4,Ye.T),wa(5,Si.pG)],nd);let sd=class{get activeService(){const n=this.codeEditorService.getFocusedCodeEditor();if(!n)throw new Error("Quick input service needs a focused editor to work.");let f=this.mapEditorToService.get(n);if(!f){const P=f=this.instantiationService.createInstance(nd,n);this.mapEditorToService.set(n,f),(0,lc.P)(n.onDidDispose)(()=>{P.dispose(),this.mapEditorToService.delete(n)})}return f}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(n,f){this.instantiationService=n,this.codeEditorService=f,this.mapEditorToService=new Map}pick(n,f,P=Ni.XO.None){return this.activeService.pick(n,f,P)}input(n,f){return this.activeService.input(n,f)}createQuickPick(n={useSeparators:!1}){return this.activeService.createQuickPick(n)}createInputBox(){return this.activeService.createInputBox()}toggle(){return this.activeService.toggle()}toggleHover(){return this.activeService.toggleHover()}};sd=Rd([wa(0,Vi._Y),wa(1,Ye.T)],sd);const Qc=class Qc{static get(n){return n.getContribution(Qc.ID)}constructor(n){this.editor=n,this.widget=new K(this.editor)}
730dispose(){this.widget.dispose()}};Qc.ID="editor.controller.quickInput";let tt=Qc;const Yc=class Yc{constructor(n){this.codeEditor=n,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Yc.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}};Yc.ID="editor.contrib.quickInputWidget";let K=Yc;(0,$e.HW)(tt.ID,tt,4);var me=e(14469);const Zc=class Zc{createWorkerClient(n){let f;const P=++Zc._workerIdPool;return n instanceof Worker||rt(n)?f=Promise.resolve(n):f=this._createWorker(n),new me.KW(new Tt(f,P))}_createWorker(n){const f=this.getWorkerUrl(n),P=ze(n.label,f,this._getWorkerLoadingFailedErrorMessage(n)),Q=new Worker(et?et.createScriptURL(P):P,{name:n.label,type:"module"});return nt(Q)}_getWorkerLoadingFailedErrorMessage(n){}getWorkerUrl(n){if(!n.esmModuleLocation)throw new Error("Missing esmModuleLocation in WebWorkerDescriptor");return(typeof n.esmModuleLocation=="function"?n.esmModuleLocation():n.esmModuleLocation).toString(!0)}};Zc._workerIdPool=0;let Re=Zc;const et=(()=>{const Ne=globalThis;return typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&Ne.workerttPolicy!==void 0?Ne.workerttPolicy:(0,Se.H)("defaultWorkerFactory",{createScriptURL:n=>n})})();function ze(Ne,n,f){if(!(/^((http:)|(https:)|(file:))/.test(n)&&n.substring(0,globalThis.origin.length)!==globalThis.origin)){const Q=n.lastIndexOf("?"),ce=n.lastIndexOf("#",Q),ke=Q>0?new URLSearchParams(n.substring(Q+1,~ce?ce:void 0)):new URLSearchParams;$n.SJ.addSearchParam(ke,!0,!0),ke.toString()?n=`${n}?${ke.toString()}#${Ne}`:n=`${n}#${Ne}`}const P=new Blob([(0,$s.Yc)([`/*${Ne}*/`,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,Ot.Ec)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,Ot.i8)())};`,`globalThis._VSCODE_FILE_ROOT = ${JSON.stringify(globalThis._VSCODE_FILE_ROOT)};`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",f?"try {":"",`await import(ttPolicy?.createScriptURL(${JSON.stringify(n)}) ?? ${JSON.stringify(n)});`,f?`} catch (err) { console.error(${JSON.stringify(f)}, err); throw err; }`:"","globalThis.postMessage({ type: 'vscode-worker-ready' });",`/*${Ne}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(P)}function nt(Ne){return new Promise((n,f)=>{Ne.onmessage=function(P){P.data.type==="vscode-worker-ready"&&(Ne.onmessage=null,n(Ne))},Ne.onerror=f})}function rt(Ne){return!!Ne&&typeof Ne.then=="function"}class Tt extends ae.jG{constructor(n,f){super(),this._onMessage=this._register(new ui.vl),this.onMessage=this._onMessage.event,this._onError=this._register(new ui.vl),this.onError=this._onError.event,this.id=f,this.worker=n,this.postMessage("-please-ignore-",[]);const P=Q=>{this._onError.fire(Q)};this.worker.then(Q=>{Q.onmessage=ce=>{this._onMessage.fire(ce.data)},Q.onmessageerror=ce=>{this._onError.fire(ce)},typeof Q.addEventListener=="function"&&Q.addEventListener("error",P)}),this._register((0,ae.s)(()=>{this.worker?.then(Q=>{Q.onmessage=null,Q.onmessageerror=null,Q.removeEventListener("error",P),Q.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(n,f){this.worker?.then(P=>{try{P.postMessage(n,f)}catch(Q){(0,Ms.dz)(Q),(0,Ms.dz)(new Error("FAILED to post message to worker",{cause:Q}))}})}}class Pt extends Re{_createWorker(n){const f=(0,Ro.HT)();if(f&&typeof f.getWorker=="function"){const P=f.getWorker("workerMain.js",n.label);if(P!==void 0)return Promise.resolve(P)}return super._createWorker(n)}_getWorkerLoadingFailedErrorMessage(n){return`Failed to load worker script for label: ${n.label}.
731Ensure your bundler properly bundles modules referenced by "new URL('...?esm', import.meta.url)".`}getWorkerUrl(n){const f=(0,Ro.HT)();if(f&&typeof f.getWorkerUrl=="function"){const ce=f.getWorkerUrl("workerMain.js",n.label);if(ce!==void 0)return new URL(ce,document.baseURI).toString()}if(!n.esmModuleLocationBundler)throw new Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker for the worker label: ${n.label}`);return(typeof n.esmModuleLocationBundler=="function"?n.esmModuleLocationBundler():n.esmModuleLocationBundler).toString()}}var Lt=e(53575);class Mt{getParserClass(){throw new Error("not implemented in StandaloneTreeSitterLibraryService")}supportsLanguage(n,f){return!1}
731getLanguage(n,f,P){}getInjectionQueries(n,f){return null}getHighlightingQueries(n,f){return null}}var Nt=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>3&&ce&&Object.defineProperty(n,f,ce),ce},Vt=function(Ne,n){return function(f,P){n(f,P,Ne)}};class di{constructor(n){this.disposed=!1,this.model=n,this._onWillDispose=new ui.vl}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let Jt=class{constructor(n){this.modelService=n}createModelReference(n){const f=this.modelService.getModel(n);return f?Promise.resolve(new ae.BO(new di(f))):Promise.reject(new Error("Model not found"))}};Jt=Nt([Vt(0,De.S)],Jt);const Xc=class Xc{show(){return Xc.NULL_PROGRESS_RUNNER}async showWhile(n,f){await n}};Xc.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};let _i=Xc;class Ri{withProgress(n,f,P){return f({report:()=>{}})}}class Ui{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class un{async confirm(n){return{confirmed:this.doConfirm(n.message,n.detail),checkboxChecked:!1}
731}doConfirm(n,f){let P=n;return f&&(P=P+`
732
733`+f),je.G.confirm(P)}async prompt(n){let f;if(this.doConfirm(n.message,n.detail)){const Q=[...n.buttons??[]];n.cancelButton&&typeof n.cancelButton!="string"&&typeof n.cancelButton!="boolean"&&Q.push(n.cancelButton),f=await Q[0]?.run({checkboxChecked:!1})}return{result:f}}async error(n,f){await this.prompt({type:_s.A.Error,message:n,detail:f})}}const Rc=class Rc{info(n){return this.notify({severity:_s.A.Info,message:n})}warn(n){return this.notify({severity:_s.A.Warning,message:n})}error(n){return this.notify({severity:_s.A.Error,message:n})}notify(n){switch(n.severity){case _s.A.Error:console.error(n.message);break;case _s.A.Warning:console.warn(n.message);break;default:console.log(n.message);break}return Rc.NO_OP}prompt(n,f,P,Q){return Rc.NO_OP}status(n,f){return{close:()=>{}}}};Rc.NO_OP=new ks.Kz;let cn=Rc,fi=class{constructor(n){this._onWillExecuteCommand=new ui.vl,this._onDidExecuteCommand=new ui.vl,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=n}executeCommand(n,...f){const P=Eo.w.getCommand(n);if(!P)return Promise.reject(new Error(`command '${n}' not found`));try{this._onWillExecuteCommand.fire({commandId:n,args:f});const Q=this._instantiationService.invokeFunction.apply(this._instantiationService,[P.handler,...f]);return this._onDidExecuteCommand.fire({commandId:n,args:f}),Promise.resolve(Q)}catch(Q){return Promise.reject(Q)}}};fi=Nt([Vt(0,Vi._Y)],fi);let wi=class extends _l{constructor(n,f,P,Q,ce,ke){super(n,f,P,Q,ce),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const Je=ki=>{const bn=new ae.Cm;bn.add((0,Wt.ko)(ki,Wt.Bx.KEY_DOWN,ss=>{const fs=new Ft.Z(ss);this._dispatch(fs,fs.target)&&(fs.preventDefault(),fs.stopPropagation())})),bn.add((0,Wt.ko)(ki,Wt.Bx.KEY_UP,ss=>{const fs=new Ft.Z(ss);this._singleModifierDispatch(fs,fs.target)&&fs.preventDefault()})),this._domNodeListeners.push(new gn(ki,bn))},Ct=ki=>{for(let bn=0;
733bn<this._domNodeListeners.length;bn++){const ss=this._domNodeListeners[bn];ss.domNode===ki&&(this._domNodeListeners.splice(bn,1),ss.dispose())}},bt=ki=>{ki.getOption(70)||Je(ki.getContainerDomNode())},kt=ki=>{ki.getOption(70)||Ct(ki.getContainerDomNode())};this._register(ke.onCodeEditorAdd(bt)),this._register(ke.onCodeEditorRemove(kt)),ke.listCodeEditors().forEach(bt);const ni=ki=>{Je(ki.getContainerDomNode())},Pi=ki=>{Ct(ki.getContainerDomNode())};this._register(ke.onDiffEditorAdd(ni)),this._register(ke.onDiffEditorRemove(Pi)),ke.listDiffEditors().forEach(ni)}addDynamicKeybinding(n,f,P,Q){return(0,ae.qE)(Eo.w.registerCommand(n,P),this.addDynamicKeybindings([{keybinding:f,command:n,when:Q}]))}addDynamicKeybindings(n){const f=n.map(P=>({keybinding:(0,mr.Zv)(P.keybinding,Qt.OS),command:P.command??null,commandArgs:P.commandArgs,when:P.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(f),this.updateResolver(),(0,ae.s)(()=>{for(let P=0;P<this._dynamicKeybindings.length;P++)if(this._dynamicKeybindings[P]===f[0]){this._dynamicKeybindings.splice(P,f.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){const n=this._toNormalizedKeybindingItems(Di.f.getDefaultKeybindings(),!0),f=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new Qr(n,f,P=>this._log(P))}return this._cachedResolver}_documentHasFocus(){return je.G.document.hasFocus()}_toNormalizedKeybindingItems(n,f){const P=[];let Q=0;for(const ce of n){const ke=ce.when||void 0,Je=ce.keybinding;if(!Je)P[Q++]=new Yd(void 0,ce.command,ce.commandArgs,ke,f,null,!1);else{const Ct=qo.resolveKeybinding(Je,Qt.OS);for(const bt of Ct)P[Q++]=new Yd(bt,ce.command,ce.commandArgs,ke,f,null,!1)}}return P}resolveKeyboardEvent(n){const f=new mr.dG(n.ctrlKey,n.shiftKey,n.altKey,n.metaKey,n.keyCode);return new qo([f],Qt.OS)}};wi=Nt([Vt(0,Wn.fN),Vt(1,Eo.d),Vt(2,Vs.k),Vt(3,ks.Ot),Vt(4,io.rr),Vt(5,Ye.T)],wi);class gn extends ae.jG{constructor(n,f){super(),this.domNode=n,this._register(f)}}function ln(Ne){return!!Ne&&typeof Ne=="object"&&(!Ne.overrideIdentifier||typeof Ne.overrideIdentifier=="string")&&(!Ne.resource||Ne.resource instanceof Ie.r)}let on=class{constructor(n){this.logService=n,this._onDidChangeConfiguration=new ui.vl,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const f=new Wo(n);this._configuration=new Jo(f.reload(),cs.createEmptyModel(n),cs.createEmptyModel(n),cs.createEmptyModel(n),cs.createEmptyModel(n),cs.createEmptyModel(n),new _o.fT,cs.createEmptyModel(n),new _o.fT,n),f.dispose()}getValue(n,f){const P=typeof n=="string"?n:void 0,Q=ln(n)?n:ln(f)?f:{};return this._configuration.getValue(P,Q,void 0)}updateValues(n){const f={data:this._configuration.toData()},P=[];for(const Q of n){const[ce,ke]=Q;this.getValue(ce)!==ke&&(this._configuration.updateValue(ce,ke),P.push(ce))}if(P.length>0){const Q=new zr({keys:P,overrides:[]},f,this._configuration,void 0,this.logService);Q.source=8,this._onDidChangeConfiguration.fire(Q)}return Promise.resolve()}updateValue(n,f,P,Q){return this.updateValues([[n,f]])}inspect(n,f={}){return this._configuration.inspect(n,f,void 0)}};on=Nt([Vt(0,io.rr)],on);let pn=class extends ae.jG{constructor(n,f,P){super(),this.configurationService=n,this.modelService=f,this.languageService=P,this._onDidChangeConfiguration=this._register(new ui.vl),this._register(this.configurationService.onDidChangeConfiguration(Q=>{this._onDidChangeConfiguration.fire({affectedKeys:Q.affectedKeys,affectsConfiguration:(ce,ke)=>Q.affectsConfiguration(ke)})}))}getValue(n,f,P){const Q=yl.y.isIPosition(f)?f:null,ce=Q?typeof P=="string"?P:void 0:typeof f=="string"?f:void 0,ke=n?this.getLanguage(n,Q):void 0;return typeof ce>"u"?this.configurationService.getValue({resource:n,overrideIdentifier:ke}):this.configurationService.getValue(ce,{resource:n,overrideIdentifier:ke})}getLanguage(n,f){const P=this.modelService.getModel(n);return P?f?P.getLanguageIdAtPosition(f.lineNumber,f.column):P.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(n)}};pn=Nt([Vt(0,Si.pG),Vt(1,De.S),Vt(2,q.L)],pn);let qi=class{constructor(n){this.configurationService=n}getEOL(n,f){const P=this.configurationService.getValue("files.eol",{overrideIdentifier:f,resource:n});return P&&typeof P=="string"&&P!=="auto"?P:Qt.j9||Qt.zx?`
734`:`\r
735`}};qi=Nt([Vt(0,Si.pG)],qi);class Un{publicLog2(){}}const Oc=class Oc{constructor(){const n=Ie.r.from({scheme:Oc.SCHEME,authority:"model",path:"/"});this.workspace={id:Po.cn,folders:[new Po.mX({uri:n,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(n){return n&&n.scheme===Oc.SCHEME?this.workspace.folders[0]:null}};Oc.SCHEME="inmemory";let ns=Oc;function bs(Ne,n,f){if(!n||!(Ne instanceof on))return;const P=[];
735Object.keys(n).forEach(Q=>{(0,Fl.vf)(Q)&&P.push([`editor.${Q}`,n[Q]]),f&&(0,Fl.Gn)(Q)&&P.push([`diffEditor.${Q}`,n[Q]])}),P.length>0&&Ne.updateValues(P)}let Ks=class{constructor(n){this._modelService=n}hasPreviewHandler(){return!1}async apply(n,f){const P=Array.isArray(n)?n:md.jN.convert(n),Q=new Map;for(const Je of P){if(!(Je instanceof md.cw))throw new Error("bad edit - only text edits are supported");const Ct=this._modelService.getModel(Je.resource);if(!Ct)throw new Error("bad edit - model not found");if(typeof Je.versionId=="number"&&Ct.getVersionId()!==Je.versionId)throw new Error("bad state - model changed in the meantime");let bt=Q.get(Ct);bt||(bt=[],Q.set(Ct,bt)),bt.push(Nr.k.replaceMove(Ar.Q.lift(Je.textEdit.range),Je.textEdit.text))}let ce=0,ke=0;for(const[Je,Ct]of Q)Je.pushStackElement(),Je.pushEditOperations([],Ct,()=>[]),Je.pushStackElement(),ke+=1,ce+=Ct.length;return{ariaSummary:(0,Ee.GP)(qa.tu.bulkEditServiceSummary,ce,ke),isApplied:ce>0}}};Ks=Nt([Vt(0,De.S)],Ks);class Os{getUriLabel(n,f){return n.scheme==="file"?n.fsPath:n.path}getUriBasenameLabel(n){return(0,Dr.P8)(n)}}let Is=class extends Gd{constructor(n,f){super(n),this._codeEditorService=f}showContextView(n,f,P){if(!f){const Q=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();Q&&(f=Q.getContainerDomNode())}return super.showContextView(n,f,P)}};Is=Nt([Vt(0,qt.x),Vt(1,Ye.T)],Is);class qn{constructor(){this._neverEmitter=new ui.vl,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class gs extends Sd{constructor(){super()}}class wr extends Ya{constructor(){super(new io.Cr)}}let Co=class extends Kd{constructor(n,f,P,Q,ce,ke){super(n,f,P,Q,ce,ke),this.configure({blockMouse:!1})}};Co=Nt([Vt(0,Vs.k),Vt(1,ks.Ot),Vt(2,vi.l),Vt(3,Nn.b),Vt(4,go.ez),Vt(5,Wn.fN)],Co);class ys{async playSignal(n,f){}}class Hr{constructor(){this.onDidChangeDefaultAccount=ui.Jh.None}async getDefaultAccount(){return null}}(0,jt.v)(Vo.d,Pt,0),(0,jt.v)(io.rr,wr,0),(0,jt.v)(Si.pG,on,0),(0,jt.v)(Gl.U,pn,0),(0,jt.v)(Gl.J,qi,0),(0,jt.v)(Po.VR,ns,0),(0,jt.v)(Qa.L,Os,0),(0,jt.v)(Vs.k,Un,0),(0,jt.v)(ao.X,un,0),(0,jt.v)(kc.k,Ui,0),(0,jt.v)(ks.Ot,cn,0),(0,jt.v)(Xs.DR,Xr,0),(0,jt.v)(q.L,gs,0),(0,jt.v)(ar.L,Lt.Sx,0),(0,jt.v)(De.S,wl,0),(0,jt.v)(mc.A,jl,0),(0,jt.v)(Wn.fN,Ii,0),(0,jt.v)(Za.G5,Ri,0),(0,jt.v)(Za.N8,_i,0),(0,jt.v)(Ta.CS,Ta.pc,0),(0,jt.v)(md.nu,Ks,0),(0,jt.v)(hc.L,qn,0),(0,jt.v)(El.b,Jt,0),(0,jt.v)(ai.j,pr,0),(0,jt.v)(So.PE,So.aG,0),(0,jt.v)(Eo.d,fi,0),(0,jt.v)(Nn.b,wi,0),(0,jt.v)(Vn.GK,sd,0),(0,jt.v)(vi.l,Is,0),(0,jt.v)(ua.Cr,fa,0),(0,jt.v)(cl.h,Zo,0),(0,jt.v)(vi.Z,Co,0),(0,jt.v)(go.ez,Io.$,0),(0,jt.v)(Ml.Nt,ys,0),(0,jt.v)(ec.t,Mt,0),(0,jt.v)(io.xd,io.DA,0),(0,jt.v)($r.a,$r.w,0),(0,jt.v)($d.x,Hr,0),(0,jt.v)(Bl.h,Bl.J,0),(0,jt.v)(co.u,Wl,0);var _n;(function(Ne){const n=new ml.a;for(const[Ct,bt]of(0,jt.N)())n.set(Ct,bt);const f=new Mr(n,!0);n.set(Vi._Y,f);function P(Ct){Q||ke({});const bt=n.get(Ct);if(!bt)throw new Error("Missing service "+Ct);return bt instanceof vr.d?f.invokeFunction(kt=>kt.get(Ct)):bt}Ne.get=P;let Q=!1;const ce=new ui.vl;function ke(Ct){if(Q)return f;Q=!0;for(const[kt,ni]of(0,jt.N)())n.get(kt)||n.set(kt,ni);for(const kt in Ct)if(Ct.hasOwnProperty(kt)){const ni=(0,Vi.u1)(kt);n.get(ni)instanceof vr.d&&n.set(ni,Ct[kt])}const bt=(0,_d.T)();for(const kt of bt)try{f.createInstance(kt)}catch(ni){(0,Ms.dz)(ni)}return ce.fire(),f}Ne.initialize=ke;function Je(Ct){if(Q)return Ct();const bt=new ae.Cm,kt=bt.add(ce.event(()=>{kt.dispose(),bt.add(Ct())}));return bt}Ne.withServices=Je})(_n||(_n={}));var to=e(52394),Lo=e(29795),ra=e(65568),Od=e(20396),Pd=e(70233),xl=e(1458),Dc=e(25837),Jc=e(66638),Mh=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7353&&ce&&Object.defineProperty(n,f,ce),ce},hh=function(Ne,n){return function(f,P){n(f,P,Ne)}},Nc;let qc=(Vd=class{constructor(n,f){this._configurationService=n,this._languageService=f}async renderCodeBlock(n,f,P){const Q=(0,Jc.z9)(P.context)?P.context:void 0;let ce;n?ce=this._languageService.getLanguageIdByLanguageName(n):Q&&(ce=Q.getModel()?.getLanguageId()),ce||(ce=ue.vH);const ke=await(0,xl.Yj)(this._languageService,f,ce),Je=Nc._ttpTokenizer?Nc._ttpTokenizer.createHTML(ke)??ke:ke,Ct=document.createElement("span");Ct.innerHTML=Je;const bt=Ct.querySelector(".monaco-tokenized-source");return(0,Wt.sb)(bt)?((0,Dc.M)(bt,this.getFontInfo(Q)),Ct):document.createElement("span")}getFontInfo(n){return n?n.getOption(59):(0,Pd.h)({fontFamily:this._configurationService.getValue("editor").fontFamily},1)}},Nc=Vd,Vd._ttpTokenizer=(0,Se.H)("tokenizeToString",{createHTML(n){return n}}),Vd);qc=Nc=Mh([hh(0,Si.pG),hh(1,q.L)],qc);var eh=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7353&&ce&&Object.defineProperty(n,f,ce),ce},Ws=function(Ne,n){return function(f,P){n(f,P,Ne)}};let Rh=0,uh=!1;function Oh(Ne){if(!Ne){if(uh)return;uh=!0}(0,zs.vr)(Ne||je.G.document.body)}let Ac=class extends T.x{constructor(n,f,P,Q,ce,ke,Je,Ct,bt,kt,ni,Pi,ki,bn,ss){const fs={...f};fs.ariaLabel=fs.ariaLabel||qa.vp.editorViewAccessibleLabel,super(n,fs,{},P,Q,ce,ke,bt,kt,ni,Pi,ki,ss),Ct instanceof wi?this._standaloneKeybindingService=Ct:this._standaloneKeybindingService=null,Oh(fs.ariaContainerElement),(0,ra.MW)((js,no)=>P.createInstance(Mi.fO,js,{instantHover:no},{})),(0,Od.e)(Je),bn.setDefaultCodeBlockRenderer(P.createInstance(qc))}addCommand(n,f,P){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const Q="DYNAMIC_"+ ++Rh,ce=Wn.M$.deserialize(P);return this._standaloneKeybindingService.addDynamicKeybinding(Q,n,f,ce),Q}createContextKey(n,f){return this._contextKeyService.createKey(n,f)}addAction(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),ae.jG.None;const f=n.id,P=n.label,Q=Wn.M$.and(Wn.M$.equals("editorId",this.getId()),Wn.M$.deserialize(n.precondition)),ce=n.keybindings,ke=Wn.M$.and(Q,Wn.M$.deserialize(n.keybindingContext)),Je=n.contextMenuGroupId||null,Ct=n.contextMenuOrder||0,bt=(ki,...bn)=>Promise.resolve(n.run(this,...bn)),kt=new ae.Cm,ni=this.getId()+":"+f;if(kt.add(Eo.w.registerCommand(ni,bt)),Je){const ki={command:{id:ni,title:P},when:Q,group:Je,order:Ct};kt.add(go.ZG.appendMenuItem(go.D8.EditorContext,ki))}if(Array.isArray(ce))for(const ki of ce)kt.add(this._standaloneKeybindingService.addDynamicKeybinding(ni,ki,bt,ke));const Pi=new Kn.f(ni,P,P,void 0,Q,(...ki)=>Promise.resolve(n.run(this,...ki)),this._contextKeyService);return this._actions.set(f,Pi),kt.add((0,ae.s)(()=>{this._actions.delete(f)})),kt}_triggerCommand(n,f){if(this._codeEditorService instanceof Zs)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(n,f)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(n,f)}};Ac=eh([Ws(2,Vi._Y),Ws(3,Ye.T),Ws(4,Eo.d),Ws(5,Wn.fN),Ws(6,Mi.TN),Ws(7,Nn.b),Ws(8,$t.Gy),Ws(9,ks.Ot),Ws(10,ai.j),Ws(11,to.JZ),Ws(12,Ln.u),Ws(13,Rt.TN),Ws(14,co.u)],Ac);let th=class extends Ac{constructor(n,f,P,Q,ce,ke,Je,Ct,bt,kt,ni,Pi,ki,bn,ss,fs,js,no){const Bs={...f};bs(ni,Bs,!1);const ws=bt.registerEditorContainer(n);typeof Bs.theme=="string"&&bt.setTheme(Bs.theme),typeof Bs.autoDetectHighContrast<"u"&&bt.setAutoDetectHighContrast(!!Bs.autoDetectHighContrast);const hr=Bs.model;delete Bs.model,super(n,Bs,P,Q,ce,ke,Je,Ct,bt,kt,Pi,ss,fs,js,no),this._configurationService=ni,this._standaloneThemeService=bt,this._register(ws);let Pr;if(typeof hr>"u"){const No=bn.getLanguageIdByMimeType(Bs.language)||Bs.language||ue.vH;Pr=gh(ki,bn,Bs.value||"",No,void 0),this._ownsModel=!0}else Pr=hr,this._ownsModel=!1;if(this._attachModel(Pr),Pr){const No={oldModelUrl:null,newModelUrl:Pr.uri};this._onDidChangeModel.fire(No)}}updateOptions(n){bs(this._configurationService,n,!1),typeof n.theme=="string"&&this._standaloneThemeService.setTheme(n.theme),typeof n.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!n.autoDetectHighContrast),super.updateOptions(n)}_postDetachModelCleanup(n){super._postDetachModelCleanup(n),n&&this._ownsModel&&(n.dispose(),this._ownsModel=!1)}};th=eh([Ws(2,Vi._Y),Ws(3,Ye.T),Ws(4,Eo.d),Ws(5,Wn.fN),Ws(6,Mi.TN),Ws(7,Nn.b),Ws(8,ar.L),Ws(9,ks.Ot),Ws(10,Si.pG),Ws(11,ai.j),Ws(12,De.S),Ws(13,q.L),Ws(14,to.JZ),Ws(15,Ln.u),Ws(16,Rt.TN),Ws(17,co.u)],th);let ih=class extends Lo.T{constructor(n,f,P,Q,ce,ke,Je,Ct,bt,kt,ni,Pi){const ki={...f};bs(Ct,ki,!0);const bn=ke.registerEditorContainer(n);typeof ki.theme=="string"&&ke.setTheme(ki.theme),typeof ki.autoDetectHighContrast<"u"&&ke.setAutoDetectHighContrast(!!ki.autoDetectHighContrast),super(n,ki,{},Q,P,ce,Pi,kt),this._configurationService=Ct,this._standaloneThemeService=ke,this._register(bn)}updateOptions(n){bs(this._configurationService,n,!0),typeof n.theme=="string"&&this._standaloneThemeService.setTheme(n.theme),typeof n.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!n.autoDetectHighContrast),super.updateOptions(n)}_createInnerEditor(n,f,P){return n.createInstance(Ac,f,P)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(n,f,P){return this.getModifiedEditor().addCommand(n,f,P)}createContextKey(n,f){return this.getModifiedEditor().createContextKey(n,f)}
735addAction(n){return this.getModifiedEditor().addAction(n)}};ih=eh([Ws(2,Vi._Y),Ws(3,Wn.fN),Ws(4,Ye.T),Ws(5,ar.L),Ws(6,ks.Ot),Ws(7,Si.pG),Ws(8,vi.Z),Ws(9,Za.N8),Ws(10,cl.h),Ws(11,Ml.Nt)],ih);function gh(Ne,n,f,P,Q){if(f=f||"",!P){const ce=f.indexOf(`
736`);let ke=f;return ce!==-1&&(ke=f.substring(0,ce)),fh(Ne,f,n.createByFilepathOrFirstLine(Q||null,ke),Q)}return fh(Ne,f,n.createById(P),Q)}function fh(Ne,n,f,P){return Ne.createModel(n,f,P)}var Ph=e(41807);(0,Ei.x1)("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},(0,Ot.kg)(158,"The background color of the diff editor's header")),(0,Ei.x1)("multiDiffEditor.background",wn.Yt,(0,Ot.kg)(159,"The background color of the multi file diff editor")),(0,Ei.x1)("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},(0,Ot.kg)(160,"The border color of the multi file diff editor"));var kh=e(32837),mh=e(61988),Nh=e(16551),Ea=e(99859),Ah=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7363&&ce&&Object.defineProperty(n,f,ce),ce},ph=function(Ne,n){return function(f,P){n(f,P,Ne)}};class Wh{constructor(n,f){this.viewModel=n,this.deltaScrollVertical=f}getId(){return this.viewModel}}let nh=class extends ae.jG{constructor(n,f,P,Q,ce){super(),this._container=n,this._overflowWidgetsDomNode=f,this._workbenchUIElementFactory=P,this._instantiationService=Q,this._viewModel=(0,Js.FY)(this,void 0),this._collapsed=(0,Ea.un)(this,Ct=>this._viewModel.read(Ct)?.collapsed.read(Ct)),this._editorContentHeight=(0,Js.FY)(this,500),this.contentHeight=(0,Ea.un)(this,Ct=>(this._collapsed.read(Ct)?0:this._editorContentHeight.read(Ct))+this._outerEditorHeight),this._modifiedContentWidth=(0,Js.FY)(this,0),this._modifiedWidth=(0,Js.FY)(this,0),this._originalContentWidth=(0,Js.FY)(this,0),this._originalWidth=(0,Js.FY)(this,0),this.maxScroll=(0,Ea.un)(this,Ct=>{const bt=this._modifiedContentWidth.read(Ct)-this._modifiedWidth.read(Ct),kt=this._originalContentWidth.read(Ct)-this._originalWidth.read(Ct);return bt>kt?{maxScroll:bt,width:this._modifiedWidth.read(Ct)}:{maxScroll:kt,width:this._originalWidth.read(Ct)}}),this._elements=(0,Wt.h)("div.multiDiffEntry",[(0,Wt.h)("div.header@header",[(0,Wt.h)("div.header-content",[(0,Wt.h)("div.collapse-button@collapseButton"),(0,Wt.h)("div.file-path",[(0,Wt.h)("div.title.modified.show-file-icons@primaryPath",[]),(0,Wt.h)("div.status.deleted@status",["R"]),(0,Wt.h)("div.title.original.show-file-icons@secondaryPath",[])]),(0,Wt.h)("div.actions@actions")])]),(0,Wt.h)("div.editorParent",[(0,Wt.h)("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(Lo.T,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=(0,mh.U)(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=(0,mh.U)(this.editor.getOriginalEditor()).isFocused,this.isFocused=(0,Ea.un)(this,Ct=>this.isModifedFocused.read(Ct)||this.isOriginalFocused.read(Ct)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new ae.Cm),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const ke=this._register(new Md.$(this._elements.collapseButton,{}));this._register((0,wo.fm)(Ct=>{ke.element.className="",ke.icon=this._collapsed.read(Ct)?Ir.W.chevronRight:Ir.W.chevronDown})),this._register(ke.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.headerClickToCollapse&&(this._elements.header.tabIndex=0,this._elements.header.setAttribute("role","button"),this._register((0,Wt.ko)(this._elements.header,Wt.Bx.CLICK,Ct=>{const bt=Ct.target;bt instanceof Element&&(bt.closest(".actions")||bt.closest(".collapse-button")||this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0))})),this._register((0,Wt.ko)(this._elements.header,Wt.Bx.KEY_DOWN,Ct=>{if(Ct.key==="Enter"||Ct.key===" "){const bt=Ct.target;if(bt instanceof Element&&(bt.closest(".actions")||bt.closest(".collapse-button")))return;Ct.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}))),this._register((0,wo.fm)(Ct=>{const bt=this._collapsed.read(Ct);this._elements.editor.style.display=bt?"none":"block",this._workbenchUIElementFactory.headerClickToCollapse&&this._elements.header.setAttribute("aria-expanded",String(!bt))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(Ct=>{const bt=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(bt,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(Ct=>{const bt=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(bt,void 0)})),this._register(this.editor.onDidContentSizeChange(Ct=>{(0,oo.YY)(bt=>{this._editorContentHeight.set(Ct.contentHeight,bt),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),bt),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),bt)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(Ct=>{if(this._isSettingScrollTop||!Ct.scrollTopChanged||!this._data)return;const bt=Ct.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(bt)})),this._register((0,wo.fm)(Ct=>{const bt=this._viewModel.read(Ct)?.isActive.read(Ct);this._elements.root.classList.toggle("active",bt)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(ce.createScoped(this._elements.actions));const Je=this._register(this._instantiationService.createChild(new ml.a([Wn.fN,this._contextKeyService])));this._register(Je.createInstance(kh.m,this._elements.actions,go.D8.MultiDiffEditorFileToolbar,{actionRunner:this._register(new Nh.I(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:Ct=>Ct.startsWith("navigation")},actionViewItemProvider:(Ct,bt)=>(0,Jn.rN)(Je,Ct,bt)}))}setScrollLeft(n){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(n):this.editor.getOriginalEditor().setScrollLeft(n)}setData(n){this._data=n;
736function f(Q){return{...Q,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!n){(0,oo.YY)(Q=>{this._viewModel.set(void 0,Q),this.editor.setDiffModel(null,Q),this._dataStore.clear()});return}const P=n.viewModel.documentDiffItem;if((0,oo.YY)(Q=>{this._resourceLabel?.setUri(n.viewModel.modifiedUri??n.viewModel.originalUri,{strikethrough:n.viewModel.modifiedUri===void 0});let ce=!1,ke=!1,Je=!1,Ct="";n.viewModel.modifiedUri&&n.viewModel.originalUri&&n.viewModel.modifiedUri.path!==n.viewModel.originalUri.path?(Ct="R",ce=!0):n.viewModel.modifiedUri?n.viewModel.originalUri||(Ct="A",Je=!0):(Ct="D",ke=!0),this._elements.status.classList.toggle("renamed",ce),this._elements.status.classList.toggle("deleted",ke),this._elements.status.classList.toggle("added",Je),this._elements.status.innerText=Ct,this._resourceLabel2?.setUri(ce?n.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(n.viewModel,Q),this.editor.setDiffModel(n.viewModel.diffEditorViewModelRef,Q),this.editor.updateOptions(f(P.options??{}))}),P.onOptionsDidChange&&this._dataStore.add(P.onOptionsDidChange(()=>{this.editor.updateOptions(f(P.options??{}))})),n.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,Q=>{Q||this.setData(void 0)}),n.viewModel.documentDiffItem.contextKeys)for(const[Q,ce]of Object.entries(n.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(Q,ce)}render(n,f,P,Q){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${n.start}px`,this._elements.root.style.height=`${n.length}px`,this._elements.root.style.width=`${f}px`,this._elements.root.style.position="absolute";const ce=n.length-this._headerHeight,ke=Math.max(0,Math.min(Q.start-n.start,ce));this._elements.header.style.transform=`translateY(${ke}px)`,(0,oo.YY)(Je=>{this.editor.layout({width:f-2*8-2*1,height:n.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=P,this.editor.getOriginalEditor().setScrollTop(P)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",ke>0||P>0),this._elements.header.classList.toggle("collapsed",ke===ce)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};nh=Ah([ph(3,Vi._Y),ph(4,Wn.fN)],nh);var Bh=e(97393),Fh=e(94513),Wc=e(77011),Hh=e(93702),_h=e(38122),Vh=e(2744);class Uh{constructor(n){this._create=n,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(n){let f;if(this._unused.size===0)f=this._create(n),this._itemData.set(f,n);else{const P=[...this._unused.values()];f=P.find(Q=>this._itemData.get(Q).getId()===n.getId())??P[0],this._unused.delete(f),this._itemData.set(f,n),f.setData(n)}return this._used.add(f),{object:f,dispose:()=>{this._used.delete(f),this._unused.size>5?f.dispose():this._unused.add(f)}}}dispose(){for(const n of this._used)n.dispose();for(const n of this._unused)n.dispose();this._used.clear(),this._unused.clear()}}var jh=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7363&&ce&&Object.defineProperty(n,f,ce),ce},vh=function(Ne,n){return function(f,P){n(f,P,Ne)}};let sh=class extends ae.jG{constructor(n,f,P,Q,ce,ke){super(),this._element=n,this._dimension=f,this._viewModel=P,this._workbenchUIElementFactory=Q,this._parentContextKeyService=ce,this._parentInstantiationService=ke,this._scrollableElements=(0,Wt.h)("div.scrollContent",[(0,Wt.h)("div@content",{style:{overflow:"hidden"}}),(0,Wt.h)("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Fh.yE({forceIntegerValues:!1,scheduleAtNextAnimationFrame:bt=>(0,Wt.PG)((0,Wt.zk)(this._element),bt),smoothScrollDuration:100})),this._scrollableElement=this._register(new Rl.oO(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=(0,Wt.h)("div.monaco-component.multiDiffEditor",{},[(0,Wt.h)("div",{},[this._scrollableElement.getDomNode()]),(0,Wt.h)("div.placeholder@placeholder",{},[(0,Wt.h)("div")])]),this._sizeObserver=this._register(new Vh.pN(this._element,void 0)),this._objectPool=this._register(new Uh(bt=>{const kt=this._instantiationService.createInstance(nh,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return kt.setData(bt),kt})),this.scrollTop=(0,Cl.y0)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=(0,Cl.y0)(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=(0,Ea.un)(this,bt=>{const kt=this._viewModel.read(bt);if(!kt)return{items:[],getItem:bn=>{throw new Ms.D7}};const ni=kt.items.read(bt),Pi=new Map;return{items:ni.map(bn=>{const ss=bt.store.add(new Kh(bn,this._objectPool,this.scrollLeft,js=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+js})})),fs=this._lastDocStates?.[ss.getKey()];return fs&&(0,oo.Rn)(js=>{ss.setViewState(fs,js)}),Pi.set(bn,ss),ss}),getItem:bn=>Pi.get(bn)}}),this._viewItems=this._viewItemsInfo.map(this,bt=>bt.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(bt,kt)=>bt.reduce((ni,Pi)=>ni+Pi.contentHeight.read(kt)+this._spaceBetweenPx,0)),this.activeControl=(0,Ea.un)(this,bt=>{const kt=this._viewModel.read(bt)?.activeDiffItem.read(bt);return kt?this._viewItemsInfo.read(bt).getItem(kt).template.read(bt)?.editor:void 0}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ml.a([Wn.fN,this._contextKeyService]))),this._contextKeyService.createKey(_h.R.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register((0,wo.yC)((bt,kt)=>{const ni=this._viewModel.read(bt);if(ni&&ni.contextKeys)for(const[Pi,ki]of Object.entries(ni.contextKeys)){const bn=this._contextKeyService.createKey(Pi,void 0);bn.set(ki),kt.add((0,ae.s)(()=>bn.reset()))}}));const Je=this._parentContextKeyService.createKey(_h.R.multiDiffEditorAllCollapsed.key,!1);this._register((0,wo.fm)(bt=>{const kt=this._viewModel.read(bt);if(kt){const ni=kt.items.read(bt).every(Pi=>Pi.collapsed.read(bt));Je.set(ni)}})),this._register((0,wo.fm)(bt=>{const kt=this._dimension.read(bt);this._sizeObserver.observe(kt)}));const Ct=(0,Ea.un)(bt=>{if(this._viewItems.read(bt).length>0)return;const ni=this._viewModel.read(bt);return!ni||ni.isLoading.read(bt)?(0,Ot.kg)(161,"Loading..."):(0,Ot.kg)(162,"No Changed Files")});this._register((0,wo.fm)(bt=>{const kt=Ct.read(bt);this._elements.placeholder.innerText=kt??"",this._elements.placeholder.classList.toggle("visible",!!kt)})),this._scrollableElements.content.style.position="relative",this._register((0,wo.fm)(bt=>{const kt=this._sizeObserver.height.read(bt);this._scrollableElements.root.style.height=`${kt}px`;const ni=this._totalHeight.read(bt);this._scrollableElements.content.style.height=`${ni}px`;const Pi=this._sizeObserver.width.read(bt);let ki=Pi;const bn=this._viewItems.read(bt),ss=(0,Bh.Cn)(bn,(0,$s.VE)(fs=>fs.maxScroll.read(bt).maxScroll,$s.U9));if(ss){const fs=ss.maxScroll.read(bt);ki=Pi+fs.maxScroll}this._scrollableElement.setScrollDimensions({width:Pi,height:kt,scrollHeight:ni,scrollWidth:ki})})),n.replaceChildren(this._elements.root),this._register((0,ae.s)(()=>{n.replaceChildren()})),this._register((0,wo.fm)(bt=>{const kt=this._viewModel.read(bt);
736if(kt&&!kt.isLoading.read(bt)){if(kt.items.read(bt).length===0||kt.activeDiffItem.read(bt))return;this.goToNextChange()}})),this._register(this._register((0,wo.fm)(bt=>{(0,oo.YY)(kt=>{this.render(bt)})})))}reveal(n,f){const P=this._viewItems.get(),Q=P.findIndex(bt=>bt.viewModel.originalUri?.toString()===n.original?.toString()&&bt.viewModel.modifiedUri?.toString()===n.modified?.toString());if(Q===-1)throw new Ms.D7("Resource not found in diff editor");const ce=P[Q];this._viewModel.get().activeDiffItem.setCache(ce.viewModel,void 0);let ke=0;for(let bt=0;bt<Q;bt++)ke+=P[bt].contentHeight.get()+this._spaceBetweenPx;this._scrollableElement.setScrollPosition({scrollTop:ke});const Je=ce.template.get()?.editor,Ct="original"in n?Je?.getOriginalEditor():Je?.getModifiedEditor();Ct&&f?.range&&(Ct.revealRangeInCenter(f.range),zh(Ct,f.range))}goToNextChange(){this._navigateToChange("next")}_navigateToChange(n){const f=this._viewItems.get();if(f.length===0)return;const P=this._viewModel.get()?.activeDiffItem.get(),Q=P?f.findIndex(Ct=>Ct.viewModel===P):-1;if(Q===-1){this._goToFile(0,"first");return}const ce=f[Q];ce.viewModel.collapsed.get()&&ce.viewModel.collapsed.set(!1,void 0);const ke=ce.template.get()?.editor;if(ke?.getDiffComputationResult()?.changes2?.length){const Ct=ke.getModifiedEditor().getPosition()?.lineNumber||1,bt=ke.getDiffComputationResult().changes2;if(n==="next"?bt.some(ni=>ni.modified.startLineNumber>Ct):bt.some(ni=>ni.modified.endLineNumberExclusive<=Ct)){ke.goToDiff(n);return}}const Je=(Q+(n==="next"?1:-1)+f.length)%f.length;this._goToFile(Je,n==="next"?"first":"last")}_goToFile(n,f){const P=this._viewItems.get()[n];P.viewModel.collapsed.get()&&P.viewModel.collapsed.set(!1,void 0),this.reveal({original:P.viewModel.originalUri,modified:P.viewModel.modifiedUri});const Q=P.template.get()?.editor;if(Q?.getDiffComputationResult()?.changes2?.length)if(f==="first")Q.revealFirstDiff();else{const ce=Q.getDiffComputationResult().changes2.at(-1),ke=Q.getModifiedEditor();ke.setPosition({lineNumber:ce.modified.startLineNumber,column:1}),ke.revealLineInCenter(ce.modified.startLineNumber)}Q?.focus()}render(n){const f=this.scrollTop.read(n);let P=0,Q=0,ce=0;const ke=this._sizeObserver.height.read(n),Je=Wc.L.ofStartAndLength(f,ke),Ct=this._sizeObserver.width.read(n);for(const bt of this._viewItems.read(n)){const kt=bt.contentHeight.read(n),ni=Math.min(kt,ke),Pi=Wc.L.ofStartAndLength(Q,ni),ki=Wc.L.ofStartAndLength(ce,kt);if(ki.isBefore(Je))P-=kt-ni,bt.hide();else if(ki.isAfter(Je))bt.hide();else{const bn=Math.max(0,Math.min(Je.start-ki.start,kt-ni));P-=bn;const ss=Wc.L.ofStartAndLength(f+P,ke);bt.render(Pi,bn,Ct,ss)}Q+=ni+this._spaceBetweenPx,ce+=kt+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(f+P)}px)`}};sh=jh([vh(4,Wn.fN),vh(5,Vi._Y)],sh);function zh(Ne,n){const f=Ne.getModel(),P=Ne.createDecorationsCollection([{range:n,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{Ne.getModel()===f&&P.clear()},350)}class Kh extends ae.jG{constructor(n,f,P,Q){super(),this.viewModel=n,this._objectPool=f,this._scrollLeft=P,this._deltaScrollVertical=Q,this._templateRef=this._register((0,Js.X2)(this,void 0)),this.contentHeight=(0,Ea.un)(this,ce=>this._templateRef.read(ce)?.object.contentHeight?.read(ce)??this.viewModel.lastTemplateData.read(ce).contentHeight),this.maxScroll=(0,Ea.un)(this,ce=>this._templateRef.read(ce)?.object.maxScroll.read(ce)??{maxScroll:0,scrollWidth:0}),this.template=(0,Ea.un)(this,ce=>this._templateRef.read(ce)?.object),this._isHidden=(0,Js.FY)(this,!1),this._isFocused=(0,Ea.un)(this,ce=>this.template.read(ce)?.isFocused.read(ce)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register((0,wo.fm)(ce=>{const ke=this._scrollLeft.read(ce);this._templateRef.read(ce)?.object.setScrollLeft(ke)})),this._register((0,wo.fm)(ce=>{const ke=this._templateRef.read(ce);!ke||!this._isHidden.read(ce)||ke.object.isFocused.read(ce)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(n,f){this.viewModel.collapsed.set(n.collapsed,f),this._updateTemplateData(f);const P=this.viewModel.lastTemplateData.get(),Q=n.selections?.map(Hh.L.liftSelection);this.viewModel.lastTemplateData.set({...P,selections:Q},f);const ce=this._templateRef.get();ce&&Q&&ce.object.editor.setSelections(Q)}_updateTemplateData(n){const f=this._templateRef.get();f&&this.viewModel.lastTemplateData.set({contentHeight:f.object.contentHeight.get(),selections:f.object.editor.getSelections()??void 0},n)}_clear(){const n=this._templateRef.get();n&&(0,oo.Rn)(f=>{this._updateTemplateData(f),n.object.hide(),this._templateRef.set(void 0,f)})}hide(){this._isHidden.set(!0,void 0)}render(n,f,P,Q){this._isHidden.set(!1,void 0);let ce=this._templateRef.get();if(!ce){ce=this._objectPool.getUnusedObj(new Wh(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(ce,void 0);const ke=this.viewModel.lastTemplateData.get().selections;ke&&ce.object.editor.setSelections(ke)}ce.object.render(n,P,f,Q)}}var Gh=e(97148),$h=function(Ne,n,f,P){var Q=arguments.length,ce=Q<3?n:P===null?P=Object.getOwnPropertyDescriptor(n,f):P,ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ce=Reflect.decorate(Ne,n,f,P);else for(var Je=Ne.length-1;Je>=0;Je--)(ke=Ne[Je])&&(ce=(Q<3?ke(ce):Q>3?ke(n,f,ce):ke(n,f))||ce);return Q>
7363&&ce&&Object.defineProperty(n,f,ce),ce},Qh=function(Ne,n){return function(f,P){n(f,P,Ne)}};let oh=class extends ae.jG{constructor(n,f,P){super(),this._element=n,this._workbenchUIElementFactory=f,this._instantiationService=P,this._dimension=(0,Js.FY)(this,void 0),this._viewModel=(0,Js.FY)(this,void 0),this._widgetImpl=(0,Ea.un)(this,Q=>Q.store.add(this._instantiationService.createInstance((0,Ph.b)(sh),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))),this._register((0,Gh.OI)(this._widgetImpl))}};oh=$h([Qh(2,Vi._Y)],oh);function Yh(Ne,n,f){return _n.initialize(f||{}).createInstance(th,Ne,n)}function Zh(Ne){return _n.get(Ye.T).onCodeEditorAdd(f=>{Ne(f)})}function Xh(Ne){return _n.get(Ye.T).onDiffEditorAdd(f=>{Ne(f)})}function Jh(){return _n.get(Ye.T).listCodeEditors()}function qh(){return _n.get(Ye.T).listDiffEditors()}function eu(Ne,n,f){return _n.initialize(f||{}).createInstance(ih,Ne,n)}function tu(Ne,n){const f=_n.initialize(n||{});return new oh(Ne,{},f)}function iu(Ne){if(typeof Ne.id!="string"||typeof Ne.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Eo.w.registerCommand(Ne.id,Ne.run)}function nu(Ne){if(typeof Ne.id!="string"||typeof Ne.label!="string"||typeof Ne.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const n=Wn.M$.deserialize(Ne.precondition),f=(Q,...ce)=>$e.DX.runEditorCommand(Q,ce,n,(ke,Je,Ct)=>Promise.resolve(Ne.run(Je,...Ct))),P=new ae.Cm;if(P.add(Eo.w.registerCommand(Ne.id,f)),Ne.contextMenuGroupId){const Q={command:{id:Ne.id,title:Ne.label},when:n,group:Ne.contextMenuGroupId,order:Ne.contextMenuOrder||0};P.add(go.ZG.appendMenuItem(go.D8.EditorContext,Q))}if(Array.isArray(Ne.keybindings)){const Q=_n.get(Nn.b);if(!(Q instanceof wi))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const ce=Wn.M$.and(n,Wn.M$.deserialize(Ne.keybindingContext));P.add(Q.addDynamicKeybindings(Ne.keybindings.map(ke=>({keybinding:ke,command:Ne.id,when:ce}))))}}return P}function su(Ne){return Ch([Ne])}function Ch(Ne){const n=_n.get(Nn.b);return n instanceof wi?n.addDynamicKeybindings(Ne.map(f=>({keybinding:f.keybinding,command:f.command,commandArgs:f.commandArgs,when:Wn.M$.deserialize(f.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),ae.jG.None)}function ou(Ne,n,f){const P=_n.get(q.L),Q=P.getLanguageIdByMimeType(n)||n;return gh(_n.get(De.S),P,Ne,Q,f)}function ru(Ne,n){const f=_n.get(q.L),P=f.getLanguageIdByMimeType(n)||n||ue.vH;Ne.setLanguage(f.createById(P))}function au(Ne,n,f){Ne&&_n.get(Xs.DR).changeOne(n,Ne.uri,f)}function lu(Ne){_n.get(Xs.DR).changeAll(Ne,[])}function du(Ne){return _n.get(Xs.DR).read(Ne)}function cu(Ne){return _n.get(Xs.DR).onMarkerChanged(Ne)}function hu(Ne){return _n.get(De.S).getModel(Ne)}function uu(){return _n.get(De.S).getModels()}function gu(Ne){return _n.get(De.S).onModelAdded(Ne)}function fu(Ne){return _n.get(De.S).onModelRemoved(Ne)}function mu(Ne){return _n.get(De.S).onModelLanguageChanged(f=>{Ne({model:f.model,oldLanguage:f.oldLanguageId})})}function pu(Ne){return He(_n.get(De.S),_n.get(Vo.d),Ne)}function _u(Ne,n){const f=_n.get(q.L),P=_n.get(ar.L);return Xn.colorizeElement(P,f,Ne,n).then(()=>{P.registerEditorContainer(Ne)})}function vu(Ne,n,f){const P=_n.get(q.L);return _n.get(ar.L).registerEditorContainer(je.G.document.body),Xn.colorize(P,Ne,n,f)}function Cu(Ne,n,f=4){return _n.get(ar.L).registerEditorContainer(je.G.document.body),Xn.colorizeModelLine(Ne,n,f)}function bu(Ne){const n=oe.dG.get(Ne);return n||{getInitialState:()=>J.r3,tokenize:(f,P,Q)=>(0,J.$H)(Ne,Q)}}function Su(Ne,n){oe.dG.getOrCreate(n);const f=bu(n),P=(0,Ee.uz)(Ne),Q=[];let ce=f.getInitialState();for(let ke=0,Je=P.length;ke<Je;ke++){const Ct=P[ke],bt=f.tokenize(Ct,!0,ce);Q[ke]=bt.tokens,ce=bt.endState}return Q}function yu(Ne,n){_n.get(ar.L).defineTheme(Ne,n)}function wu(Ne){_n.get(ar.L).setTheme(Ne)}function Eu(){Ue.T.clearAllFontInfos()}function Lu(Ne,n){return Eo.w.registerCommand({id:Ne,handler:n})}function Du(Ne){return _n.get(ua.Cr).registerOpener({async open(f){return typeof f=="string"&&(f=Ie.r.parse(f)),Ne.open(f)}})}function xu(Ne){return _n.get(Ye.T).registerCodeEditorOpenHandler(async(f,P,Q)=>
736{if(!P)return null;const ce=f.options?.selection;let ke;return ce&&typeof ce.endLineNumber=="number"&&typeof ce.endColumn=="number"?ke=ce:ce&&(ke={lineNumber:ce.startLineNumber,column:ce.startColumn}),await Ne.openCodeEditor(P,f.resource,ke)?P:null})}function Iu(){return{create:Yh,getEditors:Jh,getDiffEditors:qh,onDidCreateEditor:Zh,onDidCreateDiffEditor:Xh,createDiffEditor:eu,addCommand:iu,addEditorAction:nu,addKeybindingRule:su,addKeybindingRules:Ch,createModel:ou,setModelLanguage:ru,setModelMarkers:au,getModelMarkers:du,removeAllMarkers:lu,onDidChangeMarkers:cu,getModels:uu,getModel:hu,onDidCreateModel:gu,onWillDisposeModel:fu,onDidChangeModelLanguage:mu,createWebWorker:pu,colorizeElement:_u,colorize:vu,colorizeModelLine:Cu,tokenize:Su,defineTheme:yu,setTheme:wu,remeasureFonts:Eu,registerCommand:Lu,registerLinkOpener:Du,registerEditorOpener:xu,AccessibilitySupport:fe.Gn,ContentWidgetPositionPreference:fe.Qj,CursorChangeReason:fe.h5,DefaultEndOfLine:fe.of,EditorAutoIndentStrategy:fe.e0,EditorOption:fe.p2,EndOfLinePreference:fe.kf,EndOfLineSequence:fe.WU,MinimapPosition:fe.R3,MinimapSectionHeaderStyle:fe.VX,MouseTargetType:fe.hS,OverlayWidgetPositionPreference:fe.dE,OverviewRulerLane:fe.A5,GlyphMarginLane:fe.ZS,RenderLineNumbersType:fe.DO,RenderMinimap:fe.hW,ScrollbarVisibility:fe.XR,ScrollType:fe.ov,TextEditorCursorBlinkingStyle:fe.U7,TextEditorCursorStyle:fe.m9,TrackedRangeStickiness:fe.kK,WrappingIndent:fe.tJ,InjectedTextCursorStops:fe.VW,PositionAffinity:fe.Ic,ShowLightbulbIconMode:fe.jT,TextDirection:fe.z4,ConfigurationChangedEvent:_e.lw,BareFontInfo:ht._8,FontInfo:ht.YJ,TextModelResolvedOptions:ve.X2,FindMatch:ve.Dg,ApplyUpdateResult:_e.hZ,EditorZoom:qe.D,createMultiFileDiffEditor:tu,EditorType:Te._,EditorOptions:_e.qB}}var Tu=e(94901);function Mu(Ne,n){if(!n||!Array.isArray(n))return!1;for(const f of n)if(!Ne(f))return!1;return!0}function Bc(Ne,n){return typeof Ne=="boolean"?Ne:n}function bh(Ne,n){return typeof Ne=="string"?Ne:n}function Ru(Ne){const n={};for(const f of Ne)n[f]=!0;return n}function Sh(Ne,n=!1){n&&(Ne=Ne.map(function(P){return P.toLowerCase()}));const f=Ru(Ne);return n?function(P){return f[P.toLowerCase()]!==void 0&&f.hasOwnProperty(P.toLowerCase())}:function(P){return f[P]!==void 0&&f.hasOwnProperty(P)}}function rh(Ne,n,f){n=n.replace(/@@/g,"�");let P=0,Q;do Q=!1,n=n.replace(/@(\w+)/g,function(ke,Je){Q=!0;let Ct="";if(typeof Ne[Je]=="string")Ct=Ne[Je];else if(Ne[Je]&&Ne[Je]instanceof RegExp)Ct=Ne[Je].source;else throw Ne[Je]===void 0?pt(Ne,"language definition does not contain attribute '"+Je+"', used at: "+n):pt(Ne,"attribute reference '"+Je+"' must be a string, used at: "+n);return ri(Ct)?"":"(?:"+Ct+")"}),P++;while(Q&&P<5);n=n.replace(/\x01/g,"@");const ce=(Ne.ignoreCase?"i":"")+(Ne.unicode?"u":"");if(f&&n.match(/\$[sS](\d\d?)/g)){let Je=null,Ct=null;return bt=>(Ct&&Je===bt||(Je=bt,Ct=new RegExp(st(Ne,n,bt),ce)),Ct)}return new RegExp(n,ce)}function Ou(Ne,n,f,P){if(P<0)return Ne;if(P<n.length)return n[P];if(P>=100){P=P-100;const Q=f.split(".");if(Q.unshift(f),P<Q.length)return Q[P]}return null}function Pu(Ne,n,f,P){let Q=-1,ce=f,ke=f.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);ke&&(ke[3]&&(Q=parseInt(ke[3]),ke[2]&&(Q=Q+100)),ce=ke[4]);let Je="~",Ct=ce;!ce||ce.length===0?(Je="!=",Ct=""):/^\w*$/.test(Ct)?Je="==":(ke=ce.match(/^(@|!@|~|!~|==|!=)(.*)$/),ke&&(Je=ke[1],Ct=ke[2]));let bt;if((Je==="~"||Je==="!~")&&/^(\w|\|)*$/.test(Ct)){const kt=Sh(Ct.split("|"),Ne.ignoreCase);bt=function(ni){return Je==="~"?kt(ni):!kt(ni)}}else if(Je==="@"||Je==="!@"){const kt=Ne[Ct];if(!kt)throw pt(Ne,"the @ match target '"+Ct+"' is not defined, in rule: "+n);if(!Mu(function(Pi){return typeof Pi=="string"},kt))throw pt(Ne,"the @ match target '"+Ct+"' must be an array of strings, in rule: "+n);const ni=Sh(kt,Ne.ignoreCase);bt=function(Pi){return Je==="@"?ni(Pi):!ni(Pi)}}else if(Je==="~"||Je==="!~")if(Ct.indexOf("$")<0){const kt=rh(Ne,"^"+Ct+"$",!1);bt=function(ni){return Je==="~"?kt.test(ni):!kt.test(ni)}}else bt=function(kt,ni,Pi,ki){return rh(Ne,"^"+Fe(Ne,Ct,ni,Pi,ki)+"$",!1).test(kt)};else if(Ct.indexOf("$")<0){const kt=Gt(Ne,Ct);bt=function(ni){return Je==="=="?ni===kt:ni!==kt}}
736else{const kt=Gt(Ne,Ct);bt=function(ni,Pi,ki,bn,ss){const fs=Fe(Ne,kt,Pi,ki,bn);return Je==="=="?ni===fs:ni!==fs}}return Q===-1?{name:f,value:P,test:function(kt,ni,Pi,ki){return bt(kt,kt,ni,Pi,ki)}}:{name:f,value:P,test:function(kt,ni,Pi,ki){const bn=Ou(kt,ni,Pi,Q);return bt(bn||"",kt,ni,Pi,ki)}}}function ah(Ne,n,f){if(f){if(typeof f=="string")return f;if(f.token||f.token===""){if(typeof f.token!="string")throw pt(Ne,"a 'token' attribute must be of type string, in rule: "+n);{const P={token:f.token};if(f.token.indexOf("$")>=0&&(P.tokenSubst=!0),typeof f.bracket=="string")if(f.bracket==="@open")P.bracket=1;else if(f.bracket==="@close")P.bracket=-1;else throw pt(Ne,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+n);if(f.next){if(typeof f.next!="string")throw pt(Ne,"the next state must be a string value in rule: "+n);{let Q=f.next;if(!/^(@pop|@push|@popall)$/.test(Q)&&(Q[0]==="@"&&(Q=Q.substr(1)),Q.indexOf("$")<0&&!Yt(Ne,Fe(Ne,Q,"",[],""))))throw pt(Ne,"the next state '"+f.next+"' is not defined in rule: "+n);P.next=Q}}return typeof f.goBack=="number"&&(P.goBack=f.goBack),typeof f.switchTo=="string"&&(P.switchTo=f.switchTo),typeof f.log=="string"&&(P.log=f.log),typeof f.nextEmbedded=="string"&&(P.nextEmbedded=f.nextEmbedded,Ne.usesEmbedded=!0),P}}else if(Array.isArray(f)){const P=[];for(let Q=0,ce=f.length;Q<ce;Q++)P[Q]=ah(Ne,n,f[Q]);return{group:P}}else if(f.cases){const P=[];let Q=!1;for(const ke in f.cases)if(f.cases.hasOwnProperty(ke)){const Je=ah(Ne,n,f.cases[ke]);ke==="@default"||ke==="@"||ke===""?P.push({test:void 0,value:Je,name:ke}):ke==="@eos"?P.push({test:function(Ct,bt,kt,ni){return ni},value:Je,name:ke}):P.push(Pu(Ne,n,ke,Je)),Q||(Q=!(0,Ki.Kg)(Je)&&(Je.hasEmbeddedEndInCases||["@pop","@popall"].includes(Je.nextEmbedded||"")))}const ce=Ne.defaultToken;return{hasEmbeddedEndInCases:Q,test:function(ke,Je,Ct,bt){for(const kt of P)if(!kt.test||kt.test(ke,Je,Ct,bt))return kt.value;return ce}}}else throw pt(Ne,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+n)}else return{token:""}}class ku{constructor(n){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=n}setRegex(n,f){let P;if(typeof f=="string")P=f;else if(f instanceof RegExp)P=f.source;else throw pt(n,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=P.length>0&&P[0]==="^",this.name=this.name+": "+P,this.regex=rh(n,"^(?:"+(this.matchOnlyAtLineStart?P.substr(1):P)+")",!0)}setAction(n,f){this.action=ah(n,this.name,f)}resolveRegex(n){return this.regex instanceof RegExp?this.regex:this.regex(n)}}function yh(Ne,n){if(!n||typeof n!="object")throw new Error("Monarch: expecting a language definition object");const f={languageId:Ne,includeLF:Bc(n.includeLF,!1),noThrow:!1,maxStack:100,start:typeof n.start=="string"?n.start:null,ignoreCase:Bc(n.ignoreCase,!1),unicode:Bc(n.unicode,!1),tokenPostfix:bh(n.tokenPostfix,"."+Ne),defaultToken:bh(n.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},P=n;P.languageId=Ne,P.includeLF=f.includeLF,P.ignoreCase=f.ignoreCase,P.unicode=f.unicode,P.noThrow=f.noThrow,P.usesEmbedded=f.usesEmbedded,P.stateNames=n.tokenizer,P.defaultToken=f.defaultToken;function Q(ke,Je,Ct){for(const bt of Ct){let kt=bt.include;if(kt){if(typeof kt!="string")throw pt(f,"an 'include' attribute must be a string at: "+ke);if(kt[0]==="@"&&(kt=kt.substr(1)),!n.tokenizer[kt])throw pt(f,"include target '"+kt+"' is not defined at: "+ke);Q(ke+"."+kt,Je,n.tokenizer[kt])}else{const ni=new ku(ke);if(Array.isArray(bt)&&bt.length>=1&&bt.length<=3)if(ni.setRegex(P,bt[0]),bt.length>=3)if(typeof bt[1]=="string")ni.setAction(P,{token:bt[1],next:bt[2]});else if(typeof bt[1]=="object"){const Pi=bt[1];Pi.next=bt[2],ni.setAction(P,Pi)}else throw pt(f,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+ke);else ni.setAction(P,bt[1]);else{if(!bt.regex)throw pt(f,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+ke);bt.name&&typeof bt.name=="string"&&(ni.name=bt.name),bt.matchOnlyAtStart&&(ni.matchOnlyAtLineStart=Bc(bt.matchOnlyAtLineStart,!1)),ni.setRegex(P,bt.regex),ni.setAction(P,bt.action)}Je.push(ni)}}}if(!n.tokenizer||typeof n.tokenizer!="object")throw pt(f,"a language definition must define the 'tokenizer' attribute as an object");f.tokenizer=[];for(const ke in n.tokenizer)if(n.tokenizer.hasOwnProperty(ke)){f.start||(f.start=ke);const Je=n.tokenizer[ke];f.tokenizer[ke]=new Array,Q("tokenizer."+ke,f.tokenizer[ke],Je)}if(f.usesEmbedded=P.usesEmbedded,n.brackets){if(!Array.isArray(n.brackets))throw pt(f,"the 'brackets' attribute must be defined as an array")}else n.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const ce=[];for(const ke of n.brackets){let Je=ke;if(Je&&Array.isArray(Je)&&Je.length===3&&(Je={token:Je[2],open:Je[0],close:Je[1]}),Je.open===Je.close)throw pt(f,"open and close brackets in a 'brackets' attribute must be different: "+Je.open+`
737 hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof Je.open=="string"&&typeof Je.token=="string"&&typeof Je.close=="string")ce.push({token:Je.token+f.tokenPostfix,open:Gt(f,Je.open),close:Gt(f,Je.close)});else throw pt(f,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return f.brackets=ce,f.noThrow=!0,f}var Nu=e(32471);function Au(Ne){ue.W6.registerLanguage(Ne)}function Wu(){let Ne=[];return Ne=Ne.concat(ue.W6.getLanguages()),Ne}function Bu(Ne){return _n.get(q.L).languageIdCodec.encodeLanguageId(Ne)}function Fu(Ne,n){return _n.withServices(()=>{const P=_n.get(q.L).onDidRequestRichLanguageFeatures(Q=>{Q===Ne&&(P.dispose(),n())});return P})}function Hu(Ne,n){return _n.withServices(()=>{const P=_n.get(q.L).onDidRequestBasicLanguageFeatures(Q=>{Q===Ne&&(P.dispose(),n())});return P})}function Vu(Ne,n){if(!_n.get(q.L).isRegisteredLanguageId(Ne))throw new Error(`Cannot set configuration for unknown language ${Ne}`);return _n.get(to.JZ).register(Ne,n,100)}class Uu{constructor(n,f){this._languageId=n,this._actual=f}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(n,f,P){if(typeof this._actual.tokenize=="function")return xc.adaptTokenize(this._languageId,this._actual,n,P);throw new Error("Not supported!")}tokenizeEncoded(n,f,P){const Q=this._actual.tokenizeEncoded(n,P);return new oe.rY(Q.tokens,[],Q.endState)}}class xc{constructor(n,f,P,Q){this._languageId=n,this._actual=f,this._languageService=P,this._standaloneThemeService=Q}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(n,f){const P=[];let Q=0;for(let ce=0,ke=n.length;ce<ke;ce++){const Je=n[ce];let Ct=Je.startIndex;ce===0?Ct=0:Ct<Q&&(Ct=Q),P[ce]=new oe.ou(Ct,Je.scopes,f),Q=Ct}return P}static adaptTokenize(n,f,P,Q){const ce=f.tokenize(P,Q),ke=xc._toClassicTokens(ce.tokens,n);let Je;return ce.endState.equals(Q)?Je=Q:Je=ce.endState,new oe.$M(ke,Je)}tokenize(n,f,P){return xc.adaptTokenize(this._languageId,this._actual,n,P)}_toBinaryTokens(n,f){const P=n.encodeLanguageId(this._languageId),Q=this._standaloneThemeService.getColorTheme(
737).tokenTheme,ce=[];let ke=0,Je=0;for(let bt=0,kt=f.length;bt<kt;bt++){const ni=f[bt],Pi=Q.match(P,ni.scopes)|1024;if(ke>0&&ce[ke-1]===Pi)continue;let ki=ni.startIndex;bt===0?ki=0:ki<Je&&(ki=Je),ce[ke++]=ki,ce[ke++]=Pi,Je=ki}const Ct=new Uint32Array(ke);for(let bt=0;bt<ke;bt++)Ct[bt]=ce[bt];return Ct}tokenizeEncoded(n,f,P){const Q=this._actual.tokenize(n,P),ce=this._toBinaryTokens(this._languageService.languageIdCodec,Q.tokens);let ke;return Q.endState.equals(P)?ke=P:ke=Q.endState,new oe.rY(ce,[],ke)}}function ju(Ne){return typeof Ne.getInitialState=="function"}function zu(Ne){return"tokenizeEncoded"in Ne}function wh(Ne){return Ne&&typeof Ne.then=="function"}function Ku(Ne){const n=_n.get(ar.L);if(Ne){const f=[null];for(let P=1,Q=Ne.length;P<Q;P++)f[P]=Tu.Q1.fromHex(Ne[P]);n.setColorMapOverride(f)}else n.setColorMapOverride(null)}function Eh(Ne,n){return zu(n)?new Uu(Ne,n):new xc(Ne,n,_n.get(q.L),_n.get(ar.L))}function lh(Ne,n){const f=new oe.v_(async()=>{const P=await Promise.resolve(n.create());return P?ju(P)?Eh(Ne,P):new zn(_n.get(q.L),_n.get(ar.L),Ne,yh(Ne,P),_n.get(Si.pG)):null});return oe.dG.registerFactory(Ne,f)}function Gu(Ne,n){if(!_n.get(q.L).isRegisteredLanguageId(Ne))throw new Error(`Cannot set tokens provider for unknown language ${Ne}`);return wh(n)?lh(Ne,{create:()=>n}):oe.dG.register(Ne,Eh(Ne,n))}function $u(Ne,n){const f=P=>new zn(_n.get(q.L),_n.get(ar.L),Ne,yh(Ne,P),_n.get(Si.pG));return wh(n)?lh(Ne,{create:()=>n}):oe.dG.register(Ne,f(n))}function Qu(Ne,n){return _n.get(Ln.u).referenceProvider.register(Ne,n)}function Yu(Ne,n){return _n.get(Ln.u).renameProvider.register(Ne,n)}function Zu(Ne,n){return _n.get(Ln.u).newSymbolNamesProvider.register(Ne,n)}function Xu(Ne,n){return _n.get(Ln.u).signatureHelpProvider.register(Ne,n)}function Ju(Ne,n){return _n.get(Ln.u).hoverProvider.register(Ne,{provideHover:async(P,Q,ce,ke)=>{const Je=P.getWordAtPosition(Q);return Promise.resolve(n.provideHover(P,Q,ce,ke)).then(Ct=>{if(Ct)return!Ct.range&&Je&&(Ct.range=new Ar.Q(Q.lineNumber,Je.startColumn,Q.lineNumber,Je.endColumn)),Ct.range||(Ct.range=new Ar.Q(Q.lineNumber,Q.column,Q.lineNumber,Q.column)),Ct})}})}function qu(Ne,n){return _n.get(Ln.u).documentSymbolProvider.register(Ne,n)}function eg(Ne,n){return _n.get(Ln.u).documentHighlightProvider.register(Ne,n)}function tg(Ne,n){return _n.get(Ln.u).linkedEditingRangeProvider.register(Ne,n)}function ig(Ne,n){return _n.get(Ln.u).definitionProvider.register(Ne,n)}function ng(Ne,n){return _n.get(Ln.u).implementationProvider.register(Ne,n)}function sg(Ne,n){return _n.get(Ln.u).typeDefinitionProvider.register(Ne,n)}function og(Ne,n){return _n.get(Ln.u).codeLensProvider.register(Ne,n)}function rg(Ne,n,f){return _n.get(Ln.u).codeActionProvider.register(Ne,{providedCodeActionKinds:f?.providedCodeActionKinds,documentation:f?.documentation,provideCodeActions:(Q,ce,ke,Je)=>{const bt=_n.get(Xs.DR).read({resource:Q.uri}).filter(kt=>Ar.Q.areIntersectingOrTouching(kt,ce));return n.provideCodeActions(Q,ce,{markers:bt,only:ke.only,trigger:ke.trigger},Je)},resolveCodeAction:n.resolveCodeAction})}function ag(Ne,n){return _n.get(Ln.u).documentFormattingEditProvider.register(Ne,n)}function lg(Ne,n){return _n.get(Ln.u).documentRangeFormattingEditProvider.register(Ne,n)}function dg(Ne,n){return _n.get(Ln.u).onTypeFormattingEditProvider.register(Ne,n)}function cg(Ne,n){return _n.get(Ln.u).linkProvider.register(Ne,n)}function hg(Ne,n){return _n.get(Ln.u).completionProvider.register(Ne,n)}function ug(Ne,n){return _n.get(Ln.u).colorProvider.register(Ne,n)}function gg(Ne,n){return _n.get(Ln.u).foldingRangeProvider.register(Ne,n)}function fg(Ne,n){return _n.get(Ln.u).declarationProvider.register(Ne,n)}function mg(Ne,n){return _n.get(Ln.u).selectionRangeProvider.register(Ne,n)}function pg(Ne,n){return _n.get(Ln.u).documentSemanticTokensProvider.register(Ne,n)}function _g(Ne,n){return _n.get(Ln.u).documentRangeSemanticTokensProvider.register(Ne,n)}function vg(Ne,n){return _n.get(Ln.u).inlineCompletionsProvider.register(Ne,n)}function Cg(Ne,n){return _n.get(Ln.u).inlayHintsProvider.register(Ne,n)}function bg(){return{register:Au,getLanguages:Wu,onLanguage:Fu,onLanguageEncountered:Hu,getEncodedLanguageId:Bu,setLanguageConfiguration:Vu,setColorMap:Ku,registerTokensProviderFactory:lh,setTokensProvider:Gu,setMonarchTokensProvider:$u,registerReferenceProvider:Qu,registerRenameProvider:Yu,registerNewSymbolNameProvider:Zu,registerCompletionItemProvider:hg,registerSignatureHelpProvider:Xu,registerHoverProvider:Ju,registerDocumentSymbolProvider:qu,registerDocumentHighlightProvider:eg,registerLinkedEditingRangeProvider:tg,registerDefinitionProvider:ig,registerImplementationProvider:ng,registerTypeDefinitionProvider:sg,registerCodeLensProvider:og,registerCodeActionProvider:rg,registerDocumentFormattingEditProvider:ag,registerDocumentRangeFormattingEditProvider:lg,registerOnTypeFormattingEditProvider:dg,registerLinkProvider:cg,registerColorProvider:ug,registerFoldingRangeProvider:gg,registerDeclarationProvider:fg,registerSelectionRangeProvider:mg,registerDocumentSemanticTokensProvider:pg,registerDocumentRangeSemanticTokensProvider:_g,registerInlineCompletionsProvider:vg,registerInlayHintsProvi
737der:Cg,DocumentHighlightKind:fe.Kb,CompletionItemKind:fe.Io,CompletionItemTag:fe.QP,CompletionItemInsertTextRule:fe._E,SymbolKind:fe.v0,SymbolTag:fe.H_,IndentAction:fe.l,CompletionTriggerKind:fe.t7,SignatureHelpTriggerKind:fe.WA,InlayHintKind:fe.r4,InlineCompletionTriggerKind:fe.qw,CodeActionTriggerType:fe.ok,NewSymbolNameTag:fe.OV,NewSymbolNameTriggerKind:fe.YT,PartialAcceptTriggerKind:fe.Ah,HoverVerbosityAction:fe.M$,InlineCompletionEndOfLifeReasonKind:fe.EI,InlineCompletionHintStyle:fe.KU,FoldingRangeKind:oe.lO,SelectedSuggestionInfo:oe.GE,EditDeltaInfo:Nu.lw}}var Sg=e(38801);_e.qB.wrappingIndent.defaultValue=0,_e.qB.glyphMargin.defaultValue=!1,_e.qB.autoIndent.defaultValue=3,_e.qB.overviewRulerLanes.defaultValue=2,Sg.Pj.setFormatterSelector((Ne,n,f)=>Promise.resolve(Ne[0]));const cr=(0,Qe.r)();cr.editor=Iu(),cr.languages=bg();const yg=cr.CancellationTokenSource,Lh=cr.Emitter,wg=cr.KeyCode,Eg=cr.KeyMod,Lg=cr.Position,Dg=cr.Range,xg=cr.Selection,Ig=cr.SelectionDirection,Tg=cr.MarkerSeverity,Mg=cr.MarkerTag,Rg=cr.Uri,Og=cr.Token,Pg=cr.editor,kd=cr.languages,kg=(0,Ro.HT)(),dc=globalThis;(kg?.globalAPI||typeof dc.define=="function"&&dc.define.amd)&&(dc.monaco=cr),typeof dc.require<"u"&&typeof dc.require.config=="function"&&dc.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});class Ng{constructor(n,f,P){this._onDidChange=new Lh,this._languageId=n,this.setDiagnosticsOptions(f),this.setModeConfiguration(P)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(this)}}const Ag={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},Wg={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},Bg=new Ng("json",Ag,Wg),Fg=()=>Dh().then(Ne=>Ne.getWorker());function Dh(){return Promise.all([e.e(226),e.e(213),e.e(744),e.e(76)]).then(e.bind(e,91213))}kd.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),kd.onLanguage("json",()=>{Dh().then(Ne=>Ne.setupMode(Bg))});const xh={},dh={};class ch{static getOrCreate(n){return dh[n]||(dh[n]=new ch(n)),dh[n]}constructor(n){this._languageId=n,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((f,P)=>{this._lazyLoadPromiseResolve=f,this._lazyLoadPromiseReject=P})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,xh[this._languageId].loader().then(n=>this._lazyLoadPromiseResolve(n),n=>this._lazyLoadPromiseReject(n))),this._lazyLoadPromise}}function Il(Ne){const n=Ne.id;xh[n]=Ne,kd.register(Ne);const f=ch.getOrCreate(n);kd.registerTokensProviderFactory(n,{create:async()=>(await f.load()).language}),kd.onLanguageEncountered(n,async()=>{const P=await f.load();kd.setLanguageConfiguration(n,P.conf)})}Il({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>Promise.resolve().then(e.bind(e,42080))}),Il({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>e.e(744).then(e.bind(e,7820))}),Il({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>e.e(744).then(e.bind(e,74746))}),Il({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>e.e(744).then(e.bind(e,66198))}),Il({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>e.e(744).then(e.bind(e,4378))}),Il({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>e.e(744).then(e.bind(e,45348))}),Il({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>e.e(744).then(e.bind(e,17024))}),Il({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>e.e(744).then(e.bind(e,17024))}),Il({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>e.e(744).then(e.bind(e,40356))});var Hg=e(18577);self.MonacoEnvironment=function(Ne){function n(f){return f.replace(/\/$/,"")}return{globalAPI:!1,getWorkerUrl:function(f,P){var Q=e.p,ce=(Q?n(Q)+"/":"")+Ne[P];
737if(/^((http:)|(https:)|(file:)|(\/\/))/.test(ce)){var ke=String(window.location),Je=ke.substr(0,ke.length-window.location.hash.length-window.location.search.length-window.location.pathname.length);if(ce.substring(0,Je.length)!==Je){/^(\/\/)/.test(ce)&&(ce=window.location.protocol+ce);var Ct="/*"+P+'*/importScripts("'+ce+'");',bt=new Blob([Ct],{type:"application/javascript"});return URL.createObjectURL(bt)}}return ce}}}({editorWorkerService:"vendor/monaco-editor.worker.bcabeea78a8d33be0a64383f4e69b76b.js",json:"vendor/monaco-json.worker.2228b6a325dea87265d9e90343435706.js"});const Vg=null},65568:(St,We,e)=>{e.d(We,{MW:()=>A,bW:()=>L,nZ:()=>g});var v=e(63946);let x=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});const T=new v.d(()=>x("mouse",!1)),y=new v.d(()=>x("element",!1));function A(b){x=b}function g(b){return b==="element"?y.value:T.value}function L(){return x("element",!0)}},65916:(St,We,e)=>{e.d(We,{HH:()=>y,NG:()=>L,Nj:()=>A,PA:()=>T,Vl:()=>x,Wt:()=>v,sv:()=>g,z$:()=>R});const v="editor.action.inlineSuggest.commit",R="editor.action.inlineSuggest.commitAlternativeAction",x="editor.action.inlineSuggest.showPrevious",T="editor.action.inlineSuggest.showNext",y="editor.action.inlineSuggest.jump",A="editor.action.inlineSuggest.hide",g="editor.action.inlineSuggest.toggleShowCollapsed",L="editor.action.inlineSuggest.renameSymbol"},65958:(St,We,e)=>{e.d(We,{$1:()=>p,$6:()=>D,A0:()=>N,EQ:()=>a,F6:()=>W,HC:()=>$,PK:()=>L,PQ:()=>V,Pq:()=>_,Qg:()=>A,SS:()=>g,Th:()=>o,VK:()=>C,Zv:()=>U,b7:()=>k,d0:()=>te,j0:()=>u,nY:()=>b,pc:()=>E,uC:()=>h,vb:()=>S,ve:()=>l,wR:()=>c});var v=e(78903),R=e(94327),x=e(10998),T=e(63339),y=e(51055);function A(Z){return!!Z&&typeof Z.then=="function"}function g(Z){const X=new v.Qi,G=Z(X.token);let Y=!1;const j=new Promise((z,ie)=>{const re=X.token.onCancellationRequested(()=>{Y=!0,re.dispose(),ie(new R.AL)});Promise.resolve(G).then(de=>{re.dispose(),X.dispose(),Y?(0,x.Xm)(de)&&de.dispose():z(de)},de=>{re.dispose(),X.dispose(),ie(de)})});return new class{cancel(){X.cancel(),X.dispose()}then(z,ie){return j.then(z,ie)}catch(z){return this.then(void 0,z)}finally(z){return j.finally(z)}}}function L(Z,X,G){return new Promise((Y,j)=>{const z=X.onCancellationRequested(()=>{z.dispose(),Y(G)});Z.then(Y,j).finally(()=>z.dispose())})}function b(Z,X){return new Promise((G,Y)=>{const j=X.onCancellationRequested(()=>{j.dispose(),Y(new R.AL)});Z.then(G,Y).finally(()=>j.dispose())})}function C(Z){if(!(0,R.MB)(Z))return Promise.reject(Z)}function u(Z,X,G){let Y;const j=setTimeout(()=>{Y?.(void 0),G?.()},X);return Promise.race([Z.finally(()=>clearTimeout(j)),new Promise(z=>Y=z)])}class i{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new v.Qi}queue(X){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=X,!this.queuedPromise){const G=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;const Y=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,Y};this.queuedPromise=new Promise(Y=>{this.activePromise.then(G,G).then(Y)})}return new Promise((G,Y)=>{this.queuedPromise.then(G,Y)})}return this.activePromise=X(this.cancellationTokenSource.token),new Promise((G,Y)=>{this.activePromise.then(j=>{this.activePromise=null,G(j)},j=>{this.activePromise=null,Y(j)})})}dispose(){this.cancellationTokenSource.cancel()}}const r=(Z,X)=>{let G=!0;const Y=setTimeout(()=>{G=!1,X()},Z);return{isTriggered:()=>G,dispose:()=>{clearTimeout(Y),G=!1}}},d=Z=>{let X=!0;return queueMicrotask(()=>{X&&(X=!1,Z())}),{isTriggered:()=>X,dispose:()=>{X=!1}}};class l{constructor(X){this.defaultDelay=X,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(X,G=this.defaultDelay){this.task=X,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((j,z)=>{this.doResolve=j,this.doReject=z}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const j=this.task;return this.task=null,j()}}));const Y=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=G===y.h?d(Y):r(G,Y),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new R.AL),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}}class o{constructor(X){this.delayer=new l(X),this.throttler=new i}trigger(X,G){return this.delayer.trigger(()=>this.throttler.queue(X),G)}cancel(){this.delayer.cancel()}
737dispose(){this.delayer.dispose(),this.throttler.dispose()}}function c(Z,X){return X?new Promise((G,Y)=>{const j=setTimeout(()=>{z.dispose(),G()},Z),z=X.onCancellationRequested(()=>{clearTimeout(j),z.dispose(),Y(new R.AL)})}):g(G=>c(Z,G))}function a(Z,X=0,G){const Y=setTimeout(()=>{Z(),G&&j.dispose()},X),j=(0,x.s)(()=>{clearTimeout(Y),G?.delete(j)});return G?.add(j),j}function p(Z,X=Y=>!!Y,G=null){let Y=0;const j=Z.length,z=()=>{if(Y>=j)return Promise.resolve(G);const ie=Z[Y++];return Promise.resolve(ie()).then(de=>X(de)?Promise.resolve(de):z())};return z()}class _{constructor(){this._runningTask=void 0,this._pendingTasks=[]}schedule(X){const G=new U;return this._pendingTasks.push({task:X,deferred:G,setUndefinedWhenCleared:!1}),this._runIfNotRunning(),G.p}_runIfNotRunning(){this._runningTask===void 0&&this._processQueue()}async _processQueue(){if(this._pendingTasks.length===0)return;const X=this._pendingTasks.shift();if(X){if(this._runningTask)throw new R.D7;this._runningTask=X.task;try{const G=await X.task();X.deferred.complete(G)}catch(G){X.deferred.error(G)}finally{this._runningTask=void 0,this._processQueue()}}}clearPending(){const X=this._pendingTasks;this._pendingTasks=[];for(const G of X)G.setUndefinedWhenCleared?G.deferred.complete(void 0):G.deferred.error(new R.AL)}}class E{constructor(X,G){this._isDisposed=!1,this._token=void 0,typeof X=="function"&&typeof G=="number"&&this.setIfNotSet(X,G)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==void 0&&(clearTimeout(this._token),this._token=void 0)}cancelAndSet(X,G){if(this._isDisposed)throw new R.D7("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=void 0,X()},G)}setIfNotSet(X,G){if(this._isDisposed)throw new R.D7("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,X()},G))}}class S{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(X,G,Y=globalThis){if(this.isDisposed)throw new R.D7("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const j=Y.setInterval(()=>{X()},G);this.disposable=(0,x.s)(()=>{Y.clearInterval(j),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}}class h{constructor(X,G){this.timeoutToken=void 0,this.runner=X,this.timeout=G,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(X=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,X)}get delay(){return this.timeout}set delay(X){this.timeout=X}isScheduled(){return this.timeoutToken!==void 0}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}}let D,k;(function(){const Z=globalThis;typeof Z.requestIdleCallback!="function"||typeof Z.cancelIdleCallback!="function"?k=(X,G,Y)=>{(0,T._p)(()=>{if(j)return;const z=Date.now()+15;G(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,z-Date.now())}}))});let j=!1;return{dispose(){j||(j=!0)}}}:k=(X,G,Y)=>{const j=X.requestIdleCallback(G,typeof Y=="number"?{timeout:Y}:void 0);let z=!1;return{dispose(){z||(z=!0,X.cancelIdleCallback(j))}}},D=(X,G)=>k(globalThis,X,G)})();class N{constructor(X,G){this._didRun=!1,this._executor=()=>{try{this._value=G()}catch(Y){this._error=Y}finally{this._didRun=!0}},this._handle=k(X,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class W extends N{constructor(X){super(globalThis,X)}}class U{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((X,G)=>{this.completeCallback=X,this.errorCallback=G})}complete(X){return this.isSettled?Promise.resolve():new Promise(G=>{this.completeCallback(X),this.outcome={outcome:0,value:X},G()})}error(X){return this.isSettled?Promise.resolve():new Promise(G=>{this.errorCallback(X),this.outcome={outcome:1,value:X},G()})}cancel(){return this.error(new R.AL)}}var $;(function(Z){async function X(Y){let j;const z=await Promise.all(Y.map(ie=>ie.then(re=>re,re=>{j||(j=re)})));if(typeof j<"u")throw j;return z}Z.settled=X;function G(Y){return new Promise(async(j,z)=>{try{await Y(j,z)}catch(ie){z(ie)}})}Z.withAsyncBody=G})($||($={}));function te(Z){const X=new v.Qi,G=Z(X.token);return new I(X,async Y=>{const j=X.token.onCancellationRequested(()=>{j.dispose(),X.dispose(),Y.reject(new R.AL)});try{for await(const z of G){if(X.token.isCancellationRequested)return;Y.emitOne(z)}j.dispose(),X.dispose()}catch(z){j.dispose(),X.dispose(),Y.reject(z)}})}class ne{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(X){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){const G=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(G,X)}else this._unconsumedValues.push(X)}produceFinal(X){this._ensureNoFinalValue(),this._finalValue=X;for(const G of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(G,X);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new R.D7("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(X,G){G.ok?X.complete(G.value):X.error(G.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){const X=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return X.ok?Promise.resolve(X.value):Promise.reject(X.error)}else{const X=new U;return this._unsatisfiedConsumers.push(X),X.p}}}const H=class H{constructor(X,G){this._onReturn=G,this._producerConsumer=new ne,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async Y=>(this._finishError(Y),{done:!0,value:void 0})},queueMicrotask(async()=>{const Y=X({emitOne:j=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:j}}),emitMany:j=>{for(const z of j)this._producerConsumer.produce({ok:!0,value:{done:!1,value:z}})},reject:j=>this._finishError(j)});if(!this._producerConsumer.hasFinalValue)try{await Y,this._finishOk()}catch(j){this._finishError(j)}})}static fromArray(X){return new H(G=>{G.emitMany(X)})}static fromPromise(X){return new H(async G=>{G.emitMany(await X)})}
737static fromPromisesResolveOrder(X){return new H(async G=>{await Promise.all(X.map(async Y=>G.emitOne(await Y)))})}static merge(X){return new H(async G=>{await Promise.all(X.map(async Y=>{for await(const j of Y)G.emitOne(j)}))})}static map(X,G){return new H(async Y=>{for await(const j of X)Y.emitOne(G(j))})}static tee(X){let G,Y;const j=new U,z=async()=>{if(!(!G||!Y))try{for await(const de of X)G.emitOne(de),Y.emitOne(de)}catch(de){G.reject(de),Y.reject(de)}finally{j.complete()}},ie=new H(async de=>(G=de,z(),j.p)),re=new H(async de=>(Y=de,z(),j.p));return[ie,re]}map(X){return H.map(this,X)}static coalesce(X){return H.filter(X,G=>!!G)}coalesce(){return H.coalesce(this)}static filter(X,G){return new H(async Y=>{for await(const j of X)G(j)&&Y.emitOne(j)})}filter(X){return H.filter(this,X)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(X){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:X})}[Symbol.asyncIterator](){return this._iterator}};H.EMPTY=H.fromArray([]);let V=H;class I extends V{constructor(X,G){super(G),this._source=X}cancel(){this._source.cancel()}}},66055:(St,We,e)=>{e.d(We,{A5:()=>R,Dg:()=>g,F4:()=>u,L5:()=>C,VW:()=>y,Wo:()=>b,X2:()=>A,ZS:()=>x,nk:()=>L,vd:()=>i,z4:()=>T});var v=e(71386),R;(function(r){r[r.Left=1]="Left",r[r.Center=2]="Center",r[r.Right=4]="Right",r[r.Full=7]="Full"})(R||(R={}));var x;(function(r){r[r.Left=1]="Left",r[r.Center=2]="Center",r[r.Right=3]="Right"})(x||(x={}));var T;(function(r){r[r.LTR=0]="LTR",r[r.RTL=1]="RTL"})(T||(T={}));var y;(function(r){r[r.Both=0]="Both",r[r.Right=1]="Right",r[r.Left=2]="Left",r[r.None=3]="None"})(y||(y={}));class A{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(d){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,d.tabSize|0),d.indentSize==="tabSize"?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,d.indentSize|0),this._indentSizeIsTabSize=!1),this.insertSpaces=!!d.insertSpaces,this.defaultEOL=d.defaultEOL|0,this.trimAutoWhitespace=!!d.trimAutoWhitespace,this.bracketPairColorizationOptions=d.bracketPairColorizationOptions}equals(d){return this.tabSize===d.tabSize&&this._indentSizeIsTabSize===d._indentSizeIsTabSize&&this.indentSize===d.indentSize&&this.insertSpaces===d.insertSpaces&&this.defaultEOL===d.defaultEOL&&this.trimAutoWhitespace===d.trimAutoWhitespace&&(0,v.aI)(this.bracketPairColorizationOptions,d.bracketPairColorizationOptions)}createChangeEvent(d){return{tabSize:this.tabSize!==d.tabSize,indentSize:this.indentSize!==d.indentSize,insertSpaces:this.insertSpaces!==d.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==d.trimAutoWhitespace}}}class g{constructor(d,l){this._findMatchBrand=void 0,this.range=d,this.matches=l}}function L(r){return!!r&&typeof r.read=="function"}class b{constructor(d,l,o,c,a,p){this.identifier=d,this.range=l,this.text=o,this.forceMoveMarkers=c,this.isAutoWhitespaceEdit=a,this._isTracked=p}}class C{constructor(d,l,o){this.regex=d,this.wordSeparators=l,this.simpleSearch=o}}class u{constructor(d,l,o){this.reverseEdits=d,this.changes=l,this.trimAutoWhitespaceLineNumbers=o}}function i(r){return!r.isTooLargeForSyncing()&&!r.isForSimpleWidget}},66316:(St,We,e)=>{e.d(We,{AS:()=>y,gr:()=>b,iP:()=>L,iu:()=>T,q2:()=>g,tA:()=>A,ui:()=>C});var v=e(15365),R=e(28061),x=e(93702);class T{constructor(r,d,l=!1){this._range=r,this._text=d,this.insertsAutoWhitespace=l}getEditOperations(r,d){d.addTrackedEditOperation(this._range,this._text)}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromPositions(o.getEndPosition())}}class y{constructor(r,d,l=!1){this._range=r,this._text=d,this.insertsAutoWhitespace=l}getEditOperations(r,d){const l=this._range.getStartPosition(),o=this._range.getEndPosition(),c=o.lineNumber,a=this._text.length+(this._range.isEmpty()?0:-1);let p=u(r,o,a);p.lineNumber>c&&(p=new v.y(c,r.getLineMaxColumn(c)));const _=R.Q.fromPositions(l,p);d.addTrackedEditOperation(_,this._text)}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromPositions(o.getEndPosition())}}class A{constructor(r,d){this._range=r,this._text=d}getEditOperations(r,d){d.addTrackedEditOperation(this._range,this._text)}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromRange(o,0)}}class g{constructor(r,d,l=!1){this._range=r,this._text=d,this.insertsAutoWhitespace=l}getEditOperations(r,d){d.addTrackedEditOperation(this._range,this._text)}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromPositions(o.getStartPosition())}}class L{constructor(r,d,l,o,c=!1){this._range=r,this._text=d,this._columnDeltaOffset=o,this._lineNumberDeltaOffset=l,this.insertsAutoWhitespace=c}getEditOperations(r,d){d.addTrackedEditOperation(this._range,this._text)}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromPositions(o.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}}class b{constructor(r){this._range=r}getEditOperations(r,d){const l=r.getValueInRange(this._range),o=this._range.getEndPosition(),c=o.lineNumber;let a=u(r,o,l.length);a.lineNumber>c&&(a=new v.y(c,r.getLineMaxColumn(c)));const p=R.Q.fromPositions(o,a);d.addTrackedEditOperation(p,"")}computeCursorState(r,d){const o=d.getInverseEditOperations()[0].range;return x.L.fromPositions(o.getEndPosition())}}class C{constructor(r,d,l,o=!1){this._range=r,this._text=d,this._initialSelection=l,this._forceMoveMarkers=o,this._selectionId=null}getEditOperations(r,d){d.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=d.trackSelection(this._initialSelection)}computeCursorState(r,d){return d.getTrackedSelection(this._selectionId)}}function u(i,r,d){if(d<0)throw new Error("Unexpected negative delta");const l=i.getLineCount();let o=new v.y(l,i.getLineMaxColumn(l));for(let c=r.lineNumber;c<=l;c++)if(c===r.lineNumber){const a=d-i.getLineMaxColumn(r.lineNumber)+r.column;if(a<=0){o=new v.y(r.lineNumber,r.column+d);break}d=a}else{const a=d-i.getLineMaxColumn(c);if(a<=0){o=new v.y(c,d);break}d=a}return o}},66459:(St,We,e)=>{e.d(We,{A:()=>x});var v=e(16844),R;(function(T){T[T.Ignore=0]="Ignore",T[T.Info=1]="Info",T[T.Warning=2]="Warning",T[T.Error=3]="Error"})(R||(R={})),function(T){const y="error",A="warning",g="warn",L="info",b="ignore";function C(i){return i?(0,v.Q_)(y,i)?T.Error:(0,v.Q_)(A,i)||(0,v.Q_)(g,i)?T.Warning:(0,v.Q_)(L,i)?T.Info:T.Ignore:T.Ignore}T.fromValue=C;function u(i){switch(i){case T.Error:return y;case T.Warning:return A;case T.Info:return L;default:return b}}T.toString=u}(R||(R={}));var x=R},66476:(St,We,e)=>{e.d(We,{$C:()=>Ye,BE:()=>Bt,Bc:()=>Z,O4:()=>h,Of:()=>oe,Vs:()=>Ce,XR:()=>Te,hZ:()=>i,jT:()=>xe,ls:()=>_,lw:()=>b,m9:()=>te,n0:()=>C,qB:()=>ri,wA:()=>a,xZ:()=>he,xq:()=>L,zM:()=>o});var v=e(13338),R=e(71386),x=e(63339),T=e(28060),y=e(78471),A=e(18782),g=e(3765);const L=8;class b{constructor(Fe){this._values=Fe}hasChanged(Fe){return this._values[Fe]}}class C{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class u{constructor(Fe,st,vt,Yt){this.id=Fe,this.name=st,this.defaultValue=vt,this.schema=Yt}applyUpdate(Fe,st){return r(Fe,st)}
737compute(Fe,st,vt){return vt}}class i{constructor(Fe,st){this.newValue=Fe,this.didChange=st}}function r(pt,Fe){if(typeof pt!="object"||typeof Fe!="object"||!pt||!Fe)return new i(Fe,pt!==Fe);if(Array.isArray(pt)||Array.isArray(Fe)){const vt=Array.isArray(pt)&&Array.isArray(Fe)&&(0,v.aI)(pt,Fe);return new i(Fe,!vt)}let st=!1;for(const vt in Fe)if(Fe.hasOwnProperty(vt)){const Yt=r(pt[vt],Fe[vt]);Yt.didChange&&(pt[vt]=Yt.newValue,st=!0)}return new i(pt,st)}class d{constructor(Fe,st){this.schema=void 0,this.id=Fe,this.name="_never_",this.defaultValue=st}applyUpdate(Fe,st){return r(Fe,st)}validate(Fe){return this.defaultValue}}class l{constructor(Fe,st,vt,Yt){this.id=Fe,this.name=st,this.defaultValue=vt,this.schema=Yt}applyUpdate(Fe,st){return r(Fe,st)}compute(Fe,st,vt){return vt}}function o(pt,Fe){return typeof pt>"u"?Fe:pt==="false"?!1:!!pt}class c extends l{constructor(Fe,st,vt,Yt=void 0){typeof Yt<"u"&&(Yt.type="boolean",Yt.default=vt),super(Fe,st,vt,Yt)}validate(Fe){return o(Fe,this.defaultValue)}}function a(pt,Fe,st,vt){if(typeof pt=="string"&&(pt=parseInt(pt,10)),typeof pt!="number"||isNaN(pt))return Fe;let Yt=pt;return Yt=Math.max(st,Yt),Yt=Math.min(vt,Yt),Yt|0}class p extends l{static clampedInt(Fe,st,vt,Yt){return a(Fe,st,vt,Yt)}constructor(Fe,st,vt,Yt,Si,Bi=void 0){typeof Bi<"u"&&(Bi.type="integer",Bi.default=vt,Bi.minimum=Yt,Bi.maximum=Si),super(Fe,st,vt,Bi),this.minimum=Yt,this.maximum=Si}validate(Fe){return p.clampedInt(Fe,this.defaultValue,this.minimum,this.maximum)}}function _(pt,Fe,st,vt){if(typeof pt>"u")return Fe;const Yt=E.float(pt,Fe);return E.clamp(Yt,st,vt)}class E extends l{static clamp(Fe,st,vt){return Fe<st?st:Fe>vt?vt:Fe}static float(Fe,st){return typeof Fe=="string"&&(Fe=parseFloat(Fe)),typeof Fe!="number"||isNaN(Fe)?st:Fe}constructor(Fe,st,vt,Yt,Si,Bi,pi){typeof Si<"u"&&(Si.type="number",Si.default=vt,Si.minimum=Bi,Si.maximum=pi),super(Fe,st,vt,Si),this.validationFn=Yt,this.minimum=Bi,this.maximum=pi}validate(Fe){return this.validationFn(E.float(Fe,this.defaultValue))}}class S extends l{static string(Fe,st){return typeof Fe!="string"?st:Fe}constructor(Fe,st,vt,Yt=void 0){typeof Yt<"u"&&(Yt.type="string",Yt.default=vt),super(Fe,st,vt,Yt)}validate(Fe){return S.string(Fe,this.defaultValue)}}function h(pt,Fe,st,vt){return typeof pt!="string"?Fe:vt&&pt in vt?vt[pt]:st.indexOf(pt)===-1?Fe:pt}class D extends l{constructor(Fe,st,vt,Yt,Si=void 0){typeof Si<"u"&&(Si.type="string",Si.enum=Yt.slice(0),Si.default=vt),super(Fe,st,vt,Si),this._allowedValues=Yt}validate(Fe){return h(Fe,this.defaultValue,this._allowedValues)}}class k extends u{constructor(Fe,st,vt,Yt,Si,Bi,pi=void 0){typeof pi<"u"&&(pi.type="string",pi.enum=Si,pi.default=Yt),super(Fe,st,vt,pi),this._allowedValues=Si,this._convert=Bi}validate(Fe){return typeof Fe!="string"?this.defaultValue:this._allowedValues.indexOf(Fe)===-1?this.defaultValue:this._convert(Fe)}}function N(pt){switch(pt){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class W extends u{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[(0,g.kg)(220,"Use platform APIs to detect when a Screen Reader is attached."),(0,g.kg)(221,"Optimize for usage with a Screen Reader."),(0,g.kg)(222,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:(0,g.kg)(223,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(Fe){switch(Fe){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(Fe,st,vt){return vt===0?Fe.accessibilitySupport:vt}}class U extends u{constructor(){const Fe={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",Fe,{"editor.comments.insertSpace":{type:"boolean",default:Fe.insertSpace,description:(0,g.kg)(224,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:Fe.ignoreEmptyLines,description:(0,g.kg)(225,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{insertSpace:o(st.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:o(st.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function $(pt){switch(pt){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var te;(function(pt){pt[pt.Line=1]="Line",pt[pt.Block=2]="Block",pt[pt.Underline=3]="Underline",pt[pt.LineThin=4]="LineThin",pt[pt.BlockOutline=5]="BlockOutline",pt[pt.UnderlineThin=6]="UnderlineThin"})(te||(te={}));function ne(pt){switch(pt){case"line":return te.Line;case"block":return te.Block;case"underline":return te.Underline;case"line-thin":return te.LineThin;case"block-outline":return te.BlockOutline;case"underline-thin":return te.UnderlineThin}}class V extends d{constructor(){super(162,"")}compute(Fe,st,vt){const Yt=["monaco-editor"];return st.get(48)&&Yt.push(st.get(48)),Fe.extraEditorClassName&&Yt.pu
737sh(Fe.extraEditorClassName),st.get(82)==="default"?Yt.push("mouse-default"):st.get(82)==="copy"&&Yt.push("mouse-copy"),st.get(127)&&Yt.push("showUnused"),st.get(157)&&Yt.push("showDeprecated"),Yt.join(" ")}}class I extends c{constructor(){super(45,"emptySelectionClipboard",!0,{description:(0,g.kg)(226,"Controls whether copying without a selection copies the current line.")})}compute(Fe,st,vt){return vt&&Fe.emptySelectionClipboard}}class H extends u{constructor(){const Fe={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:"workspace",replaceHistory:"workspace"};super(50,"find",Fe,{"editor.find.cursorMoveOnType":{type:"boolean",default:Fe.cursorMoveOnType,description:(0,g.kg)(227,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:Fe.seedSearchStringFromSelection,enumDescriptions:[(0,g.kg)(228,"Never seed search string from the editor selection."),(0,g.kg)(229,"Always seed search string from the editor selection, including word at cursor position."),(0,g.kg)(230,"Only seed search string from the editor selection.")],description:(0,g.kg)(231,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:Fe.autoFindInSelection,enumDescriptions:[(0,g.kg)(232,"Never turn on Find in Selection automatically (default)."),(0,g.kg)(233,"Always turn on Find in Selection automatically."),(0,g.kg)(234,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:(0,g.kg)(235,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:Fe.globalFindClipboard,description:(0,g.kg)(236,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:x.zx},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:Fe.addExtraSpaceOnTop,description:(0,g.kg)(237,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:Fe.loop,description:(0,g.kg)(238,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")},"editor.find.closeOnResult":{type:"boolean",default:Fe.closeOnResult,description:(0,g.kg)(239,"Controls whether the Find Widget closes after an explicit find navigation command lands on a result.")},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[(0,g.kg)(240,"Do not store search history from the find widget."),(0,g.kg)(241,"Store search history across the active workspace")],description:(0,g.kg)(242,"Controls how the find widget history should be stored")},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[(0,g.kg)(243,"Do not store history from the replace widget."),(0,g.kg)(244,"Store replace history across the active workspace")],description:(0,g.kg)(245,"Controls how the replace widget history should be stored")},"editor.find.findOnType":{type:"boolean",default:Fe.findOnType,description:(0,g.kg)(246,"Controls whether the Find Widget should search as you type.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{cursorMoveOnType:o(st.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:o(st.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof st.seedSearchStringFromSelection=="boolean"?st.seedSearchStringFromSelection?"always":"never":h(st.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof st.autoFindInSelection=="boolean"?st.autoFindInSelection?"always":"never":h(st.autoFind
737InSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:o(st.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:o(st.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:o(st.loop,this.defaultValue.loop),closeOnResult:o(st.closeOnResult,this.defaultValue.closeOnResult),history:h(st.history,this.defaultValue.history,["never","workspace"]),replaceHistory:h(st.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}}const Gt=class Gt extends u{constructor(){super(60,"fontLigatures",Gt.OFF,{anyOf:[{type:"boolean",description:(0,g.kg)(247,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:(0,g.kg)(248,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:(0,g.kg)(249,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(Fe){return typeof Fe>"u"?this.defaultValue:typeof Fe=="string"?Fe==="false"||Fe.length===0?Gt.OFF:Fe==="true"?Gt.ON:Fe:Fe?Gt.ON:Gt.OFF}};Gt.OFF='"liga" off, "calt" off',Gt.ON='"liga" on, "calt" on';let Z=Gt;const ei=class ei extends u{constructor(){super(63,"fontVariations",ei.OFF,{anyOf:[{type:"boolean",description:(0,g.kg)(250,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:(0,g.kg)(251,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:(0,g.kg)(252,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(Fe){return typeof Fe>"u"?this.defaultValue:typeof Fe=="string"?Fe==="false"?ei.OFF:Fe==="true"?ei.TRANSLATE:Fe:Fe?ei.TRANSLATE:ei.OFF}compute(Fe,st,vt){return Fe.fontInfo.fontVariationSettings}};ei.OFF=T.qC,ei.TRANSLATE=T.Jn;let X=ei;class G extends d{constructor(){super(59,new T.YJ({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(Fe,st,vt){return Fe.fontInfo}}class Y extends d{constructor(){super(161,te.Line)}compute(Fe,st,vt){return Fe.inputMode==="overtype"?st.get(92):st.get(34)}}class j extends d{constructor(){super(170,!1)}compute(Fe,st){return Fe.editContextSupported&&st.get(44)}}class z extends d{constructor(){super(172,!1)}compute(Fe,st){return Fe.accessibilitySupport===2?st.get(7):st.get(6)}}class ie extends l{constructor(){super(61,"fontSize",T.jU.fontSize,{type:"number",minimum:6,maximum:100,default:T.jU.fontSize,description:(0,g.kg)(253,"Controls the font size in pixels.")})}validate(Fe){const st=E.float(Fe,this.defaultValue);return st===0?T.jU.fontSize:E.clamp(st,6,100)}compute(Fe,st,vt){return Fe.fontInfo.fontSize}}const Zt=class Zt extends u{constructor(){super(62,"fontWeight",T.jU.fontWeight,{anyOf:[{type:"number",minimum:Zt.MINIMUM_VALUE,maximum:Zt.MAXIMUM_VALUE,errorMessage:(0,g.kg)(254,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:Zt.SUGGESTION_VALUES}],default:T.jU.fontWeight,description:(0,g.kg)(255,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(Fe){return Fe==="normal"||Fe==="bold"?Fe:String(p.clampedInt(Fe,T.jU.fontWeight,Zt.MINIMUM_VALUE,Zt.MAXIMUM_VALUE))}};Zt.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],Zt.MINIMUM_VALUE=1,Zt.MAXIMUM_VALUE=1e3;let re=Zt;class de extends u{constructor(){const Fe={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},st={type:"string",enum:["peek","gotoAndPeek","goto"],default:Fe.multiple,enumDescriptions:[(0,g.kg)(256,"Show Peek view of the results (default)"),(0,g.kg)(257,"Go to the primary result and show a Peek view"),(0,g.kg)(258,"Go to the primary result and enable Peek-less navigation to others")]},vt=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",Fe,{"editor.gotoLocation.multiple":{deprecationMessage:(0,g.kg)(259,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:(0,g.kg)(260,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...st},"editor.gotoLocation.multipleTypeDefinitions":{description:(0,g.kg)(261,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...st},"editor.gotoLocation.multipleDeclarations":{description:(0,g.kg)(262,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...st},"editor.gotoLocation.multipleImplementations":{description:(0,g.kg)(263,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...st},"editor.gotoLocation.multipleReferences":{description:(0,g.kg)(264,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...st},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:Fe.alternativeDefinitionCommand,enum:vt,description:(0,g.kg)(265,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:Fe.alternativeTypeDefinitionCommand,enum:vt,description:(0,g.kg)(266,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:Fe.alternativeDeclarationCommand,enum:vt,description:(0,g.kg)(267,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:Fe.alternativeImplementationCommand,enum:vt,description:(0,g.kg)(268,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:Fe.alternativeReferenceCommand,enum:vt,description:(0,g.kg)(269,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{multiple:h(st.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:h(st.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:h(st.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:h(st.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:h(st.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:h(st.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:h(st.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:S.string(st.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:S.string(st.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:S.string(st.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:S.string(st.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:S.string(st.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:S.string(st.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class le extends u{constructor(){const Fe={enabled:"on",delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,"hover",Fe,{"editor.hover.enabled":{type:"string",enum:["on","off","onKeyboardModifier"],default:Fe.enabled,markdownEnumDescriptions:[(0,g.kg)(270,"Hover is enabled."),(0,g.kg)(271,"Hover is disabled."),(0,g.kg)(272,"Hover is shown when holding `{0}` or `Alt` (the opposite modifier of `#editor.multiCursorModifier#`)",x.zx?"Command":"Control")],description:(0,g.kg)(273,"Controls whether the hover is shown."),keywords:["hint","info","tooltip"]},"editor.hover.delay":{type:"number",default:Fe.delay,minimum:0,maximum:1e4,description:(0,g.kg)(274,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:Fe.sticky,description:(0,g.kg)(275,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:Fe.hidingDelay,markdownDescription:(0,g.kg)(276,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:"boolean",default:Fe.above,description:(0,g.kg)(277,"Prefer showing hovers above the line, if there's space.")},"editor.hover.showLongLineWarning":{type:"boolean",default:Fe.showLongLineWarning,de
737scription:(0,g.kg)(278,"Controls whether long line warning hovers are shown, such as when tokenization is skipped or rendering is paused.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:h(st.enabled,this.defaultValue.enabled,["on","off","onKeyboardModifier"]),delay:p.clampedInt(st.delay,this.defaultValue.delay,0,1e4),sticky:o(st.sticky,this.defaultValue.sticky),hidingDelay:p.clampedInt(st.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:o(st.above,this.defaultValue.above),showLongLineWarning:o(st.showLongLineWarning,this.defaultValue.showLongLineWarning)}}}class he extends d{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(Fe,st,vt){return he.computeLayout(st,{memory:Fe.memory,outerWidth:Fe.outerWidth,outerHeight:Fe.outerHeight,isDominatedByLongLines:Fe.isDominatedByLongLines,lineHeight:Fe.fontInfo.lineHeight,viewLineCount:Fe.viewLineCount,lineNumbersDigitCount:Fe.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:Fe.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:Fe.fontInfo.maxDigitWidth,pixelRatio:Fe.pixelRatio,glyphMarginDecorationLaneCount:Fe.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(Fe){const st=Fe.height/Fe.lineHeight,vt=Math.floor(Fe.paddingTop/Fe.lineHeight);let Yt=Math.floor(Fe.paddingBottom/Fe.lineHeight);Fe.scrollBeyondLastLine&&(Yt=Math.max(Yt,st-1));const Si=(vt+Fe.viewLineCount+Yt)/(Fe.pixelRatio*Fe.height),Bi=Math.floor(Fe.viewLineCount/Si);return{typicalViewportLineCount:st,extraLinesBeforeFirstLine:vt,extraLinesBeyondLastLine:Yt,desiredRatio:Si,minimapLineCount:Bi}}static _computeMinimapLayout(Fe,st){const vt=Fe.outerWidth,Yt=Fe.outerHeight,Si=Fe.pixelRatio;if(!Fe.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(Si*Yt),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:Yt};const Bi=st.stableMinimapLayoutInput,pi=Bi&&Fe.outerHeight===Bi.outerHeight&&Fe.lineHeight===Bi.lineHeight&&Fe.typicalHalfwidthCharacterWidth===Bi.typicalHalfwidthCharacterWidth&&Fe.pixelRatio===Bi.pixelRatio&&Fe.scrollBeyondLastLine===Bi.scrollBeyondLastLine&&Fe.paddingTop===Bi.paddingTop&&Fe.paddingBottom===Bi.paddingBottom&&Fe.minimap.enabled===Bi.minimap.enabled&&Fe.minimap.side===Bi.minimap.side&&Fe.minimap.size===Bi.minimap.size&&Fe.minimap.showSlider===Bi.minimap.showSlider&&Fe.minimap.renderCharacters===Bi.minimap.renderCharacters&&Fe.minimap.maxColumn===Bi.minimap.maxColumn&&Fe.minimap.scale===Bi.minimap.scale&&Fe.verticalScrollbarWidth===Bi.verticalScrollbarWidth&&Fe.isViewportWrapping===Bi.isViewportWrapping,$i=Fe.lineHeight,fn=Fe.typicalHalfwidthCharacterWidth,Sn=Fe.scrollBeyondLastLine,On=Fe.minimap.renderCharacters;let Dn=Si>=2?Math.round(Fe.minimap.scale*2):Fe.minimap.scale;const Qn=Fe.minimap.maxColumn,rs=Fe.minimap.size,us=Fe.minimap.side,Zn=Fe.verticalScrollbarWidth,zn=Fe.viewLineCount,ms=Fe.remainingWidth,es=Fe.isViewportWrapping,Xn=On?2:3;let Ts=Math.floor(Si*Yt);const ps=Ts/Si;let Yn=!1,zs=!1,Kn=Xn*Dn,jt=Dn/Si,$t=1;if(rs==="fill"||rs==="fit"){const{typicalViewportLineCount:Bn,extraLinesBeforeFirstLine:Wi,extraLinesBeyondLastLine:At,desiredRatio:Xt,minimapLineCount:li}=he.computeContainedMinimapLineCount({viewLineCount:zn,scrollBeyondLastLine:Sn,paddingTop:Fe.paddingTop,paddingBottom:Fe.paddingBottom,height:Yt,lineHeight:$i,pixelRatio:Si});if(zn/li>1)Yn=!0,zs=!0,Dn=1,Kn=1,jt=Dn/Si;else{let vi=!1,Vi=Dn+1;if(rs==="fit"){const ui=Math.ceil((Wi+zn+At)*Kn);es&&pi&&ms<=st.stableFitRemainingWidth?(vi=!0,Vi=st.stableFitMaxMinimapScale):vi=ui>Ts}if(rs==="fill"||vi){Yn=!0;const ui=Dn;Kn=Math.min($i*Si,Math.max(1,Math.floor(1/Xt))),es&&pi&&ms<=st.stableFitRemainingWidth&&(Vi=st.stableFitMaxMinimapScale),Dn=Math.min(Vi,Math.max(1,Math.floor(Kn/Xn))),Dn>ui&&($t=Math.min(2,Dn/ui)),jt=Dn/Si/$t,Ts=Math.ceil(Math.max(Bn,Wi+zn+At)*Kn),es?(st.stableMinimapLayoutInput=Fe,st.stableFitRemainingWidth=ms,st.stableFitMaxMinimapScale=Dn):(st.stableMinimapLayoutInput=null,st.stableFitRemainingWidth=0)}}}const Ei=Math.floor(Qn*jt),zi=Math.min(Ei,Math.max(0,Math.floor((ms-Zn-2)*jt/(fn+jt)))+L);let hn=Math.floor(Si*zi);const wn=hn/Si;hn=Math.floor(hn*$t);const en=On?1:2,In=us==="left"?0:vt-zi-Zn;return{renderMinimap:en,minimapLeft:In,minimapWidth:zi,minimapHeightIsEditorHeight:Yn,minimapIsSampling:zs,minimapScale:Dn,minimapLineHeight:Kn,minimapCanvasInnerWidth:hn,minimapCanvasInnerHeight:Ts,minimapCanvasOuterWidth:wn,minimapCanvasOuterHeight:ps}}static computeLayout(Fe,st){const vt=st.outerWidth|0,Yt=st.outerHeight|0,Si=st.lineHeight|0,Bi=st.lineNumbersDigitCount|0,pi=st.typicalHalfwidthCharacterWidth,$i=st.maxDigitWidth,fn=st.pixelRatio,Sn=st.viewLineCount,On=Fe.get(154),Dn=On==="inherit"?Fe.get(153):On,Qn=Dn==="inherit"?Fe.get(149):Dn,rs=Fe.get(152),us=st.isDominatedByLongLines,Zn=Fe.get(66),zn=Fe.get(76).renderType!==0,ms=Fe.get(77),es=Fe.get(119),Xn=Fe.get(96),Ts=Fe.get(81),ps=Fe.get(117),Yn=ps.verticalScrollbarSize,zs=ps.verticalHasArrows,Kn=ps.arrowSize,jt=ps.horizontalScrollbarSize,$t=Fe.get(52),Ei=Fe.get(126)!=="never";let zi=Fe.get(74);$t&&Ei&&(zi+=16);let hn=0;if(zn){const Nn=Math.max(Bi,ms);hn=Math.round(Nn*$i)}let wn=0;Zn&&(wn=Si*st.glyphMarginDecorationLaneCount);let en=0,In=en+wn,Bn=In+hn,Wi=Bn+zi;const At=vt-wn-hn-zi;let Xt=!1,li=!1,Mi=-1;Fe.get(2)===2&&Dn==="inherit"&&us?(Xt=!0,li=!0):Qn==="on"||Qn==="bounded"?li=!0:Qn==="wordWrapColumn"&&(Mi=rs);const vi=he._computeMinimapLayout({outerWidth:vt,outerHeight:Yt,lineHeight:Si,typicalHalfwidthCharacterWidth:pi,pixelRatio:fn,scrollBeyondLastLine:es,paddingTop:Xn.top,paddingBottom:Xn.bottom,minimap:Ts,verticalScrollbarWidth:Yn,viewLineCount:Sn,remainingWidth:At,isViewportWrapping:li},st.memory||new C);vi.renderMinimap!==0&&vi.minimapLeft===0&&(en+=vi.minimapWidth,In+=vi.minimapWidth,Bn+=vi.minimapWidth,Wi+=vi.minimapWidth);const Vi=At-vi.minimapWidth,ui=Math.max(1,Math.floor((Vi-Yn-2)/pi)),Wt=zs?Kn:0;return li&&(Mi=Math.max(1,ui),Qn==="bounded"&&(Mi=Math.min(Mi,rs))),{width:vt,height:Yt,glyphMarginLeft:en,glyphMarginWidth:wn,glyphMarginDecorationLaneCount:st.glyphMarginDecorationLaneCount,lineNumbersLeft:In,lineNumbersWidth:hn,decorationsLeft:Bn,decorationsWidth:zi,contentLeft:Wi,contentWidth:Vi,minimap:vi,viewportColumn:ui,isWordWrapMinified:Xt,isViewportWrapping:li,wrappingColumn:Mi,verticalScrollbarWidth:Yn,horizontalScrollbarHeight:jt,overviewRuler:{top:Wt,width:Yn,height:Yt-2*Wt,right:0}}}}class we extends u{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[(0,g.kg)(279,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),(0,g.kg)(280,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:(0,g.kg)(281,"Controls the algorithm that c
737omputes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(Fe){return h(Fe,"simple",["simple","advanced"])}compute(Fe,st,vt){return st.get(2)===2?"advanced":vt}}var xe;(function(pt){pt.Off="off",pt.OnCode="onCode",pt.On="on"})(xe||(xe={}));class Be extends u{constructor(){const Fe={enabled:xe.OnCode};super(73,"lightbulb",Fe,{"editor.lightbulb.enabled":{type:"string",enum:[xe.Off,xe.OnCode,xe.On],default:Fe.enabled,enumDescriptions:[(0,g.kg)(282,"Disable the code action menu."),(0,g.kg)(283,"Show the code action menu when the cursor is on lines with code."),(0,g.kg)(284,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:(0,g.kg)(285,"Enables the Code Action lightbulb in the editor.")}})}validate(Fe){return!Fe||typeof Fe!="object"?this.defaultValue:{enabled:h(Fe.enabled,this.defaultValue.enabled,[xe.Off,xe.OnCode,xe.On])}}}class M extends u{constructor(){const Fe={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",Fe,{"editor.stickyScroll.enabled":{type:"boolean",default:Fe.enabled,description:(0,g.kg)(286,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:Fe.maxLineCount,minimum:1,maximum:20,description:(0,g.kg)(287,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:Fe.defaultModel,description:(0,g.kg)(288,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:Fe.scrollWithEditor,description:(0,g.kg)(289,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),maxLineCount:p.clampedInt(st.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:h(st.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:o(st.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class Ve extends u{constructor(){const Fe={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",Fe,{"editor.inlayHints.enabled":{type:"string",default:Fe.enabled,description:(0,g.kg)(290,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[(0,g.kg)(291,"Inlay hints are enabled"),(0,g.kg)(292,"Inlay hints are showing by default and hide when holding {0}",x.zx?"Ctrl+Option":"Ctrl+Alt"),(0,g.kg)(293,"Inlay hints are hidden by default and show when holding {0}",x.zx?"Ctrl+Option":"Ctrl+Alt"),(0,g.kg)(294,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:Fe.fontSize,markdownDescription:(0,g.kg)(295,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:Fe.fontFamily,markdownDescription:(0,g.kg)(296,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:Fe.padding,description:(0,g.kg)(297,"Enables the padding around the inlay hints in the editor.")},"editor.inlayHints.maximumLength":{type:"number",default:Fe.maximumLength,markdownDescription:(0,g.kg)(298,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return typeof st.enabled=="boolean"&&(st.enabled=st.enabled?"on":"off"),{enabled:h(st.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:p.clampedInt(st.fontSize,this.defaultValue.fontSize,0,100),fontFamily:S.string(st.fontFamily,this.defaultValue.fontFamily),padding:o(st.padding,this.defaultValue.padding),maximumLength:p.clampedInt(st.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}}class Me extends u{constructor(){super(74,"lineDecorationsWidth",10)}validate(Fe){return typeof Fe=="string"&&/^\d+(\.\d+)?ch$/.test(Fe)?-parseFloat(Fe.substring(0,Fe.length-2)):p.clampedInt(Fe,this.defaultValue,0,1e3)}compute(Fe,st,vt){return vt<0?p.clampedInt(-vt*Fe.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):vt}}
737class Le extends E{constructor(){super(75,"lineHeight",T.jU.lineHeight,Fe=>E.clamp(Fe,0,150),{markdownDescription:(0,g.kg)(299,`Controls the line height. 
738 - Use 0 to automatically compute the line height from the font size.
739 - Values between 0 and 8 will be used as a multiplier with the font size.
740 - Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(Fe,st,vt){return Fe.fontInfo.lineHeight}}class _e extends u{constructor(){const Fe={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",Fe,{"editor.minimap.enabled":{type:"boolean",default:Fe.enabled,description:(0,g.kg)(300,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[(0,g.kg)(301,"The minimap is always shown."),(0,g.kg)(302,"The minimap is hidden when mouse is not over the minimap and shown when mouse is over the minimap."),(0,g.kg)(303,"The minimap is only shown when the editor is scrolled")],default:Fe.autohide,description:(0,g.kg)(304,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[(0,g.kg)(305,"The minimap has the same size as the editor contents (and might scroll)."),(0,g.kg)(306,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),(0,g.kg)(307,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:Fe.size,description:(0,g.kg)(308,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:Fe.side,description:(0,g.kg)(309,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:Fe.showSlider,description:(0,g.kg)(310,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:Fe.scale,minimum:1,maximum:3,enum:[1,2,3],description:(0,g.kg)(311,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:Fe.renderCharacters,description:(0,g.kg)(312,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:Fe.maxColumn,description:(0,g.kg)(313,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:Fe.showRegionSectionHeaders,description:(0,g.kg)(314,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:Fe.showMarkSectionHeaders,description:(0,g.kg)(315,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.markSectionHeaderRegex":{type:"string",default:Fe.markSectionHeaderRegex,description:(0,g.kg)(316,"Defines the regular expression used to find section headers in comments. The regex must contain a named match group `label` (written as `(?<label>.+)`) that encapsulates the section header, otherwise it will not work. Optionally you can include another match group named `separator`. Use \\n in the pattern to match multi-line headers.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:Fe.sectionHeaderFontSize,description:(0,g.kg)(317,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:Fe.sectionHeaderLetterSpacing,description:(0,g.kg)(318,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;let vt=this.defaultValue.markSectionHeaderRegex;const Yt=st.markSectionHeaderRegex;if(typeof Yt=="string")try{new RegExp(Yt,"d"),vt=Yt}catch{}return{enabled:o(st.enabled,this.defaultValue.enabled),autohide:h(st.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:h(st.size,this.defaultValue.size,["proportional","fill","fit"]),side:h(st.side,this.defaultValue.side,["right","left"]),showSlider:h(st.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:o(st.renderCharacters,this.defaultValue.renderCharacters),scale:p.clampedInt(st.scale,1,1,3),maxColumn:p.clampedInt(st.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:o(st.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:o(st.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:vt,sectionHeaderFontSize:E.clamp(E.float(st.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:E.clamp(E.float(st.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}}function Qe(pt){return pt==="ctrlCmd"?x.zx?"metaKey":"ctrlKey":"altKey"}class je extends u{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:(0,g.kg)(319,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:(0,g.kg)(320,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{top:p.clampedInt(st.top,0,0,1e3),bottom:p.clampedInt(st.bottom,0,0,1e3)}}}class ae extends u{constructor(){const Fe={enabled:!0,cycle:!0};super(98,"parameterHints",Fe,{"editor.parameterHints.enabled":{type:"boolean",default:Fe.enabled,description:(0,g.kg)(321,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:Fe.cycle,description:(0,g.kg)(322,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),cycle:o(st.cycle,this.defaultValue.cycle)}}}class Ee extends d{constructor(){super(163,1)}compute(Fe,st,vt){return Fe.pixelRatio}}class Ie extends u{constructor(){super(100,"placeholder",void 0)}validate(Fe){return typeof Fe>"u"?this.defaultValue:typeof Fe=="string"?Fe:this.defaultValue}}class Ue extends u{constructor(){const Fe={other:"offWhenInlineCompletions",comments:"off",strings:"off"},st=[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[(0,g.kg)(323,"Quick suggestions show inside the suggest widget"),(0,g.kg)(324,"Quick suggestions show as ghost text"),(0,g.kg)(325,"Quick suggestions are disabled"),(0,g.kg)(326,"Quick suggestions are disabled 
740when inline completions are showing")]}];super(102,"quickSuggestions",Fe,{anyOf:[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[(0,g.kg)(327,"Quick suggestions are enabled for all token types"),(0,g.kg)(328,"Quick suggestions show as ghost text for all token types"),(0,g.kg)(329,"Quick suggestions are disabled for all token types"),(0,g.kg)(330,"Quick suggestions are disabled for all token types when inline completions are showing")]},{type:"object",additionalProperties:!1,properties:{strings:{anyOf:st,default:Fe.strings,description:(0,g.kg)(331,"Enable quick suggestions inside strings.")},comments:{anyOf:st,default:Fe.comments,description:(0,g.kg)(332,"Enable quick suggestions inside comments.")},other:{anyOf:st,default:Fe.other,description:(0,g.kg)(333,"Enable quick suggestions outside of strings and comments.")}}}],default:Fe,markdownDescription:(0,g.kg)(334,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, str
740ings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`"),experiment:{mode:"auto"}}),this.defaultValue=Fe}validate(Fe){if(typeof Fe=="boolean"){const fn=Fe?"on":"off";return{comments:fn,strings:fn,other:fn}}if(typeof Fe=="string"){const fn=["on","inline","off","offWhenInlineCompletions"],Sn=h(Fe,this.defaultValue.other,fn);return{comments:Sn,strings:Sn,other:Sn}}if(!Fe||typeof Fe!="object")return this.defaultValue;const{other:st,comments:vt,strings:Yt}=Fe,Si=["on","inline","off","offWhenInlineCompletions"];let Bi,pi,$i;return typeof st=="boolean"?Bi=st?"on":"off":Bi=h(st,this.defaultValue.other,Si),typeof vt=="boolean"?pi=vt?"on":"off":pi=h(vt,this.defaultValue.comments,Si),typeof Yt=="boolean"?$i=Yt?"on":"off":$i=h(Yt,this.defaultValue.strings,Si),{other:Bi,comments:pi,strings:$i}}}class $e extends u{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[(0,g.kg)(335,"Line numbers are not rendered."),(0,g.kg)(336,"Line numbers are rendered as absolute number."),(0,g.kg)(337,"Line numbers are rendered as distance in lines to cursor position."),(0,g.kg)(338,"Line numbers are rendered every 10 lines.")],default:"on",description:(0,g.kg)(339,"Controls the display of line numbers.")})}validate(Fe){let st=this.defaultValue.renderType,vt=this.defaultValue.renderFn;return typeof Fe<"u"&&(typeof Fe=="function"?(st=4,vt=Fe):Fe==="interval"?st=3:Fe==="relative"?st=2:Fe==="on"?st=1:st=0),{renderType:st,renderFn:vt}}}function Ye(pt){const Fe=pt.get(112);return Fe==="editable"?pt.get(104):Fe!=="on"}function Ce(pt){return!pt.get(172)}class He extends u{constructor(){const Fe=[],st={type:"number",description:(0,g.kg)(340,"Number of monospace characters at which this editor ruler will render.")};super(116,"rulers",Fe,{type:"array",items:{anyOf:[st,{type:["object"],properties:{column:st,color:{type:"string",description:(0,g.kg)(341,"Color of this editor ruler."),format:"color-hex"}}}]},default:Fe,description:(0,g.kg)(342,"Render vertical rulers after a certain 
740number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(Fe){if(Array.isArray(Fe)){const st=[];for(const vt of Fe)if(typeof vt=="number")st.push({column:p.clampedInt(vt,0,0,1e4),color:null});else if(vt&&typeof vt=="object"){const Yt=vt;st.push({column:p.clampedInt(Yt.column,0,0,1e4),color:Yt.color})}return st.sort((vt,Yt)=>vt.column-Yt.column),st}return this.defaultValue}}class Ke extends u{constructor(){super(105,"readOnlyMessage",void 0)}validate(Fe){return!Fe||typeof Fe!="object"?this.defaultValue:Fe}}function qe(pt,Fe){if(typeof pt!="string")return Fe;switch(pt){case"hidden":return 2;case"visible":return 3;default:return 1}}class ht extends u{constructor(){const Fe={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",Fe,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[(0,g.kg)(343,"The vertical scrollbar will be visible only when necessary."),(0,g.kg)(344,"The vertical scrollbar will always be visible."),(0,g.kg)(345,"The vertical scrollbar will always be hidden.")],default:"auto",description:(0,g.kg)(346,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[(0,g.kg)(347,"The horizontal scrollbar will be visible only when necessary."),(0,g.kg)(348,"The horizontal scrollbar will always be visible."),(0,g.kg)(349,"The horizontal scrollbar will always be hidden.")],default:"auto",description:(0,g.kg)(350,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:Fe.verticalScrollbarSize,description:(0,g.kg)(351,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:Fe.horizontalScrollbarSize,description:(0,g.kg)(352,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:Fe.scrollByPage,description:(0,g.kg)(353,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:Fe.ignoreHorizontalScrollbarInContentHeight,description:(0,g.kg)(354,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe,vt=p.clampedInt(st.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),Yt=p.clampedInt(st.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:p.clampedInt(st.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:qe(st.vertical,this.defaultValue.vertical),horizontal:qe(st.horizontal,this.defaultValue.horizontal),useShadows:o(st.useShadows,this.defaultValue.useShadows),verticalHasArrows:o(st.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:o(st.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:o(st.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:o(st.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:vt,horizontalSliderSize:p.clampedInt(st.horizontalSliderSize,vt,0,1e3),verticalScrollbarSize:Yt,verticalSliderSize:p.clampedInt(st.verticalSliderSize,Yt,0,1e3),scrollByPage:o(st.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:o(st.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}const Te="inUntrustedWorkspace",oe={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class q extends u{constructor(){const Fe={nonBasicASCII:Te,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Te,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",Fe,{[oe.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Te],default:Fe.nonBasicASCII,description:(0,g.kg)(355,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[oe.invisibleCharacters]:{restricted:!0,type:"boolean",default:Fe.invisibleCharacters,description:(0,g.kg)(356,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[oe.ambiguousCharacters]:{restricted:!0,type:"boolean",default:Fe.ambiguousCharacters,description:(0,g.kg)(357,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[oe.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Te],default:Fe.includeComments,description:(0,g.kg)(358,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[oe.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Te],default:Fe.includeStrings,description:(0,g.kg)(359,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[oe.allowedCharacters]:{restricted:!0,type:"object",default:Fe.allowedCharacters,description:(0,g.kg)(360,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[oe.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:Fe.allowedLocales,description:(0,g.kg)(361,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(Fe,st){let vt=!1;st.allowedCharacters&&Fe&&((0,R.aI)(Fe.allowedCharacters,st.allowedCharacters)||(Fe={...Fe,allowedCharacters:st.allowedCharacters},vt=!0)),st.allowedLocales&&Fe&&((0,R.aI)(Fe.allowedLocales,st.allowedLocales)||
740(Fe={...Fe,allowedLocales:st.allowedLocales},vt=!0));const Yt=super.applyUpdate(Fe,st);return vt?new i(Yt.newValue,!0):Yt}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{nonBasicASCII:De(st.nonBasicASCII,Te,[!0,!1,Te]),invisibleCharacters:o(st.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:o(st.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:De(st.includeComments,Te,[!0,!1,Te]),includeStrings:De(st.includeStrings,Te,[!0,!1,Te]),allowedCharacters:this.validateBooleanMap(st.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(st.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(Fe,st){if(typeof Fe!="object"||!Fe)return st;const vt={};for(const[Yt,Si]of Object.entries(Fe))Si===!0&&(vt[Yt]=!0);return vt}}class ue extends u{constructor(){const Fe={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always",showLongDistanceHint:!0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",Fe,{"editor.inlineSuggest.enabled":{type:"boolean",default:Fe.enabled,description:(0,g.kg)(362,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:Fe.showToolbar,enum:["always","onHover","never"],enumDescriptions:[(0,g.kg)(363,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),(0,g.kg)(364,"Show the inline suggestion toolbar when hovering over an inline suggestion."),(0,g.kg)(365,"Never show the inline suggestion toolbar.")],description:(0,g.kg)(366,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:Fe.syntaxHighlightingEnabled,description:(0,g.kg)(367,"Controls whether to show syntax highlighting for inline suggestions in the editor.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:Fe.suppressSuggestions,description:(0,g.kg)(368,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:Fe.suppressInSnippetMode,description:(0,g.kg)(369,"Controls whether inline suggestions are suppressed when in snippet mode.")},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:(0,g.kg)(370,"Controls the minimal delay in milliseconds after which inline suggestions are shown after typing.")},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:Fe.experimental.suppressInlineSuggestions,tags:["experimental"],description:(0,g.kg)(371,"Suppresses inline completions for specified extension IDs -- comma separated."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:Fe.experimental.emptyResponseInformation,tags:["experimental"],description:(0,g.kg)(372,"Controls whether to send request information from the inline suggestion provider."),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:Fe.triggerCommandOnProviderChange,tags:["experimental"],description:(0,g.kg)(373,"Controls whether to trigger a command when the inline suggestion provider changes."),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:Fe.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:(0,g.kg)(374,"Controls whether to show inline suggestions when there is a suggest conflict."),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:Fe.fontFamily,description:(0,g.kg)(375,"Controls the font family of the inline suggestions.")},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:Fe.edits.allowCodeShifting,description:(0,g.kg)(376,"Controls whether showing a suggestion will shift the code to make space for the suggestion inline."),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:"boolean",default:Fe.edits.showLongDistanceHint,description:(0,g.kg)(377,"Controls whether long distance inline suggestions are shown."),tags:["nextEditSuggestions","experimental"]},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:Fe.edits.renderSideBySide,description:(0,g.kg)(378,"Controls whether larger suggestions can be shown side by side."),enum:["auto","
740never"],enumDescriptions:[(0,g.kg)(379,"Larger suggestions will show side by side if there is enough space, otherwise they will be shown below."),(0,g.kg)(380,"Larger suggestions are never shown side by side and will always be shown below.")],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:Fe.edits.showCollapsed,description:(0,g.kg)(381,"Controls whether the suggestion will show as collapsed until jumping to it."),tags:["nextEditSuggestions"]}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),mode:h(st.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:h(st.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:o(st.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:o(st.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:S.string(st.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:o(st.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:p.clampedInt(st.minShowDelay,0,0,1e4),suppressInSnippetMode:o(st.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(st.edits),triggerCommandOnProviderChange:o(st.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(st.experimental)}}_validateEdits(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue.edits;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.edits.enabled),showCollapsed:o(st.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:h(st.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),showLongDistanceHint:o(st.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),renderSideBySide:h(st.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])}}_validateExperimental(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue.experimental;const st=Fe;return{suppressInlineSuggestions:S.string(st.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:h(st.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:o(st.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}}class J extends u{constructor(){const Fe={enabled:y.R.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:y.R.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",Fe,{"editor.bracketPairColorization.enabled":{type:"boolean",default:Fe.enabled,markdownDescription:(0,g.kg)(382,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:Fe.independentColorPoolPerBracketType,description:(0,g.kg)(383,"Controls whether each bracket type has its own independent color pool.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:o(st.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class ve extends u{constructor(){const Fe={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",Fe,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[(0,g.kg)(384,"Enables bracket pair guides."),(0,g.kg)(385,"Enables bracket pair guides only for the active bracket pair."),(0,g.kg)(386,"Disables bracket pair guides.")],default:Fe.bracketPairs,description:(0,g.kg)(387,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[(0,g.kg)(388,"Enables horizontal guides as addition to vertical bracket pair guides."),
740(0,g.kg)(389,"Enables horizontal guides only for the active bracket pair."),(0,g.kg)(390,"Disables horizontal bracket pair guides.")],default:Fe.bracketPairsHorizontal,description:(0,g.kg)(391,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:Fe.highlightActiveBracketPair,description:(0,g.kg)(392,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:Fe.indentation,description:(0,g.kg)(393,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[(0,g.kg)(394,"Highlights the active indent guide."),(0,g.kg)(395,"Highlights the active indent guide even if bracket guides are highlighted."),(0,g.kg)(396,"Do not highlight the active indent guide.")],default:Fe.highlightActiveIndentation,description:(0,g.kg)(397,"Controls whether the editor should highlight the active indent guide.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{bracketPairs:De(st.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:De(st.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:o(st.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:o(st.indentation,this.defaultValue.indentation),highlightActiveIndentation:De(st.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function De(pt,Fe,st){const vt=st.indexOf(pt);return vt===-1?Fe:st[vt]}class fe extends u{constructor(){const Fe={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,show
740Fields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,"suggest",Fe,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[(0,g.kg)(398,"Insert suggestion without overwriting text right of the cursor."),(0,g.kg)(399,"Insert suggestion and overwrite text right of the cursor.")],default:Fe.insertMode,description:(0,g.kg)(400,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:Fe.filterGraceful,description:(0,g.kg)(401,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:Fe.localityBonus,description:(0,g.kg)(402,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:Fe.shareSuggestSelections,markdownDescription:(0,g.kg)(403,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[(0,g.kg)(404,"Always select a suggestion when automatically triggering IntelliSense."),(0,g.kg)(405,"Never select a suggestion when automatically triggering IntelliSense."),(0,g.kg)(406,"Select a suggestion only when triggering IntelliSense from a trigger character."),(0,g.kg)(407,"Select a suggestion only when triggering IntelliSense as you type.")],default:Fe.selectionMode,markdownDescription:(0,g.kg)(408,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:Fe.snippetsPreventQuickSuggestions,description:(0,g.kg)(409,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:Fe.showIcons,description:(0,g.kg)(410,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:Fe.showStatusBar,description:(0,g.kg)(411,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:Fe.preview,description:(0,g.kg)(412,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:Fe.showInlineDetails,description:(0,g.kg)(413,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:(0,g.kg)(414,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:(0,g.kg)(415,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(416,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(417,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(418,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(419,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(420,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(421,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(422,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(423,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(424,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(425,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(426,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(427,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(428,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(429,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(430,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(431,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(432,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(433,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(434,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(435,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(436,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(437,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(438,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(439,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(440,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(441,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(442,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(443,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(444,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:(0,g.kg)(445,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{insertMode:h(st.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:o(st.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:o(st.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:o(st.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:o(st.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:h(st.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:o(st.showIcons,this.defaultValue.showIcons),showStatusBar:o(st.showStatusBar,this.defaultValue.showStatusBar),preview:o(st.preview,this.defaultValue.preview),previewMode:h(st.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:o(st.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:o(st.showMethods,this.defaultValue.showMethods),showFunctions:o(st.showFunctions,this.defaultValue.showFunctions),showConstructors:o(st.showConstructors,this.defaultValue.showConstructors),showDeprecated:o(st.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:o(st.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:o(st.showFields,this.defaultValue.showFields),showVariables:o(st.showVariables,this.defaultValue.showVariables),showClasses:o(st.showClasses,this.defaultValue.showClasses),showStructs:o(st.showStructs,this.defaultValue.showStructs),showInterfaces:o(st.showInterfaces,this.defaultValue.showInterfaces),showModules:o(st.showModules,this.defaultValue.showModules),showProperties:o(st.showProperties,this.defaultValue.showProperties),showEvents:o(st.showEvents,this.defaultValue.showEvents),showOperators:o(st.showOperators,this.defaultValue.showOperators),showUnits:o(st.showUnits,this.defaultValue.showUnits),showValues:o(st.showValues,this.defaultValue.showValues),showConstants:o(st.showConstants,this.defaultValue.showConstants),showEnums:o(st.showEnums,this.defaultValue.showEnums),showEnumMembers:o(st.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:o(st.showKeywords,this.defaultValue.showKeywords),showWords:o(st.showWords,this.defaultValue.showWords),showColors:o(st.showColors,this.defaultValue.showColors),showFiles:o(st.showFiles,this.defaultValue.showFiles),showReferences:o(st.showReferences,this.defaultValue.showReferences),showFolders:o(st.showFolders,this.defaultValue.showFolders),showTypeParameters:o(st.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:o(st.showSnippets,this.defaultValue.showSnippets),showUsers:o(st.showUsers,this.defaultValue.showUsers),showIssues:o(st.showIssues,this.defaultValue.showIssues)}}}class Se extends u{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:(0,g.kg)(446,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:(0,g.kg)(447,"Whether subwords (like 'foo' in 'foo
740Bar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(Fe){return!Fe||typeof Fe!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:o(Fe.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:o(Fe.selectSubwords,this.defaultValue.selectSubwords)}}}class pe extends u{constructor(){const Fe=[];super(147,"wordSegmenterLocales",Fe,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:(0,g.kg)(448,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"},default:Fe})}validate(Fe){if(typeof Fe=="string"&&(Fe=[Fe]),Array.isArray(Fe)){const st=[];for(const vt of Fe)if(typeof vt=="string")try{Intl.Segmenter.supportedLocalesOf(vt).length>0&&st.push(vt)}catch{}return st}return this.defaultValue}}class Ae extends u{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[(0,g.kg)(449,"No indentation. Wrapped lines begin at column 1."),(0,g.kg)(450,"Wrapped lines get the same indentation as the parent."),(0,g.kg)(451,"Wrapped lines get +1 indentation toward the parent."),(0,g.kg)(452,"Wrapped lines get +2 indentation toward the parent.")],description:(0,g.kg)(453,"Controls the indentation of wrapped lines."),default:"same"}})}validate(Fe){switch(Fe){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(Fe,st,vt){return st.get(2)===2?0:vt}}class Xe extends d{constructor(){super(166,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(Fe,st,vt){const Yt=st.get(165);return{isDominatedByLongLines:Fe.isDominatedByLongLines,isWordWrapMinified:Yt.isWordWrapMinified,isViewportWrapping:Yt.isViewportWrapping,wrappingColumn:Yt.wrappingColumn}}}class dt extends u{constructor(){const Fe={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",Fe,{"editor.dropIntoEditor.enabled":{type:"boolean",default:Fe.enabled,markdownDescription:(0,g.kg)(454,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:(0,g.kg)(455,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[(0,g.kg)(456,"Show the drop selector widget after a file is dropped into the editor."),(0,g.kg)(457,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),showDropSelector:h(st.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class gt extends u{constructor(){const Fe={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",Fe,{"editor.pasteAs.enabled":{type:"boolean",default:Fe.enabled,markdownDescription:(0,g.kg)(458,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:(0,g.kg)(459,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[(0,g.kg)(460,"Show the paste selector widget after content is pasted into the editor."),(0,g.kg)(461,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(Fe){if(!Fe||typeof Fe!="object")return this.defaultValue;const st=Fe;return{enabled:o(st.enabled,this.defaultValue.enabled),showPasteSelector:h(st.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const Bt=[];function _t(pt){return Bt[pt.id]=pt,pt}const ri={acceptSuggestionOnCommitCharacter:_t(new c(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:(0,g.kg)(462,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:_t(new D(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",(0,g.kg)(463,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:(0,g.kg)(464,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:_t(new W),accessibilityPageSize:_t(new p(3,"accessibilityPageSize",500,1,1073741824,{description:(0,g.kg)(465,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),allowOverflow:_t(new c(4,"allowOverflow",!0)),allowVariableLineHeights:_t(new c(5,"allowVariableLineHeights",!0,{description:(0,g.kg)(466,"Controls whether to allow using variable line heights in the editor.")})),allowVariableFonts:_t(new c(6,"allowVariableFonts",!0,{description:(0,g.kg)(467,"Controls whether to allow using variable fonts in the editor.")})),allowVariableFontsInAccessibilityMode:_t(new c(7,"allowVariableFontsInAccessibilityMode",!1,{description:(0,g.kg)(468,"Controls whether to allow using variable fonts in the editor in the accessibility mode."),tags:["accessibility"]}
740)),ariaLabel:_t(new S(8,"ariaLabel",(0,g.kg)(469,"Editor content"))),ariaRequired:_t(new c(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:_t(new c(12,"screenReaderAnnounceInlineSuggestion",!0,{description:(0,g.kg)(470,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:_t(new D(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",(0,g.kg)(471,"Use language configurations to determine when to autoclose brackets."),(0,g.kg)(472,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:(0,g.kg)(473,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:_t(new D(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",(0,g.kg)(474,"Use language configurations to determine when to autoclose comments."),(0,g.kg)(475,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:(0,g.kg)(476,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:_t(new D(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",(0,g.kg)(477,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:(0,g.kg)(478,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:_t(new D(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",(0,g.kg)(479,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:(0,g.kg)(480,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:_t(new D(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",(0,g.kg)(481,"Use language configurations to determine when to autoclose quotes."),(0,g.kg)(482,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:(0,g.kg)(483,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:_t(new k(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],N,{enumDescriptions:[(0,g.kg)(484,"The editor will not insert indentation automatically."),(0,g.kg)(485,"The editor will keep the current line's indentation."),(0,g.kg)(486,"The editor will keep the current line's indentation and honor language defined brackets."),(0,g.kg)(487,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),(0,g.kg)(488,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:(0,g.kg)(489,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),autoIndentOnPaste:_t(new c(17,"autoIndentOnPaste",!1,{description:(0,g.kg)(490,"Controls whether the editor should automatically auto-indent the pasted content.")})),autoIndentOnPasteWithinString:_t(new c(18,"autoIndentOnPasteWithinString",!0,{description:(0,g.kg)(491,"Controls whether the editor should automatically auto-indent the pasted content when pasted within a string. This takes effect when autoIndentOnPaste is true.")})),automaticLayout:_t(new c(19,"automaticLayout",!1)),autoSurround:_t(new D(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[(0,g.kg)(492,"Use language configurations to determine when to automatically surround selections."),(0,g.kg)(493,"Surround with quotes but not brackets."),(0,g.kg)(494,"Surround with brackets but not quotes."),""],description:(0,g.kg)(495,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:_t(new J),bracketPairGuides:_t(new ve),stickyTabStops:_t(new c(132,"stickyTabStops",!1,{description:(0,g.kg)(496,"Emulate selection behavior of tab characters when using space
740s for indentation. Selection will stick to tab stops.")})),codeLens:_t(new c(23,"codeLens",!0,{description:(0,g.kg)(497,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:_t(new S(24,"codeLensFontFamily","",{description:(0,g.kg)(498,"Controls the font family for CodeLens.")})),codeLensFontSize:_t(new p(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:(0,g.kg)(499,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:_t(new c(26,"colorDecorators",!0,{description:(0,g.kg)(500,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:_t(new D(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[(0,g.kg)(501,"Make the color picker appear both on click and hover of the color decorator"),(0,g.kg)(502,"Make the color picker appear on hover of the color decorator"),(0,g.kg)(503,"Make the color picker appear on click of the color decorator")],description:(0,g.kg)(504,"Controls the condition to make a color picker appear from a color decorator.")})),colorDecoratorsLimit:_t(new p(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:(0,g.kg)(505,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:_t(new c(28,"columnSelection",!1,{description:(0,g.kg)(506,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:_t(new U),contextmenu:_t(new c(30,"contextmenu",!0)),copyWithSyntaxHighlighting:_t(new c(31,"copyWithSyntaxHighlighting",!0,{description:(0,g.kg)(507,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:_t(new k(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],$,{description:(0,g.kg)(508,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:_t(new D(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[(0,g.kg)(509,"Smooth caret animation is disabled."),(0,g.kg)(510,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),(0,g.kg)(511,"Smooth caret animation is always enabled.")],description:(0,g.kg)(512,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:_t(new k(34,"cursorStyle",te.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],ne,{description:(0,g.kg)(513,"Controls the cursor style in insert input mode.")})),overtypeCursorStyle:_t(new k(92,"overtypeCursorStyle",te.Block,"block",["line","block","underline","line-thin","block-outline","underline-thin"],ne,{description:(0,g.kg)(514,"Controls the cursor style in overtype input mode.")})),cursorSurroundingLines:_t(new p(35,"cursorSurroundingLines",0,0,1073741824,{description:(0,g.kg)(515,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:_t(new D(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[(0,g.kg)(516,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),(0,g.kg)(517,"`cursorSurroundingLines` is enforced always.")],markdownDescription:(0,g.kg)(518,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:_t(new p(37,"cursorWidth",0,0,1073741824,{markdownDescription:(0,g.kg)(519,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),cursorHeight:_t(new p(38,"cursorHeight",0,0,1073741824,{markdownDescription:(0,g.kg)(520,"Controls the height of the cursor when `#editor.cursorStyle#` is set to `line`. Cursor's max height depends on line height.")})),disableLayerHinting:_t(new c(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:_t(new c(40,"disableMonospaceOptimizations",!1)),domReadOnly:_t(new c(41,"domReadOnly",!1)),doubleClickSelectsBlock:_t(new c(173,"doubleClickSelectsBlock",!0,{description:(0,g.kg)(521,"Controls whether double-clicking next to a bracket or quote selects the content inside.")})),dragAndDrop:_t(new c(42,"dragAndDrop",!0,{description:(0,g.kg)(522,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:_t(new I),dropIntoEditor:_t(new dt),editContext:_t(new c(44,"editContext",!0,{description:(0,g.kg)(523,"Sets whether the EditContext API should be used instead of the text area to power input in the editor."),included:x.H8||x.UP||x.ib})),renderRichScreenReaderContent:_t(new c(107,"renderRichScreenReaderContent",!1,{markdownDescription:(0,g.kg)(524,"Whether to render rich screen reader content when the `#editor.editContext#` setting is enabled.")})),stickyScroll:_t(new M),experimentalGpuAcceleration:_t(new D(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[(0,g.kg)(525,"Use regular DOM-based rendering."),(0,g.kg)(526,"Use GPU acceleration.")],description:(0,g.kg)(527,"Controls whether to use the experimental GPU acceleration to render the editor.")})),experimentalWhitespaceRendering:_t(new D(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[(0,g.kg)(528,"Use a new rendering method with svgs."),(0,g.kg)(529,"Use a new rendering method with font characters."),(0,g.kg)(530,"Use the stable rendering method.")],description:(0,g.kg)(531,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:_t(new S(48,"extraEditorClassName","")),fastScrollSensitivity:_t(new E(49,"fastScrollSensitivity",5,pt=>pt<=0?5:pt,{markdownDescription:(0,g.kg)(532,"Scrolling speed multiplier when pressing `Alt`.")})),find:_t(new H),fixedOverflowWidgets:_t(new c(51,"fixedOverflowWidgets",!1)),folding:_t(new c(52,"folding",!0,{description:(0,g.kg)(533,"Controls whether the editor has code folding enabled.")})),foldingStrategy:_t(new D(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[(0,g.kg)(534,"Use a language-specific folding strategy if available, else the indentation-based one."),(0,g.kg)(535,"Use the indentation-based folding strategy.")],description:(0,g.kg)(536,"Controls the strategy for computing folding ranges.")})),foldingHighlight:_t(new c(54,"foldingHighlight",!0,{description:(0,g.kg)(537,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:_t(new c(55,"foldingImportsByDefault",!1,{description:(0,g.kg)(538,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:_t(new p(56,"foldingMaximumRegions",5e3,10,65e3,{description:(0,g.kg)(539,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:_t(new c(57,"unfoldOnClickAfterEndOfLine",!1,{description:(0,g.kg)(540,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:_t(new S(58,"fontFamily",T.jU.fontFamily,{description:(0,g.kg)(541,"Controls the font family.")})),fontInfo:_t(new G),fontLigatures2:_t(new Z),fontSize:_t(new ie),fontWeight:_t(new re),fontVariations:_t(new X),formatOnPaste:_t(new c(64,"formatOnPaste",!1,{description:(0,g.kg)(542,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:_t(new c(65,"formatOnType",!1,{description:(0,g.kg)(543,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:_t(new c(66,"glyphMargin",!0,{description:(0,g.kg)(544,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:_t(new de),hideCursorInOverviewRuler:_t(new c(68,"hideCursorInOverviewRuler",!1,{description:(0,g.kg)(545,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:_t(new le),inDiffEditor:_t(new c(70,"inDiffEditor",!1)),inertialScroll:_t(new c(158,"inertialScroll",!1,{description:(0,g.kg)(546,"Make scrolling inertial - mostly useful with touchpad on linux.")})),letterSpacing:_t(new E(72,"letterSpacing",T.jU.letterSpacing,pt=>E.clamp(pt,-5,20),{description:(0,g.kg)(547,"Controls the letter spacing in pixels.")})),lightbulb:_t(new Be),lineDecorationsWidth:_t(new Me),lineHeight:_t(new Le),lineNumbers:_t(new $e),lineNumbersMinChars:_t(new p(77,"lineNumbersMinChars",5,1,300)),linkedEditing:_t(new c(78,"linkedEditing",!1,{description:(0,g.kg)(548,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:_t(new c(79,"links",!0,{description:(0,g.kg)(549,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:_t(new D(80,"matchBrackets","always",["always","near","never"],{description:(0,g.kg)(550,"Highlight matching brackets.")})),minimap:_t(new _e),mouseStyle:_t(new D(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:_t(new E(83,"mouseWheelScrollSensitivity",1,pt=>pt===0?1:pt,{markdownDescription:(0,g.kg)(551,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:_t(new c(84,"mouseWheelZoom",!1,{markdownDescription:x.zx?(0,g.kg)(552,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):(0,g.kg)(553,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:_t(new c(85,"multiCursorMergeOverlapping",!0,{description:(0,g.kg)(554,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:_t(new k(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],Qe,{markdownEnumDescriptions:[(0,g.kg)(555,"Maps to `C
740ontrol` on Windows and Linux and to `Command` on macOS."),(0,g.kg)(556,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:(0,g.kg)(557,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),mouseMiddleClickAction:_t(new D(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:(0,g.kg)(558,"Controls what happens when middle mouse button is clicked in the editor.")})),multiCursorPaste:_t(new D(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[(0,g.kg)(559,"Each cursor pastes a single line of the text."),(0,g.kg)(560,"Each cursor pastes the full text.")],markdownDescription:(0,g.kg)(561,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:_t(new p(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:(0,g.kg)(562,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:_t(new D(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[(0,g.kg)(563,"Does not highlight occurrences."),(0,g.kg)(564,"Highlights occurrences only in the current file."),(0,g.kg)(565,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:(0,g.kg)(566,"Controls whether occurrences should be highlighted across open files.")})),occurrencesHighlightDelay:_t(new p(91,"occurrencesHighlightDelay",0,0,2e3,{description:(0,g.kg)(567,"Controls the delay in milliseconds after which occurrences are highlighted."),tags:["preview"]})),overtypeOnPaste:_t(new c(93,"overtypeOnPaste",!0,{description:(0,g.kg)(568,"Controls whether pasting should overtype.")})),overviewRulerBorder:_t(new c(94,"overviewRulerBorder",!0,{description:(0,g.kg)(569,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:_t(new p(95,"overviewRulerLanes",3,0,3)),padding:_t(new je),pasteAs:_t(new gt),parameterHints:_t(new ae),peekWidgetDefaultFocus:_t(new D(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[(0,g.kg)(570,"Focus the tree when opening peek"),(0,g.kg)(571,"Focus the editor when opening peek")],description:(0,g.kg)(572,"Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:_t(new Ie),definitionLinkOpensInPeek:_t(new c(101,"definitionLinkOpensInPeek",!1,{description:(0,g.kg)(573,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:_t(new Ue),quickSuggestionsDelay:_t(new p(103,"quickSuggestionsDelay",10,0,1073741824,{description:(0,g.kg)(574,"Controls the delay in milliseconds after which quick suggestions will show up."),experiment:{mode:"auto"}})),readOnly:_t(new c(104,"readOnly",!1)),readOnlyMessage:_t(new Ke),renameOnType:_t(new c(106,"renameOnType",!1,{description:(0,g.kg)(575,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:(0,g.kg)(576,"Deprecated, use `#editor.linkedEditing#` instead.")})),renderControlCharacters:_t(new c(108,"renderControlCharacters",!0,{description:(0,g.kg)(577,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:_t(new D(109,"renderFinalNewline",x.j9?"dimmed":"on",["off","on","dimmed"],{description:(0,g.kg)(578,"Render last line number when the file ends with a newline.")})),renderLineHighlight:_t(new D(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",(0,g.kg)(579,"Highlights both the gutter and the current line.")],description:(0,g.kg)(580,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:_t(new c(111,"renderLineHighlightOnlyWhenFocus",!1,{description:(0,g.kg)(581,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:_t(new D(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:_t(new D(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",(0,g.kg)(582,"Render whitespace characters except for single space
740s between words."),(0,g.kg)(583,"Render whitespace characters only on selected text."),(0,g.kg)(584,"Render only trailing whitespace characters."),""],description:(0,g.kg)(585,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:_t(new p(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:_t(new c(115,"roundedSelection",!0,{description:(0,g.kg)(586,"Controls whether selections should have rounded corners.")})),rulers:_t(new He),scrollbar:_t(new ht),scrollBeyondLastColumn:_t(new p(118,"scrollBeyondLastColumn",4,0,1073741824,{description:(0,g.kg)(587,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:_t(new c(119,"scrollBeyondLastLine",!0,{description:(0,g.kg)(588,"Controls whether the editor will scroll beyond the last line.")})),scrollOnMiddleClick:_t(new c(171,"scrollOnMiddleClick",!1,{description:(0,g.kg)(589,"Controls whether the editor will scroll when the middle button is pressed.")})),scrollPredominantAxis:_t(new c(120,"scrollPredominantAxis",!0,{description:(0,g.kg)(590,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:_t(new c(121,"selectionClipboard",!0,{description:(0,g.kg)(591,"Controls whether the Linux primary clipboard should be supported."),included:x.j9})),selectionHighlight:_t(new c(122,"selectionHighlight",!0,{description:(0,g.kg)(592,"Controls whether the editor should highlight matches similar to the selection.")})),selectionHighlightMaxLength:_t(new p(123,"selectionHighlightMaxLength",200,0,1073741824,{description:(0,g.kg)(593,"Controls how many characters can be in the selection before similiar matches are not highlighted. Set to zero for unlimited.")})),selectionHighlightMultiline:_t(new c(124,"selectionHighlightMultiline",!1,{description:(0,g.kg)(594,"Controls whether the editor should highlight selection matches that span multiple lines.")})),selectOnLineNumbers:_t(new c(125,"selectOnLineNumbers",!0)),showFoldingControls:_t(new D(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[(0,g.kg)(595,"Always show the folding controls."),(0,g.kg)(596,"Never show the folding controls and reduce the gutter size."),(0,g.kg)(597,"Only show the folding controls when the mouse is over the gutter.")],description:(0,g.kg)(598,"Controls when the folding controls on the gutter are shown.")})),showUnused:_t(new c(127,"showUnused",!0,{description:(0,g.kg)(599,"Controls fading out of unused code.")})),showDeprecated:_t(new c(157,"showDeprecated",!0,{description:(0,g.kg)(600,"Controls strikethrough deprecated variables.")})),inlayHints:_t(new Ve),snippetSuggestions:_t(new D(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[(0,g.kg)(601,"Show snippet suggestions on top of other suggestions."),(0,g.kg)(602,"Show snippet suggestions below other suggestions."),(0,g.kg)(603,"Show snippets suggestions with other suggestions."),(0,g.kg)(604,"Do not show snippet suggestions.")],description:(0,g.kg)(605,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:_t(new Se),smoothScrolling:_t(new c(130,"smoothScrolling",!1,{description:(0,g.kg)(606,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:_t(new p(133,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:_t(new fe),inlineSuggest:_t(new ue),inlineCompletionsAccessibilityVerbose:_t(new c(169,"inlineCompletionsAccessibilityVerbose",!1,{description:(0,g.kg)(607,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:_t(new p(135,"suggestFontSize",0,0,1e3,{markdownDescription:(0,g.kg)(608,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:_t(new p(136,"suggestLineHeight",0,0,1e3,{markdownDescription:(0,g.kg)(609,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:_t(new c(137,"suggestOnTriggerCharacters",!0,{description:(0,g.kg)(610,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:_t(new D(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[(0,g.kg)(611,"Always select the first suggestion."),(0,g.kg)(612,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),(0,g.kg)(613,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:(0,g.kg)(614,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:_t(new D(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[(0,g.kg)(615,"Tab complete will insert the best matching suggestion when pressing tab."),(0,g.kg)(616,"Disable tab completions."),(0,g.kg)(617,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:(0,g.kg)(618,"Enables tab completions.")})),tabIndex:_t(new p(140,"tabIndex",0,-1,1073741824)),trimWhitespaceOnDelete:_t(new c(141,"trimWhitespaceOnDelete",!1,{description:(0,g.kg)(619,"Controls whether the editor will also delete the next line's indentation whitespace when deleting a newline.")})),unicodeHighlight:_t(new q),unusualLineTerminators:_t(new D(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[(0,g.kg)(620,"Unusual line terminators are automatically removed."),(0,g.kg)(621,"Unusual line terminators are ignored."),(0,g.kg)(622,"Unusual line terminators prompt to be removed.")],description:(0,g.kg)(623,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:_t(new c(144,"useShadowDOM",!0)),useTabStops:_t(new c(145,"useTabStops",!0,{description:(0,g.kg)(624,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:_t(new D(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[(0,g.kg)(625,"Use the default line break rule."),(0,g.kg)(626,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:(0,g.kg)(627,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:_t(new pe),wordSeparators:_t(new S(148,"wordSeparators",A.J3,{description:(0,g.kg)(628,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:_t(new D(149,"wordWrap","off",["off","on","wordWrapColumn","boun
740ded"],{markdownEnumDescriptions:[(0,g.kg)(629,"Lines will never wrap."),(0,g.kg)(630,"Lines will wrap at the viewport width."),(0,g.kg)(631,"Lines will wrap at `#editor.wordWrapColumn#`."),(0,g.kg)(632,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:(0,g.kg)(633,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:_t(new S(150,"wordWrapBreakAfterCharacters"," 	})]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:_t(new S(151,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:_t(new p(152,"wordWrapColumn",80,1,1073741824,{markdownDescription:(0,g.kg)(634,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:_t(new D(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:_t(new D(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:_t(new c(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:(0,g.kg)(635,'Controls whether literal `\\n` shall trigger a wordWrap when `#editor.wordWrap#` is enabled.\n\nFor example:\n```c\nchar* str="hello\\nworld"\n```\nwill be displayed as\n```c\nchar* str="hello\\n\n           world"\n```')})),effectiveCursorStyle:_t(new Y),editorClassName:_t(new V),defaultColorDecorators:_t(new D(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[(0,g.kg)(636,"Show default color decorators only when no extension provides colors decorators."),(0,g.kg)(637,"Always show default color decorators."),(0,g.kg)(638,"Never show default color decorators.")],description:(0,g.kg)(639,"Controls whether inline color decorations should be shown using the default document color provider.")})),pixelRatio:_t(new Ee),tabFocusMode:_t(new c(164,"tabFocusMode",!1,{markdownDescription:(0,g.kg)(640,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:_t(new he),wrappingInfo:_t(new Xe),wrappingIndent:_t(new Ae),wrappingStrategy:_t(new we),effectiveEditContextEnabled:_t(new j),effectiveAllowVariableFonts:_t(new z)}},66525:(St,We,e)=>{e.d(We,{cB:()=>b});var v=e(87110),R=e(16844);class x{constructor(){this._value="",this._pos=0}reset(i){return this._value=i,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(i){const r=i.charCodeAt(0),d=this._value.charCodeAt(this._pos);return r-d}value(){return this._value[this._pos]}}class T{constructor(i=!0){this._caseSensitive=i}reset(i){return this._value=i,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let i=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(i)this._from++;else break;else i=!1;return this}cmp(i){return this._caseSensitive?(0,R.lF)(i,this._value,0,i.length,this._from,this._to):(0,R.zd)(i,this._value,0,i.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class y{constructor(i=!0,r=!0){this._splitOnBackslash=i,this._caseSensitive=r}reset(i){this._from=0,this._to=0,this._value=i,this._valueLen=i.length;for(let r=i.length-1;r>=0;r--,this._valueLen--){const d=this._value.charCodeAt(r);if(!(d===47||this._splitOnBackslash&&d===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let i=!0;for(;this._to<this._valueLen;this._to++){const r=this._value.charCodeAt(this._to);if(r===47||this._splitOnBackslash&&r===92)if(i)this._from++;else break;else i=!1}return this}cmp(i){return this._caseSensitive?(0,R.lF)(i,this._value,0,i.length,this._from,this._to):(0,R.zd)(i,this._value,0,i.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}}class A{constructor(i,r){this._ignorePathCasing=i,this._ignoreQueryAndFragment=r,this._states=[],this._stateIdx=0}reset(i){return this._value=i,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new y(!1,!this._ignorePathCasing(i)),this._pathIterator.reset(i.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(i)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(i){if(this._states[this._stateIdx]===1)return(0,R.W1)(i,this._value.scheme);if(this._states[this._stateIdx]===2)return(0,R.W1)(i,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(i);if(this._states[this._stateIdx]===4)return(0,R.UD)(i,this._value.query);if(this._states[this._stateIdx]===5)return(0,R.UD)(i,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}}const C=class C{static wrap(i){return i===void 0?C.Val:i}static unwrap(i){return i===C.Val?void 0:i}};C.Val=Symbol("undefined_placeholder");let g=C;class L{constructor(){this.height=1,this.value=void 0,this.key=void 0,this.left=void 0,this.mid=void 0,this.right=void 0}rotateLeft(){const i=this.right;return this.right=i.left,i.left=this,this.updateHeight(),i.updateHeight(),i}rotateRight(){const i=this.left;return this.left=i.right,i.right=this,this.updateHeight(),i.updateHeight(),i}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}}class b{static forUris(i=()=>!1,r=()=>!1){return new b(new A(i,r))}static forStrings(){return new b(new x)}static forConfigKeys(){return new b(new T)}constructor(i){this._iter=i}clear(){this._root=void 0}set(i,r){const d=this._iter.reset(i);let l;
740this._root||(this._root=new L,this._root.segment=d.value());const o=[];for(l=this._root;;){const a=d.cmp(l.segment);if(a>0)l.left||(l.left=new L,l.left.segment=d.value()),o.push([-1,l]),l=l.left;else if(a<0)l.right||(l.right=new L,l.right.segment=d.value()),o.push([1,l]),l=l.right;else if(d.hasNext())d.next(),l.mid||(l.mid=new L,l.mid.segment=d.value()),o.push([0,l]),l=l.mid;else break}const c=g.unwrap(l.value);l.value=g.wrap(r),l.key=i;for(let a=o.length-1;a>=0;a--){const p=o[a][1];p.updateHeight();const _=p.balanceFactor();if(_<-1||_>1){const E=o[a][0],S=o[a+1][0];if(E===1&&S===1)o[a][1]=p.rotateLeft();else if(E===-1&&S===-1)o[a][1]=p.rotateRight();else if(E===1&&S===-1)p.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=p.rotateLeft();else if(E===-1&&S===1)p.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=p.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return c}get(i){return g.unwrap(this._getNode(i)?.value)}_getNode(i){const r=this._iter.reset(i);let d=this._root;for(;d;){const l=r.cmp(d.segment);if(l>0)d=d.left;else if(l<0)d=d.right;else if(r.hasNext())r.next(),d=d.mid;else break}return d}has(i){const r=this._getNode(i);return!(r?.value===void 0&&r?.mid===void 0)}delete(i){return this._delete(i,!1)}deleteSuperstr(i){return this._delete(i,!0)}_delete(i,r){const d=this._iter.reset(i),l=[];let o=this._root;for(;o;){const c=d.cmp(o.segment);if(c>0)l.push([-1,o]),o=o.left;else if(c<0)l.push([1,o]),o=o.right;else if(d.hasNext())d.next(),l.push([0,o]),o=o.mid;else break}if(o){if(r?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){const c=[[1,o]],a=this._min(o.right,c);if(a.key){o.key=a.key,o.value=a.value,o.segment=a.segment;const p=a.right;if(c.length>1){const[E,S]=c[c.length-1];switch(E){case-1:S.left=p;break;case 0:(0,v.vA)(!1);case 1:(0,v.vA)(!1)}}else o.right=p;const _=this._balanceByStack(c);if(l.length>0){const[E,S]=l[l.length-1];switch(E){case-1:S.left=_;break;case 0:S.mid=_;break;case 1:S.right=_;break}}else this._root=_}}else{const c=o.left??o.right;if(l.length>0){const[a,p]=l[l.length-1];switch(a){case-1:p.left=c;break;case 0:p.mid=c;break;case 1:p.right=c;break}}else this._root=c}this._root=this._balanceByStack(l)??this._root}}_min(i,r){for(;i.left;)r.push([-1,i]),i=i.left;return i}_balanceByStack(i){for(let r=i.length-1;r>=0;r--){const d=i[r][1];d.updateHeight();const l=d.balanceFactor();if(l>1?(d.right.balanceFactor()>=0||(d.right=d.right.rotateRight()),i[r][1]=d.rotateLeft()):l<-1&&(d.left.balanceFactor()<=0||(d.left=d.left.rotateLeft()),i[r][1]=d.rotateRight()),r>0)switch(i[r-1][0]){case-1:i[r-1][1].left=i[r][1];break;case 1:i[r-1][1].right=i[r][1];break;case 0:i[r-1][1].mid=i[r][1];break}else return i[0][1]}}findSubstr(i){const r=this._iter.reset(i);let d=this._root,l;for(;d;){const o=r.cmp(d.segment);if(o>0)d=d.left;else if(o<0)d=d.right;else if(r.hasNext())r.next(),l=g.unwrap(d.value)||l,d=d.mid;else break}return d&&g.unwrap(d.value)||l}findSuperstr(i){return this._findSuperstrOrElement(i,!1)}_findSuperstrOrElement(i,r){const d=this._iter.reset(i);let l=this._root;for(;l;){const o=d.cmp(l.segment);if(o>0)l=l.left;else if(o<0)l=l.right;else if(d.hasNext())d.next(),l=l.mid;else return l.mid?this._entries(l.mid):r?g.unwrap(l.value):void 0}}forEach(i){for(const[r,d]of this)i(d,r)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(i){const r=[];return this._dfsEntries(i,r),r[Symbol.iterator]()}_dfsEntries(i,r){i&&(i.left&&this._dfsEntries(i.left,r),i.value!==void 0&&r.push([i.key,g.unwrap(i.value)]),i.mid&&this._dfsEntries(i.mid,r),i.right&&this._dfsEntries(i.right,r))}}},66526:St=>{St.exports={}},66638:(St,We,e)=>{e.d(We,{Np:()=>x,jA:()=>y,z9:()=>R});var v=e(12596);function R(A){return A&&typeof A.getEditorType=="function"?A.getEditorType()===v._.ICodeEditor:!1}function x(A){return A&&typeof A.getEditorType=="function"?A.getEditorType()===v._.IDiffEditor:!1}function T(A){return!!A&&typeof A=="object"&&typeof A.onDidChangeActiveEditor=="function"}function y(A){return R(A)?A:x(A)?A.getModifiedEditor():T(A)&&R(A.activeCodeEditor)?A.activeCodeEditor:null}},66654:(St,We,e)=>{e.d(We,{L:()=>C});var v=e(14333),R=e(82222),x=e(10998),T=e(56071),y=e(90428),A=e(65568),g=function(u,i,r,d){var l=arguments.length,o=l<3?i:d===null?d=Object.getOwnPropertyDescriptor(i,r):d,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(u,i,r,d);else for(var a=u.length-1;a>=0;a--)(c=u[a])&&(o=(l<3?c(o):l>3?c(i,r,o):c(i,r))||o);return l>3&&o&&Object.defineProperty(i,r,o),o},L=function(u,i){return function(r,d){i(r,d,u)}};const b=v.$;let C=class extends x.jG{get hasContent(){return this._hasContent}constructor(i,r){super(),this._keybindingService=i,this._hoverService=r,this.actions=[],this._hasContent=!1,this.hoverElement=b("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=(0,v.BC)(this.hoverElement,b("div.actions"))}
740addAction(i){const r=this._keybindingService.lookupKeybinding(i.commandId),d=r?r.getLabel():null;this._hasContent=!0;const l=this._register(R.jQ.render(this.actionsElement,i,d));return this._register(this._hoverService.setupManagedHover((0,A.nZ)("element"),l.actionContainer,l.actionRenderedLabel)),this.actions.push(l),l}append(i){const r=(0,v.BC)(this.actionsElement,i);return this._hasContent=!0,r}};C=g([L(0,T.b),L(1,y.TN)],C)},66726:(St,We,e)=>{e.d(We,{N:()=>T,v:()=>x});var v=e(83312);const R=[];function x(y,A,g){A instanceof v.d||(A=new v.d(A,[],!!g)),R.push([y,A])}function T(){return R}},67159:(St,We,e)=>{e.d(We,{x:()=>C,l:()=>b});var v=e(14333),R=e(20396),x=e(65568),T=e(98315),y=e(10998),A=e(71386),g=e(3765);const L=v.$,b={keybindingLabelBackground:void 0,keybindingLabelForeground:void 0,keybindingLabelBorder:void 0,keybindingLabelBottomBorder:void 0,keybindingLabelShadow:void 0};class C extends y.jG{constructor(i,r,d){super(),this.os=r,this.keyElements=new Set,this.options=d||Object.create(null);const l=this.options.keybindingLabelForeground;this.domNode=(0,v.BC)(i,L(".monaco-keybinding")),l&&(this.domNode.style.color=l),this.hover=this._register((0,R.i)().setupManagedHover((0,x.nZ)("mouse"),this.domNode,"")),this.didEverRender=!1,i.appendChild(this.domNode)}set(i,r){this.didEverRender&&this.keybinding===i&&C.areSame(this.matches,r)||(this.keybinding=i,this.matches=r,this.render())}render(){if(this.clear(),this.keybinding){const i=this.keybinding.getChords();i[0]&&this.renderChord(this.domNode,i[0],this.matches?this.matches.firstPart:null);for(let d=1;d<i.length;d++)(0,v.BC)(this.domNode,L("span.monaco-keybinding-key-chord-separator",void 0," ")),this.renderChord(this.domNode,i[d],this.matches?this.matches.chordPart:null);const r=this.options.disableTitle??!1?void 0:this.keybinding.getAriaLabel()||void 0;this.hover.update(r),this.domNode.setAttribute("aria-label",r||"")}else this.options&&this.options.renderUnboundKeybindings&&this.renderUnbound(this.domNode);this.didEverRender=!0}clear(){(0,v.w_)(this.domNode),this.keyElements.clear()}renderChord(i,r,d){const l=T.Of.modifierLabels[this.os];r.ctrlKey&&this.renderKey(i,l.ctrlKey,!!d?.ctrlKey,l.separator),r.shiftKey&&this.renderKey(i,l.shiftKey,!!d?.shiftKey,l.separator),r.altKey&&this.renderKey(i,l.altKey,!!d?.altKey,l.separator),r.metaKey&&this.renderKey(i,l.metaKey,!!d?.metaKey,l.separator);const o=r.keyLabel;o&&this.renderKey(i,o,!!d?.keyCode,"")}renderKey(i,r,d,l){(0,v.BC)(i,this.createKeyElement(r,d?".highlight":"")),l&&(0,v.BC)(i,L("span.monaco-keybinding-key-separator",void 0,l))}renderUnbound(i){(0,v.BC)(i,this.createKeyElement((0,g.kg)(15,"Unbound")))}createKeyElement(i,r=""){const d=L("span.monaco-keybinding-key"+r,void 0,i);return this.keyElements.add(d),this.options.keybindingLabelBackground&&(d.style.backgroundColor=this.options.keybindingLabelBackground),this.options.keybindingLabelBorder&&(d.style.borderColor=this.options.keybindingLabelBorder),this.options.keybindingLabelBottomBorder&&(d.style.borderBottomColor=this.options.keybindingLabelBottomBorder),this.options.keybindingLabelShadow&&(d.style.boxShadow=`inset 0 -1px 0 ${this.options.keybindingLabelShadow}`),d}static areSame(i,r){return i===r||!i&&!r?!0:!!i&&!!r&&(0,A.aI)(i.firstPart,r.firstPart)&&(0,A.aI)(i.chordPart,r.chordPart)}}},67167:(St,We,e)=>{e.d(We,{O:()=>T});var v=e(87110),R=e(79359);class x{constructor(){this.data=new Map}add(A,g){(0,v.ok)((0,R.Kg)(A)),(0,v.ok)((0,R.Gv)(g)),(0,v.ok)(!this.data.has(A),"There is already an extension with this id"),this.data.set(A,g)}as(A){return this.data.get(A)||null}dispose(){this.data.forEach(A=>{(0,R.Tn)(A.dispose)&&A.dispose()}),this.data.clear()}}const T=new x},67538:(St,We,e)=>{var X;var v=e(65958),R=e(78903),x=e(94327),T=e(90028),y=e(10998),A=e(13072),g=e(63339),L=e(22467),b=e(23013),C=e(37264),u=e(50946),i=e(31531),r=e(12060),d=e(29849),l=e(87951),o=e(13338),c=e(79359),a=e(28061),p=e(64830),_=e(82096);class E{constructor(Y,j){this._link=Y,this._provider=j}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(Y){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,Y)).then(j=>(this._link=j||this._link,this._link.url?this.resolve(Y):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}}const Z=class Z{constructor(Y){this._disposables=new y.Cm;let j=[];for(const[z,ie]of Y){const re=z.links.map(de=>new E(de,ie));j=Z._union(j,re),(0,y.Xm)(z)&&(this._disposables??=new y.Cm,this._disposables.add(z))}this.links=j}dispose(){this._disposables?.dispose(),this.links.length=0}static _union(Y,j){const z=[];let ie,re,de,le;for(ie=0,de=0,re=Y.length,le=j.length;ie<re&&de<le;){const he=Y[ie],we=j[de];if(a.Q.areIntersectingOrTouching(he.range,we.range)){ie++;continue}a.Q.compareRangesUsingStarts(he.range,we.range)<0?(z.push(he),ie++):(z.push(we),de++)}for(;ie<re;ie++)z.push(Y[ie]);for(;de<le;de++)z.push(j[de]);return z}};Z.Empty=new Z([]);let S=Z;async function h(G,Y,j){const z=[],ie=G.ordered(Y).reverse().map(async(de,le)=>{try{const he=await de.provideLinks(Y,j);he&&(z[le]=[he,de])}catch(he){(0,x.M_)(he)}});await Promise.all(ie);let re=new S((0,o.Yc)(z));return j.isCancellationRequested&&(re.dispose(),re=S.Empty),re}_.w.registerCommand("_executeLinkProvider",async(G,...Y)=>
740{let[j,z]=Y;(0,c.j)(j instanceof C.r),typeof z!="number"&&(z=0);const{linkProvider:ie}=G.get(d.u),re=G.get(p.S).getModel(j);if(!re)return[];const de=await h(ie,re,R.XO.None);if(!de)return[];for(let he=0;he<Math.min(z,de.links.length);he++)await de.links[he].resolve(R.XO.None);const le=de.links.slice(0);return de.dispose(),le});var D=e(3765),k=e(29879),N=e(54435),W=function(G,Y,j,z){var ie=arguments.length,re=ie<3?Y:z===null?z=Object.getOwnPropertyDescriptor(Y,j):z,de;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")re=Reflect.decorate(G,Y,j,z);else for(var le=G.length-1;le>=0;le--)(de=G[le])&&(re=(ie<3?de(re):ie>3?de(Y,j,re):de(Y,j))||re);return ie>3&&re&&Object.defineProperty(Y,j,re),re},U=function(G,Y){return function(j,z){Y(j,z,G)}},$;let te=(X=class extends y.jG{static get(Y){return Y.getContribution($.ID)}constructor(Y,j,z,ie,re){super(),this.editor=Y,this.openerService=j,this.notificationService=z,this.languageFeaturesService=ie,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=re.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new v.uC(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const de=this._register(new l.gi(Y));this._register(de.onMouseMoveOrRelevantKeyDown(([le,he])=>{this._onEditorMouseMove(le,he)})),this._register(de.onExecute(le=>{this.onEditorMouseUp(le)})),this._register(de.onCancel(le=>{this.cleanUpActiveLinkDecoration()})),this._register(Y.onDidChangeConfiguration(le=>{le.hasChanged(79)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(Y.onDidChangeModelContent(le=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(Y.onDidChangeModel(le=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(Y.onDidChangeModelLanguage(le=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(le=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(79))return;const Y=this.editor.getModel();if(!Y.isTooLargeForSyncing()&&this.providers.has(Y)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=(0,v.SS)(j=>h(this.providers,Y,j));try{const j=new b.W(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(Y,j.elapsed()),Y.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(j){(0,x.dz)(j)}finally{this.computePromise=null}}}updateDecorations(Y){const j=this.editor.getOption(86)==="altKey",z=[],ie=Object.keys(this.currentOccurrences);for(const de of ie){const le=this.currentOccurrences[de];z.push(le.decorationId)}const re=[];if(Y)for(const de of Y)re.push(V.decoration(de,j));this.editor.changeDecorations(de=>{const le=de.deltaDecorations(z,re);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let he=0,we=le.length;he<we;he++){const xe=new V(Y[he],le[he]);this.currentOccurrences[xe.decorationId]=xe}})}_onEditorMouseMove(Y,j){const z=this.editor.getOption(86)==="altKey";if(this.isEnabled(Y,j)){this.cleanUpActiveLinkDecoration();const ie=this.getLinkOccurrence(Y.target.position);ie&&this.editor.changeDecorations(re=>{ie.activate(re,z),this.activeLinkDecorationId=ie.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const Y=this.editor.getOption(86)==="altKey";if(this.activeLinkDecorationId){const j=this.currentOccurrences[this.activeLinkDecorationId];j&&this.editor.changeDecorations(z=>{j.deactivate(z,Y)}),this.activeLinkDecorationId=null}}onEditorMouseUp(Y){if(!this.isEnabled(Y))return;const j=this.getLinkOccurrence(Y.target.position);j&&this.openLinkOccurrence(j,Y.hasSideBySideModifier,!0)}openLinkOccurrence(Y,j,z=!1){if(!this.openerService)return;const{link:ie}=Y;ie.resolve(R.XO.None).then(re=>{if(typeof re=="string"&&this.editor.hasModel()){const de=this.editor.getModel().uri;if(de.scheme===A.ny.file&&re.startsWith(`${A.ny.file}:`)){const le=C.r.parse(re);if(le.scheme===A.ny.file){const he=(0,L.su)(le);let we=null;he.startsWith("/./")||he.startsWith("\\.\\")?we=`.${he.substr(1)}`:(he.startsWith("//./")||he.startsWith("\\\\.\\"))&&(we=`.${he.substr(2)}`),we&&(re=(0,L.uJ)(de,we))}}}return this.openerService.open(re,{openToSide:j,fromUserGesture:z,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},re=>{const de=re instanceof Error?re.message:re;de==="invalid"?this.notificationService.warn((0,D.kg)(1323,"Failed to open this link because it is not well-formed: {0}",ie.url.toString())):de==="missing"?this.notificationService.warn((0,D.kg)(1324,"Failed to open this link because its target is missing.")):(0,x.dz)(re)})}
740getLinkOccurrence(Y){if(!this.editor.hasModel()||!Y)return null;const j=this.editor.getModel().getDecorationsInRange({startLineNumber:Y.lineNumber,startColumn:Y.column,endLineNumber:Y.lineNumber,endColumn:Y.column},0,!0);for(const z of j){const ie=this.currentOccurrences[z.id];if(ie)return ie}return null}isEnabled(Y,j){return!!(Y.target.type===6&&(Y.hasTriggerModifier||j&&j.keyCodeIsTriggerKey||Y.isMiddleClick&&Y.mouseMiddleClickAction==="openLink"))}stop(){this.computeLinks.cancel(),this.activeLinksList&&(this.activeLinksList?.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},$=X,X.ID="editor.linkDetector",X);te=$=W([U(1,N.Cr),U(2,k.Ot),U(3,d.u),U(4,r.U)],te);const ne={general:i.kI.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:i.kI.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class V{static decoration(Y,j){return{range:Y.range,options:V._getOptions(Y,j,!1)}}static _getOptions(Y,j,z){const ie={...z?ne.active:ne.general};return ie.hoverMessage=I(Y,j),ie}constructor(Y,j){this.link=Y,this.decorationId=j}activate(Y,j){Y.changeDecorationOptions(this.decorationId,V._getOptions(this.link,j,!0))}deactivate(Y,j){Y.changeDecorationOptions(this.decorationId,V._getOptions(this.link,j,!1))}}function I(G,Y){const j=G.url&&/^command:/i.test(G.url.toString()),z=G.tooltip?G.tooltip:j?(0,D.kg)(1325,"Execute command"):(0,D.kg)(1326,"Follow link"),ie=Y?g.zx?(0,D.kg)(1327,"cmd + click"):(0,D.kg)(1328,"ctrl + click"):g.zx?(0,D.kg)(1329,"option + click"):(0,D.kg)(1330,"alt + click");if(G.url){let re="";if(/^command:/i.test(G.url.toString())){const le=G.url.toString().match(/^command:([^?#]+)/);if(le){const he=le[1];re=(0,D.kg)(1331,"Execute command {0}",he)}}return new T.Bc("",!0).appendLink(G.url.toString(!0).replace(/ /g,"%20"),z,re).appendMarkdown(` (${ie})`)}else return new T.Bc().appendText(`${z} (${ie})`)}class H extends u.ks{constructor(){super({id:"editor.action.openLink",label:(0,D.aS)(1332,"Open Link"),precondition:void 0})}run(Y,j){const z=te.get(j);if(!z||!j.hasModel())return;const ie=j.getSelections();for(const re of ie){const de=z.getLinkOccurrence(re.getEndPosition());de&&z.openLinkOccurrence(de,!1)}}}(0,u.HW)(te.ID,te,1),(0,u.Fl)(H)},67860:(St,We,e)=>{var v=e(55893),R=e(14333),x=e(63339),T=e(3765),y=e(58067),A=e(3338),g=e(31540),L=e(46441),b=e(71739),C=e(25277),u=e(50946),i=e(87301),r=e(38122),d=e(44033);const l="9_cutcopypaste",o=x.ib||document.queryCommandSupported("cut"),c=x.ib||document.queryCommandSupported("copy"),a=typeof navigator.clipboard>"u"||v.gm?document.queryCommandSupported("paste"):!0;function p(W){return W.register(),W}const _=o?p(new u.fE({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:x.ib?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:y.D8.MenubarEditMenu,group:"2_ccp",title:(0,T.kg)(849,"Cu&&t"),order:1},{menuId:y.D8.EditorContext,group:l,title:(0,T.kg)(850,"Cut"),when:r.R.writable,order:1},{menuId:y.D8.CommandPalette,group:"",title:(0,T.kg)(851,"Cut"),order:1},{menuId:y.D8.SimpleEditorContext,group:l,title:(0,T.kg)(852,"Cut"),when:r.R.writable,order:1}]})):void 0,E=c?p(new u.fE({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:x.ib?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:y.D8.MenubarEditMenu,group:"2_ccp",title:(0,T.kg)(853,"&&Copy"),order:2},{menuId:y.D8.EditorContext,group:l,title:(0,T.kg)(854,"Copy"),order:2},{menuId:y.D8.CommandPalette,group:"",title:(0,T.kg)(855,"Copy"),order:1},{menuId:y.D8.SimpleEditorContext,group:l,title:(0,T.kg)(856,"Copy"),order:2}]})):void 0;y.ZG.appendMenuItem(y.D8.MenubarEditMenu,{submenu:y.D8.MenubarCopy,title:(0,T.aS)(861,"Copy As"),group:"2_ccp",order:3}),y.ZG.appendMenuItem(y.D8.EditorContext,{submenu:y.D8.EditorContextCopy,title:(0,T.aS)(862,"Copy As"),group:l,order:3}),y.ZG.appendMenuItem(y.D8.EditorContext,{submenu:y.D8.EditorContextShare,title:(0,T.aS)(863,"Share"),group:"11_share",order:-1,when:g.M$.and(g.M$.notEquals("resourceScheme","output"),r.R.editorTextFocus)}),y.ZG.appendMenuItem(y.D8.ExplorerContext,{submenu:y.D8.ExplorerContextShare,title:(0,T.aS)(864,"Share"),group:"11_share",order:-1});const S=a?p(new u.fE({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:x.ib?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:y.D8.MenubarEditMenu,group:"2_ccp",title:(0,T.kg)(857,"&&Paste"),order:4},{menuId:y.D8.EditorContext,group:l,title:(0,T.kg)(858,"Paste"),when:r.R.writable,order:4},{menuId:y.D8.CommandPalette,group:"",title:(0,T.kg)(859,"Paste"),order:1},{menuId:y.D8.SimpleEditorContext,group:l,title:(0,T.kg)(860,"Paste"),when:r.R.writable,order:4}]})):void 0;class h extends u.ks{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:(0,T.aS)(865,"Copy with Syntax Highlighting"),precondition:void 0,kbOpts:{kbExpr:r.R.textInputFocus,primary:0,weight:100}})}run(U,$){const te=U.get(L.rr),ne=U.get(A.h);te.trace("ExecCommandCopyWithSyntaxHighlightingAction#run"),!(!$.hasModel()||!$.getOption(45)&&$.getSelection().isEmpty())&&(b.Eq.forceCopyWithSyntaxHighlighting=!0,$.focu
740s(),te.trace("ExecCommandCopyWithSyntaxHighlightingAction (before execCommand copy)"),D($,ne),te.trace("ExecCommandCopyWithSyntaxHighlightingAction (after execCommand copy)"),b.Eq.forceCopyWithSyntaxHighlighting=!1)}}function D(W,U){if(b.Eq.electronBugWorkaroundCopyEventHasFired=!1,W.getContainerDomNode().ownerDocument.execCommand("copy"),x.ib&&b.Eq.electronBugWorkaroundCopyEventHasFired===!1){const{dataToCopy:$}=(0,b.EB)(W._getViewModel(),void 0,v.gm);U.writeText($.text)}}function k(W,U){W&&(W.addImplementation(1e4,"code-editor",($,te)=>{const ne=$.get(L.rr),V=$.get(A.h);ne.trace("registerExecCommandImpl (addImplementation code-editor for : ",U,")");const I=$.get(i.T).getFocusedCodeEditor();if(I&&I.hasTextFocus()&&I.hasModel()){const H=I.getOption(45),Z=I.getSelection();return Z&&Z.isEmpty()&&!H||(I.getOption(170)&&U==="cut"?(N(I),ne.trace("registerExecCommandImpl (before execCommand copy)"),D(I,V),I.trigger(void 0,"cut",void 0),ne.trace("registerExecCommandImpl (after execCommand copy)")):(N(I),ne.trace("registerExecCommandImpl (before execCommand "+U+")"),U==="copy"?D(I,V):I.getContainerDomNode().ownerDocument.execCommand(U),ne.trace("registerExecCommandImpl (after execCommand "+U+")"))),!0}return!1}),W.addImplementation(0,"generic-dom",($,te)=>{const ne=$.get(L.rr);return ne.trace("registerExecCommandImpl (addImplementation generic-dom for : ",U,")"),ne.trace("registerExecCommandImpl (before execCommand "+U+")"),(0,R.a)().execCommand(U),ne.trace("registerExecCommandImpl (after execCommand "+U+")"),!0}))}function N(W){if(W.getOption(170)){const $=C.q.get(W.getId());$&&$.handleWillCopy()}}k(_,"cut"),k(E,"copy"),S&&(S.addImplementation(1e4,"code-editor",(W,U)=>{const $=W.get(L.rr);$.trace("registerExecCommandImpl (addImplementation code-editor for : paste)");const te=W.get(i.T),ne=W.get(A.h),V=te.getFocusedCodeEditor();if(V&&V.hasModel()&&V.hasTextFocus()){if(V.getOption(170)){const Z=C.q.get(V.getId());Z&&Z.handleWillPaste()}$.trace("registerExecCommandImpl (before triggerPaste)");const H=ne.triggerPaste((0,R.fz)().vscodeWindowId);return H?($.trace("registerExecCommandImpl (triggerPaste defined)"),H.then(async()=>($.trace("registerExecCommandImpl (after triggerPaste)"),d.Rj.get(V)?.finishedPaste()??Promise.resolve()))):($.trace("registerExecCommandImpl (triggerPaste undefined)"),x.HZ?($.trace("registerExecCommandImpl (Paste handling on web)"),(async()=>{const Z=await ne.readText();if(Z!==""){const X=b.bs.INSTANCE.get(Z);let G=!1,Y=null,j=null;X&&(G=V.getOption(45)&&!!X.isFromEmptySelection,Y=typeof X.multicursorText<"u"?X.multicursorText:null,j=X.mode),$.trace("registerExecCommandImpl (clipboardText.length : ",Z.length," id : ",X?.id,")"),V.trigger("keyboard","paste",{text:Z,pasteOnNewLine:G,multicursorText:Y,mode:j})}})()):!0)}return!1}),S.addImplementation(0,"generic-dom",(W,U)=>(W.get(L.rr).trace("registerExecCommandImpl (addImplementation generic-dom for : paste)"),W.get(A.h).triggerPaste((0,R.fz)().vscodeWindowId)??!1))),c&&(0,u.Fl)(h)},67885:(St,We,e)=>{e.d(We,{b:()=>v});class v{static equals(x,T){return x.x===T.x&&x.y===T.y}constructor(x,T){this.x=x,this.y=T}add(x){return new v(this.x+x.x,this.y+x.y)}deltaX(x){return new v(this.x+x,this.y)}deltaY(x){return new v(this.x,this.y+x)}toString(){return`(${this.x},${this.y})`}subtract(x){return new v(this.x-x.x,this.y-x.y)}scale(x){return new v(this.x*x,this.y*x)}mapComponents(x){return new v(x(this.x),x(this.y))}isZero(){return this.x===0&&this.y===0}withThreshold(x){return this.mapComponents(T=>T>x?T-x:T<-x?T+x:0)}}},67938:(St,We,e)=>{e.d(We,{$P:()=>T,Zp:()=>x});var v=e(82199),R;(function(y){y[y.AVOID=0]="AVOID",y[y.ALIGN=1]="ALIGN"})(R||(R={}));function x(y,A,g){const L=g.mode===R.ALIGN?g.offset:g.offset+g.size,b=g.mode===R.ALIGN?g.offset+g.size:g.offset;return g.position===0?A<=y-L?{position:L,result:"ok"}:A<=b?{position:b-A,result:"flipped"}:{position:Math.max(y-A,0),result:"overlap"}:A<=b?{position:b-A,result:"ok"}:A<=y-L&&b<A/2?{position:L,result:"flipped"}:{position:0,result:"overlap"}}function T(y,A,g,L){let b=L?.anchorAlignment??0,C=L?.anchorPosition??0;const u=L?.anchorAxisAlignment??0;let i,r;if(u===0){const o={offset:g.top-y.top,size:g.height,position:C===0?0:1},c={offset:g.left,size:g.width,position:b===0?0:1,mode:R.ALIGN},a=x(y.height,A.height,o);i=a.position+y.top,a.result==="flipped"&&(C=C===0?1:0),v.Q.intersects({start:i,end:i+A.height},{start:o.offset,end:o.offset+o.size})&&(c.mode=R.AVOID);const p=x(y.width,A.width,c);r=p.position,p.result==="flipped"&&(b=b===0?1:0)}else{const o={offset:g.left,size:g.width,position:b===0?0:1},c={offset:g.top,size:g.height,position:C===0?0:1,mode:R.ALIGN},a=x(y.width,A.width,o);r=a.position,a.result==="flipped"&&(b=b===0?1:0),v.Q.intersects({start:r,end:r+A.width},{start:o.offset,end:o.offset+o.size})&&(c.mode=R.AVOID);const p=x(y.height,A.height,c);i=p.position+y.top,p.result==="flipped"&&(C=C===0?1:0)}const d=y.width-(r+A.width),l=y.height-(i+A.height);return{top:i,left:r,bottom:l,right:d,anchorAlignment:b,anchorPosition:C}}},67954:(St,We,e)=>{e.d(We,{B8:()=>$e,MH:()=>M,_C:()=>z,W0:()=>Z,Bm:()=>Y,b$:()=>H,bm:()=>I,mh:()=>we,tX:()=>he,Es:()=>G,xu:()=>X,bG:()=>Me});var v=e(14333),R=e(83952),x=e(93557),T=e(34061),y=e(87594),A=e(30474),g=e(44385);class L{constructor(Ce){this.spliceables=Ce}
740splice(Ce,He,Ke){this.spliceables.forEach(qe=>qe.splice(Ce,He,Ke))}}var b=e(13338),C=e(65958),u=e(94901),i=e(88846),r=e(2106),d=e(1174),l=e(10998),o=e(62992),c=e(63339),a=e(79359),p=e(51520);const _="notSelectable";class E extends Error{constructor(Ce,He){super(`ListError [${Ce}] ${He}`)}}var S=e(35264),h=e(9715),D=e(73678),k=e(47624),N=e(47936),W=function(Ye,Ce,He,Ke){var qe=arguments.length,ht=qe<3?Ce:Ke===null?Ke=Object.getOwnPropertyDescriptor(Ce,He):Ke,Te;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ht=Reflect.decorate(Ye,Ce,He,Ke);else for(var oe=Ye.length-1;oe>=0;oe--)(Te=Ye[oe])&&(ht=(qe<3?Te(ht):qe>3?Te(Ce,He,ht):Te(Ce,He))||ht);return qe>3&&ht&&Object.defineProperty(Ce,He,ht),ht};class U{constructor(Ce){this.trait=Ce,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(Ce){return Ce}renderElement(Ce,He,Ke){const qe=this.renderedElements.findIndex(ht=>ht.templateData===Ke);if(qe>=0){const ht=this.renderedElements[qe];this.trait.unrender(Ke),ht.index=He}else{const ht={index:He,templateData:Ke};this.renderedElements.push(ht)}this.trait.renderIndex(He,Ke)}splice(Ce,He,Ke){const qe=[];for(const ht of this.renderedElements)ht.index<Ce?qe.push(ht):ht.index>=Ce+He&&qe.push({index:ht.index+Ke-He,templateData:ht.templateData});this.renderedElements=qe}renderIndexes(Ce){for(const{index:He,templateData:Ke}of this.renderedElements)Ce.indexOf(He)>-1&&this.trait.renderIndex(He,Ke)}disposeTemplate(Ce){const He=this.renderedElements.findIndex(Ke=>Ke.templateData===Ce);He<0||this.renderedElements.splice(He,1)}}class ${get onChange(){return this._onChange.event}get name(){return this._trait}get renderer(){return new U(this)}constructor(Ce){this._trait=Ce,this.indexes=[],this.sortedIndexes=[],this._onChange=new r.vl}splice(Ce,He,Ke){const qe=Ke.length-He,ht=Ce+He,Te=[];let oe=0;for(;oe<this.sortedIndexes.length&&this.sortedIndexes[oe]<Ce;)Te.push(this.sortedIndexes[oe++]);for(let q=0;q<Ke.length;q++)Ke[q]&&Te.push(q+Ce);for(;oe<this.sortedIndexes.length&&this.sortedIndexes[oe]>=ht;)Te.push(this.sortedIndexes[oe++]+qe);this.renderer.splice(Ce,He,Ke.length),this._set(Te,Te)}renderIndex(Ce,He){He.classList.toggle(this._trait,this.contains(Ce))}unrender(Ce){Ce.classList.remove(this._trait)}set(Ce,He){return this._set(Ce,[...Ce].sort(ae),He)}_set(Ce,He,Ke){const qe=this.indexes,ht=this.sortedIndexes;this.indexes=Ce,this.sortedIndexes=He;const Te=Qe(ht,Ce);return this.renderer.renderIndexes(Te),this._onChange.fire({indexes:Ce,browserEvent:Ke}),qe}get(){return this.indexes}contains(Ce){return(0,b.El)(this.sortedIndexes,Ce,ae)>=0}dispose(){(0,l.AS)(this._onChange)}}W([i.B],$.prototype,"renderer",null);class te extends ${constructor(Ce){super("selected"),this.setAriaSelected=Ce}renderIndex(Ce,He){super.renderIndex(Ce,He),this.setAriaSelected&&(this.contains(Ce)?He.setAttribute("aria-selected","true"):He.setAttribute("aria-selected","false"))}}class ne{constructor(Ce,He,Ke){this.trait=Ce,this.view=He,this.identityProvider=Ke}splice(Ce,He,Ke){if(!this.identityProvider)return this.trait.splice(Ce,He,new Array(Ke.length).fill(!1));const qe=this.trait.get().map(oe=>
740this.identityProvider.getId(this.view.element(oe)).toString());if(qe.length===0)return this.trait.splice(Ce,He,new Array(Ke.length).fill(!1));const ht=new Set(qe),Te=Ke.map(oe=>ht.has(this.identityProvider.getId(oe).toString()));this.trait.splice(Ce,He,Te)}}function V(Ye,Ce){return Ye.classList.contains(Ce)?!0:Ye.classList.contains("monaco-list")||!Ye.parentElement?!1:V(Ye.parentElement,Ce)}function I(Ye){return V(Ye,"monaco-editor")}function H(Ye){return V(Ye,"monaco-custom-toggle")}function Z(Ye){return V(Ye,"action-item")}function X(Ye){return V(Ye,"monaco-tree-sticky-row")}function G(Ye){return Ye.classList.contains("monaco-tree-sticky-container")}function Y(Ye){return Ye.tagName==="A"&&Ye.classList.contains("monaco-button")||Ye.tagName==="DIV"&&Ye.classList.contains("monaco-button-dropdown")?!0:Ye.classList.contains("monaco-list")||!Ye.parentElement?!1:Y(Ye.parentElement)}class j{get onKeyDown(){return r.Jh.chain(this.disposables.add(new T.f(this.view.domNode,"keydown")).event,Ce=>Ce.filter(He=>!(0,v.yD)(He.target)).map(He=>new y.Z(He)))}constructor(Ce,He,Ke){this.list=Ce,this.view=He,this.disposables=new l.Cm,this.multipleSelectionDisposables=new l.Cm,this.multipleSelectionSupport=Ke.multipleSelectionSupport,this.disposables.add(this.onKeyDown(qe=>{switch(qe.keyCode){case 3:return this.onEnter(qe);case 16:return this.onUpArrow(qe);case 18:return this.onDownArrow(qe);case 11:return this.onPageUpArrow(qe);case 12:return this.onPageDownArrow(qe);case 9:return this.onEscape(qe);case 31:this.multipleSelectionSupport&&(c.zx?qe.metaKey:qe.ctrlKey)&&this.onCtrlA(qe)}}))}updateOptions(Ce){Ce.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=Ce.multipleSelectionSupport)}onEnter(Ce){Ce.preventDefault(),Ce.stopPropagation(),this.list.setSelection(this.list.getFocus(),Ce.browserEvent)}onUpArrow(Ce){Ce.preventDefault(),Ce.stopPropagation(),this.list.focusPrevious(1,!1,Ce.browserEvent);const He=this.list.getFocus()[0];this.list.setAnchor(He),this.list.reveal(He),this.view.domNode.focus()}onDownArrow(Ce){Ce.preventDefault(),Ce.stopPropagation(),this.list.focusNext(1,!1,Ce.browserEvent);const He=this.list.getFocus()[0];this.list.setAnchor(He),this.list.reveal(He),this.view.domNode.focus()}onPageUpArrow(Ce){Ce.preventDefault(),Ce.stopPropagation(),this.list.focusPreviousPage(Ce.browserEvent);const He=this.list.getFocus()[0];this.list.setAnchor(He),this.list.reveal(He),this.view.domNode.focus()}onPageDownArrow(Ce){Ce.preventDefault(),Ce.stopPropagation(),this.list.focusNextPage(Ce.browserEvent);const He=this.list.getFocus()[0];this.list.setAnchor(He),this.list.reveal(He),this.view.domNode.focus()}onCtrlA(Ce){Ce.preventDefault(),Ce.stopPropagation();let He=(0,b.y1)(this.list.length);const Ke=this.list.getFocus(),qe=Ke.length>0?this.list.getElementGroupId(Ke[0]):void 0;qe!==void 0&&(He=this.list.filterIndicesByGroup(He,qe)),this.list.setSelection(He,Ce.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(Ce){this.list.getSelection().length&&(Ce.preventDefault(),Ce.stopPropagation(),this.list.setSelection([],Ce.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}W([i.B],j.prototype,"onKeyDown",null);var z;(function(Ye){Ye[Ye.Automatic=0]="Automatic",Ye[Ye.Trigger=1]="Trigger"})(z||(z={}));var ie;(function(Ye){Ye[Ye.Idle=0]="Idle",Ye[Ye.Typing=1]="Typing"})(ie||(ie={}));const re=new class{mightProducePrintableCharacter(Ye){return Ye.ctrlKey||Ye.metaKey||Ye.altKey?!1:Ye.keyCode>=31&&Ye.keyCode<=56||Ye.keyCode>=21&&Ye.keyCode<=30||Ye.keyCode>=98&&Ye.keyCode<=107||Ye.keyCode>=85&&Ye.keyCode<=95}};class de{constructor(Ce,He,Ke,qe,ht){this.list=Ce,this.view=He,this.keyboardNavigationLabelProvider=Ke,this.keyboardNavigationEventFilter=qe,this.delegate=ht,this.enabled=!1,this.state=ie.Idle,this.mode=z.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new l.Cm,this.disposables=new l.Cm,this.updateOptions(Ce.options)}updateOptions(Ce){Ce.typeNavigationEnabled??!0?this.enable():this.disable(),this.mode=Ce.typeNavigationMode??z.Automatic}enable(){if(this.enabled)return;let Ce=!1;const He=r.Jh.chain(this.enabledDisposables.add(new T.f(this.view.domNode,"keydown")).event,ht=>ht.filter(Te=>!(0,v.yD)(Te.target)).filter(()=>this.mode===z.Automatic||this.triggered).map(Te=>new y.Z(Te)).filter(Te=>Ce||this.keyboardNavigationEventFilter(Te)).filter(Te=>
740this.delegate.mightProducePrintableCharacter(Te)).forEach(Te=>v.fs.stop(Te,!0)).map(Te=>Te.browserEvent.key)),Ke=r.Jh.debounce(He,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);r.Jh.reduce(r.Jh.any(He,Ke),(ht,Te)=>Te===null?null:(ht||"")+Te,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),Ke(this.onClear,this,this.enabledDisposables),He(()=>Ce=!0,void 0,this.enabledDisposables),Ke(()=>Ce=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){const Ce=this.list.getFocus();if(Ce.length>0&&Ce[0]===this.previouslyFocused){const He=this.list.options.accessibilityProvider?.getAriaLabel(this.list.element(Ce[0]));typeof He=="string"?(0,g.xE)(He):He&&(0,g.xE)(He.get())}this.previouslyFocused=-1}onInput(Ce){if(!Ce){this.state=ie.Idle,this.triggered=!1;return}const He=this.list.getFocus(),Ke=He.length>0?He[0]:0,qe=this.state===ie.Idle?1:0;this.state=ie.Typing;for(let ht=0;ht<this.list.length;ht++){const Te=(Ke+ht+qe)%this.list.length,oe=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(this.view.element
740(Te)),q=oe&&oe.toString();if(this.list.options.typeNavigationEnabled){if(typeof q<"u"){if((0,d.WP)(Ce,q)){this.previouslyFocused=Ke,this.list.setFocus([Te]),this.list.reveal(Te);return}const ue=(0,d.O)(Ce,q);if(ue&&ue[0].end-ue[0].start>1&&ue.length===1){this.previouslyFocused=Ke,this.list.setFocus([Te]),this.list.reveal(Te);return}}}else if(typeof q>"u"||(0,d.WP)(Ce,q)){this.previouslyFocused=Ke,this.list.setFocus([Te]),this.list.reveal(Te);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class le{constructor(Ce,He){this.list=Ce,this.view=He,this.disposables=new l.Cm;const Ke=r.Jh.chain(this.disposables.add(new T.f(He.domNode,"keydown")).event,ht=>ht.filter(Te=>!(0,v.yD)(Te.target)).map(Te=>new y.Z(Te)));r.Jh.chain(Ke,ht=>ht.filter(Te=>Te.keyCode===2&&!Te.ctrlKey&&!Te.metaKey&&!Te.shiftKey&&!Te.altKey))(this.onTab,this,this.disposables)}onTab(Ce){if(Ce.target!==this.view.domNode)return;const He=this.list.getFocus();if(He.length===0)return;const Ke=this.view.domElement(He[0]);if(!Ke)return;const qe=Ke.querySelector("[tabIndex]");if(!qe||!(0,v.sb)(qe)||qe.tabIndex===-1)return;const ht=(0,v.zk)(qe).getComputedStyle(qe);ht.visibility==="hidden"||ht.display==="none"||(Ce.preventDefault(),Ce.stopPropagation(),qe.focus())}dispose(){this.disposables.dispose()}}function he(Ye){return c.zx?Ye.browserEvent.metaKey:Ye.browserEvent.ctrlKey}function we(Ye){return Ye.browserEvent.shiftKey}function xe(Ye){return(0,v.Er)(Ye)&&Ye.button===2}const Be={isSelectionSingleChangeEvent:he,isSelectionRangeChangeEvent:we};class M{get onPointer(){return this._onPointer.event}constructor(Ce){this.list=Ce,this.disposables=new l.Cm,this._onPointer=this.disposables.add(new r.vl),Ce.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Be),this.mouseSupport=typeof Ce.options.mouseSupport>"u"||!!Ce.options.mouseSupport,this.mouseSupport&&(Ce.onMouseDown(this.onMouseDown,this,this.disposables),Ce.onContextMenu(this.onContextMenu,this,this.disposables),Ce.onMouseDblClick(this.onDoubleClick,this,this.disposables),Ce.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(A.q.addTarget(Ce.getHTMLElement()))),r.Jh.any(Ce.onMouseClick,Ce.onMouseMiddleClick,Ce.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(Ce){Ce.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,Ce.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||Be))}isSelectionSingleChangeEvent(Ce){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(Ce):!1}isSelectionRangeChangeEvent(Ce){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(Ce):!1}isSelectionChangeEvent(Ce){return this.isSelectionSingleChangeEvent(Ce)||this.isSelectionRangeChangeEvent(Ce)}onMouseDown(Ce){I(Ce.browserEvent.target)||(0,v.bq)()!==Ce.browserEvent.target&&this.list.domFocus()}onContextMenu(Ce){if((0,v.yD)(Ce.browserEvent.target)||I(Ce.browserEvent.target))return;const He=typeof Ce.index>"u"?[]:[Ce.index];this.list.setFocus(He,Ce.browserEvent)}onViewPointer(Ce){if(!this.mouseSupport||(0,v.yD)(Ce.browserEvent.target)||I(Ce.browserEvent.target)||Ce.browserEvent.isHandledByList)return;Ce.browserEvent.isHandledByList=!0;const He=Ce.index;if(typeof He>"u"){this.list.setFocus([],Ce.browserEvent),this.list.setSelection([],Ce.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(Ce))return this.changeSelection(Ce);this.list.setFocus([He],Ce.browserEvent),this.list.setAnchor(He),xe(Ce.browserEvent)||this.list.getElementGroupId(He)!==_&&this.list.setSelection([He],Ce.browserEvent),this._onPointer.fire(Ce)}onDoubleClick(Ce){if((0,v.yD)(Ce.browserEvent.target)||I(Ce.browserEvent.target)||this.isSelectionChangeEvent(Ce)||Ce.browserEvent.isHandledByList)return;Ce.browserEvent.isHandledByList=!0;const He=this.list.getFocus();this.list.setSelection(He,Ce.browserEvent)}changeSelection(Ce){const He=Ce.index;let Ke=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(Ce)){typeof Ke>"u"&&(Ke=this.list.getFocus()[0]??He,this.list.setAnchor(Ke));const qe=Math.min(Ke,He),ht=Math.max(Ke,He);let Te=(0,b.y1)(qe,ht+1);const oe=this.list.getSelection()[0];if(oe!==void 0){const ve=this.list.getElementGroupId(oe);ve!==void 0&&(Te=this.list.filterIndicesByGroup(Te,ve))}const q=this.list.getSelection(),ue=_e(Qe(q,[Ke]),Ke);if(ue.length===0)return;const J=Qe(Te,je(q,ue));this.list.setSelection(J,Ce.browserEvent),this.list.setFocus([He],Ce.browserEvent)}else if(this.isSelectionSingleChangeEvent(Ce)){const qe=this.list.getSelection(),ht=qe.filter(oe=>oe!==He);this.list.setFocus([He]),this.list.setAnchor(He);const Te=this.list.getElementGroupId(He);
740if(Te===_)return;if(qe.length===ht.length){const oe=Te!==void 0?this.list.filterIndicesByGroup([...ht,He],Te):[...ht,He];this.list.setSelection(oe,Ce.browserEvent)}else this.list.setSelection(ht,Ce.browserEvent)}}dispose(){this.disposables.dispose()}}class Ve{constructor(Ce,He){this.styleElement=Ce,this.selectorSuffix=He}style(Ce){const He=this.selectorSuffix&&`.${this.selectorSuffix}`,Ke=[];Ce.listBackground&&Ke.push(`.monaco-list${He} .monaco-list-rows { background: ${Ce.listBackground}; }`),Ce.listFocusBackground&&(Ke.push(`.monaco-list${He}:focus .monaco-list-row.focused { background-color: ${Ce.listFocusBackground}; }`),Ke.push(`.monaco-list${He}:focus .monaco-list-row.focused:hover { background-color: ${Ce.listFocusBackground}; }`)),Ce.listFocusForeground&&Ke.push(`.monaco-list${He}:focus .monaco-list-row.focused { color: ${Ce.listFocusForeground}; }`),Ce.listActiveSelectionBackground&&(Ke.push(`.monaco-list${He}:focus .monaco-list-row.selected { background-color: ${Ce.listActiveSelectionBackground}; }`),Ke.push(`.monaco-list${He}:focus .monaco-list-row.selected:hover { background-color: ${Ce.listActiveSelectionBackground}; }`)),Ce.listActiveSelectionForeground&&Ke.push(`.monaco-list${He}:focus .monaco-list-row.selected { color: ${Ce.listActiveSelectionForeground}; }`),Ce.listActiveSelectionIconForeground&&Ke.push(`.monaco-list${He}:focus .monaco-list-row.selected .codicon { color: ${Ce.listActiveSelectionIconForeground}; }`),Ce.listFocusAndSelectionBackground&&Ke.push(`
741				.monaco-drag-image${He},
742				.monaco-list${He}:focus .monaco-list-row.selected.focused { background-color: ${Ce.listFocusAndSelectionBackground}; }
743			`),Ce.listFocusAndSelectionForeground&&Ke.push(`
744				.monaco-drag-image${He},
745				.monaco-list${He}:focus .monaco-list-row.selected.focused { color: ${Ce.listFocusAndSelectionForeground}; }
746			`),Ce.listInactiveFocusForeground&&(Ke.push(`.monaco-list${He} .monaco-list-row.focused { color:  ${Ce.listInactiveFocusForeground}; }`),Ke.push(`.monaco-list${He} .monaco-list-row.focused:hover { color:  ${Ce.listInactiveFocusForeground}; }`)),Ce.listInactiveSelectionIconForeground&&Ke.push(`.monaco-list${He} .monaco-list-row.focused .codicon { color:  ${Ce.listInactiveSelectionIconForeground}; }`),Ce.listInactiveFocusBackground&&(Ke.push(`.monaco-list${He} .monaco-list-row.focused { background-color:  ${Ce.listInactiveFocusBackground}; }`),Ke.push(`.monaco-list${He} .monaco-list-row.focused:hover { background-color:  ${Ce.listInactiveFocusBackground}; }`)),Ce.listInactiveSelectionBackground&&(Ke.push(`.monaco-list${He} .monaco-list-row.selected { background-color:  ${Ce.listInactiveSelectionBackground}; }`),Ke.push(`.monaco-list${He} .monaco-list-row.selected:hover { background-color:  ${Ce.listInactiveSelectionBackground}; }`)),Ce.listInactiveSelectionForeground&&Ke.push(`.monaco-list${He} .monaco-list-row.selected { color: ${Ce.listInactiveSelectionForeground}; }`),Ce.listHoverBackground&&Ke.push(`.monaco-list${He}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${Ce.listHoverBackground}; }`),Ce.listHoverForeground&&Ke.push(`.monaco-list${He}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color:  ${Ce.listHoverForeground}; }`);const qe=(0,x.gI)(Ce.listFocusAndSelectionOutline,(0,x.gI)(Ce.listSelectionOutline,Ce.listFocusOutline??""));qe&&Ke.push(`.monaco-list${He}:focus .monaco-list-row.focused.selected { outline: 1px solid ${qe}; outline-offset: -1px;}`),Ce.listFocusOutline&&Ke.push(`
747				.monaco-drag-image${He},
748				.monaco-list${He}:focus .monaco-list-row.focused,
749				.context-menu-visible .monaco-list${He}.last-focused .monaco-list-row.focused { outline: 1px solid ${Ce.listFocusOutline}; outline-offset: -1px; }
750			`);const ht=(0,x.gI)(Ce.listSelectionOutline,Ce.listInactiveFocusOutline??"");ht&&Ke.push(`.monaco-list${He} .monaco-list-row.focused.selected { outline: 1px dotted ${ht}; outline-offset: -1px; }`),Ce.listSelectionOutline&&Ke.push(`.monaco-list${He} .monaco-list-row.selected { outline: 1px dotted ${Ce.listSelectionOutline}; outline-offset: -1px; }`),Ce.listInactiveFocusOutline&&Ke.push(`.monaco-list${He} .monaco-list-row.focused { outline: 1px dotted ${Ce.listInactiveFocusOutline}; outline-offset: -1px; }`),Ce.listHoverOutline&&Ke.push(`.monaco-list${He} .monaco-list-row:hover { outline: 1px dashed ${Ce.listHoverOutline}; outline-offset: -1px; }
750`),Ce.listDropOverBackground&&Ke.push(`
751				.monaco-list${He}.drop-target,
752				.monaco-list${He} .monaco-list-rows.drop-target,
753				.monaco-list${He} .monaco-list-row.drop-target { background-color: ${Ce.listDropOverBackground} !important; color: inherit !important; }
754			`),Ce.listDropBetweenBackground&&(Ke.push(`
755			.monaco-list${He} .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,
756			.monaco-list${He} .monaco-list-row.drop-target-before::before {
757				content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;
758				background-color: ${Ce.listDropBetweenBackground};
759			}`),Ke.push(`
760			.monaco-list${He} .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,
761			.monaco-list${He} .monaco-list-row.drop-target-after::after {
762				content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;
763				background-color: ${Ce.listDropBetweenBackground};
764			}`)),Ce.tableColumnsBorder&&Ke.push(`
765				.monaco-table > .monaco-split-view2,
766				.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,
767				.monaco-enable-motion .monaco-table:hover > .monaco-split-view2,
768				.monaco-enable-motion .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {
769					border-color: ${Ce.tableColumnsBorder};
770				}
771
772				.monaco-enable-motion .monaco-table > .monaco-split-view2,
773				.monaco-enable-motion .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {
774					border-color: transparent;
775				}
776			`),Ce.tableOddRowsBackgroundColor&&Ke.push(`
777				.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,
778				.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,
779				.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {
780					background-color: ${Ce.tableOddRowsBackgroundColor};
781				}
782			`),this.styleElement.textContent=Ke.join(`
783`)}}const Me={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:u.Q1.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:u.Q1.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:u.Q1.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},Le={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function _e(Ye,Ce){const He=Ye.indexOf(Ce);if(He===-1)return[];const Ke=[];let qe=He-1;for(;qe>=0&&Ye[qe]===Ce-(He-qe);)Ke.push(Ye[qe--]);for(Ke.reverse(),qe=He;qe<Ye.length&&Ye[qe]===Ce+(qe-He);)Ke.push(Ye[qe++]);return Ke}function Qe(Ye,Ce){const He=[];let Ke=0,qe=0;for(;Ke<Ye.length||qe<Ce.length;)if(Ke>=Ye.length)He.push(Ce[qe++]);else if(qe>=Ce.length)He.push(Ye[Ke++]);else if(Ye[Ke]===Ce[qe]){He.push(Ye[Ke]),Ke++,qe++;continue}else Ye[Ke]<Ce[qe]?He.push(Ye[Ke++]):He.push(Ce[qe++]);return He}function je(Ye,Ce){const He=[];let Ke=0,qe=0;for(;Ke<Ye.length||qe<Ce.length;)if(Ke>=Ye.length)He.push(Ce[qe++]);else if(qe>=Ce.length)He.push(Ye[Ke++]);else if(Ye[Ke]===Ce[qe]){Ke++,qe++;continue}else Ye[Ke]<Ce[qe]?He.push(Ye[Ke++]):qe++;return He}const ae=(Ye,Ce)=>Ye-Ce;class Ee{constructor(Ce,He){this._templateId=Ce,this.renderers=He}get templateId(){return this._templateId}renderTemplate(Ce){return this.renderers.map(He=>He.renderTemplate(Ce))}renderElement(Ce,He,Ke,qe){let ht=0;for(const Te of this.renderers)Te.renderElement(Ce,He,Ke[ht++],qe)}disposeElement(Ce,He,Ke,qe){let ht=0;for(const Te of this.renderers)Te.disposeElement?.(Ce,He,Ke[ht],qe),ht+=1}disposeTemplate(Ce){let He=0;for(const Ke of this.renderers)Ke.disposeTemplate(Ce[He++])}}
783class Ie{constructor(Ce){this.accessibilityProvider=Ce,this.templateId="a18n"}renderTemplate(Ce){return{container:Ce,disposables:new l.Cm}}renderElement(Ce,He,Ke){const qe=this.accessibilityProvider.getAriaLabel(Ce),ht=qe&&typeof qe!="string"?qe:(0,k.l)(qe);Ke.disposables.add((0,N.fm)(oe=>{this.setAriaLabel(oe.readObservable(ht),Ke.container)}));const Te=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(Ce);typeof Te=="number"?Ke.container.setAttribute("aria-level",`${Te}`):Ke.container.removeAttribute("aria-level")}setAriaLabel(Ce,He){Ce?He.setAttribute("aria-label",Ce):He.removeAttribute("aria-label")}disposeElement(Ce,He,Ke){Ke.disposables.clear()}disposeTemplate(Ce){Ce.disposables.dispose()}}class Ue{constructor(Ce,He){this.list=Ce,this.dnd=He}getDragElements(Ce){const He=this.list.getSelectedElements();return He.indexOf(Ce)>-1?He:[Ce]}getDragURI(Ce){return this.dnd.getDragURI(Ce)}getDragLabel(Ce,He){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(Ce,He)}onDragStart(Ce,He){this.dnd.onDragStart?.(Ce,He)}onDragOver(Ce,He,Ke,qe,ht){return this.dnd.onDragOver(Ce,He,Ke,qe,ht)}onDragLeave(Ce,He,Ke,qe){this.dnd.onDragLeave?.(Ce,He,Ke,qe)}onDragEnd(Ce){this.dnd.onDragEnd?.(Ce)}drop(Ce,He,Ke,qe,ht){this.dnd.drop(Ce,He,Ke,qe,ht)}dispose(){this.dnd.dispose()}}class $e{get onDidChangeFocus(){return r.Jh.map(this.eventBufferer.wrapEvent(this.focus.onChange),Ce=>this.toListEvent(Ce),this.disposables)}get onDidChangeSelection(){return r.Jh.map(this.eventBufferer.wrapEvent(this.selection.onChange),Ce=>this.toListEvent(Ce),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let Ce=!1;const He=r.Jh.chain(this.disposables.add(new T.f(this.view.domNode,"keydown")).event,ht=>ht.map(Te=>new y.Z(Te)).filter(Te=>Ce=Te.keyCode===58||Te.shiftKey&&Te.keyCode===68).map(Te=>v.fs.stop(Te,!0)).filter(()=>!1)),Ke=r.Jh.chain(this.disposables.add(new T.f(this.view.domNode,"keyup")).event,ht=>ht.forEach(()=>Ce=!1).map(Te=>new y.Z(Te)).filter(Te=>Te.keyCode===58||Te.shiftKey&&Te.keyCode===68).map(Te=>v.fs.stop(Te,!0)).map(({browserEvent:Te})=>{const oe=this.getFocus(),q=oe.length?oe[0]:void 0,ue=typeof q<"u"?this.view.element
783(q):void 0,J=typeof q<"u"?this.view.domElement(q):this.view.domNode;return{index:q,element:ue,anchor:J,browserEvent:Te}})),qe=r.Jh.chain(this.view.onContextMenu,ht=>ht.filter(Te=>!Ce).map(({element:Te,index:oe,browserEvent:q})=>({element:Te,index:oe,anchor:new h.P((0,v.zk)(this.view.domNode),q),browserEvent:q})));return r.Jh.any(He,Ke,qe)}get onKeyDown(){return this.disposables.add(new T.f(this.view.domNode,"keydown")).event}get onDidFocus(){return r.Jh.signal(this.disposables.add(new T.f(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return r.Jh.signal(this.disposables.add(new T.f(this.view.domNode,"blur",!0)).event)}constructor(Ce,He,Ke,qe,ht=Le){this.user=Ce,this._options=ht,this.focus=new $("focused"),this.anchor=new $("anchor"),this.eventBufferer=new r.at,this._ariaLabel="",this.disposables=new l.Cm,this._onDidDispose=new r.vl,this.onDidDispose=this._onDidDispose.event;const Te=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?this._options.accessibilityProvider?.getWidgetRole():"list";this.selection=new te(Te!=="listbox");const oe=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=ht.accessibilityProvider,this.accessibilityProvider&&(oe.push(new Ie(this.accessibilityProvider)),this.accessibilityProvider.onDidChangeActiveDescendant?.(this.onDidChangeActiveDescendant,this,this.disposables)),qe=qe.map(ue=>new Ee(ue.templateId,[...oe,ue]));const q={...ht,dnd:ht.dnd&&new Ue(this,ht.dnd)};if(this.view=this.createListView(He,Ke,qe,q),this.view.domNode.setAttribute("role",Te),ht.styleController)this.styleController=ht.styleController(this.view.domId);else{const ue=(0,R.li)(this.view.domNode);this.styleController=new Ve(ue,this.view.domId)}if(this.spliceable=new L([new ne(this.focus,this.view,ht.identityProvider),new ne(this.selection,this.view,ht.identityProvider),new ne(this.anchor,this.view,ht.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new le(this,this.view)),(typeof ht.keyboardSupport!="boolean"||ht.keyboardSupport)&&(this.keyboardController=new j(this,this.view,ht),this.disposables.add(this.keyboardController)),ht.keyboardNavigationLabelProvider){const ue=ht.keyboardNavigationDelegate||re;this.typeNavigationController=new de(this,this.view,ht.keyboardNavigationLabelProvider,ht.keyboardNavigationEventFilter??(()=>!0),ue),this.disposables.add(this.typeNavigationController)}if(this.mouseController=this.createMouseController(ht),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider){const ue=this.accessibilityProvider.getWidgetAriaLabel(),J=ue&&typeof ue!="string"?ue:(0,k.l)(ue);this.disposables.add((0,N.fm)(ve=>{this.ariaLabel=ve.readObservable(J)}))}this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(Ce,He,Ke,qe){return new S.uO(Ce,He,Ke,qe)}createMouseController(Ce){return new M(this)}updateOptions(Ce={}){this._options={...this._options,...Ce},this.typeNavigationController?.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(Ce),this.keyboardController?.updateOptions(Ce),this.view.updateOptions(Ce)}get options(){return this._options}splice(Ce,He,Ke=[]){if(Ce<0||Ce>this.view.length)throw new E(this.user,`Invalid start index: ${Ce}`);if(He<0)throw new E(this.user,`Invalid delete count: ${He}`);He===0&&Ke.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(Ce,He,Ke))}rerender(){this.view.rerender()}
783element(Ce){return this.view.element(Ce)}indexOf(Ce){return this.view.indexOf(Ce)}indexAt(Ce){return this.view.indexAt(Ce)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(Ce){this.view.setScrollTop(Ce)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(Ce){this._ariaLabel=Ce,this.view.domNode.setAttribute("aria-label",Ce)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(Ce,He){this.view.layout(Ce,He)}setSelection(Ce,He){for(const Ke of Ce)if(Ke<0||Ke>=this.length)throw new E(this.user,`Invalid index ${Ke}`);Ce=Ce.filter(Ke=>this.getElementGroupId(Ke)!==_),this.selection.set(Ce,He)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(Ce=>
783this.view.element(Ce))}setAnchor(Ce){if(typeof Ce>"u"){this.anchor.set([]);return}if(Ce<0||Ce>=this.length)throw new E(this.user,`Invalid index ${Ce}`);this.anchor.set([Ce])}getAnchor(){return this.anchor.get().at(0)}getAnchorElement(){const Ce=this.getAnchor();return typeof Ce>"u"?void 0:this.element(Ce)}getElementGroupId(Ce){const He=this.options.identityProvider;if(!He?.getGroupId)return;const Ke=this.element(Ce);return He.getGroupId(Ke)}filterIndicesByGroup(Ce,He){const Ke=this.options.identityProvider;return Ke?.getGroupId?He===_?[]:Ce.filter(qe=>{const ht=this.element(qe);return Ke.getGroupId(ht)===He}):Ce}setFocus(Ce,He){for(const Ke of Ce)if(Ke<0||Ke>=this.length)throw new E(this.user,`Invalid index ${Ke}`);this.focus.set(Ce,He)}focusNext(Ce=1,He=!1,Ke,qe){if(this.length===0)return;const ht=this.focus.get(),Te=this.findNextIndex(ht.length>0?ht[0]+Ce:0,He,qe);Te>-1&&this.setFocus([Te],Ke)}focusPrevious(Ce=1,He=!1,Ke,qe){if(this.length===0)return;const ht=this.focus.get(),Te=this.findPreviousIndex(ht.length>0?ht[0]-Ce:0,He,qe);Te>-1&&this.setFocus([Te],Ke)}async focusNextPage(Ce,He){let Ke=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);Ke=Ke===0?0:Ke-1;const qe=this.getFocus()[0];if(qe!==Ke&&(qe===void 0||Ke>qe)){const ht=this.findPreviousIndex(Ke,!1,He);ht>-1&&qe!==ht?this.setFocus([ht],Ce):this.setFocus([Ke],Ce)}else{const ht=this.view.getScrollTop();let Te=ht+this.view.renderHeight;Ke>qe&&(Te-=this.view.elementHeight(Ke)),this.view.setScrollTop(Te),this.view.getScrollTop()!==ht&&(this.setFocus([]),await(0,C.wR)(0),await this.focusNextPage(Ce,He))}}async focusPreviousPage(Ce,He,Ke=()=>0){let qe;const ht=Ke(),Te=this.view.getScrollTop()+ht;Te===0?qe=this.view.indexAt(Te):qe=this.view.indexAfter(Te-1);const oe=this.getFocus()[0];if(oe!==qe&&(oe===void 0||oe>=qe)){const q=this.findNextIndex(qe,!1,He);q>-1&&oe!==q?this.setFocus([q],Ce):this.setFocus([qe],Ce)}else{const q=Te;this.view.setScrollTop(Te-this.view.renderHeight-ht),this.view.getScrollTop()+Ke()!==q&&(this.setFocus([]),await(0,C.wR)(0),await this.focusPreviousPage(Ce,He,Ke))}}focusLast(Ce,He){if(this.length===0)return;const Ke=this.findPreviousIndex(this.length-1,!1,He);Ke>-1&&this.setFocus([Ke],Ce)}focusFirst(Ce,He){this.focusNth(0,Ce,He)}focusNth(Ce,He,Ke){if(this.length===0)return;const qe=this.findNextIndex(Ce,!1,Ke);qe>-1&&this.setFocus([qe],He)}findNextIndex(Ce,He=!1,Ke){for(let qe=0;qe<this.length;qe++){if(Ce>=this.length&&!He)return-1;if(Ce=Ce%this.length,!Ke||Ke(this.element(Ce)))return Ce;Ce++}return-1}findPreviousIndex(Ce,He=!1,Ke){for(let qe=0;qe<this.length;qe++){if(Ce<0&&!He)return-1;if(Ce=(this.length+Ce%this.length)%this.length,!Ke||Ke(this.element(Ce)))return Ce;Ce--}return-1}getFocus(){return this.focus.get()}getFocusedElements(){return this.getFocus().map(Ce=>
783this.view.element(Ce))}reveal(Ce,He,Ke=0){if(Ce<0||Ce>=this.length)throw new E(this.user,`Invalid index ${Ce}`);const qe=this.view.getScrollTop(),ht=this.view.elementTop(Ce),Te=this.view.elementHeight(Ce);if((0,a.Et)(He)){const oe=Te-this.view.renderHeight+Ke;this.view.setScrollTop(oe*(0,o.qE)(He,0,1)+ht-Ke)}else{const oe=ht+Te,q=qe+this.view.renderHeight;ht<qe+Ke&&oe>=q||(ht<qe+Ke||oe>=q&&Te>=this.view.renderHeight?this.view.setScrollTop(ht-Ke):oe>=q&&this.view.setScrollTop(oe-this.view.renderHeight))}}getRelativeTop(Ce,He=0){if(Ce<0||Ce>=this.length)throw new E(this.user,`Invalid index ${Ce}`);const Ke=this.view.getScrollTop(),qe=this.view.elementTop(Ce),ht=this.view.elementHeight(Ce);if(qe<Ke+He||qe+ht>Ke+this.view.renderHeight)return null;const Te=ht-this.view.renderHeight+He;return Math.abs((Ke+He-qe)/Te)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(Ce){return this.view.getElementDomId(Ce)}getElementTop(Ce){return this.view.elementTop(Ce)}style(Ce){this.styleController.style(Ce)}toListEvent({indexes:Ce,browserEvent:He}){return{indexes:Ce,elements:Ce.map(Ke=>
783this.view.element(Ke)),browserEvent:He}}_onFocusChange(){const Ce=this.focus.get();this.view.domNode.classList.toggle("element-focused",Ce.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){const Ce=this.focus.get();if(Ce.length>0){let He;this.accessibilityProvider?.getActiveDescendantId&&(He=this.accessibilityProvider.getActiveDescendantId(this.view.element(Ce[0]))),this.view.domNode.setAttribute("aria-activedescendant",He||this.view.getElementDomId(Ce[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const Ce=this.selection.get();this.view.domNode.classList.toggle("selection-none",Ce.length===0),this.view.domNode.classList.toggle("selection-single",Ce.length===1),this.view.domNode.classList.toggle("selection-multiple",Ce.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}W([i.B],$e.prototype,"onDidChangeFocus",null),W([i.B],$e.prototype,"onDidChangeSelection",null),W([i.B],$e.prototype,"onContextMenu",null),W([i.B],$e.prototype,"onKeyDown",null),W([i.B],$e.prototype,"onDidFocus",null),W([i.B],$e.prototype,"onDidBlur",null)},68029:(St,We,e)=>{e.d(We,{RT:()=>L,aQ:()=>g,c7:()=>A});var v=e(16844),R=e(77011),x=e(99316);class T extends x.S{apply(u){const i=[];let r=0;for(const d of this.replacements)i.push(u.substring(r,d.replaceRange.start)),i.push(d.newText),r=d.replaceRange.endExclusive;return i.push(u.substring(r)),i.join("")}removeCommonSuffixPrefix(u){const i=[];for(const r of this.replacements){const d=r.removeCommonSuffixPrefix(u);d.isEmpty||i.push(d)}return new A(i)}}class y extends x.c{constructor(u,i){super(u),this.newText=i}getNewLength(){return this.newText.length}toString(){return`${this.replaceRange} -> ${JSON.stringify(this.newText)}`}replace(u){return u.substring(0,this.replaceRange.start)+this.newText+u.substring(this.replaceRange.endExclusive)}removeCommonSuffixPrefix(u){const i=u.substring(this.replaceRange.start,this.replaceRange.endExclusive),r=(0,v.Qp)(i,this.newText),d=Math.min(i.length-r,this.newText.length-r,(0,v.Vi)(i,this.newText)),l=new R.L(this.replaceRange.start+r,this.replaceRange.endExclusive-d),o=this.newText.substring(r,this.newText.length-d);return new g(l,o)}
783removeCommonSuffixAndPrefix(u){return this.removeCommonSuffix(u).removeCommonPrefix(u)}removeCommonPrefix(u){const i=this.replaceRange.substring(u),r=(0,v.Qp)(i,this.newText);return r===0?this:this.slice(this.replaceRange.deltaStart(r),new R.L(r,this.newText.length))}removeCommonSuffix(u){const i=this.replaceRange.substring(u),r=(0,v.Vi)(i,this.newText);return r===0?this:this.slice(this.replaceRange.deltaEnd(-r),new R.L(0,this.newText.length-r))}toJson(){return{txt:this.newText,pos:this.replaceRange.start,len:this.replaceRange.length}}}const b=class b extends T{static replace(u,i){return new b([new g(u,i)])}static compose(u){if(u.length===0)return b.empty;let i=u[0];for(let r=1;r<u.length;r++)i=i.compose(u[r]);return i}constructor(u){super(u)}_createNew(u){return new b(u)}};b.empty=new b([]);let A=b;class g extends y{static insert(u,i){return new g(R.L.emptyAt(u),i)}static replace(u,i){return new g(u,i)}equals(u){return this.replaceRange.equals(u.replaceRange)&&this.newText===u.newText}tryJoinTouching(u){return new g(this.replaceRange.joinRightTouching(u.replaceRange),this.newText+u.newText)}slice(u,i){return new g(u,i?i.substring(this.newText):this.newText)}}function L(C,u){C=C.slice();const i=[];let r=0;for(const d of u.replacements){for(;;){const o=C[0];if(!o||o.endExclusive>=d.replaceRange.start)break;C.shift(),i.push(o.delta(r))}const l=[];for(;;){const o=C[0];if(!o||!o.intersectsOrTouches(d.replaceRange))break;C.shift(),l.push(o)}for(let o=l.length-1;o>=0;o--){let c=l[o];const a=c.intersect(d.replaceRange).length;c=c.deltaEnd(-a+(o===0?d.newText.length:0));const p=c.start-d.replaceRange.start;p>0&&(c=c.delta(-p)),o!==0&&(c=c.delta(d.newText.length)),c=c.delta(-(d.newText.length-d.replaceRange.length)),C.unshift(c)}r+=d.newText.length-d.replaceRange.length}for(;;){const d=C[0];if(!d)break;C.shift(),i.push(d.delta(r))}return i}},68302:(St,We,e)=>{e.d(We,{T:()=>d});var v=e(64651),R=e(22994),x=e(60756),T=e(34883);function y(o){if(o.length===0)return null;if(o.length===1)return o[0];let c=0;function a(){if(c>=o.length)return null;const S=c,h=o[S].listHeight;for(c++;c<o.length&&o[c].listHeight===h;)c++;return c-S>=2?A(S===0&&c===o.length?o:o.slice(S,c),!1):o[S]}let p=a(),_=a();if(!_)return p;for(let S=a();S;S=a())g(p,_)<=g(_,S)?(p=L(p,_),_=S):_=L(_,S);return L(p,_)}function A(o,c=!1){if(o.length===0)return null;if(o.length===1)return o[0];let a=o.length;for(;a>3;){const p=a>>1;for(let _=0;_<p;_++){const E=_<<1;o[_]=v.Xw.create23(o[E],o[E+1],E+3===a?o[E+2]:null,c)}a=p}return v.Xw.create23(o[0],o[1],a>=3?o[2]:null,c)}function g(o,c){return Math.abs(o.listHeight-c.listHeight)}function L(o,c){return o.listHeight===c.listHeight?v.Xw.create23(o,c,null,!1):o.listHeight>c.listHeight?b(o,c):C(c,o)}function b(o,c){o=o.toMutable();let a=o;const p=[];let _;for(;;){if(c.listHeight===a.listHeight){_=c;break}if(a.kind!==4)throw new Error("unexpected");p.push(a),a=a.makeLastElementMutable()}for(let E=p.length-1;E>=0;E--){const S=p[E];_?S.childrenLength>=3?_=v.Xw.create23(S.unappendChild(),_,null,!1):(S.appendChildOfSameHeight(_),_=void 0):S.handleChildrenChanged()}return _?v.Xw.create23(o,_,null,!1):o}function C(o,c){o=o.toMutable();let a=o;const p=[];for(;c.listHeight!==a.listHeight;){if(a.kind!==4)throw new Error("unexpected");p.push(a),a=a.makeFirstElementMutable()}let _=c;for(let E=p.length-1;E>=0;E--){const S=p[E];_?S.childrenLength>=3?_=v.Xw.create23(_,S.unprependChild(),null,!1):(S.prependChildOfSameHeight(_),_=void 0):S.handleChildrenChanged()}return _?v.Xw.create23(_,o,null,!1):o}class u{constructor(c){this.lastOffset=T.Vp,this.nextNodes=[c],this.offsets=[T.Vp],this.idxs=[]}readLongestNodeAt(c,a){if((0,T.zG)(c,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=c;;){const p=r(this.nextNodes);if(!p)return;const _=r(this.offsets);if((0,T.zG)(c,_))return;if((0,T.zG)(_,c))if((0,T.QB)(_,p.length)<=c)this.nextNodeAfterCurrent();else{const E=i(p);E!==-1?(this.nextNodes.push(p.getChild(E)),this.offsets.push(_),this.idxs.push(E)):this.nextNodeAfterCurrent()}else{if(a(p))return this.nextNodeAfterCurrent(),p;{const E=i(p);if(E===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(p.getChild(E)),this.offsets.push(_),this.idxs.push(E)}}}}nextNodeAfterCurrent(){for(;;){const c=r(this.offsets),a=r(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const p=r(this.nextNodes),_=i(p,this.idxs[this.idxs.length-1]);if(_!==-1){this.nextNodes.push(p.getChild(_)),this.offsets.push((0,T.QB)(c,a.length)),this.idxs[this.idxs.length-1]=_;break}else this.idxs.pop()}}}function i(o,c=-1){for(;;){if(c++,c>=o.childrenLength)return-1;if(o.getChild(c))return c}}function r(o){return o.length>0?o[o.length-1]:void 0}function d(o,c,a,p){return new l(o,c,a,p).parseDocument()}class l{constructor(c,a,p,_){if(this.tokenizer=c,this.createImmutableLists=_,this._itemsConstructed=0,this._itemsFromCache=0,p&&_)throw new Error("Not supported");this.oldNodeReader=p?new u(p):void 0,this.positionMapper=new R.W(a)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let c=this.parseList(x.gV.getEmpty(),0);return c||(c=v.Xw.getEmpty()),c}parseList(c,a){const p=[];for(;;
783){let E=this.tryReadChildFromCache(c);if(!E){const S=this.tokenizer.peek();if(!S||S.kind===2&&S.bracketIds.intersects(c))break;E=this.parseChild(c,a+1)}E.kind===4&&E.childrenLength===0||p.push(E)}return this.oldNodeReader?y(p):A(p,this.createImmutableLists)}tryReadChildFromCache(c){if(this.oldNodeReader){const a=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(a===null||!(0,T.Vh)(a)){const p=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),_=>a!==null&&!(0,T.zG)(_.length,a)?!1:_.canBeReused(c));if(p)return this._itemsFromCache++,this.tokenizer.skip(p.length),p}}}parseChild(c,a){this._itemsConstructed++;const p=this.tokenizer.read();switch(p.kind){case 2:return new v.Gc(p.bracketIds,p.length);case 0:return p.astNode;case 1:{if(a>300)return new v.yF(p.length);const _=c.merge(p.bracketIds),E=this.parseList(_,a+1),S=this.tokenizer.peek();return S&&S.kind===2&&(S.bracketId===p.bracketId||S.bracketIds.intersects(p.bracketIds))?(this.tokenizer.read(),v.Nn.create(p.astNode,E,S.astNode)):v.Nn.create(p.astNode,E,null)}default:throw new Error("unexpected")}}}},68387:(St,We,e)=>{e.d(We,{Fo:()=>L,VL:()=>u,YM:()=>b,m5:()=>C,uw:()=>y});class v{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(r,d){this._keyCodeToStr[r]=d,this._strToKeyCode[d.toLowerCase()]=r}keyCodeToStr(r){return this._keyCodeToStr[r]}strToKeyCode(r){return this._strToKeyCode[r.toLowerCase()]||0}}const R=new v,x=new v,T=new v,y=new Array(230),A=Object.create(null),g=Object.create(null),L=[];for(let i=0;i<=193;i++)L[i]=-1;(function(){const i="",r=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",i,i],[1,1,"Hyper",0,i,0,i,i,i],[1,2,"Super",0,i,0,i,i,i],[1,3,"Fn",0,i,0,i,i,i],[1,4,"FnLock",0,i,0,i,i,i],[1,5,"Suspend",0,i,0,i,i,i],[1,6,"Resume",0,i,0,i,i,i],[1,7,"Turbo",0,i,0,i,i,i],[1,8,"Sleep",0,i,0,"VK_SLEEP",i,i],[1,9,"WakeUp",0,i,0,i,i,i],[0,10,"KeyA",31,"A",65,"VK_A",i,i],[0,11,"KeyB",32,"B",66,"VK_B",i,i],[0,12,"KeyC",33,"C",67,"VK_C",i,i],[0,13,"KeyD",34,"D",68,"VK_D",i,i],[0,14,"KeyE",35,"E",69,"VK_E",i,i],[0,15,"KeyF",36,"F",70,"VK_F",i,i],[0,16,"KeyG",37,"G",71,"VK_G",i,i],[0,17,"KeyH",38,"H",72,"VK_H",i,i],[0,18,"KeyI",39,"I",73,"VK_I",i,i],[0,19,"KeyJ",40,"J",74,"VK_J",i,i],[0,20,"KeyK",41,"K",75,"VK_K",i,i],[0,21,"KeyL",42,"L",76,"VK_L",i,i],[0,22,"KeyM",43,"M",77,"VK_M",i,i],[0,23,"KeyN",44,"N",78,"VK_N",i,i],[0,24,"KeyO",45,"O",79,"VK_O",i,i],[0,25,"KeyP",46,"P",80,"VK_P",i,i],[0,26,"KeyQ",47,"Q",81,"VK_Q",i,i],[0,27,"KeyR",48,"R",82,"VK_R",i,i],[0,28,"KeyS",49,"S",83,"VK_S",i,i],[0,29,"KeyT",50,"T",84,"VK_T",i,i],[0,30,"KeyU",51,"U",85,"VK_U",i,i],[0,31,"KeyV",52,"V",86,"VK_V",i,i],[0,32,"KeyW",53,"W",87,"VK_W",i,i],[0,33,"KeyX",54,"X",88,"VK_X",i,i],[0,34,"KeyY",55,"Y",89,"VK_Y",i,i],[0,35,"KeyZ",56,"Z",90,"VK_Z",i,i],[0,36,"Digit1",22,"1",49,"VK_1",i,i],[0,37,"Digit2",23,"2",50,"VK_2",i,i],[0,38,"Digit3",24,"3",51,"VK_3",i,i],[0,39,"Digit4",25,"4",52,"VK_4",i,i],[0,40,"Digit5",26,"5",53,"VK_5",i,i],[0,41,"Digit6",27,"6",54,"VK_6",i,i],[0,42,"Digit7",28,"7",55,"VK_7",i,i],[0,43,"Digit8",29,"8",56,"VK_8",i,i],[0,44,"Digit9",30,"9",57,"VK_9",i,i],[0,45,"Digit0",21,"0",48,"VK_0",i,i],[1,46,"Enter",3,"Enter",13,"VK_RETURN",i,i],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",i,i],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",i,i],[1,49,"Tab",2,"Tab",9,"VK_TAB",i,i],[1,50,"Space",10,"Space",32,"VK_SPACE",i,i],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,i,0,i,i,i],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",i,i],[1,64,"F1",59,"F1",112,"VK_F1",i,i],[1,65,"F2",60,"F2",113,"VK_F2",i,i],[1,66,"F3",61,"F3",114,"VK_F3",i,i],[1,67,"F4",62,"F4",115,"VK_F4",i,i],[1,68,"F5",63,"F5",116,"VK_F5",i,i],[1,69,"F6",64,"F6",117,"VK_F6",i,i],[1,70,"F7",65,"F7",118,"VK_F7",i,i],[1,71,"F8",66,"F8",119,"VK_F8",i,i],[1,72,"F9",67,"F9",120,"VK_F9",i,i],[1,73,"F10",68,"F10",121,"VK_F10",i,i],[1,74,"F11",69,"F11",122,"VK_F11",i,i],[1,75,"F12",70,"F12",123,"VK_F12",i,i],[1,76,"PrintScreen",0,i,0,i,i,i],[1,7
7837,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",i,i],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",i,i],[1,79,"Insert",19,"Insert",45,"VK_INSERT",i,i],[1,80,"Home",14,"Home",36,"VK_HOME",i,i],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",i,i],[1,82,"Delete",20,"Del",46,"VK_DELETE","Delete",i],[1,83,"End",13,"End",35,"VK_END",i,i],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",i,i],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",i],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",i],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",i],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",i],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",i,i],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",i,i],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",i,i],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",i,i],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",i,i],[1,94,"NumpadEnter",3,i,0,i,i,i],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",i,i],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",i,i],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",i,i],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",i,i],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",i,i],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",i,i],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",i,i],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",i,i],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",i,i],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",i,i],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",i,i],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",i,i],[1,107,"ContextMenu",58,"ContextMenu",93,i,i,i],[1,108,"Power",0,i,0,i,i,i],[1,109,"NumpadEqual",0,i,0,i,i,i],[1,110,"F13",71,"F13",124,"VK_F13",i,i],[1,111,"F14",72,"F14",125,"VK_F14",i,i],[1,112,"F15",73,"F15",126,"VK_F15",i,i],[1,113,"F16",74,"F16",127,"VK_F16",i,i],[1,114,"F17",75,"F17",128,"VK_F17",i,i],[1,115,"F18",76,"F18",129,"VK_F18",i,i],[1,116,"F19",77,"F19",130,"VK_F19",i,i],[1,117,"F20",78,"F20",131,"VK_F20",i,i],[1,118,"F21",79,"F21",132,"VK_F21",i,i],[1,119,"F22",80,"F22",133,"VK_F22",i,i],[1,120,"F23",81,"F23",134,"VK_F23",i,i],[1,121,"F24",82,"F24",135,"VK_F24",i,i],[1,122,"Open",0,i,0,i,i,i],[1,123,"Help",0,i,0,i,i,i],[1,124,"Select",0,i,0,i,i,i],[1,125,"Again",0,i,0,i,i,i],[1,126,"Undo",0,i,0,i,i,i],[1,127,"Cut",0,i,0,i,i,i],[1,128,"Copy",0,i,0,i,i,i],[1,129,"Paste",0,i,0,i,i,i],[1,130,"Find",0,i,0,i,i,i],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",i,i],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",i,i],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",i,i],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",i,i],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",i,i],[1,136,"KanaMode",0,i,0,i,i,i],[0,137,"IntlYen",0,i,0,i,i,i],[1,138,"Convert",0,i,0,i,i,i],[1,139,"NonConvert",0,i,0,i,i,i],[1,140,"Lang1",0,i,0,i,i,i],[1,141,"Lang2",0,i,0,i,i,i],[1,142,"Lang3",0,i,0,i,i,i],[1,143,"Lang4",0,i,0,i,i,i],[1,144,"Lang5",0,i,0,i,i,i],[1,145,"Abort",0,i,0,i,i,i],[1,146,"Props",0,i,0,i,i,i],[1,147,"NumpadParenLeft",0,i,0,i,i,i],[1,148,"NumpadParenRight",0,i,0,i,i,i],[1,149,"NumpadBackspace",0,i,0,i,i,i],[1,150,"NumpadMemoryStore",0,i,0,i,i,i],[1,151,"NumpadMemoryRecall",0,i,0,i,i,i],[1,152,"NumpadMemoryClear",0,i,0,i,i,i],[1,153,"NumpadMemoryAdd",0,i,0,i,i,i],[1,154,"NumpadMemorySubtract",0,i,0,i,i,i],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",i,i],[1,156,"NumpadClearEntry",0,i,0,i,i,i],[1,0,i,5,"Ctrl",17,"VK_CONTROL",i,i],[1,0,i,4,"Shift",16,"VK_SHIFT",i,i],[1,0,i,6,"Alt",18,"VK_MENU",i,i],[1,0,i,57,"Meta",91,"VK_COMMAND",i,i],[1,157,"ControlLeft",5,i,0,"VK_LCONTROL",i,i],[1,158,"ShiftLeft",4,i,0,"VK_LSHIFT",i,i],[1,159,"AltLeft",6,i,0,"VK_LMENU",i,i],[1,160,"MetaLeft",57,i,0,"VK_LWIN",i,i],[1,161,"ControlRight",5,i,0,"VK_RCONTROL",i,i],[1,162,"ShiftRight",4,i,0,"VK_RSHIFT",i,i],[1,163,"AltRight",6,i,0,"VK_RMENU",i,i],[1,164,"MetaRight",57,i,0,"VK_RWIN",i,i],[1,165,"BrightnessUp",0,i,0,i,i,i],[1,166,"BrightnessDown",0,i,0,i,i,i],[1,167,"MediaPlay",0,i,0,i,i,i],[1,168,"MediaRecord",0,i,0,i,i,i],[1,169,"MediaFastForward",0,i,0,i,i,i],[1,170,"MediaRewind",0,i,0,i,i,i],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",i,i],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",i,i],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",i,i],[1,174,"Eject",0,i,0,i,i,i],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",i,i],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",i,i],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",i,i],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",i,i],[1,179,"LaunchApp1",0,i,0,"VK_MEDIA_LAUNCH_APP1",i,i],[1,180,"SelectTask",0,i,0,i,i,i],[1,181,"LaunchScreenSaver",0,i,0,i,i,i],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",i,i],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",i,i],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",i,i],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",i,i],[1,186,"BrowserStop",0,i,0,"VK_BROWSER_STOP",i,i],[1,187,"BrowserRefresh",0,i,0,"VK_BROWSER_REFRESH",
783i,i],[1,188,"BrowserFavorites",0,i,0,"VK_BROWSER_FAVORITES",i,i],[1,189,"ZoomToggle",0,i,0,i,i,i],[1,190,"MailReply",0,i,0,i,i,i],[1,191,"MailForward",0,i,0,i,i,i],[1,192,"MailSend",0,i,0,i,i,i],[1,0,i,114,"KeyInComposition",229,i,i,i],[1,0,i,116,"ABNT_C2",194,"VK_ABNT_C2",i,i],[1,0,i,96,"OEM_8",223,"VK_OEM_8",i,i],[1,0,i,0,i,0,"VK_KANA",i,i],[1,0,i,0,i,0,"VK_HANGUL",i,i],[1,0,i,0,i,0,"VK_JUNJA",i,i],[1,0,i,0,i,0,"VK_FINAL",i,i],[1,0,i,0,i,0,"VK_HANJA",i,i],[1,0,i,0,i,0,"VK_KANJI",i,i],[1,0,i,0,i,0,"VK_CONVERT",i,i],[1,0,i,0,i,0,"VK_NONCONVERT",i,i],[1,0,i,0,i,0,"VK_ACCEPT",i,i],[1,0,i,0,i,0,"VK_MODECHANGE",i,i],[1,0,i,0,i,0,"VK_SELECT",i,i],[1,0,i,0,i,0,"VK_PRINT",i,i],[1,0,i,0,i,0,"VK_EXECUTE",i,i],[1,0,i,0,i,0,"VK_SNAPSHOT",i,i],[1,0,i,0,i,0,"VK_HELP",i,i],[1,0,i,0,i,0,"VK_APPS",i,i],[1,0,i,0,i,0,"VK_PROCESSKEY",i,i],[1,0,i,0,i,0,"VK_PACKET",i,i],[1,0,i,0,i,0,"VK_DBE_SBCSCHAR",i,i],[1,0,i,0,i,0,"VK_DBE_DBCSCHAR",i,i],[1,0,i,0,i,0,"VK_ATTN",i,i],[1,0,i,0,i,0,"VK_CRSEL",i,i],[1,0,i,0,i,0,"VK_EXSEL",i,i],[1,0,i,0,i,0,"VK_EREOF",i,i],[1,0,i,0,i,0,"VK_PLAY",i,i],[1,0,i,0,i,0,"VK_ZOOM",i,i],[1,0,i,0,i,0,"VK_NONAME",i,i],[1,0,i,0,i,0,"VK_PA1",i,i],[1,0,i,0,i,0,"VK_OEM_CLEAR",i,i]],d=[],l=[];for(const o of r){const[c,a,p,_,E,S,h,D,k]=o;if(l[a]||(l[a]=!0,A[p]=a,g[p.toLowerCase()]=a,c&&(L[a]=_)),!d[_]){if(d[_]=!0,!E)throw new Error(`String representation missing for key code ${_} around scan code ${p}`);R.define(_,E),x.define(_,D||E),T.define(_,k||D||E)}S&&(y[S]=_)}})();var b;(function(i){function r(p){return R.keyCodeToStr(p)}i.toString=r;function d(p){return R.strToKeyCode(p)}i.fromString=d;function l(p){return x.keyCodeToStr(p)}i.toUserSettingsUS=l;function o(p){return T.keyCodeToStr(p)}i.toUserSettingsGeneral=o;function c(p){return x.strToKeyCode(p)||T.strToKeyCode(p)}i.fromUserSettings=c;function a(p){if(p>=98&&p<=113)return null;switch(p){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right";case 20:return"Delete"}return R.keyCodeToStr(p)}i.toElectronAccelerator=a})(b||(b={}));function C(i,r){const d=(r&65535)<<16>>>0;return(i|d)>>>0}function u(i){return i===5||i===4||i===6||i===57}},68541:(St,We,e)=>{e.d(We,{y:()=>y});var v=e(39084),R=e(49855),x=e(38792),T=e(57955);function y(g,L,b=T.j.ofCaller()){return new A(typeof g=="string"?g:new R.nA(g,void 0,void 0),L,b)}class A extends x.ZK{constructor(L,b,C){super(C),this.event=b,this.handleEvent=()=>{(0,v.Rn)(u=>{for(const i of this._observers)u.updateObserver(i,this),i.handleChange(this,void 0)},()=>this.debugName)},this.debugName=typeof L=="string"?L:L.getDebugName(this)??"Observable Signal From Event"}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}},68939:(St,We,e)=>{e.d(We,{a:()=>i,J:()=>u});var v=e(63339),R=e(45222),x=e(72834),T=e(19103),y=e(14333),A=e(30474),g=e(13338),L=e(2106),b=e(10998);class C extends b.jG{constructor(d,l,o,c){super(),this.selected=0,this.selectBoxOptions=c||Object.create(null),this.options=[],this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=this._register(new L.vl),this.styles=o,this.registerListeners(),this.setOptions(d,l)}registerListeners(){this._register(A.q.addTarget(this.selectElement)),[A.B.Tap].forEach(d=>{this._register((0,y.ko)(this.selectElement,d,l=>{this.selectElement.focus()}))}),this._register((0,y.un)(this.selectElement,"click",d=>{y.fs.stop(d,!0)})),this._register((0,y.un)(this.selectElement,"change",d=>{this.selectElement.title=d.target.value,this._onDidSelect.fire({index:d.target.selectedIndex,selected:d.target.value})})),this._register((0,y.un)(this.selectElement,"keydown",d=>{let l=!1;v.zx?(d.keyCode===18||d.keyCode===16||d.keyCode===10)&&(l=!0):(d.keyCode===18&&d.altKey||d.keyCode===10||d.keyCode===3)&&(l=!0),l&&d.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(d,l){(!this.options||!(0,g.aI)(this.options,d))&&(this.options=d,this.selectElement.options.length=0,this.options.forEach((o,c)=>{this.selectElement.add(this.createOption(o.text,c,o.isDisabled,o.isSeparator))})),l!==void 0&&this.select(l)}select(d){this.options.length===0?this.selected=0:d>=0&&d<this.options.length?this.selected=d:d>this.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected<this.options.length&&typeof this.options[this.selected].text=="string"?this.selectElement.title=this.options[this.selected].text:this.selectElement.title=""}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(d){this.selectElement.tabIndex=d?0:-1}render(d){d.classList.add("select-container"),d.appendChild(this.selectElement),this.setOptions(this.options,this.selected),this.applyStyles()}applyStyles(){this.selectElement&&(this.selectElement.style.backgroundColor=this.styles.selectBackgroun
783d??"",this.selectElement.style.color=this.styles.selectForeground??"",this.selectElement.style.borderColor=this.styles.selectBorder??"")}createOption(d,l,o,c){const a=document.createElement("option");return a.value=d,a.text=d,a.disabled=!!o||!!c,c&&a.setAttribute("role","separator"),a}}const u=Object.freeze({text:"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",isDisabled:!0,isSeparator:!0});class i extends R.x{constructor(d,l,o,c,a){super(),v.zx&&!a?.useCustomDrawn?this.selectBoxDelegate=new C(d,l,c,a):this.selectBoxDelegate=new T.A(d,l,o,c,a),this._register(this.selectBoxDelegate)}get onDidSelect(){return this.selectBoxDelegate.onDidSelect}setOptions(d,l){this.selectBoxDelegate.setOptions(d,l)}select(d){this.selectBoxDelegate.select(d)}focus(){this.selectBoxDelegate.focus()}blur(){this.selectBoxDelegate.blur()}setFocusable(d){this.selectBoxDelegate.setFocusable(d)}render(d){this.selectBoxDelegate.render(d)}}},69227:(St,We,e)=>{e.d(We,{$$:()=>r,C1:()=>p,C5:()=>he,G_:()=>W,HD:()=>Be,Hc:()=>N,I$:()=>d,In:()=>V,Ip:()=>Y,L4:()=>g,L9:()=>l,Oc:()=>de,Q1:()=>U,Qf:()=>Me,T5:()=>a,T9:()=>te,Tm:()=>H,UL:()=>c,Uk:()=>G,Uv:()=>we,XJ:()=>$,YS:()=>o,ZB:()=>ie,Zg:()=>b,_$:()=>_,c1:()=>i,cw:()=>L,eU:()=>M,eY:()=>S,h9:()=>E,hs:()=>xe,jO:()=>X,jr:()=>re,kP:()=>j,lW:()=>D,nZ:()=>Z,r:()=>ne,rv:()=>h,t0:()=>le,uN:()=>C,xO:()=>I,xW:()=>z,yq:()=>k,zU:()=>Ve});var v=e(3765),R=e(94901),x=e(87676),T=e(18382),y=e(73858),A=e(82735);const g=(0,x.x1)("input.background",{dark:"#3C3C3C",light:R.Q1.white,hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1960,"Input box background.")),L=(0,x.x1)("input.foreground",T.CU,(0,v.kg)(1961,"Input box foreground.")),b=(0,x.x1)("input.border",{dark:null,light:null,hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1962,"Input box border.")),C=(0,x.x1)("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1963,"Border color of activated options in input fields.")),u=(0,x.x1)("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},(0,v.kg)(1964,"Background color of activated options in input fields.")),i=(0,x.x1)("inputOption.activeBackground",{dark:(0,x.JO)(T.tA,.4),light:(0,x.JO)(T.tA,.2),hcDark:R.Q1.transparent,hcLight:R.Q1.transparent},(0,v.kg)(1965,"Background hover color of options in input fields.")),r=(0,x.x1)("inputOption.activeForeground",{dark:R.Q1.white,light:R.Q1.black,hcDark:T.CU,hcLight:T.CU},(0,v.kg)(1966,"Foreground color of activated options in input fields."));(0,x.x1)("input.placeholderForeground",{light:(0,x.JO)(T.CU,.5),dark:(0,x.JO)(T.CU,.5),hcDark:(0,x.JO)(T.CU,.7),hcLight:(0,x.JO)(T.CU,.7)},(0,v.kg)(1967,"Input box foreground color for placeholder text."));const d=(0,x.x1)("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1968,"Input validation background color for information severity.")),l=(0,x.x1)("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:T.CU},(0,v.kg)(1969,"Input validation foreground color for information severity.")),o=(0,x.x1)("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1970,"Input validation border color for information severity.")),c=(0,x.x1)("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1971,"Input validation background color for warning severity.")),a=(0,x.x1)("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:T.CU},(0,v.kg)(1972,"Input validation foreground color for warning severity.")),p=(0,x.x1)("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1973,"Input validation border color for warning severity.")),_=(0,x.x1)("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1974,"Input validation background color for error severity.")),E=(0,x.x1)("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:T.CU},(0,v.kg)(1975,"Input validation foreground color for error severity.")),S=(0,x.x1)("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1976,"Input validation border color for error severity.")),h=(0,x.x1)("dropdown.background",{dark:"#3C3C3C",light:R.Q1.white,hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1977,"Dropdown background.")),D=(0,x.x1)("dropdown.listBackgroun
783d",{dark:null,light:null,hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1978,"Dropdown list background.")),k=(0,x.x1)("dropdown.foreground",{dark:"#F0F0F0",light:T.CU,hcDark:R.Q1.white,hcLight:T.CU},(0,v.kg)(1979,"Dropdown foreground.")),N=(0,x.x1)("dropdown.border",{dark:h,light:"#CECECE",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1980,"Dropdown border.")),W=(0,x.x1)("button.foreground",R.Q1.white,(0,v.kg)(1981,"Button foreground color.")),U=(0,x.x1)("button.separator",(0,x.JO)(W,.4),(0,v.kg)(1982,"Button separator color.")),$=(0,x.x1)("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:R.Q1.black,hcLight:"#0F4A85"},(0,v.kg)(1983,"Button background color.")),te=(0,x.x1)("button.hoverBackground",{dark:(0,x.a)($,.2),light:(0,x.e$)($,.2),hcDark:$,hcLight:$},(0,v.kg)(1984,"Button background color when hovering.")),ne=(0,x.x1)("button.border",T.b1,(0,v.kg)(1985,"Button border color.")),V=(0,x.x1)("button.secondaryForeground",{dark:T.CU,light:T.CU,hcDark:R.Q1.white,hcLight:T.CU},(0,v.kg)(1986,"Secondary button foreground color.")),I=(0,x.x1)("button.secondaryBackground",{dark:A.lO,light:A.lO,hcDark:null,hcLight:R.Q1.white},(0,v.kg)(1987,"Secondary button background color.")),H=(0,x.x1)("button.secondaryBorder",{dark:(0,x.JO)(T.CU,.15),light:(0,x.JO)(T.CU,.15),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1988,"Secondary button border color.")),Z=(0,x.x1)("button.secondaryHoverBackground",{dark:(0,x.a)(A.lO,.2),light:(0,x.a)(A.lO,.2),hcDark:null,hcLight:null},(0,v.kg)(1989,"Secondary button background color when hovering.")),X=(0,x.x1)("radio.activeForeground",r,(0,v.kg)(1990,"Foreground color of active radio option.")),G=(0,x.x1)("radio.activeBackground",i,(0,v.kg)(1991,"Background color of active radio option.")),Y=(0,x.x1)("radio.activeBorder",C,(0,v.kg)(1992,"Border color of the active radio option.")),j=(0,x.x1)("radio.inactiveForeground",null,(0,v.kg)(1993,"Foreground color of inactive radio option.")),z=(0,x.x1)("radio.inactiveBackground",null,(0,v.kg)(1994,"Background color of inactive radio option.")),ie=(0,x.x1)("radio.inactiveBorder",{light:(0,x.JO)(X,.2),dark:(0,x.JO)(X,.2),hcDark:(0,x.JO)(X,.4),hcLight:(0,x.JO)(X,.2)},(0,v.kg)(1995,"Border color of the inactive radio option.")),re=(0,x.x1)("radio.inactiveHoverBackground",u,(0,v.kg)(1996,"Background color of inactive active radio option when hovering.")),de=(0,x.x1)("checkbox.background",h,(0,v.kg)(1997,"Background color of checkbox widget."));(0,x.x1)("checkbox.selectBackground",y.Cg,(0,v.kg)(1998,"Background color of checkbox widget when the element it's in is selected."));const le=(0,x.x1)("checkbox.foreground",k,(0,v.kg)(1999,"Foreground color of checkbox widget.")),he=(0,x.x1)("checkbox.border",N,(0,v.kg)(2e3,"Border color of checkbox widget."));(0,x.x1)("checkbox.selectBorder",T.t4,(0,v.kg)(2001,"Border color of checkbox widget when the element it's in is selected."));const we=(0,x.x1)("checkbox.disabled.background",{op:7,color:de,with:le,ratio:.33},(0,v.kg)(2002,"Background of a disabled checkbox.")),xe=(0,x.x1)("checkbox.disabled.foreground",{op:7,color:le,with:de,ratio:.33},(0,v.kg)(2003,"Foreground of a disabled checkbox.")),Be=(0,x.x1)("keybindingLabel.background",{dark:new R.Q1(new R.bU(128,128,128,.17)),light:new R.Q1(new R.bU(221,221,221,.4)),hcDark:R.Q1.transparent,hcLight:R.Q1.transparent},(0,v.kg)(2004,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),M=(0,x.x1)("keybindingLabel.foreground",{dark:R.Q1.fromHex("#CCCCCC"),light:R.Q1.fromHex("#555555"),hcDark:R.Q1.white,hcLight:T.CU},(0,v.kg)(2005,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),Ve=(0,x.x1)("keybindingLabel.border",{dark:new R.Q1(new R.bU(51,51,51,.6)),light:new R.Q1(new R.bU(204,204,204,.4)),hcDark:new R.Q1(new R.bU(111,195,223)),hcLight:T.b1},(0,v.kg)(2006,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),Me=(0,x.x1)("keybindingLabel.bottomBorder",{dark:new R.Q1(new R.bU(68,68,68,.6)),light:new R.Q1(new R.bU(187,187,187,.4)),hcDark:new R.Q1(new R.bU(111,195,223)),hcLight:T.CU},(0,v.kg)(2007,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut."))},69588:(St,We,e)=>{e.d(We,{B:()=>R});var v=e(79359),R;(function(T){async function y(L){try{if(!navigator.gpu)throw new Error("This browser does not support WebGPU");const b=await navigator.gpu.requestAdapter();if(!b)throw new Error("This browser supports WebGPU but it appears to be disabled");
783return x(await b.requestDevice())}catch(b){throw L&&L(b.message),b}}T.requestDevice=y;function A(L,b,C){const u=L.createBuffer(b);return C&&L.queue.writeBuffer(u,0,(0,v.Tn)(C)?C():C),x(u)}T.createBuffer=A;function g(L,b){return x(L.createTexture(b))}T.createTexture=g})(R||(R={}));function x(T){return{object:T,dispose:()=>T.destroy()}}},69887:(St,We,e)=>{e.d(We,{VX:()=>y,Vq:()=>A,Y:()=>L,gf:()=>T,jt:()=>C});var v=e(13338),R=e(17954),x=e(9223);function T(u,i){return{id:i,asString:async()=>u,asFile:()=>{},value:typeof u=="string"?u:void 0}}function y(u,i,r,d){const l={id:(0,x.b)(),name:u,uri:i,data:r};return{id:d,asString:async()=>"",asFile:()=>l,value:void 0}}class A{constructor(){this._entries=new Map}get size(){let i=0;for(const r of this._entries)i++;return i}has(i){return this._entries.has(this.toKey(i))}matches(i){const r=[...this._entries.keys()];return R.f.some(this,([d,l])=>l.asFile())&&r.push("files"),b(g(i),r)}get(i){return this._entries.get(this.toKey(i))?.[0]}append(i,r){const d=this._entries.get(i);d?d.push(r):this._entries.set(this.toKey(i),[r])}replace(i,r){this._entries.set(this.toKey(i),[r])}delete(i){this._entries.delete(this.toKey(i))}*[Symbol.iterator](){for(const[i,r]of this._entries)for(const d of r)yield[i,d]}toKey(i){return g(i)}}function g(u){return u.toLowerCase()}function L(u,i){return b(g(u),i.map(g))}function b(u,i){if(u==="*/*")return i.length>0;if(i.includes(u))return!0;const r=u.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!r)return!1;const[d,l,o]=r;return o==="*"?i.some(c=>c.startsWith(l+"/")):!1}const C=Object.freeze({create:u=>(0,v.dM)(u.map(i=>i.toString())).join(`\r
784`),split:u=>u.split(`\r
785`),parse:u=>C.split(u).filter(i=>!i.startsWith("#"))})},70228:(St,We,e)=>{var je;e.d(We,{zn:()=>de,x2:()=>le,j6:()=>xe,zl:()=>Me,n6:()=>Le,z0:()=>Be,_X:()=>M,e3:()=>Ve});var v=e(14333),R=e(77439),x=e(27969),T=e(5915),y=e(58881),A=e(94901),g=e(2106),L=e(71386),b=e(50946),C=e(24665),u=e(83952),i=e(61694),r=e(94664),d=e(10998),l=e(28061),o=e(31531);const c=new A.Q1(new A.bU(0,122,204)),a={showArrow:!0,showFrame:!0,className:"",frameColor:c,arrowColor:c,keepEditorSelection:!1},p="vs.editor.contrib.zoneWidget";class _{constructor(Ee,Ie,Ue,$e,Ye,Ce,He,Ke){this.id="",this.domNode=Ee,this.afterLineNumber=Ie,this.afterColumn=Ue,this.heightInLines=$e,this.showInHiddenAreas=He,this.ordinal=Ke,this._onDomNodeTop=Ye,this._onComputedHeight=Ce}onDomNodeTop(Ee){this._onDomNodeTop(Ee)}onComputedHeight(Ee){this._onComputedHeight(Ee)}}class E{constructor(Ee,Ie){this._id=Ee,this._domNode=Ie}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Qe=class Qe{constructor(Ee){this._editor=Ee,this._ruleName=Qe._IdGenerator.nextId(),this._color=null,this._height=-1,this._decorations=this._editor.createDecorationsCollection()}dispose(){this.hide(),(0,u.U2)(this._ruleName)}set color(Ee){this._color!==Ee&&(this._color=Ee,this._updateStyle())}set height(Ee){this._height!==Ee&&(this._height=Ee,this._updateStyle())}_updateStyle(){(0,u.U2)(this._ruleName),(0,u.Wt)(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px !important; margin-left: -${this._height}px; `)}show(Ee){Ee.column===1&&(Ee={lineNumber:Ee.lineNumber,column:2}),this._decorations.set([{range:l.Q.fromPositions(Ee),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Qe._IdGenerator=new r.n(".arrow-decoration-");let S=Qe;class h{constructor(Ee,Ie={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._isSashResizeHeight=!1,this._viewZone=null,this._disposables=new d.Cm,this.container=null,this._isShowing=!1,this.editor=Ee,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=(0,L.Go)(Ie),(0,L.co)(this.options,a,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(Ue=>{const $e=this._getWidth(Ue);this.domNode.style.width=$e+"px",this.domNode.style.left=this._getLeft(Ue)+"px",this._onWidth($e)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(Ee=>{this._viewZone&&Ee.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new S(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(Ee){Ee.frameColor&&(this.options.frameColor=Ee.frameColor),Ee.arrowColor&&(this.options.arrowColor=Ee.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const Ee=this.options.frameColor.toString();this.container.style.borderTopColor=Ee,this.container.style.borderBottomColor=Ee}if(this._arrow&&this.options.arrowColor){const Ee=this.options.arrowColor.toString();this._arrow.color=Ee}}_getWidth(Ee){return Ee.width-Ee.minimap.minimapWidth-Ee.verticalScrollbarWidth}_getLeft(Ee){return Ee.minimap.minimapWidth>0&&Ee.minimap.minimapLeft===0?Ee.minimap.minimapWidth:0}_onViewZoneTop(Ee){this.domNode.style.top=Ee+"px"}_onViewZoneHeight(Ee){if(this.domNode.style.height=`${Ee}px`,this.container){const Ie=Ee-this._decoratingElementsHeight();this.container.style.height=`${Ie}px`;const Ue=this.editor.getLayoutInfo();this._doLayout(Ie,this._getWidth(Ue))}this._resizeSash?.layout()}get position(){const Ee=this._positionMarkerId.getRange(0);if(Ee)return Ee.getStartPosition()}show(Ee,Ie){const Ue=l.Q.isIRange(Ee)?l.Q.lift(Ee):l.Q.fromPositions(Ee);this._isShowing=!0,this._showImpl(Ue,Ie),this._isShowing=!1,this._positionMarkerId.set([{range:Ue,options:o.kI.EMPTY}])}hide(){this._viewZone&&(this.editor.changeViewZones(Ee=>{this._viewZone&&Ee.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow?.hide(),this._positionMarkerId.clear(),this._isSashResizeHeight=!1}_decoratingElementsHeight(){const Ee=this.editor.getOption(75);let Ie=0;if(this.options.showArrow){const Ue=Math.round(Ee/3);Ie+=2*Ue}if(this.options.showFrame){const Ue=this.options.frameWidth??Math.round(Ee/9);Ie+=2*Ue}return Ie}_getMaximumHeightInLines(){return Math.max(12,this.editor.getLayoutInfo().height/this.editor.getOption(75)*.8)}_showImpl(Ee,Ie){const Ue=Ee.getStartPosition(),$e=this.editor.getLayoutInfo(),Ye=this._getWidth($e);this.domNode.style.width=`${Ye}px`,this.domNode.style.left=this._getLeft($e)+"px";const Ce=document.createElement("div");Ce.style.overflow="hidden";const He=this.editor.getOption(75),Ke=this._getMaximumHeightInLines();Ke!==void 0&&(Ie=Math.min(Ie,Ke));let qe=0,ht=0;if(this._arrow&&this.options.showArrow&&(qe=Math.round(He/3),this._arrow.height=qe,this._arrow.show(Ue)),this.options.showFrame&&(ht=Math.round(He/9)),this.editor.changeViewZones(q=>{this._viewZone&&q.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new _(Ce,Ue.lineNumber,Ue.column,Ie,ue=>this._onViewZoneTop(ue),ue=>this._onViewZoneHeight(ue),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=q.addZone(this._viewZone),this._overlayWidget=new E(p+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this._updateSashEnablement(),this.container&&this.options.showFrame){const q=this.options.frameWidth?this.options.frameWidth:ht;this.container.style.borderTopWidth=q+"px",this.container.style.borderBottomWidth=q+"px"}const Te=Ie*He-this._decoratingElementsHeight();this.container&&(this.container.style.top=qe+"px",this.container.style.height=Te+"px",this.container.style.overflow="hidden"),this._doLayout(Te,Ye),this.options.keepEditorSelection||this.editor.setSelection(Ee);const oe=this.editor.getModel();if(oe){const q=oe.validateRange(new l.Q(Ee.startLineNumber,1,Ee.endLineNumber+1,1));this.revealRange(q,q.startLineNumber===oe.getLineCount())}}revealRange(Ee,Ie){Ie?this.editor.revealLineNearTop(Ee.endLineNumber,0):this.editor.revealRange(Ee,0)}setCssClass(Ee,Ie){this.container&&(Ie&&this.container.classList.remove(Ie),this.container.classList.add(Ee))}_onWidth(Ee){}_doLayout(Ee,Ie){}_relayout(Ee,Ie){const Ue=this._getMaximumHeightInLines(),$e=Ie&&Ue!==void 0?Math.min(Ue,Ee):Ee;this._viewZone&&this._viewZone.heightInLines!==$e&&(this.editor.changeViewZones(Ye=>{this._viewZone&&(this._viewZone.heightInLines=$e,Ye.layoutZone(this._viewZone.id))}),this._updateSashEnablement())}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new i.m(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let Ee;this._disposables.add(this._resizeSash.onDidStart(Ie=>{this._viewZone&&(Ee={startY:Ie.startY,heightInLines:this._viewZone.heightInLines,...this._getResizeBounds()})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{Ee=void 0})),this._disposables.add(this._resizeSash.onDidChange(Ie=>{if(Ee){const Ue=(Ie.currentY-Ee.startY)/this.editor.getOption(75),$e=Ue<0?Math.ceil(Ue):Math.floor(Ue),Ye=Ee.he
785ightInLines+$e;Ye>Ee.minLines&&Ye<Ee.maxLines&&(this._isSashResizeHeight=!0,this._relayout(Ye))}}))}_updateSashEnablement(){if(this._resizeSash){const{minLines:Ee,maxLines:Ie}=this._getResizeBounds();this._resizeSash.state=Ee===Ie?0:3}}_getResizeBounds(){return{minLines:5,maxLines:35}}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const Ee=this.editor.getLayoutInfo();return Ee.width-Ee.minimap.minimapWidth}}var D=e(3765),k=e(54860),N=e(31540),W=e(66726),U=e(82399),$=e(87676),te=e(18382),ne=e(75962),V=e(73858),I=e(69227),H=e(82735),Z=e(75712),X=e(10680),G=e(58687),Y=e(94865),j=e(74707),z=e(61988),ie=function(ae,Ee,Ie,Ue){var $e=arguments.length,Ye=$e<3?Ee:Ue===null?Ue=Object.getOwnPropertyDescriptor(Ee,Ie):Ue,Ce;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ye=Reflect.decorate(ae,Ee,Ie,Ue);else for(var He=ae.length-1;He>=0;He--)(Ce=ae[He])&&(Ye=($e<3?Ce(Ye):$e>3?Ce(Ee,Ie,Ye):Ce(Ee,Ie))||Ye);return $e>3&&Ye&&Object.defineProperty(Ee,Ie,Ye),Ye},re=function(ae,Ee){return function(Ie,Ue){Ee(Ie,Ue,ae)}};const de=(0,U.u1)("IPeekViewService");(0,W.v)(de,class{constructor(){this._widgets=new Map}addExclusiveWidget(ae,Ee){const Ie=this._widgets.get(ae);Ie&&(Ie.listener.dispose(),Ie.widget.dispose());const Ue=()=>{const $e=this._widgets.get(ae);$e&&$e.widget===Ee&&($e.listener.dispose(),this._widgets.delete(ae))};this._widgets.set(ae,{widget:Ee,listener:Ee.onDidClose(Ue)})}},1);var le;(function(ae){ae.inPeekEditor=new N.N1("inReferenceSearchEditor",!0,(0,D.kg)(1362,"Whether the current code editor is embedded inside peek")),ae.notInPeekEditor=ae.inPeekEditor.toNegated()})(le||(le={}));let he=(je=class{constructor(Ee,Ie){Ee instanceof C.t&&le.inPeekEditor.bindTo(Ie)}dispose(){}},je.ID="editor.contrib.referenceController",je);he=ie([re(1,N.fN)],he),(0,b.HW)(he.ID,he,0);const we={headerBackgroundColor:A.Q1.white,primaryHeadingColor:A.Q1.fromHex("#333333"),secondaryHeadingColor:A.Q1.fromHex("#6c6c6cb3")};let xe=class extends h{constructor(Ee,Ie,Ue){super(Ee,Ie),this.instantiationService=Ue,this._onDidClose=new g.vl,this.onDidClose=this._onDidClose.event,(0,L.co)(this.options,we,!1);const $e=(0,z.U)(this.editor);$e.openedPeekWidgets.set($e.openedPeekWidgets.get()+1,void 0)}dispose(){if(!this.disposed){this.disposed=!0,super.dispose(),this._onDidClose.fire(this),this._onDidClose.dispose();const Ee=(0,z.U)(this.editor);Ee.openedPeekWidgets.set(Ee.openedPeekWidgets.get()-1,void 0)}}style(Ee){const Ie=this.options;Ee.headerBackgroundColor&&(Ie.headerBackgroundColor=Ee.headerBackgroundColor),Ee.primaryHeadingColor&&(Ie.primaryHeadingColor=Ee.primaryHeadingColor),Ee.secondaryHeadingColor&&(Ie.secondaryHeadingColor=Ee.secondaryHeadingColor),super.style(Ee)}_applyStyles(){super._applyStyles();const Ee=this.options;this._headElement&&Ee.headerBackgroundColor&&(this._headElement.style.backgroundColor=Ee.headerBackgroundColor.toString()),this._primaryHeading&&Ee.primaryHeadingColor&&(this._primaryHeading.style.color=Ee.primaryHeadingColor.toString()),this._secondaryHeading&&Ee.secondaryHeadingColor&&(this._secondaryHeading.style.color=Ee.secondaryHeadingColor.toString()),this._bodyElement&&Ee.frameColor&&(this._bodyElement.style.borderColor=Ee.frameColor.toString())}_fillContainer(Ee){this.setCssClass("peekview-widget"),this._headElement=(0,v.$)(".head"),this._bodyElement=(0,v.$)(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),Ee.appendChild(this._headElement),Ee.appendChild(this._bodyElement)}_fillHead(Ee,Ie){this._titleElement=(0,v.$)(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),(0,v.un)(this._titleElement,"click",Ye=>this._onTitleClick(Ye))),(0,v.BC)(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=(0,v.$)("span.filename"),this._secondaryHeading=(0,v.$)("span.dirname"),this._metaHeading=(0,v.$)("span.meta"),(0,v.BC)(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const Ue=(0,v.$)(".peekview-actions");(0,v.BC)(this._headElement,Ue);const $e=this._getActionBarOptions();this._actionbarWidget=new R.E(Ue,$e),this._disposables.add(this._actionbarWidget),Ie||this._actionbarWidget.push(this._disposables.add(new x.rc("peekview.close",(0,D.kg)(1363,"Close"),y.L.asClassName(T.W.close),
785!0,()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(Ee){}_getActionBarOptions(){return{actionViewItemProvider:k.rN.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(Ee){}setTitle(Ee,Ie){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=Ee,this._primaryHeading.setAttribute("title",Ee),Ie?this._secondaryHeading.innerText=Ie:(0,v.w_)(this._secondaryHeading))}setMetaTitle(Ee){this._metaHeading&&(Ee?(this._metaHeading.innerText=Ee,(0,v.WU)(this._metaHeading)):(0,v.jD)(this._metaHeading))}_doLayout(Ee,Ie){if(!this._isShowing&&Ee<0){this.dispose();return}const Ue=Math.ceil(this.editor.getOption(75)*1.2),$e=Math.round(Ee-(Ue+1));this._doLayoutHead(Ue,Ie),this._doLayoutBody($e,Ie)}_doLayoutHead(Ee,Ie){this._headElement&&(this._headElement.style.height=`${Ee}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(Ee,Ie){this._bodyElement&&(this._bodyElement.style.height=`${Ee}px`)}};xe=ie([re(2,U._Y)],xe);const Be=(0,$.x1)("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:A.Q1.black,hcLight:A.Q1.white},(0,D.kg)(1364,"Background color of the peek view title area.")),M=(0,$.x1)("peekViewTitleLabel.foreground",{dark:A.Q1.white,light:A.Q1.black,hcDark:A.Q1.white,hcLight:V.By},(0,D.kg)(1365,"Color of the peek view title.")),Ve=(0,$.x1)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},(0,D.kg)(1366,"Color of the peek view title info.")),Me=(0,$.x1)("peekView.border",{dark:V.pO,light:V.pO,hcDark:te.b1,hcLight:te.b1},(0,D.kg)(1367,"Color of the peek view borders and arrow.")),Le=(0,$.x1)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:A.Q1.black,hcLight:A.Q1.white},(0,D.kg)(1368,"Background color of the peek view result list."));(0,$.x1)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:A.Q1.white,hcLight:V.By},(0,D.kg)(1369,"Foreground color for line nodes in the peek view result list.")),(0,$.x1)("peekViewResult.fileForeground",{dark:A.Q1.white,light:"#1E1E1E",hcDark:A.Q1.white,hcLight:V.By},(0,D.kg)(1370,"Foreground color for file nodes in the peek view result list.")),(0,$.x1)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},(0,D.kg)(1371,"Background color of the selected entry in the peek view result list.")),(0,$.x1)("peekViewResult.selectionForeground",{dark:A.Q1.white,light:"#6C6C6C",hcDark:A.Q1.white,hcLight:V.By},(0,D.kg)(1372,"Foreground color of the selected entry in the peek view result list."));const _e=(0,$.x1)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:A.Q1.black,hcLight:A.Q1.white},(0,D.kg)(1373,"Background color of the peek view editor."));(0,$.x1)("peekViewEditorGutter.background",_e,(0,D.kg)(1374,"Background color of the gutter in the peek view editor.")),(0,$.x1)("peekViewEditorStickyScroll.background",_e,(0,D.kg)(1375,"Background color of sticky scroll in the peek view editor.")),(0,$.x1)("peekViewEditorStickyScrollGutter.background",_e,(0,D.kg)(1376,"Background color of the gutter part of sticky scroll in the peek view editor.")),(0,$.x1)("peekViewResult.matchHighlightBackgroun
785d",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},(0,D.kg)(1377,"Match highlight color in the peek view result list.")),(0,$.x1)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},(0,D.kg)(1378,"Match highlight color in the peek view editor.")),(0,$.x1)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:te.bu,hcLight:te.bu},(0,D.kg)(1379,"Match highlight border in the peek view editor."))},70233:(St,We,e)=>{e.d(We,{h:()=>T,l:()=>x});var v=e(66476),R=e(28060);function x(y,A,g){const L=y.get(58),b=y.get(62),C=y.get(61),u=y.get(60),i=y.get(63),r=y.get(75),d=y.get(72);return R._8._create(L,b,C,u,i,r,d,A,g)}function T(y,A,g=!1){const L=v.qB.fontFamily.validate(y.fontFamily),b=v.qB.fontWeight.validate(y.fontWeight),C=v.qB.fontSize.validate(y.fontSize),u=v.qB.fontLigatures2.validate(y.fontLigatures),i=v.qB.fontVariations.validate(y.fontVariations),r=v.qB.lineHeight.validate(y.lineHeight),d=v.qB.letterSpacing.validate(y.letterSpacing);return R._8._create(L,b,C,u,i,r,d,A,g)}},70594:(St,We,e)=>{e.d(We,{D:()=>C,H:()=>b});var v=e(78903),R=e(94327),x=e(10998),T=e(79359),y=e(37264),A=e(64830),g=e(82096),L=e(29849);const u=class u{constructor(){this.lenses=[]}dispose(){this._store?.dispose()}get isDisposed(){return this._store?.isDisposed??!1}add(r,d){(0,x.Xm)(r)&&(this._store??=new x.Cm,this._store.add(r));for(const l of r.lenses)this.lenses.push({symbol:l,provider:d})}};u.Empty=new u;let b=u;async function C(i,r,d){const l=i.ordered(r),o=new Map,c=new b,a=l.map(async(p,_)=>{o.set(p,_);try{const E=await Promise.resolve(p.provideCodeLenses(r,d));E&&c.add(E,p)}catch(E){(0,R.M_)(E)}});return await Promise.all(a),d.isCancellationRequested?(c.dispose(),b.Empty):(c.lenses=c.lenses.sort((p,_)=>p.symbol.range.startLineNumber<_.symbol.range.startLineNumber?-1:p.symbol.range.startLineNumber>_.symbol.range.startLineNumber?1:o.get(p.provider)<o.get(_.provider)?-1:o.get(p.provider)>o.get(_.provider)?1:p.symbol.range.startColumn<_.symbol.range.startColumn?-1:p.symbol.range.startColumn>_.symbol.range.startColumn?1:0),c)}g.w.registerCommand("_executeCodeLensProvider",function(i,...r){let[d,l]=r;(0,T.j)(y.r.isUri(d)),(0,T.j)(typeof l=="number"||!l);const{codeLensProvider:o}=i.get(L.u),c=i.get(A.S).getModel(d);if(!c)throw(0,R.Qg)();const a=[],p=new x.Cm;return C(o,c,v.XO.None).then(_=>{p.add(_);const E=[];for(const S of _.lenses)l==null||S.symbol.command?a.push(S.symbol):l-- >0&&S.provider.resolveCodeLens&&E.push(Promise.resolve(S.provider.resolveCodeLens(c,S.symbol,v.XO.None)).then(h=>a.push(h||S.symbol)));return Promise.all(E)}).then(()=>a).finally(()=>{setTimeout(()=>p.dispose(),100)})})},70645:(St,We,e)=>{e.d(We,{$f:()=>A,MU:()=>g,Yb:()=>b,_t:()=>L,vn:()=>y});var v=e(16844),R=e(49550),x=e(1032);function T(u,i,r){const d=u.tokenization.getLanguageIdAtPosition(i,0);if(i>1){let l,o=-1;for(l=i-1;l>=1;l--){if(u.tokenization.getLanguageIdAtPosition(l,0)!==d)return o;const c=u.getLineContent(l);if(r.shouldIgnore(l)||/^\s+$/.test(c)||c===""){o=l;continue}return l}}return-1}function y(u,i,r,d=!0,l){if(u<4)return null;const o=l.getLanguageConfiguration(i.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;const c=new x.no(i,o,l);if(r<=1)return{indentation:"",action:null};for(let p=r-1;p>0&&i.getLineContent(p)==="";p--)if(p===1)return{indentation:"",action:null};const a=T(i,r,c);if(a<0)return null;if(a<1)return{indentation:"",action:null};if(c.shouldIncrease(a)||c.shouldIndentNextLine(a)){const p=i.getLineContent(a);return{indentation:(0,v.UU)(p),action:R.l.Indent,line:a}}else if(c.shouldDecrease(a)){const p=i.getLineContent(a);return{indentation:(0,v.UU)(p),action:null,line:a}}else{if(a===1)return{indentation:(0,v.UU)(i.getLineContent(a)),action:null,line:a};const p=a-1,_=o.getIndentMetadata(i.getLineContent(p));if(!(_&3)&&_&4){let E=0;for(let S=p-1;S>0;S--)if(!c.shouldIndentNextLine(S)){E=S;break}return{indentation:(0,v.UU)(i.getLineContent(E+1)),action:null,line:E+1}}if(d)return{indentation:(0,v.UU)(i.getLineContent(a)),action:null,line:a};for(let E=a;E>0;E--){if(c.shouldIncrease(E))return{indentation:(0,v.UU)(i.getLineContent(E)),action:R.l.Indent,line:E};if(c.shouldIndentNextLine(E)){let S=0;for(let h=E-1;h>0;h--)if(!c.shouldIndentNextLine(E)){S=h;break}return{indentation:(0,v.UU)(i.getLineContent(S+1)),action:null,line:S+1}}else if(c.shouldDecrease(E))return{indentation:(0,v.UU)(i.getLineContent(E)),action:null,line:E}}return{indentation:(0,v.UU)(i.getLineContent(1)),action:null,line:1}}}function A(u,i,r,d,l,o){if(u<4)return null;const c=o.getLanguageConfiguration(r);if(!c)return null;const a=o.getLanguageConfiguration(r).indentRulesSupport;if(!a)return null;const p=new x.no(i,a,o),_=y(u,i,d,void 0,o);if(_){const E=_.line;if(E!==void 0){let S=!0;for(let h=E;h<d-1;h++)if(!/^\s*$/.test(i.getLineContent(h))){S=!1;break}if(S){const h=c.onEnter(u,"",i.getLineContent(E),"");if(h){let D=(0,v.UU)(i.getLineContent(E));return h.removeText&&(D=D.substring(0,D.length-h.removeText)),h.indentAction===R.l.Indent||h.indentAction===R.l.IndentOutdent?D=l.shiftIndent(D):h.indentAction===R.l.Outdent&&(D=l.unshiftIndent(D)),p.shouldDecrease(d)&&(D=l.unshiftIndent(D)),h.appendText&&(D+=h.appendText),(0,v.UU)(D)}}}return p.shouldDecrease(d)?_.action===R.l.Indent?_.indentation:l.unshiftIndent(_.indentation):_.action===R.l.Indent?l.shiftIndent(_.indentation):_.indentation}return null}function g(u,i,r,d,l){if(u<4)return null;const o=i.getLanguageIdAtPosition(r.startLineNumber,r.startColumn),c=l.getLanguageConfiguration(o).indentRulesSupport;if(!c)return null;i.tokenization.forceTokenization(r.startLineNumber);
785const p=new x.V(i,l).getProcessedTokenContextAroundRange(r),_=p.afterRangeProcessedTokens,E=p.beforeRangeProcessedTokens,S=(0,v.UU)(E.getLineContent()),h=C(i,r.startLineNumber,E),D=(0,x.WR)(i,r.getStartPosition()),k=i.getLineContent(r.startLineNumber),N=(0,v.UU)(k),W=y(u,h,r.startLineNumber+1,void 0,l);if(!W){const $=D?N:S;return{beforeEnter:$,afterEnter:$}}let U=D?N:W.indentation;return W.action===R.l.Indent&&(U=d.shiftIndent(U)),c.shouldDecrease(_.getLineContent())&&(U=d.unshiftIndent(U)),{beforeEnter:D?N:S,afterEnter:U}}function L(u,i,r,d,l,o){const c=u.autoIndent;if(c<4||(0,x.WR)(i,r.getStartPosition()))return null;const p=i.getLanguageIdAtPosition(r.startLineNumber,r.startColumn),_=o.getLanguageConfiguration(p).indentRulesSupport;if(!_)return null;const S=new x.V(i,o).getProcessedTokenContextAroundRange(r),h=S.beforeRangeProcessedTokens.getLineContent(),D=S.afterRangeProcessedTokens.getLineContent(),k=h+D,N=h+d+D;if(!_.shouldDecrease(k)&&_.shouldDecrease(N)){const U=y(c,i,r.startLineNumber,!1,o);if(!U)return null;let $=U.indentation;return U.action!==R.l.Indent&&($=l.unshiftIndent($)),$}const W=r.startLineNumber-1;if(W>0){const U=i.getLineContent(W);if(_.shouldIndentNextLine(U)&&_.shouldIncrease(N)){const te=y(c,i,r.startLineNumber,!1,o)?.indentation;if(te!==void 0){const ne=i.getLineContent(r.startLineNumber),V=(0,v.UU)(ne),H=l.shiftIndent(te)===V,Z=/^\s*$/.test(k),X=u.autoClosingPairs.autoClosingPairsOpenByEnd.get(d),Y=X&&X.length>0&&Z;if(H&&Y)return te}}}return null}function b(u,i,r){const d=r.getLanguageConfiguration(u.getLanguageId()).indentRulesSupport;return!d||i<1||i>u.getLineCount()?null:d.getIndentMetadata(u.getLineContent(i))}function C(u,i,r){return{tokenization:{getLineTokens:l=>l===i?r:u.tokenization.getLineTokens(l),getLanguageId:()=>u.getLanguageId(),getLanguageIdAtPosition:(l,o)=>u.getLanguageIdAtPosition(l,o)},getLineContent:l=>l===i?r.getLineContent():u.getLineContent(l)}}},71043:(St,We,e)=>{e.d(We,{GN:()=>R,a6:()=>x,vo:()=>v,wc:()=>T});class v{constructor(g,L){this._viewModelDecorationBrand=void 0,this.range=g,this.options=L}}function R(A,g){return!(g.options.hideInCommentTokens&&x(A,g)||g.options.hideInStringTokens&&T(A,g))}function x(A,g){return y(A,g.range,L=>L===1)}function T(A,g){return y(A,g.range,L=>L===2)}function y(A,g,L){for(let b=g.startLineNumber;b<=g.endLineNumber;b++){const C=A.tokenization.getLineTokens(b),u=b===g.startLineNumber,i=b===g.endLineNumber;let r=u?C.findTokenIndexAtOffset(g.startColumn-1):0;for(;r<C.getCount()&&!(i&&C.getStartOffset(r)>g.endColumn-1);){if(!L(C.getStandardTokenType(r)))return!1;r++}}return!0}},71285:(St,We,e)=>{e.d(We,{Nt:()=>x,Rh:()=>A});var v=e(3765),R=e(82399);const x=(0,R.u1)("accessibilitySignalService"),g=class g{static register(C){return new g(C.fileName)}constructor(C){this.fileName=C}};g.error=g.register({fileName:"error.mp3"}),g.warning=g.register({fileName:"warning.mp3"}),g.success=g.register({fileName:"success.mp3"}),g.foldedArea=g.register({fileName:"foldedAreas.mp3"}),g.break=g.register({fileName:"break.mp3"}),g.quickFixes=g.register({fileName:"quickFixes.mp3"}),g.taskCompleted=g.register({fileName:"taskCompleted.mp3"}),g.taskFailed=g.register({fileName:"taskFailed.mp3"}),g.terminalBell=g.register({fileName:"terminalBell.mp3"}),g.diffLineInserted=g.register({fileName:"diffLineInserted.mp3"}),g.diffLineDeleted=g.register({fileName:"diffLineDeleted.mp3"}),g.diffLineModified=g.register({fileName:"diffLineModified.mp3"}),g.requestSent=g.register({fileName:"requestSent.mp3"}),g.responseReceived1=g.register({fileName:"responseReceived1.mp3"}),g.responseReceived2=g.register({fileName:"responseReceived2.mp3"}),g.responseReceived3=g.register({fileName:"responseReceived3.mp3"}),g.responseReceived4=g.register({fileName:"responseReceived4.mp3"}),g.clear=g.register({fileName:"clear.mp3"}),g.save=g.register({fileName:"save.mp3"}),g.format=g.register({fileName:"format.mp3"}),g.voiceRecordingStarted=g.register({fileName:"voiceRecordingStarted.mp3"}),g.voiceRecordingStopped=g.register({fileName:"voiceRecordingStopped.mp3"}),g.progress=g.register({fileName:"progress.mp3"}),g.chatEditModifiedFile=g.register({fileName:"chatEditModifiedFile.mp3"}),g.editsKept=g.register({fileName:"editsKept.mp3"}),g.editsUndone=g.register({fileName:"editsUndone.mp3"}),g.nextEditSuggestion=g.register({fileName:"nextEditSuggestion.mp3"}),g.terminalCommandSucceeded=g.register({fileName:"terminalCommandSucceeded.mp3"}),g.chatUserActionRequired=g.register({fileName:"chatUserActionRequired.mp3"}),g.codeActionTriggered=g.register({fileName:"codeActionTriggered.mp3"}),g.codeActionApplied=g.register({fileName:"codeActionApplied.mp3"});let T=g;class y{constructor(C){this.randomOneOf=C}}const L=class L{constructor(C,u,i,r,d,l,o=!1){this.sound=C,this.name=u,this.legacySoundSettingsKey=i,this.settingsKey=r,this.legacyAnnouncementSettingsKey=d,this.announcementMessage=l,this.managesOwnEnablement=o}static register(C){const u=new y("randomOneOf"in C.sound?C.sound.randomOneOf:[C.sound]),i=new L(u,C.name,C.legacySoundSettingsKey,C.settingsKey,C.legacyAnnouncementSettingsKey,C.announcementMessage,C.managesOwnEnablement);return L._signals.add(i),i}};L._signals=new Set,L.errorAtPosition=L.register({name:(0,v.kg)(1630,"Error at Position"),sound:T.error,announcementMessage:(0,v.kg)(1631,"Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"}),L.warningAtPosition=L.register({name:(0,v.kg)(1632,"Warning at Position"),sound:T.warning,announcementMessage:(0,v.kg)(1633,"Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"}),L.errorOnLine=L.register({name:(0,v.kg)(1634,"Error on Line"),sound:T.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:(0,v.kg)(1635,"Error on Line"),settingsKey:"accessibility.signals.lineHasError"}),L.warningOnLine=L.register({name:(0,v.kg)(1636,"Warning on Line"),sound:T.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:(0,v.kg)(1637,"Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"}),L.foldedArea=L.register({name:(0,v.kg)(1638,"Folded Area on Line"),sound:T.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:(0,v.kg)(1639,"Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}
785),L.break=L.register({name:(0,v.kg)(1640,"Breakpoint on Line"),sound:T.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:(0,v.kg)(1641,"Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),L.inlineSuggestion=L.register({name:(0,v.kg)(1642,"Inline Suggestion on Line"),sound:T.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),L.nextEditSuggestion=L.register({name:(0,v.kg)(1643,"Next Edit Suggestion on Line"),sound:T.nextEditSuggestion,legacySoundSettingsKey:"audioCues.nextEditSuggestion",settingsKey:"accessibility.signals.nextEditSuggestion",announcementMessage:(0,v.kg)(1644,"Next Edit Suggestion")}),L.terminalQuickFix=L.register({name:(0,v.kg)(1645,"Terminal Quick Fix"),sound:T.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:(0,v.kg)(1646,"Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),L.onDebugBreak=L.register({name:(0,v.kg)(1647,"Debugger Stopped on Breakpoint"),sound:T.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:(0,v.kg)(1648,"Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),L.noInlayHints=L.register({name:(0,v.kg)(1649,"No Inlay Hints on Line"),sound:T.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:(0,v.kg)(1650,"No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),L.taskCompleted=L.register({name:(0,v.kg)(1651,"Task Completed"),sound:T.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:(0,v.kg)(1652,"Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),L.taskFailed=L.register({name:(0,v.kg)(1653,"Task Failed"),sound:T.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:(0,v.kg)(1654,"Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),L.terminalCommandFailed=L.register({name:(0,v.kg)(1655,"Terminal Command Failed"),sound:T.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:(0,v.kg)(1656,"Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),L.terminalCommandSucceeded=L.register({name:(0,v.kg)(1657,"Terminal Command Succeeded"),sound:T.terminalCommandSucceeded,announcementMessage:(0,v.kg)(1658,"Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"}),L.terminalBell=L.register({name:(0,v.kg)(1659,"Terminal Bell"),sound:T.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:(0,v.kg)(1660,"Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),L.notebookCellCompleted=L.register({name:(0,v.kg)(1661,"Notebook Cell Completed"),sound:T.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:(0,v.kg)(1662,"Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),L.notebookCellFailed=L.register({name:(0,v.kg)(1663,"Notebook Cell Failed"),sound:T.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:(0,v.kg)(1664,"Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),L.diffLineInserted=L.register({name:(0,v.kg)(1665,"Diff Line Inserted"),sound:T.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),L.diffLineDeleted=L.register({name:(0,v.kg)(1666,"Diff Line Deleted"),sound:T.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),L.diffLineModified=L.register({name:(0,v.kg)(1667,"Diff Line Modified"),sound:T.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),L.chatEditModifiedFile=L.register({name:(0,v.kg)(1668,"Chat Edit Modified File"),sound:T.chatEditModifiedFile,announcementMessage:(0,v.kg)(1669,"File Modified from Chat Edits"),settingsKey:"accessibility.signals.chatEditModifiedFile"}),L.chatRequestSent=L.register({name:(0,v.kg)(1670,"Chat Request Sent"),sound:T.requestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:(0,v.kg)(1671,"Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),L.chatResponseReceived=L.register({name:(0,v.kg)(1672,"Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[T.responseReceived1,T.responseReceived2,T.responseReceived3,T.responseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),L.codeActionTriggered=L.register({name:(0,v.kg)(1673,"Code Action Request Triggered"),sound:T.codeActionTriggered,legacySoundSettingsKey:"audioCues.codeActionRequestTriggered",legacyAnnouncementSettingsKey:"accessibility.alert.codeActionRequestTriggered",announcementMessage:(0,v.kg)(1674,"Code Action Request Triggered"),settingsKey:"accessibility.signals.codeActionTriggered"}),L.codeActionApplied=L.register({name:(0,v.kg)(1675,"Code Action Applied"),legacySoundSettingsKey:"audioCues.codeActionApplied",sound:T.codeActionApplied,settingsKey:"accessibility.signals.codeActionApplied"}),L.progress=L.register({name:(0,v.kg)(1676,"Progress"),sound:T.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:(0,v.kg)(1677,"Progress"),settingsKey:"accessibility.signals.progress"}),L.clear=L.register({name:(0,v.kg)(1678,"Clear"),sound:T.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:(0,v.kg)(1679,"Clear"),settingsKey:"accessibility.signals.clear"}),L.save=L.register({name:(0,v.kg)(1680,"Save"),sound:T.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:(0,v.kg)(1681,"Save"),settingsKey:"accessibility.signals.save"}),L.format=L.register({name:(0,v.kg)(1682,"Format"),sound:T.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:(0,v.kg)(1683,"Format"),settingsKey:"accessibility.signals.format"}),L.voiceRecordingStarted=L.register({name:(0,v.kg)(1684,"Voice Recording Started"),sound:T.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),L.voiceRecordingStopped=L.register({name:(0,v.kg)(1685,"Voice Recording Stopped"),sound:T.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"}),L.editsKept=L.register({name:(0,v.kg)(1686,"Edits Kept"),sound:T.editsKept,announcementMessage:(0,v.kg)(1687,"Edits Kept"),settingsKey:"accessibility.signals.editsKept"}),L.editsUndone=L.register({name:(0,v.kg)(1688,"Undo Edits"),sound:T.editsUndone,announcementMessage:(0,v.kg)(1689,"Edits Undone"),settingsKey:"accessibility.signals.editsUndone"}),L.chatUserActionRequired=L.register({name:(0,v.kg)(1690,"Chat User Action Required"),sound:T.chatUserActionRequired,announcementMessage:(0,v.kg)(1691,"Chat User Action Required"),settingsKey:"accessibility.signals.chatUserActionRequired"});let A=L},71386:(St,We,e)=>{e.d(We,{Go:()=>R,PI:()=>y,aI:()=>L,co:()=>g,ol:()=>x});var v=e(79359);function R(b){if(!b||typeof b!="object"||b instanceof RegExp)return b;const C=Array.isArray(b)?[]:{};return Object.entries(b).forEach(([u,i])=>{C[u]=i&&typeof i=="object"?R(i):i}),C}function x(b){if(!b||typeof b!="object")return b;const C=[b];for(;C.length>0;){const u=C.shift();Object.freeze(u);for(const i in u)if(T.call(u,i)){const r=u[i];typeof r=="object"&&!Object.isFrozen(r)&&!(0,v.iu)(r)&&C.push(r)}}return b}const T=Object.prototype.hasOwnProperty;function y(b,C){return A(b,C,new Set)}function A(b,C,u){if((0,v.z)(b))return b;const i=C(b);if(typeof i<"u")return i;if(Array.isArray(b)){const r=[];for(const d of b)r.push(A(d,C,u));return r}if((0,v.Gv)(b)){if(u.has(b))throw new Error("Cannot clone recursive data-structure");u.add(b);const r={};for(const d in b)T.call(b,d)&&(r[d]=A(b[d],C,u));return u.delete(b),r}return b}function g(b,C,u=!0){return(0,v.Gv)(b)?((0,v.Gv)(C)&&Object.keys(C).forEac
785h(i=>{i in b?u&&((0,v.Gv)(b[i])&&(0,v.Gv)(C[i])?g(b[i],C[i],u):b[i]=C[i]):b[i]=C[i]}),b):C}function L(b,C){if(b===C)return!0;if(b==null||C===null||C===void 0||typeof b!=typeof C||typeof b!="object"||Array.isArray(b)!==Array.isArray(C))return!1;let u,i;if(Array.isArray(b)){if(b.length!==C.length)return!1;for(u=0;u<b.length;u++)if(!L(b[u],C[u]))return!1}else{const r=[];for(i in b)r.push(i);r.sort();const d=[];for(i in C)d.push(i);if(d.sort(),!L(r,d))return!1;for(u=0;u<r.length;u++)if(!L(b[r[u]],C[r[u]]))return!1}return!0}},71469:(St,We,e)=>{e.d(We,{H:()=>T,v:()=>x});var v=e(98769),R=e(47039);function x(y,A,g){return(typeof g.insertText=="string"?g.insertText==="":g.insertText.snippet==="")?{edits:g.additionalEdit?.edits??[]}:{edits:[...A.map(L=>new v.cw(y,{range:L,text:typeof g.insertText=="string"?R.fr.escape(g.insertText)+"$0":g.insertText.snippet,insertAsSnippet:!0})),...g.additionalEdit?.edits??[]]}}function T(y){function A(u,i){return"mimeType"in u?u.mimeType===i.handledMimeType:!!i.kind&&u.kind.contains(i.kind)}const g=new Map;for(const u of y)for(const i of u.yieldTo??[])for(const r of y)if(r!==u&&A(i,r)){let d=g.get(u);d||(d=[],g.set(u,d)),d.push(r)}if(!g.size)return Array.from(y);const L=new Set,b=[];function C(u){if(!u.length)return[];const i=u[0];if(b.includes(i))return console.warn("Yield to cycle detected",i),u;if(L.has(i))return C(u.slice(1));let r=[];const d=g.get(i);return d&&(b.push(i),r=C(d),b.pop()),L.add(i),[...r,i,...C(u.slice(1))]}return C(Array.from(y))}},71739:(St,We,e)=>{e.d(We,{EB:()=>y,Eq:()=>C,bs:()=>b,wL:()=>r,y:()=>i});var v=e(63339),R=e(53720),x=e(9223),T=e(13454);function y(o,c,a){const{dataToCopy:p,metadata:_}=g(o);return A(p.text,_,a),{dataToCopy:p,metadata:_}}function A(o,c,a){b.INSTANCE.set(a?o.replace(/\r\n/g,`
786`):o,c)}function g(o){const c=o.getEditorOption(45),a=o.getEditorOption(31),p=o.getCursorStates().map(S=>S.modelState.selection),_=L(o,p,c,a),E={version:1,id:(0,x.b)(),isFromEmptySelection:_.isFromEmptySelection,multicursorText:_.multicursorText,mode:_.mode};return{dataToCopy:_,metadata:E}}function L(o,c,a,p){const{sourceRanges:_,sourceText:E}=o.getPlainTextToCopy(c,a,v.uF),S=o.model.getEOL(),h=a&&c.length===1&&c[0].isEmpty(),D=Array.isArray(E)?E:null,k=Array.isArray(E)?E.join(S):E;let N,W=null;if(C.forceCopyWithSyntaxHighlighting||p&&E.length<65536){const $=o.getRichTextToCopy(c,a);$&&(N=$.html,W=$.mode)}return{isFromEmptySelection:h,sourceRanges:_,multicursorText:D,text:k,html:N,mode:W}}const l=class l{constructor(){this._lastState=null}set(c,a){this._lastState={lastCopiedValue:c,data:a}}get(c){return this._lastState&&this._lastState.lastCopiedValue===c?this._lastState.data:(this._lastState=null,null)}};l.INSTANCE=new l;let b=l;const C={forceCopyWithSyntaxHighlighting:!1,electronBugWorkaroundCopyEventHasFired:!1},u={getTextData(o){const c=o.getData(R.K.text);let a=null;const p=o.getData("vscode-editor-data");if(typeof p=="string")try{a=JSON.parse(p),a.version!==1&&(a=null)}catch{}return c.length===0&&a===null&&o.files.length>0?[Array.prototype.slice.call(o.files,0).map(E=>E.name).join(`
787`),null]:[c,a]},setTextData(o,c,a,p){o.setData(R.K.text,c),typeof a=="string"&&o.setData("text/html",a),o.setData("vscode-editor-data",JSON.stringify(p))}};function i(o,c,a,p,_){const{dataToCopy:E,metadata:S}=g(a.viewModel);let h=!1;return{isCut:c,clipboardData:{setData:(D,k)=>{o.clipboardData?.setData(D,k)}},dataToCopy:E,ensureClipboardGetsEditorData:()=>{o.preventDefault(),o.clipboardData&&u.setTextData(o.clipboardData,E.text,E.html,S),A(E.text,S,_),p.trace("ensureClipboardGetsEditorSelection with id : ",S.id," with text.length: ",E.text.length)},setHandled:()=>{h=!0,o.preventDefault(),o.stopImmediatePropagation()},get isHandled(){return h}}}function r(o){let c=!1,[a,p]=o.clipboardData?u.getTextData(o.clipboardData):["",null];return p=p||b.INSTANCE.get(a),{clipboardData:d(o.clipboardData),metadata:p,text:a,toExternalVSDataTransfer:()=>o.clipboardData?(0,T.l)(o.clipboardData):void 0,browserEvent:o,setHandled:()=>{c=!0,o.preventDefault(),o.stopImmediatePropagation()},get isHandled(){return c}}}function d(o){return{types:Array.from(o?.types??[]),files:Array.prototype.slice.call(o?.files??[],0),getData:c=>o?.getData(c)??""}}},71937:(St,We,e)=>{e.d(We,{s:()=>R});var v=e(62549);class R{static whitespaceVisibleColumn(T,y,A){const g=T.length;let L=0,b=-1,C=-1;for(let u=0;u<g;u++){if(u===y)return[b,C,L];switch(L%A===0&&(b=u,C=L),T.charCodeAt(u)){case 32:L+=1;break;
787case 9:L=v.A.nextRenderTabStop(L,A);break;default:return[-1,-1,-1]}}return y===g?[b,C,L]:[-1,-1,-1]}static atomicPosition(T,y,A,g){const L=T.length,[b,C,u]=R.whitespaceVisibleColumn(T,y,A);if(u===-1)return-1;let i;switch(g){case 0:i=!0;break;case 1:i=!1;break;case 2:if(u%A===0)return y;i=u%A<=A/2;break}if(i){if(b===-1)return-1;let l=C;for(let o=b;o<L;++o){if(l===C+A)return b;switch(T.charCodeAt(o)){case 32:l+=1;break;case 9:l=v.A.nextRenderTabStop(l,A);break;default:return-1}}return l===C+A?b:-1}const r=v.A.nextRenderTabStop(u,A);let d=u;for(let l=y;l<L;l++){if(d===r)return l;switch(T.charCodeAt(l)){case 32:d+=1;break;case 9:d=v.A.nextRenderTabStop(d,A);break;default:return-1}}return d===r?L:-1}}},72106:(St,We,e)=>{var v=e(68387),R=e(3765),x=e(58067),T=e(50946),y=e(28061),A=e(38122),g=e(52394),L=e(23877),b=e(15365),C=e(93702);class u{constructor(_,E,S){this.languageConfigurationService=S,this._selection=_,this._insertSpace=E,this._usedEndToken=null}static _haystackHasNeedleAtOffset(_,E,S){if(S<0)return!1;const h=E.length,D=_.length;if(S+h>D)return!1;for(let k=0;k<h;k++){const N=_.charCodeAt(S+k),W=E.charCodeAt(k);if(N!==W&&!(N>=65&&N<=90&&N+32===W)&&!(W>=65&&W<=90&&W+32===N))return!1}return!0}_createOperationsForBlockComment(_,E,S,h,D,k){const N=_.startLineNumber,W=_.startColumn,U=_.endLineNumber,$=_.endColumn,te=D.getLineContent(N),ne=D.getLineContent(U);let V=te.lastIndexOf(E,W-1+E.length),I=ne.indexOf(S,$-1-S.length);if(V!==-1&&I!==-1)if(N===U)te.substring(V+E.length,I).indexOf(S)>=0&&(V=-1,I=-1);else{const Z=te.substring(V+E.length),X=ne.substring(0,I);(Z.indexOf(S)>=0||X.indexOf(S)>=0)&&(V=-1,I=-1)}let H;V!==-1&&I!==-1?(h&&V+E.length<te.length&&te.charCodeAt(V+E.length)===32&&(E=E+" "),h&&I>0&&ne.charCodeAt(I-1)===32&&(S=" "+S,I-=1),H=u._createRemoveBlockCommentOperations(new y.Q(N,V+E.length+1,U,I+1),E,S)):(H=u._createAddBlockCommentOperations(_,E,S,this._insertSpace),this._usedEndToken=H.length===1?S:null);for(const Z of H)k.addTrackedEditOperation(Z.range,Z.text)}static _createRemoveBlockCommentOperations(_,E,S){const h=[];return y.Q.isEmpty(_)?h.push(L.k.delete(new y.Q(_.startLineNumber,_.startColumn-E.length,_.endLineNumber,_.endColumn+S.length))):(h.push(L.k.delete(new y.Q(_.startLineNumber,_.startColumn-E.length,_.startLineNumber,_.startColumn))),h.push(L.k.delete(new y.Q(_.endLineNumber,_.endColumn,_.endLineNumber,_.endColumn+S.length)))),h}static _createAddBlockCommentOperations(_,E,S,h){const D=[];return y.Q.isEmpty(_)?D.push(L.k.replace(new y.Q(_.startLineNumber,_.startColumn,_.endLineNumber,_.endColumn),E+"  "+S)):(D.push(L.k.insert(new b.y(_.startLineNumber,_.startColumn),E+(h?" ":""))),D.push(L.k.insert(new b.y(_.endLineNumber,_.endColumn),(h?" ":"")+S))),D}getEditOperations(_,E){const S=this._selection.startLineNumber,h=this._selection.startColumn;_.tokenization.tokenizeIfCheap(S);const D=_.getLanguageIdAtPosition(S,h),k=this.languageConfigurationService.getLanguageConfiguration(D).comments;!k||!k.blockCommentStartToken||!k.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,k.blockCommentStartToken,k.blockCommentEndToken,this._insertSpace,_,E)}computeCursorState(_,E){const S=E.getInverseEditOperations();if(S.length===2){const h=S[0],D=S[1];return new C.L(h.range.endLineNumber,h.range.endColumn,D.range.startLineNumber,D.range.startColumn)}else{const h=S[0].range,D=this._usedEndToken?-this._usedEndToken.length-1:0;return new C.L(h.endLineNumber,h.endColumn+D,h.endLineNumber,h.endColumn+D)}}}var i=e(16844);class r{constructor(_,E,S,h,D,k,N){this.languageConfigurationService=_,this._selection=E,this._indentSize=S,this._type=h,this._insertSpace=D,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=k,this._ignoreFirstLine=N||!1}static _gatherPreflightCommentStrings(_,E,S,h){_.tokenization.tokenizeIfCheap(E);const D=_.getLanguageIdAtPosition(E,1),k=h.getLanguageConfiguration(D).comments,N=k?k.lineCommentToken:null;if(!N)return null;const W=[];for(let U=0,$=S-E+1;U<$;U++)W[U]={ignore:!1,commentStr:N,commentStrOffset:0,commentStrLength:N.length};return W}static _analyzeLines(_,E,S,h,D,k,N,W,U){let $=!0;const ne=W.getLanguageConfiguration(U).comments?.lineCommentNoIndent??!1;let V;_===0?V=!0:_===1?V=!1:V=!0;for(let I=0,H=h.length;I<H;I++){const Z=h[I],X=D+I;if(X===D&&N){Z.ignore=!0;continue}const G=S.getLineContent(X),Y=(0,i.HG)(G);if(Y===-1){Z.ignore=k,Z.commentStrOffset=ne?0:G.length;continue}$=!1;const j=ne?0:Y;if(Z.ignore=!1,Z.commentStrOffset=j,V&&!u._haystackHasNeedleAtOffset(G,Z.commentStr,j)&&(_===0?V=!1:_===1||(Z.ignore=!0)),V&&E){const z=Y+Z.commentStrLength;z<G.length&&G.charCodeAt(z)===32&&(Z.commentStrLength+=1)}}if(_===0&&$){V=!1;for(let I=0,H=h.length;I<H;I++)h[I].ignore=!1}return{supported:!0,shouldRemoveComments:V,lines:h}}static _gatherPreflightData(_,E,S,h,D,k,N,W){const U=r._gatherPreflightCommentStrings(S,h,D,W),$=S.getLanguageIdAtPosition(h,1);return U===null?{supported:!1}:r._analyzeLines(_,E,S,U,h,k,N,W,$)}_executeLineComments(_,E,S,h){let D;S.shouldRemoveComments?D=r._createRemoveLineCommentsOperations(S.lines,h.startLineNumber):(r._normalizeInsertionPoint(_,S.lines,h.startLineNumber,this._indentSize),D=this._createAddLineCommentsOperations(S.lines,h.startLineNumber));const k=new b.y(h.positionLineNumber,h.positionColumn);for(let N=0,W=D.length;N<W;N++)E.addEditOperation(D[N].range,D[N].text),y.Q.isEmpty(D[N].range)&&y.Q.getStartPosition(D[N].range).equals(k)&&_.getLineContent(k.lineNumber).length+1===k.column&&(this._deltaColumn=(D[N].text||"").length);this._selectionId=E.trackSelection(h)}_attemptRemoveBlockComment(_,E,S,h){let D=E.startLineNumber,k=E.endLineNumber;const N=h.length+Math.max(_.getLineFirstNonWhitespaceColumn(E.startLineNumber),E.startColumn);let W=_.getLineContent(D).lastIndexOf(S,N-1),U=_.getLineContent(k).indexOf(h,E.endColumn-1-S.length);return W!==-1&&U===-1&&(U=_.getLineContent(D).indexOf(h,W+S.length),k=D),W===-1&&U!==-1&&(W=_.getLineContent(k).lastIndexOf(S,U),D=k),E.isEmpty()&&(W===-1||U===-1)&&(W=_.getLineContent(D).indexOf(S),W!==-1&&(U=_.getLineContent(D).indexOf(h,W+S.length))),W!==-1&&_.getLineContent(D).charCo
787deAt(W+S.length)===32&&(S+=" "),U!==-1&&_.getLineContent(k).charCodeAt(U-1)===32&&(h=" "+h,U-=1),W!==-1&&U!==-1?u._createRemoveBlockCommentOperations(new y.Q(D,W+S.length+1,k,U+1),S,h):null}_executeBlockComment(_,E,S){_.tokenization.tokenizeIfCheap(S.startLineNumber);const h=_.getLanguageIdAtPosition(S.startLineNumber,1),D=this.languageConfigurationService.getLanguageConfiguration(h).comments;if(!D||!D.blockCommentStartToken||!D.blockCommentEndToken)return;const k=D.blockCommentStartToken,N=D.blockCommentEndToken;let W=this._attemptRemoveBlockComment(_,S,k,N);if(!W){if(S.isEmpty()){const U=_.getLineContent(S.startLineNumber);let $=(0,i.HG)(U);$===-1&&($=U.length),W=u._createAddBlockCommentOperations(new y.Q(S.startLineNumber,$+1,S.startLineNumber,U.length+1),k,N,this._insertSpace)}else W=u._createAddBlockCommentOperations(new y.Q(S.startLineNumber,_.getLineFirstNonWhitespaceColumn(S.startLineNumber),S.endLineNumber,_.getLineMaxColumn(S.endLineNumber)),k,N,this._insertSpace);W.length===1&&(this._deltaColumn=k.length+1)}this._selectionId=E.trackSelection(S);for(const U of W)E.addEditOperation(U.range,U.text)}getEditOperations(_,E){let S=this._selection;if(this._moveEndPositionDown=!1,S.startLineNumber===S.endLineNumber&&this._ignoreFirstLine){E.addEditOperation(new y.Q(S.startLineNumber,_.getLineMaxColumn(S.startLineNumber),S.startLineNumber+1,1),S.startLineNumber===_.getLineCount()?"":`
788`),this._selectionId=E.trackSelection(S);return}S.startLineNumber<S.endLineNumber&&S.endColumn===1&&(this._moveEndPositionDown=!0,S=S.setEndPosition(S.endLineNumber-1,_.getLineMaxColumn(S.endLineNumber-1)));const h=r._gatherPreflightData(this._type,this._insertSpace,_,S.startLineNumber,S.endLineNumber,this._ignoreEmptyLines,this._ignoreFirstLine,this.languageConfigurationService);return h.supported?this._executeLineComments(_,E,h,S):this._executeBlockComment(_,E,S)}computeCursorState(_,E){let S=E.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(S=S.setEndPosition(S.endLineNumber+1,1)),new C.L(S.selectionStartLineNumber,S.selectionStartColumn+this._deltaColumn,S.positionLineNumber,S.positionColumn+this._deltaColumn)}static _createRemoveLineCommentsOperations(_,E){const S=[];for(let h=0,D=_.length;h<D;h++){const k=_[h];k.ignore||S.push(L.k.delete(new y.Q(E+h,k.commentStrOffset+1,E+h,k.commentStrOffset+k.commentStrLength+1)))}return S}_createAddLineCommentsOperations(_,E){const S=[],h=this._insertSpace?" ":"";for(let D=0,k=_.length;D<k;D++){const N=_[D];N.ignore||S.push(L.k.insert(new b.y(E+D,N.commentStrOffset+1),N.commentStr+h))}return S}static nextVisibleColumn(_,E,S,h){return S?_+(E-_%E):_+h}static _normalizeInsertionPoint(_,E,S,h){let D=1073741824,k,N;for(let W=0,U=E.length;W<U;W++){if(E[W].ignore)continue;const $=_.getLineContent(S+W);let te=0;for(let ne=0,V=E[W].commentStrOffset;te<D&&ne<V;ne++)te=r.nextVisibleColumn(te,h,$.charCodeAt(ne)===9,1);te<D&&(D=te)}D=Math.floor(D/h)*h;for(let W=0,U=E.length;W<U;W++){if(E[W].ignore)continue;const $=_.getLineContent(S+W);let te=0;for(k=0,N=E[W].commentStrOffset;te<D&&k<N;k++)te=r.nextVisibleColumn(te,h,$.charCodeAt(k)===9,1);te>D?E[W].commentStrOffset=k-1:E[W].commentStrOffset=k}}}class d extends T.ks{constructor(_,E){super(E),this._type=_}run(_,E){const S=_.get(g.JZ);if(!E.hasModel())return;const h=E.getModel(),D=[],k=h.getOptions(),N=E.getOption(29),W=E.getSelections().map(($,te)=>({selection:$,index:te,ignoreFirstLine:!1}));W.sort(($,te)=>y.Q.compareRangesUsingStarts($.selection,te.selection));let U=W[0];for(let $=1;$<W.length;$++){const te=W[$];U.selection.endLineNumber===te.selection.startLineNumber&&(U.index<te.index?te.ignoreFirstLine=!0:(U.ignoreFirstLine=!0,U=te))}for(const $ of W)D.push(new r(S,$.selection,k.indentSize,this._type,N.insertSpace,N.ignoreEmptyLines,$.ignoreFirstLine));E.pushUndoStop(),E.executeCommands(this.id,D),E.pushUndoStop()}}class l extends d{constructor(){super(0,{id:"editor.action.commentLine",label:(0,R.aS)(933,"Toggle Line Comment"),precondition:A.R.writable,kbOpts:{kbExpr:A.R.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:x.D8.MenubarEditMenu,group:"5_insert",title:(0,R.kg)(931,"&&Toggle Line Comment"),order:1},canTriggerInlineEdits:!0})}}class o extends d{constructor(){super(1,{id:"editor.action.addCommentLine",label:(0,R.aS)(934,"Add Line Comment"),precondition:A.R.writable,kbOpts:{kbExpr:A.R.editorTextFocus,primary:(0,v.m5)(2089,2081),weight:100},canTriggerInlineEdits:!0})}}class c extends d{constructor(){super(2,{id:"editor.action.removeCommentLine",label:(0,R.aS)(935,"Remove Line Comment"),precondition:A.R.writable,kbOpts:{kbExpr:A.R.editorTextFocus,primary:(0,v.m5)(2089,2099),weight:100},canTriggerInlineEdits:!0})}}class a extends T.ks{constructor(){super({id:"editor.action.blockComment",label:(0,R.aS)(936,"Toggle Block Comment"),precondition:A.R.writable,kbOpts:{kbExpr:A.R.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:x.D8.MenubarEditMenu,group:"5_insert",title:(0,R.kg)(932,"Toggle &&Block Comment"),order:2},canTriggerInlineEdits:!0})}run(_,E){const S=_.get(g.JZ);if(!E.hasModel())return;const h=E.getOption(29),D=[],k=E.getSelections();for(const N of k)D.push(new u(N,h.insertSpace,S));E.pushUndoStop(),E.executeCommands(this.id,D),E.pushUndoStop()}}(0,T.Fl)(l),(0,T.Fl)(o),(0,T.Fl)(c),(0,T.Fl)(a)},72270:(St,We,e)=>{var ve,De,fe;e.d(We,{z0:()=>ae});var v=e(44385),R=e(65958),x=e(10998),T=e(16844),y=e(50946),A=e(48295),g=e(38122),L=e(66055),b=e(49152),C=e(14333),u=e(5906),i=e(45222),r=e(87676),d=e(18382),l=e(75962),o=e(73858),c=e(69227),a=e(82735),p=e(75712),_=e(10680),E=e(58687),S=e(948
78865),h=e(74707);const J=class J extends i.x{constructor(pe,Ae,Xe){super(),this._hideSoon=this._register(new R.uC(()=>this._hide(),2e3)),this._isVisible=!1,this._editor=pe,this._state=Ae,this._keybindingService=Xe,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const dt={inputActiveOptionBorder:(0,r.Gu)(c.uN),inputActiveOptionForeground:(0,r.Gu)(c.$$),inputActiveOptionBackground:(0,r.Gu)(c.c1)},gt={groupId:"find-options-widget"};this.caseSensitive=this._register(new u.bc({appendTitle:this._keybindingLabelFor(b.j4.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverLifecycleOptions:gt,...dt})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new u.nV({appendTitle:this._keybindingLabelFor(b.j4.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverLifecycleOptions:gt,...dt})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new u.Ix({appendTitle:this._keybindingLabelFor(b.j4.ToggleRegexCommand),isChecked:this._state.isRegex,hoverLifecycleOptions:gt,...dt})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(Bt=>{let _t=!1;Bt.isRegex&&(this.regex.checked=this._state.isRegex,_t=!0),Bt.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,_t=!0),Bt.matchCase&&(this.caseSensitive.checked=this._state.matchCase,_t=!0),!this._state.isRevealed&&_t&&this._revealTemporarily()}
788)),this._register((0,C.ko)(this._domNode,C.Bx.MOUSE_LEAVE,Bt=>this._onMouseLeave())),this._register((0,C.ko)(this._domNode,"mouseover",Bt=>this._onMouseOver()))}_keybindingLabelFor(pe){return this._keybindingService.appendKeybinding("",pe)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return J.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}};J.ID="editor.contrib.findOptionsWidget";let D=J;var k=e(2106),N=e(28061);function W(Se,pe){return Se===1?!0:Se===2?!1:pe}class U extends x.jG{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return W(this._isRegexOverride,this._isRegex)}get wholeWord(){return W(this._wholeWordOverride,this._wholeWord)}get matchCase(){return W(this._matchCaseOverride,this._matchCase)}get preserveCase(){return W(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new k.vl),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(pe,Ae,Xe){const dt={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let gt=!1;Ae===0&&(pe=0),pe>Ae&&(pe=Ae),this._matchesPosition!==pe&&(this._matchesPosition=pe,dt.matchesPosition=!0,gt=!0),this._matchesCount!==Ae&&(this._matchesCount=Ae,dt.matchesCount=!0,gt=!0),typeof Xe<"u"&&(N.Q.equalsRange(this._currentMatch,Xe)||(this._currentMatch=Xe,dt.currentMatch=!0,gt=!0)),gt&&this._onFindReplaceStateChange.fire(dt)}change(pe,Ae,Xe=!0){const dt={moveCursor:Ae,updateHistory:Xe,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let gt=!1;const Bt=this.isRegex,_t=this.wholeWord,ri=this.matchCase,Gt=this.preserveCase;typeof pe.searchString<"u"&&this._searchString!==pe.searchString&&(this._searchString=pe.searchString,dt.searchString=!0,gt=!0),typeof pe.replaceString<"u"&&this._replaceString!==pe.replaceString&&(this._replaceString=pe.replaceString,dt.replaceString=!0,gt=!0),typeof pe.isRevealed<"u"&&this._isRevealed!==pe.isRevealed&&(this._isRevealed=pe.isRevealed,dt.isRevealed=!0,gt=!0),typeof pe.isReplaceRevealed<"u"&&this._isReplaceRevealed!==pe.isReplaceRevealed&&(this._isReplaceRevealed=pe.isReplaceRevealed,dt.isReplaceRevealed=!0,gt=!0),typeof pe.isRegex<"u"&&(this._isRegex=pe.isRegex),typeof pe.wholeWord<"u"&&(this._wholeWord=pe.wholeWord),typeof pe.matchCase<"u"&&(this._matchCase=pe.matchCase),typeof pe.preserveCase<"u"&&(this._preserveCase=pe.preserveCase),typeof pe.searchScope<"u"&&(pe.searchScope?.every(ei=>this._searchScope?.some(Zt=>!N.Q.equalsRange(Zt,ei)))||(this._searchScope=pe.searchScope,dt.searchScope=!0,gt=!0)),typeof pe.loop<"u"&&this._loop!==pe.loop&&(this._loop=pe.loop,dt.loop=!0,gt=!0),typeof pe.isSearching<"u"&&this._isSearching!==pe.isSearching&&(this._isSearching=pe.isSearching,dt.isSearching=!0,gt=!0),typeof pe.filters<"u"&&(this._filters?this._filters.update(pe.filters):this._filters=pe.filters,dt.filters=!0,gt=!0),this._isRegexOverride=typeof pe.isRegexOverride<"u"?pe.isRegexOverride:0,this._wholeWordOverride=typeof pe.wholeWordOverride<"u"?pe.wholeWordOverride:0,this._matchCaseOverride=typeof pe.matchCaseOverride<"u"?pe.matchCaseOverride:0,this._preserveCaseOverride=typeof pe.preserveCaseOverride<"u"?pe.preserveCaseOverride:0,Bt!==this.isRegex&&(gt=!0,dt.isRegex=!0),_t!==this.wholeWord&&(gt=!0,dt.wholeWord=!0),ri!==this.matchCase&&(gt=!0,dt.matchCase=!0),Gt!==this.preserveCase&&(gt=!0,dt.preserveCase=!0),gt&&this._onFindReplaceStateChange.fire(dt)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition<this.matchesCount}canNavigateInLoop(){return this._loop||this.matchesCount>=b.Es}}var $=e(89803),te=e(3765),ne=e(58067),V=e(3338),I=e(31540),H=e(52348),Z=e(56071),X=e(29879),G=e(73027),Y=e(90840),j=e(89044),z=e(90428),ie=function(Se,pe,Ae,Xe){var dt=arguments.length,gt=dt<3?pe:Xe===null?Xe=Object.getOwnPropertyDescriptor(pe,Ae):Xe,Bt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")gt=Reflect.decorate(Se,pe,Ae,Xe);else for(var _t=Se.length-1;_t>=0;_t--)(Bt=Se[_t])&&(gt=(dt<3?Bt(gt):dt>3?Bt(pe,Ae,gt):Bt(pe,Ae))||gt);return dt>3&&gt&&Object.defineProperty(pe,Ae,gt),gt},re=function(Se,pe){return function(Ae,Xe){pe(Ae,Xe,Se)}},de;let le=(ve=class{static getOrCreate(pe){return de._instance||(de._instance=new de(pe)),de._instance}constructor(pe){this.storageService=pe,this.inMemoryValues=new Set,this._onDidChangeEmitter=new k.vl,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(pe){const Ae=this.inMemoryValues.delete(pe);return this.save(),Ae}add(pe){return this.inMemoryValues.add(pe),this.save(),this}has(pe){return this.inMemoryValues.has(pe)}
788forEach(pe,Ae){return this.load(),this.inMemoryValues.forEach(pe)}replace(pe){this.inMemoryValues=new Set(pe),this.save()}load(){let pe;const Ae=this.storageService.get(de.FIND_HISTORY_KEY,1);if(Ae)try{pe=JSON.parse(Ae)}catch{}this.inMemoryValues=new Set(pe||[])}save(){const pe=[];return this.inMemoryValues.forEach(Ae=>pe.push(Ae)),new Promise(Ae=>{this.storageService.store(de.FIND_HISTORY_KEY,JSON.stringify(pe),1,0),this._onDidChangeEmitter.fire(pe),Ae()})}},de=ve,ve.FIND_HISTORY_KEY="workbench.find.history",ve._instance=null,ve);le=de=ie([re(0,Y.CS)],le);var he=function(Se,pe,Ae,Xe){var dt=arguments.length,gt=dt<3?pe:Xe===null?Xe=Object.getOwnPropertyDescriptor(pe,Ae):Xe,Bt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")gt=Reflect.decorate(Se,pe,Ae,Xe);else for(var _t=Se.length-1;_t>=0;_t--)(Bt=Se[_t])&&(gt=(dt<3?Bt(gt):dt>3?Bt(pe,Ae,gt):Bt(pe,Ae))||gt);return dt>3&&gt&&Object.defineProperty(pe,Ae,gt),gt},we=function(Se,pe){return function(Ae,Xe){pe(Ae,Xe,Se)}},xe;let Be=(De=class{static getOrCreate(pe){return xe._instance||(xe._instance=new xe(pe)),xe._instance}constructor(pe){this.storageService=pe,this.inMemoryValues=new Set,this._onDidChangeEmitter=new k.vl,this.onDidChange=this._onDidChangeEmitter.event,this.load()}delete(pe){const Ae=this.inMemoryValues.delete(pe);return this.save(),Ae}add(pe){return this.inMemoryValues.add(pe),this.save(),this}has(pe){return this.inMemoryValues.has(pe)}forEach(pe,Ae){return this.load(),this.inMemoryValues.forEach(pe)}replace(pe){this.inMemoryValues=new Set(pe),this.save()}load(){let pe;const Ae=this.storageService.get(xe.FIND_HISTORY_KEY,1);if(Ae)try{pe=JSON.parse(Ae)}catch{}this.inMemoryValues=new Set(pe||[])}save(){const pe=[];return this.inMemoryValues.forEach(Ae=>pe.push(Ae)),new Promise(Ae=>{this.storageService.store(xe.FIND_HISTORY_KEY,JSON.stringify(pe),1,0),this._onDidChangeEmitter.fire(pe),Ae()})}},xe=De,De.FIND_HISTORY_KEY="workbench.replace.history",De._instance=null,De);Be=xe=he([we(0,Y.CS)],Be);var M=e(85753),Ve=e(53909),Me=function(Se,pe,Ae,Xe){var dt=arguments.length,gt=dt<3?pe:Xe===null?Xe=Object.getOwnPropertyDescriptor(pe,Ae):Xe,Bt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")gt=Reflect.decorate(Se,pe,Ae,Xe);else for(var _t=Se.length-1;_t>=0;_t--)(Bt=Se[_t])&&(gt=(dt<3?Bt(gt):dt>3?Bt(pe,Ae,gt):Bt(pe,Ae))||gt);return dt>3&&gt&&Object.defineProperty(pe,Ae,gt),gt},Le=function(Se,pe){return function(Ae,Xe){pe(Ae,Xe,Se)}},_e;const Qe=524288;function je(Se,pe="single",Ae=!1){if(!Se.hasModel())return null;const Xe=Se.getSelection();if(pe==="single"&&Xe.startLineNumber===Xe.endLineNumber||pe==="multiple"){if(Xe.isEmpty()){const dt=Se.getConfiguredWordAtPosition(Xe.getStartPosition());if(dt&&Ae===!1)return dt.word}else if(Se.getModel().getValueLengthInRange(Xe)<Qe)return Se.getModel().getValueInRange(Xe)}return null}let ae=(fe=class extends x.jG{get editor(){return this._editor}static get(pe){return pe.getContribution(_e.ID)}constructor(pe,Ae,Xe,dt,gt,Bt){super(),this._editor=pe,this._findWidgetVisible=b.Cv.bindTo(Ae),this._contextKeyService=Ae,this._storageService=Xe,this._clipboardService=dt,this._notificationService=gt,this._hoverService=Bt,this._updateHistoryDelayer=this._register(new R.ve(500)),this._state=this._register(new U),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange(_t=>this._onStateChanged(_t))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const _t=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),_t&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(50).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(pe){this.saveQueryState(pe),pe.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),pe.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(pe){pe.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),pe.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),pe.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),pe.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!b.l3.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}
788toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let pe=this._editor.getSelections();pe=pe.map(Ae=>(Ae.endColumn===1&&Ae.endLineNumber>Ae.startLineNumber&&(Ae=Ae.setEndPosition(Ae.endLineNumber-1,this._editor.getModel().getLineMaxColumn(Ae.endLineNumber-1))),Ae.isEmpty()?null:Ae)).filter(Ae=>!!Ae),pe.length&&this._state.change({searchScope:pe},!0)}}setSearchString(pe){this._state.isRegex&&(pe=(0,T.bm)(pe)),this._state.change({searchString:pe},!1)}highlightFindOptions(pe=!1){}async _start(pe,Ae){if(this.disposeModel(),!this._editor.hasModel())return;const Xe={...Ae,isRevealed:!0};if(pe.seedSearchStringFromSelection==="single"){const dt=je(this._editor,pe.seedSearchStringFromSelection,pe.seedSearchStringFromNonEmptySelection);dt&&(this._state.isRegex?Xe.searchString=(0,T.bm)(dt):Xe.searchString=dt)}else if(pe.seedSearchStringFromSelection==="multiple"&&!pe.updateSearchScope){const dt=je(this._editor,pe.seedSearchStringFromSelection);dt&&(Xe.searchString=dt)}if(!Xe.searchString&&pe.seedSearchStringFromGlobalClipboard){const dt=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;dt&&(Xe.searchString=dt)}if(pe.forceRevealReplace||Xe.isReplaceRevealed?Xe.isReplaceRevealed=!0:this._findWidgetVisible.get()||(Xe.isReplaceRevealed=!1),pe.updateSearchScope){const dt=this._editor.getSelections();dt.some(gt=>!gt.isEmpty())&&(Xe.searchScope=dt)}Xe.loop=pe.loop,this._state.change(Xe,!1),this._model||(this._model=new b.I_(this._editor,this._state))}start(pe,Ae){return this._start(pe,Ae)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(pe){return this._model?(this._model.moveToMatch(pe),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){return this._model?this._editor.getModel()?.isTooLargeForHeapOperation()?(this._notificationService.warn((0,te.kg)(979,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(pe){this._editor.getOption(50).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(pe)}},_e=fe,fe.ID="editor.contrib.findController",fe);ae=_e=Me([Le(1,I.fN),Le(2,Y.CS),Le(3,V.h),Le(4,X.Ot),Le(5,z.TN)],ae);let Ee=class extends ae{constructor(pe,Ae,Xe,dt,gt,Bt,_t,ri,Gt,ei){super(pe,Xe,Bt,_t,gt,ri),this._contextViewService=Ae,this._keybindingService=dt,this._configurationService=Gt,this._accessibilityService=ei,this._widget=null,this._findOptionsWidget=null,this._findWidgetSearchHistory=le.getOrCreate(Bt),this._replaceWidgetHistory=Be.getOrCreate(Bt)}async _start(pe,Ae){this._widget||this._createFindWidget();const Xe=this._editor.getSelection();let dt=!1;switch(this._editor.getOption(50).autoFindInSelection){case"always":dt=!0;break;case"never":dt=!1;break;case"multiline":{dt=!!Xe&&Xe.startLineNumber!==Xe.endLineNumber;break}}pe.updateSearchScope=pe.updateSearchScope||dt,await super._start(pe,Ae),this._widget&&(pe.shouldFocus===2?this._widget.focusReplaceInput():pe.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(pe=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!pe?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new $.CX(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._hoverService,this._findWidgetSearchHistory,this._replaceWidgetHistory,this._configurationService,this._accessibilityService)),this._findOptionsWidget=this._register(new D(this._editor,this._state,this._keybindingService))}saveViewState(){return this._widget?.getViewState()}restoreViewState(pe){this._widget?.setViewState(pe)}};Ee=Me([Le(1,H.l),Le(2,I.fN),Le(3,Z.b),Le(4,X.Ot),Le(5,Y.CS),Le(6,V.h),Le(7,z.TN),Le(8,M.pG),Le(9,Ve.j)],Ee),
788(0,y.gW)(new y.PF({id:b.j4.StartFindAction,label:(0,te.aS)(987,"Find"),precondition:I.M$.or(g.R.focus,I.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ne.D8.MenubarEditMenu,group:"3_find",title:(0,te.kg)(980,"&&Find"),order:1}})).addImplementation(0,(Se,pe,Ae)=>{const Xe=ae.get(pe);return Xe?Xe.start({forceRevealReplace:!1,seedSearchStringFromSelection:pe.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:pe.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:pe.getOption(50).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:pe.getOption(50).loop}):!1});const Ue={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class $e extends y.ks{constructor(){super({id:b.j4.StartFindWithArgs,label:(0,te.aS)(988,"Find with Arguments"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Ue})}async run(pe,Ae,Xe){const dt=ae.get(Ae);if(dt){const gt=Xe?{searchString:Xe.searchString,replaceString:Xe.replaceString,isReplaceRevealed:Xe.replaceString!==void 0,isRegex:Xe.isRegex,wholeWord:Xe.matchWholeWord,matchCase:Xe.isCaseSensitive,preserveCase:Xe.preserveCase}:{};await dt.start({forceRevealReplace:!1,seedSearchStringFromSelection:dt.getState().searchString.length===0&&Ae.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:Ae.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:Xe?.findInSelection||!1,loop:Ae.getOption(50).loop},gt),dt.setGlobalBufferTerm(dt.getState().searchString)}}}class Ye extends y.ks{constructor(){super({id:b.j4.StartFindWithSelection,label:(0,te.aS)(989,"Find with Selection"),precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(pe,Ae){const Xe=ae.get(Ae);Xe&&(await Xe.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:Ae.getOption(50).loop}),Xe.setGlobalBufferTerm(Xe.getState().searchString))}}async function Ce(Se,pe){const Ae=ae.get(Se);if(!Ae)return;const Xe=Se.getOption(50).closeOnResult,dt=Ae.getState().isRevealed,gt=()=>{const Bt=Ae.editor.getSelection(),_t=pe?Ae.moveToNextMatch():Ae.moveToPrevMatch();let ri=!1;if(_t){const Gt=Ae.editor.getSelection();(!Bt&&Gt||Bt&&Gt&&!Bt.equalsSelection(Gt))&&(ri=!0)}return ri?(Ae.editor.pushUndoStop(),Xe&&dt&&Ae.isFindInputFocused()&&Ae.closeFindWidget(),!0):!1};if(!gt()&&(await Ae.start({forceRevealReplace:!1,seedSearchStringFromSelection:Ae.getState().searchString.length===0&&Se.getOption(50).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:Se.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:Se.getOption(50).loop}),!gt())){const Bt=Ae.getState();dt&&Bt.matchesCount===0&&Bt.searchString&&(0,v.xE)((0,te.kg)(981,"{0} found for '{1}'",$.Ls,Bt.searchString))}}(0,y.gW)(new y.PF({id:b.j4.NextMatchFindAction,label:(0,te.aS)(990,"Find Next"),precondition:void 0,kbOpts:[{kbExpr:g.R.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:I.M$.and(g.R.focus,b.l3),primary:3,weight:100}]})).addImplementation(0,async(Se,pe,Ae)=>Ce(pe,!0)),(0,y.gW)(new y.PF({id:b.j4.PreviousMatchFindAction,label:(0,te.aS)(991,"Find Previous"),precondition:void 0,kbOpts:[{kbExpr:g.R.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:I.M$.and(g.R.focus,b.l3),primary:1027,weight:100}]})).addImplementation(0,async(Se,pe,Ae)=>Ce(pe,!1));class qe extends y.ks{constructor(){super({id:b.j4.GoToMatchFindAction,label:(0,te.aS)(992,"Go to Match..."),precondition:b.Cv}),this._highlightDecorations=[]}run(pe,Ae){const Xe=ae.get(Ae);if(!Xe)return;const dt=Xe.getState().matchesCount;if(dt<1){pe.get(X.Ot).notify({severity:X.AI.Warning,message:(0,te.kg)(982,"No matches. Try searching for something else.")});return}const gt=pe.get(G.GK),Bt=new x.Cm,_t=Bt.add(gt.createInputBox());_t.placeholder=(0,te.kg)(983,"Type a number to go to a specific match (between 1 and {0})",dt);const ri=ei=>{const Zt=parseInt(ei);if(isNaN(Zt))return;const pt=Xe.getState().matchesCount;if(Zt>0&&Zt<=pt)return Zt-1;if(Zt<0&&Zt>=-pt)return pt+Zt},Gt=ei=>{const Zt=ri(ei);if(typeof Zt=="number"){_t.validationMessage=void 0,Xe.goToMatch(Zt);const pt=Xe.getState().currentMatch;pt&&this.addDecorations(Ae,pt)}else _t.validationMessage=(0,te.kg)(984,"Please type a number between 1 and {0}",Xe.getState().matchesCount),this.clearDecorations(Ae)};Bt.add(_t.onDidChangeValue(ei=>{Gt(ei)})),Bt.add(_t.onDidAccept(()=>{const ei=ri(_t.value);typeof ei=="number"?(Xe.goToMatch(ei),_t.hide()):_t.validationMessage=(0,te.kg)(985,"Please type a number between 1 and {0}",Xe.getState().matchesCount)})),Bt.add(_t.onDidHide(()=>{this.clearDecorations(Ae),Bt.dispose()})),_t.show()}clearDecorations(pe){pe.changeDecorations(Ae=>{this._highlightDecorations=Ae.deltaDecorations(this._highlightDecorations,[])})}addDecorations(pe,Ae){pe.changeDecorations(Xe=>{this._highlightDecorations=Xe.deltaDecorations(this._highlightDecorations,[{range:Ae,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:Ae,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:(0,j.Yf)(A.vp),position:L.A5.Full}}}])})}}class ht extends y.ks{async run(pe,Ae){const Xe=ae.get(Ae);if(!Xe)return;const dt=je(Ae,"single",!1);dt&&Xe.setSearchString(dt),this._run(Xe)||(await Xe.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:Ae.getOption(50).loop}),this._run(Xe))}}class Te extends ht{constructor(){super({id:b.j4.NextSelectionMatchFindAction,label:(0,te.aS)(993,"Find Next Selection"),precondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:2109,weight:100}})}_run(pe){return pe.moveToNextMatch()}}class oe extends ht{constructor(){super({id:b.j4.PreviousSelectionMatchFindAction,label:(0,te.aS)(994,"Find Previous Selection"),precondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:3133,weight:100}})}_run(pe){return pe.moveToPrevMatch()}}(0,y.gW)(new y.PF({id:b.j4.StartFindReplaceAction,label:(0,te.aS)(995,"Replace"),precondition:I.M$.or(g.R.focus,I.M$.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ne.D8.MenubarEditMenu,group:"3_find",title:(0,te.kg)(986,"&&Replace"),order:2}})).addImplementation(0,(Se,pe,Ae)=>{if(!pe.hasModel()||pe.getOption(104))return!1;const Xe=ae.get(pe);if(!Xe)return!1;
788const dt=pe.getSelection(),gt=Xe.isFindInputFocused(),Bt=!dt.isEmpty()&&dt.startLineNumber===dt.endLineNumber&&pe.getOption(50).seedSearchStringFromSelection!=="never"&&!gt,_t=gt||Bt?2:1;return Xe.start({forceRevealReplace:!0,seedSearchStringFromSelection:Bt?"single":"none",seedSearchStringFromNonEmptySelection:pe.getOption(50).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:pe.getOption(50).seedSearchStringFromSelection!=="never",shouldFocus:_t,shouldAnimate:!0,updateSearchScope:!1,loop:pe.getOption(50).loop})}),(0,y.HW)(ae.ID,Ee,0),(0,y.Fl)($e),(0,y.Fl)(Ye),(0,y.Fl)(qe),(0,y.Fl)(Te),(0,y.Fl)(oe);const ue=y.DX.bindToContribution(ae.get);(0,y.E_)(new ue({id:b.j4.CloseFindWidgetCommand,precondition:b.Cv,handler:Se=>Se.closeFindWidget(),kbOpts:{weight:105,kbExpr:I.M$.and(g.R.focus,I.M$.not("isComposing")),primary:9,secondary:[1033]}})),(0,y.E_)(new ue({id:b.j4.ToggleCaseSensitiveCommand,precondition:void 0,handler:Se=>Se.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:b.B7.primary,mac:b.B7.mac,win:b.B7.win,linux:b.B7.linux}})),(0,y.E_)(new ue({id:b.j4.ToggleWholeWordCommand,precondition:void 0,handler:Se=>Se.toggleWholeWords(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:b.yw.primary,mac:b.yw.mac,win:b.yw.win,linux:b.yw.linux}})),(0,y.E_)(new ue({id:b.j4.ToggleRegexCommand,precondition:void 0,handler:Se=>Se.toggleRegex(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:b.kD.primary,mac:b.kD.mac,win:b.kD.win,linux:b.kD.linux}})),(0,y.E_)(new ue({id:b.j4.ToggleSearchScopeCommand,precondition:void 0,handler:Se=>Se.toggleSearchScope(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:b.TY.primary,mac:b.TY.mac,win:b.TY.win,linux:b.TY.linux}})),(0,y.E_)(new ue({id:b.j4.TogglePreserveCaseCommand,precondition:void 0,handler:Se=>Se.togglePreserveCase(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:b.$t.primary,mac:b.$t.mac,win:b.$t.win,linux:b.$t.linux}})),(0,y.E_)(new ue({id:b.j4.ReplaceOneAction,precondition:b.Cv,handler:Se=>Se.replace(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:3094}})),(0,y.E_)(new ue({id:b.j4.ReplaceOneAction,precondition:b.Cv,handler:Se=>Se.replace(),kbOpts:{weight:105,kbExpr:I.M$.and(g.R.focus,b.MA,g.R.isComposing.negate()),primary:3}})),(0,y.E_)(new ue({id:b.j4.ReplaceAllAction,precondition:b.Cv,handler:Se=>Se.replaceAll(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:2563}})),(0,y.E_)(new ue({id:b.j4.ReplaceAllAction,precondition:b.Cv,handler:Se=>Se.replaceAll(),kbOpts:{weight:105,kbExpr:I.M$.and(g.R.focus,b.MA),primary:void 0,mac:{primary:2051}}})),(0,y.E_)(new ue({id:b.j4.SelectAllMatchesAction,precondition:b.Cv,handler:Se=>Se.selectAllMatches(),kbOpts:{weight:105,kbExpr:g.R.focus,primary:515}}))},72521:(St,We,e)=>{e.d(We,{Yh:()=>U,QM:()=>D});var v=e(3765),R=e(55893),x=e(79359),T=e(44385),y=e(50946),A=e(87301),g=e(29895),L=e(15365),b=e(28061);class C{static columnSelect(V,I,H,Z,X,G){const Y=Math.abs(X-H)+1,j=H>X,z=Z>G,ie=Z<G,re=[];for(let de=0;de<Y;de++){const le=H+(j?-de:de),he=V.columnFromVisibleColumn(I,le,Z),we=V.columnFromVisibleColumn(I,le,G),xe=V.visibleColumnFromColumn(I,new L.y(le,he)),Be=V.visibleColumnFromColumn(I,new L.y(le,we));ie&&(xe>G||Be<Z)||z&&(Be>Z||xe<G)||re.push(new g.mG(new b.Q(le,he,le,he),0,0,new L.y(le,we),0))}if(re.length===0)for(let de=0;de<Y;de++){const le=H+(j?-de:de),he=I.getLineMaxColumn(le);re.push(new g.mG(new b.Q(le,he,le,he),0,0,new L.y(le,he),0))}return{viewStates:re,reversed:j,fromLineNumber:H,fromVisualColumn:Z,toLineNumber:X,toVisualColumn:G}}static columnSelectLeft(V,I,H){let Z=H.toViewVisualColumn;return Z>0&&Z--,C.columnSelect(V,I,H.fromViewLineNumber,H.fromViewVisualColumn,H.toViewLineNumber,Z)}static columnSelectRight(V,I,H){let Z=0;const X=Math.min(H.fromViewLineNumber,H.toViewLineNumber),G=Math.max(H.fromViewLineNumber,H.toViewLineNumber);for(let j=X;j<=G;j++){const z=I.getLineMaxColumn(j),ie=V.visibleColumnFromColumn(I,new L.y(j,z));Z=Math.max(Z,ie)}let Y=H.toViewVisualColumn;return Y<Z&&Y++,this.columnSelect(V,I,H.fromViewLineNumber,H.fromViewVisualColumn,H.toViewLineNumber,Y)}static columnSelectUp(V,I,H,Z){const X=Z?V.pageSize:1,G=Math.max(1,H.toViewLineNumber-X);return this.columnSelect(V,I,H.fromViewLineNumber,H.fromViewVisualColumn,G,H.toViewVisualColumn)}static columnSelectDown(V,I,H,Z){const X=Z?V.pageSize:1,G=Math.min(I.getLineCount(),H.toViewLineNumber+X);return this.columnSelect(V,I,H.fromViewLineNumber,H.fromViewVisualColumn,G,H.toViewVisualColumn)}}var u=e(97666),i=e(27064),r=e(96137),d=e(38122),l=e(31540),o=e(48421),c=e(14333),a=e(62885);const p=0;class _ extends y.DX{runEditorCommand(V,I,H){const Z=I._getViewModel();Z&&this.runCoreEditorCommand(Z,H||{})}}var E;(function(ne){const V=function(H){if(!(0,x.Gv)(H))return!1;const Z=H;
788return!(!(0,x.Kg)(Z.to)||!(0,x.b0)(Z.by)&&!(0,x.Kg)(Z.by)||!(0,x.b0)(Z.value)&&!(0,x.Et)(Z.value)||!(0,x.b0)(Z.revealCursor)&&!(0,x.Lm)(Z.revealCursor))};ne.metadata={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n					* 'to': A mandatory direction value.\n						```\n						'up', 'down'\n						```\n					* 'by': Unit to move. Default is computed based on 'to' value.\n						```\n						'line', 'wrappedLine', 'page', 'halfPage', 'editor'\n						```\n					* 'value': Number of units to move. Default is '1'.\n					* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n				",constraint:V,schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["up","down"]},by:{type:"string",enum:["line","wrappedLine","page","halfPage","editor"]},value:{type:"number",default:1},revealCursor:{type:"boolean"}}}}]},ne.RawDirection={Up:"up",Right:"right",Down:"down",Left:"left"},ne.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage",Editor:"editor",Column:"column"};function I(H){let Z;switch(H.to){case ne.RawDirection.Up:Z=1;break;case ne.RawDirection.Right:Z=2;break;case ne.RawDirection.Down:Z=3;break;case ne.RawDirection.Left:Z=4;break;default:return null}let X;switch(H.by){case ne.RawUnit.Line:X=1;break;case ne.RawUnit.WrappedLine:X=2;break;case ne.RawUnit.Page:X=3;break;case ne.RawUnit.HalfPage:X=4;break;case ne.RawUnit.Editor:X=5;break;case ne.RawUnit.Column:X=6;break;default:X=2}const G=Math.floor(H.value||1),Y=!!H.revealCursor;return{direction:Z,unit:X,value:G,revealCursor:Y,select:!!H.select}}ne.parse=I})(E||(E={}));var S;(function(ne){const V=function(I){if(!(0,x.Gv)(I))return!1;const H=I;return!(!(0,x.Et)(H.lineNumber)&&!(0,x.Kg)(H.lineNumber)||!(0,x.b0)(H.at)&&!(0,x.Kg)(H.at))};ne.metadata={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n					* 'lineNumber': A mandatory line number value.\n					* 'at': Logical position at which line has to be revealed.\n						```\n						'top', 'center', 'bottom'\n						```\n				",constraint:V,schema:{type:"object",required:["lineNumber"],properties:{lineNumber:{type:["number","string"]},at:{type:"string",enum:["top","center","bottom"]}}}}]},ne.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"}})(S||(S={}));class h{constructor(V){V.addImplementation(1e4,"code-editor",(I,H)=>{const Z=I.get(A.T).getFocusedCodeEditor();return Z&&Z.hasTextFocus()?this._runEditorCommand(I,Z,H):!1}),V.addImplementation(1e3,"generic-dom-input-textarea",(I,H)=>{const Z=(0,c.bq)();return Z&&(0,c.yD)(Z)?(this.runDOMCommand(Z),!0):!1}),V.addImplementation(0,"generic-dom",(I,H)=>{const Z=I.get(A.T).getActiveCodeEditor();return Z?(Z.focus(),this._runEditorCommand(I,Z,H)):!1})}_runEditorCommand(V,I,H){const Z=this.runEditorCommand(V,I,H);return Z||!0}}var D;(function(ne){class V extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){if(!Ve.position)return;M.model.pushStackElement(),M.setCursorStates(Ve.source,3,[i.c.moveTo(M,M.getPrimaryCursorState(),this._inSelectionMode,Ve.position,Ve.viewPosition)])&&Ve.revealType!==2&&M.revealAllCursors(Ve.source,!0,!0)}}ne.MoveTo=(0,y.E_)(new V({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),ne.MoveToSelect=(0,y.E_)(new V({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class I extends _{runCoreEditorCommand(M,Ve){M.model.pushStackElement();const Me=this._getColumnSelectResult(M,M.getPrimaryCursorState(),M.getCursorColumnSelectData(),Ve);Me!==null&&(M.setCursorStates(Ve.source,3,Me.viewStates.map(Le=>g.MF.fromViewState(Le))),M.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:Me.fromLineNumber,fromViewVisualColumn:Me.fromVisualColumn,toViewLineNumber:Me.toLineNumber,toViewVisualColumn:Me.toVisualColumn}),Me.reversed?M.revealTopMostCursor(Ve.source):M.revealBottomMostCursor(Ve.source))}}ne.ColumnSelect=(0,y.E_)(new class extends I{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(Be,M,Ve,Me){if(typeof Me.position>"u"||typeof Me.viewPosition>"u"||typeof Me.mouseColumn>"u")return null;const Le=Be.model.validatePosition(Me.position),_e=Be.coordinatesConverter.validateViewPosition(new L.y(Me.viewPosition.lineNumber,Me.viewPosition.column),Le),Qe=Me.doColumnSelect?Ve.fromViewLineNumber:_e.lineNumber,je=Me.doColumnSelect?Ve.fromViewVisualColumn:Me.mouseColumn-1;return C.columnSelect(Be.cursorConfig,Be,Qe,je,_e.lineNumber,Me.mouseColumn-1)}}),ne.CursorColumnSelectLeft=(0,y.E_)(new class extends I{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3599,linux:{primary:0}}})}
788_getColumnSelectResult(Be,M,Ve,Me){return C.columnSelectLeft(Be.cursorConfig,Be,Ve)}}),ne.CursorColumnSelectRight=(0,y.E_)(new class extends I{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(Be,M,Ve,Me){return C.columnSelectRight(Be.cursorConfig,Be,Ve)}});class H extends I{constructor(M){super(M),this._isPaged=M.isPaged}_getColumnSelectResult(M,Ve,Me,Le){return C.columnSelectUp(M.cursorConfig,M,Me,this._isPaged)}}ne.CursorColumnSelectUp=(0,y.E_)(new H({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3600,linux:{primary:0}}})),ne.CursorColumnSelectPageUp=(0,y.E_)(new H({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3595,linux:{primary:0}}}));class Z extends I{constructor(M){super(M),this._isPaged=M.isPaged}_getColumnSelectResult(M,Ve,Me,Le){return C.columnSelectDown(M.cursorConfig,M,Me,this._isPaged)}}ne.CursorColumnSelectDown=(0,y.E_)(new Z({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3602,linux:{primary:0}}})),ne.CursorColumnSelectPageDown=(0,y.E_)(new Z({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3596,linux:{primary:0}}}));class X extends _{constructor(){super({id:"cursorMove",precondition:void 0,metadata:i.S.metadata})}runCoreEditorCommand(M,Ve){const Me=i.S.parse(Ve);Me&&this._runCursorMove(M,Ve.source,Me)}_runCursorMove(M,Ve,Me){const Le=Me.noHistory?"api":Ve;M.model.pushStackElement(),M.setCursorStates(Le,3,X._move(M,M.getCursorStates(),Me)),M.revealAllCursors(Le,!0)}static _move(M,Ve,Me){const Le=Me.select,_e=Me.value;switch(Me.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return i.c.simpleMove(M,Ve,Me.direction,Le,_e,Me.unit);case 11:case 13:case 12:case 14:return i.c.viewportMove(M,Ve,Me.direction,Le,_e);default:return null}}}ne.CursorMoveImpl=X,ne.CursorMove=(0,y.E_)(new X);class G extends _{constructor(M){super(M),this._staticArgs=M.args}runCoreEditorCommand(M,Ve){let Me=this._staticArgs;this._staticArgs.value===-1&&(Me={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:Ve.pageSize||M.cursorConfig.pageSize}),M.model.pushStackElement(),M.setCursorStates(Ve.source,3,i.c.simpleMove(M,M.getCursorStates(),Me.direction,Me.select,Me.value,Me.unit)),M.revealAllCursors(Ve.source,!0)}}ne.CursorLeft=(0,y.E_)(new G({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),ne.CursorLeftSelect=(0,y.E_)(new G({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1039}})),ne.CursorRight=(0,y.E_)(new G({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),ne.CursorRightSelect=(0,y.E_)(new G({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1041}})),ne.CursorUp=(0,y.E_)(new G({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),ne.CursorUpSelect=(0,y.E_)(new G({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),ne.CursorPageUp=(0,y.E_)(new G({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:11}})),ne.CursorPageUpSelect=(0,y.E_)(new G({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1035}})),ne.CursorDown=(0,y.E_)(new G({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),ne.CursorDownSelect=(0,y.E_)(new G({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),ne.CursorPageDown=(0,y.E_)(new G({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:12}})),ne.CursorPageDownSelect=(0,y.E_)(new G({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1036}})),ne.CreateCursor=(0,y.E_)(new class extends _{constructor(){super({id:"createCursor",precondition:void 0})}
788runCoreEditorCommand(Be,M){if(!M.position)return;let Ve;M.wholeLine?Ve=i.c.line(Be,Be.getPrimaryCursorState(),!1,M.position,M.viewPosition):Ve=i.c.moveTo(Be,Be.getPrimaryCursorState(),!1,M.position,M.viewPosition);const Me=Be.getCursorStates();if(Me.length>1){const Le=Ve.modelState?Ve.modelState.position:null,_e=Ve.viewState?Ve.viewState.position:null;for(let Qe=0,je=Me.length;Qe<je;Qe++){const ae=Me[Qe];if(!(Le&&!ae.modelState.selection.containsPosition(Le))&&!(_e&&!ae.viewState.selection.containsPosition(_e))){Me.splice(Qe,1),Be.model.pushStackElement(),Be.setCursorStates(M.source,3,Me);return}}}Me.push(Ve),Be.model.pushStackElement(),Be.setCursorStates(M.source,3,Me)}}),ne.LastCursorMoveToSelect=(0,y.E_)(new class extends _{constructor(){super({id:"_lastCursorMoveToSelect",precondition:void 0})}runCoreEditorCommand(Be,M){if(!M.position)return;const Ve=Be.getLastAddedCursorIndex(),Me=Be.getCursorStates(),Le=Me.slice(0);Le[Ve]=i.c.moveTo(Be,Me[Ve],!0,M.position,M.viewPosition),Be.model.pushStackElement(),Be.setCursorStates(M.source,3,Le)}});class Y extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,i.c.moveToBeginningOfLine(M,M.getCursorStates(),this._inSelectionMode)),M.revealAllCursors(Ve.source,!0)}}ne.CursorHome=(0,y.E_)(new Y({inSelectionMode:!1,id:"cursorHome",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),ne.CursorHomeSelect=(0,y.E_)(new Y({inSelectionMode:!0,id:"cursorHomeSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}}));
788class j extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,this._exec(M.getCursorStates())),M.revealAllCursors(Ve.source,!0)}_exec(M){const Ve=[];for(let Me=0,Le=M.length;Me<Le;Me++){const _e=M[Me],Qe=_e.modelState.position.lineNumber;Ve[Me]=g.MF.fromModelState(_e.modelState.move(this._inSelectionMode,Qe,1,0))}return Ve}}ne.CursorLineStart=(0,y.E_)(new j({inSelectionMode:!1,id:"cursorLineStart",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:0,mac:{primary:287}}})),ne.CursorLineStartSelect=(0,y.E_)(new j({inSelectionMode:!0,id:"cursorLineStartSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:0,mac:{primary:1311}}}));class z extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,i.c.moveToEndOfLine(M,M.getCursorStates(),this._inSelectionMode,Ve.sticky||!1)),M.revealAllCursors(Ve.source,!0)}}ne.CursorEnd=(0,y.E_)(new z({inSelectionMode:!1,id:"cursorEnd",precondition:void 0,kbOpts:{args:{sticky:!1},weight:p,kbExpr:d.R.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}},metadata:{description:"Go to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:(0,v.kg)(70,"Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}})),ne.CursorEndSelect=(0,y.E_)(new z({inSelectionMode:!0,id:"cursorEndSelect",precondition:void 0,kbOpts:{args:{sticky:!1},weight:p,kbExpr:d.R.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}},metadata:{description:"Select to End",args:[{name:"args",schema:{type:"object",properties:{sticky:{description:(0,v.kg)(71,"Stick to the end even when going to longer lines"),type:"boolean",default:!1}}}}]}}));class ie extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,this._exec(M,M.getCursorStates())),M.revealAllCursors(Ve.source,!0)}_exec(M,Ve){const Me=[];for(let Le=0,_e=Ve.length;Le<_e;Le++){const Qe=Ve[Le],je=Qe.modelState.position.lineNumber,ae=M.model.getLineMaxColumn(je);Me[Le]=g.MF.fromModelState(Qe.modelState.move(this._inSelectionMode,je,ae,0))}return Me}}ne.CursorLineEnd=(0,y.E_)(new ie({inSelectionMode:!1,id:"cursorLineEnd",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:0,mac:{primary:291}}})),ne.CursorLineEndSelect=(0,y.E_)(new ie({inSelectionMode:!0,id:"cursorLineEndSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:0,mac:{primary:1315}}}));class re extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,i.c.moveToBeginningOfBuffer(M,M.getCursorStates(),this._inSelectionMode)),M.revealAllCursors(Ve.source,!0)}}ne.CursorTop=(0,y.E_)(new re({inSelectionMode:!1,id:"cursorTop",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2062,mac:{primary:2064}}})),ne.CursorTopSelect=(0,y.E_)(new re({inSelectionMode:!0,id:"cursorTopSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3086,mac:{primary:3088}}}));class de extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){M.model.pushStackElement(),M.setCursorStates(Ve.source,3,i.c.moveToEndOfBuffer(M,M.getCursorStates(),this._inSelectionMode)),M.revealAllCursors(Ve.source,!0)}}ne.CursorBottom=(0,y.E_)(new de({inSelectionMode:!1,id:"cursorBottom",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2061,mac:{primary:2066}}})),ne.CursorBottomSelect=(0,y.E_)(new de({inSelectionMode:!0,id:"cursorBottomSelect",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:3085,mac:{primary:3090}}}));class le extends _{constructor(){super({id:"editorScroll",precondition:void 0,metadata:E.metadata})}determineScrollMethod(M){const Ve=[6],Me=[1,2,3,4,5],Le=[4,2],_e=[1,3];return Ve.includes(M.unit)&&Le.includes(M.direction)?this._runHorizontalEditorScroll.bind(this):Me.includes(M.unit)&&_e.includes(M.direction)?this._runVerticalEditorScroll.bind(this):null}runCoreEditorCommand(M,Ve){const Me=E.parse(Ve);if(!Me)return;const Le=this.determineScrollMethod(Me);Le&&Le(M,Ve.source,Me)}_runVerticalEditorScroll(M,Ve,Me){const Le=this._computeDesiredScrollTop(M,Me);if(Me.revealCursor){const _e=M.getCompletelyVisibleViewRangeAtScrollTop(Le),Qe=M.getViewRangeWithCursorPadding(_e);M.setCursorStates(Ve,3,[i.c.findPositionInViewportIfOutside(M,M.getPrimaryCursorState(),Qe,Me.select)])}M.viewLayout.setScrollPosition({scrollTop:Le},0)}_computeDesiredScrollTop(M,Ve){if(Ve.unit===1){const _e=M.viewLayout.getFutureViewport(),Qe=M.getCompletelyVisibleViewRangeAtScrollTop(_e.top),je=M.coordinatesConverter.convertViewRangeToModelRange(Qe);let ae;Ve.direction===1?ae=Math.max(1,je.startLineNumber-Ve.value):ae=Math.min(M.model.getLineCount(),je.startLineNumber+Ve.value);const Ee=M.coordinatesConverter.convertModelPositionToViewPosition(new L.y(ae,1));return M.viewLayout.getVerticalOffsetForLineNumber(Ee.lineNumber)}if(Ve.unit===5){let _e=0;return Ve.direction===3&&(_e=M.model.getLineCount()-M.cursorConfig.pageSize),M.viewLayout.getVerticalOffsetForLineNumber(_e)}let Me;Ve.unit===3?Me=M.cursorConfig.pageSize*Ve.value:Ve.unit===4?Me=Math.round(M.cursorConfig.pageSize/2)*Ve.value:Me=Ve.value;const Le=(Ve.direction===1?-1:1)*Me;return M.viewLayout.getCurrentScrollTop()+Le*M.cursorConfig.lineHeight}_runHorizontalEditorScroll(M,Ve,Me){const Le=this._computeDesiredScrollLeft(M,Me);M.viewLayout.setScrollPosition({scrollLeft:Le},0)}_computeDesiredScrollLeft(M,Ve){const Me=(Ve.direction===4?-1:1)*Ve.value;return M.viewLayout.getCurrentScrollLeft()+Me*M.cursorConfig.typicalHalfwidthCharacterWidth}}ne.EditorScrollImpl=le,ne.EditorScroll=(0,y.E_)(new le),ne.ScrollLineUp=(0,y.E_)(new class extends _{constructor(){super({id:"scrollLineUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2064,mac:{primary:267}}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Up,by:E.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollPageUp=(0,y.E_)(new class extends _{constructor(){super({id:"scrollPageUp",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Up,by:E.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollEditorTop=(0,y.E_)(new class extends _{constructor(){super({id:"scrollEditorTop",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Up,by:E.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollLineDown=(0,y.E_)(new class extends _{constructor(){super({id:"scrollLineDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2066,mac:{primary:268}}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Down,by:E.RawUnit.WrappedLine,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollPageDown=(0,y.E_)(new class extends _{constructor(){super({id:"scrollPageDown",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Down,by:E.RawUnit.Page,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollEditorBottom=(0,y.E_)(new class extends _{constructor(){super({id:"scrollEditorBottom",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Down,by:E.RawUnit.Editor,value:1,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollLeft=(0,y.E_)(new class extends _{constructor(){super({id:"scrollLeft",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Left,by:E.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:M.source})}}),ne.ScrollRight=(0,y.E_)(new class extends _{constructor(){super({id:"scrollRight",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus}})}runCoreEditorCommand(Be,M){ne.EditorScroll.runCoreEditorCommand(Be,{to:E.RawDirection.Right,by:E.RawUnit.Column,value:2,revealCursor:!1,select:!1,source:M.source})}});class he extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){Ve.position&&(M.model.pushStackElement(),M.setCursorStates(Ve.source,3,[i.c.word(M,M.getPrimaryCursorState(),this._inSelectionMode,Ve.position)]),Ve.revealType!==2&&M.revealAllCursors(Ve.source,!0,!0))}}ne.WordSelect=(0,y.E_)(new he({inSelectionMode:!1,id:"_wordSelect",precondition:void 0})),ne.WordSelectDrag=(0,y.E_)(new he({inSelectionMode:!0,id:"_wordSelectDrag",precondition:void 0})),ne.LastCursorWordSelect=(0,y.E_)(new class extends _{constructor(){super({id:"lastCursorWordSelect",precondition:void 0})}
788runCoreEditorCommand(Be,M){if(!M.position)return;const Ve=Be.getLastAddedCursorIndex(),Me=Be.getCursorStates(),Le=Me.slice(0),_e=Me[Ve];Le[Ve]=i.c.word(Be,_e,_e.modelState.hasSelection(),M.position),Be.model.pushStackElement(),Be.setCursorStates(M.source,3,Le)}});class we extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){Ve.position&&(M.model.pushStackElement(),M.setCursorStates(Ve.source,3,[i.c.line(M,M.getPrimaryCursorState(),this._inSelectionMode,Ve.position,Ve.viewPosition)]),Ve.revealType!==2&&M.revealAllCursors(Ve.source,!1,!0))}}ne.LineSelect=(0,y.E_)(new we({inSelectionMode:!1,id:"_lineSelect",precondition:void 0})),ne.LineSelectDrag=(0,y.E_)(new we({inSelectionMode:!0,id:"_lineSelectDrag",precondition:void 0}));class xe extends _{constructor(M){super(M),this._inSelectionMode=M.inSelectionMode}runCoreEditorCommand(M,Ve){if(!Ve.position)return;const Me=M.getLastAddedCursorIndex(),Le=M.getCursorStates(),_e=Le.slice(0);_e[Me]=i.c.line(M,Le[Me],this._inSelectionMode,Ve.position,Ve.viewPosition),M.model.pushStackElement(),M.setCursorStates(Ve.source,3,_e)}}ne.LastCursorLineSelect=(0,y.E_)(new xe({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:void 0})),ne.LastCursorLineSelectDrag=(0,y.E_)(new xe({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:void 0})),ne.CancelSelection=(0,y.E_)(new class extends _{constructor(){super({id:"cancelSelection",precondition:d.R.hasNonEmptySelection,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(Be,M){Be.model.pushStackElement(),Be.setCursorStates(M.source,3,[i.c.cancelSelection(Be,Be.getPrimaryCursorState())]),Be.revealAllCursors(M.source,!0)}}),ne.RemoveSecondaryCursors=(0,y.E_)(new class extends _{constructor(){super({id:"removeSecondaryCursors",precondition:d.R.hasMultipleSelections,kbOpts:{weight:p+1,kbExpr:d.R.textInputFocus,primary:9,secondary:[1033]}})}runCoreEditorCommand(Be,M){Be.model.pushStackElement(),Be.setCursorStates(M.source,3,[Be.getPrimaryCursorState()]),Be.revealAllCursors(M.source,!0),(0,T.h5)((0,v.kg)(72,"Removed secondary cursors"))}}),ne.RevealLine=(0,y.E_)(new class extends _{constructor(){super({id:"revealLine",precondition:void 0,metadata:S.metadata})}runCoreEditorCommand(Be,M){const Ve=M,Me=Ve.lineNumber||0;let Le=typeof Me=="number"?Me+1:parseInt(Me)+1;Le<1&&(Le=1);const _e=Be.model.getLineCount();Le>_e&&(Le=_e);const Qe=new b.Q(Le,1,Le,Be.model.getLineMaxColumn(Le));let je=0;if(Ve.at)switch(Ve.at){case S.RawAtArgument.Top:je=3;break;case S.RawAtArgument.Center:je=1;break;case S.RawAtArgument.Bottom:je=4;break}const ae=Be.coordinatesConverter.convertModelRangeToViewRange(Qe);Be.revealRange(M.source,!1,ae,je,0)}}),ne.SelectAll=new class extends h{constructor(){super(y.tc)}runDOMCommand(Be){R.gm&&(Be.focus(),Be.select()),Be.ownerDocument.execCommand("selectAll")}runEditorCommand(Be,M,Ve){const Me=M._getViewModel();Me&&this.runCoreEditorCommand(Me,Ve)}runCoreEditorCommand(Be,M){Be.model.pushStackElement(),Be.setCursorStates("keyboard",3,[i.c.selectAll(Be,Be.getPrimaryCursorState())])}},ne.SetSelection=(0,y.E_)(new class extends _{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(Be,M){M.selection&&(Be.model.pushStackElement(),Be.setCursorStates(M.source,3,[g.MF.fromModelSelection(M.selection)]))}})})(D||(D={}));const k=l.M$.and(d.R.textInputFocus,d.R.columnSelection);function N(ne,V){o.f.registerKeybindingRule({id:ne,primary:V,when:k,weight:p+1})}N(D.CursorColumnSelectLeft.id,1039),N(D.CursorColumnSelectRight.id,1041),N(D.CursorColumnSelectUp.id,1040),N(D.CursorColumnSelectPageUp.id,1035),N(D.CursorColumnSelectDown.id,1042),N(D.CursorColumnSelectPageDown.id,1036);function W(ne){return ne.register(),ne}var U;(function(ne){class V extends y.DX{runEditorCommand(H,Z,X){const G=Z._getViewModel();G&&this.runCoreEditingCommand(Z,G,X||{})}}ne.CoreEditingCommand=V,ne.LineBreakInsert=(0,y.E_)(new class extends V{constructor(){super({id:"lineBreakInsert",precondition:d.R.writable,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(I,H,Z){I.pushUndoStop(),I.executeCommands(this.id,a.AO.lineBreakInsert(H.cursorConfig,H.model,H.getCursorStates().map(X=>X.modelState.selection)))}}),ne.Outdent=(0,y.E_)(new class extends V{constructor(){super({id:"outdent",precondition:d.R.writable,kbOpts:{weight:p,kbExpr:l.M$.and(d.R.editorTextFocus,d.R.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(I,H,Z){I.pushUndoStop(),I.executeCommands(this.id,r.T.outdent(H.cursorConfig,H.model,H.getCursorStates().map(X=>X.modelState.selection))),I.pushUndoStop()}}),ne.Tab=(0,y.E_)(new class extends V{constructor(){super({id:"tab",precondition:d.R.writable,kbOpts:{weight:p,kbExpr:l.M$.and(d.R.editorTextFocus,d.R.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(I,H,Z){I.pushUndoStop(),I.executeCommands(this.id,r.T.tab(H.cursorConfig,H.model,H.getCursorStates().map(X=>X.modelState.selection))),I.pushUndoStop()}}),ne.DeleteLeft=(0,y.E_)(new class extends V{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(I,H,Z){const[X,G]=u.g.deleteLeft(H.getPrevEditOperationType(),H.cursorConfig,H.model,H.getCursorStates().map(Y=>Y.modelState.selection),H.getCursorAutoClosedCharacters());X&&I.pushUndoStop(),I.executeCommands(this.id,G),H.setPrevEditOperationType(2)}}),ne.DeleteRight=(0,y.E_)(new class extends V{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:p,kbExpr:d.R.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(I,H,Z){const[X,G]=u.g.deleteRight(H.getPrevEditOperationType(),H.cursorConfig,H.model,H.getCursorStates().map(Y=>Y.modelState.selection));X&&I.pushUndoStop(),I.executeCommands(this.id,G),H.setPrevEditOperationType(3)}}),ne.Undo=new class extends h{constructor(){super(y.aU)}runDOMCommand(I){I.ownerDocument.execCommand("undo")}runEditorCommand(I,H,Z){if(!(!H.hasModel()||H.getOption(104)===!0))return H.getModel().undo()}},ne.Redo=new class extends h{constructor(){super(y.ih)}runDOMCommand(I){I.ownerDocument.execCommand("redo")}runEditorCommand(I,H,Z){if(!(!H.hasModel()||H.getOption(104)===!0))return H.getModel().redo()}}})(U||(U={}));
788class $ extends y.uB{constructor(V,I,H){super({id:V,precondition:void 0,metadata:H}),this._handlerId=I}runCommand(V,I){const H=V.get(A.T).getFocusedCodeEditor();H&&H.trigger("keyboard",this._handlerId,I)}}function te(ne,V){W(new $("default:"+ne,ne)),W(new $(ne,ne,V))}te("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),te("replacePreviousChar"),te("compositionType"),te("compositionStart"),te("compositionEnd"),te("paste"),te("cut")},72834:St=>{St.exports={}},72957:(St,We,e)=>{e.d(We,{x:()=>y});var v=e(14333),R=e(16844),x=e(10998),T=e(20396);class y extends x.jG{constructor(g,L,b){super(),this.options=L,this.styles=b,this.count=0,this.hover=this._register(new x.HE),this.element=(0,v.BC)(g,(0,v.$)(".monaco-count-badge")),this._register((0,x.s)(()=>g.removeChild(this.element))),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0),this.updateHover()}setCount(g){this.count=g,this.render()}setTitleFormat(g){this.titleFormat=g,this.updateHover(),this.render()}updateHover(){this.titleFormat!==""&&!this.hover.value?this.hover.value=(0,T.i)().setupDelayedHoverAtMouse(this.element,()=>({content:(0,R.GP)(this.titleFormat,this.count),appearance:{compact:!0}})):this.titleFormat===""&&this.hover.value&&(this.hover.value=void 0)}render(){this.element.textContent=(0,R.GP)(this.countFormat,this.count),this.element.style.backgroundColor=this.styles.badgeBackgroun
788d??"",this.element.style.color=this.styles.badgeForeground??"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}},73027:(St,We,e)=>{e.d(We,{Bz:()=>R,C1:()=>y,Fp:()=>A,GK:()=>L,Ym:()=>x,dH:()=>g,kF:()=>T});var v=e(82399);function R(b){return b.ctrlCmd||b.alt||b.shift}const x={ctrlCmd:!1,alt:!1,shift:!1};var T;(function(b){b[b.Blur=1]="Blur",b[b.Gesture=2]="Gesture",b[b.Other=3]="Other"})(T||(T={}));var y;(function(b){b[b.NONE=0]="NONE",b[b.FIRST=1]="FIRST",b[b.SECOND=2]="SECOND",b[b.LAST=3]="LAST"})(y||(y={}));var A;(function(b){b[b.First=1]="First",b[b.Second=2]="Second",b[b.Last=3]="Last",b[b.Next=4]="Next",b[b.Previous=5]="Previous",b[b.NextPage=6]="NextPage",b[b.PreviousPage=7]="PreviousPage",b[b.NextSeparator=8]="NextSeparator",b[b.PreviousSeparator=9]="PreviousSeparator"})(A||(A={}));var g;(function(b){b[b.Title=1]="Title",b[b.Inline=2]="Inline",b[b.Input=3]="Input"})(g||(g={}));const L=(0,v.u1)("quickInputService")},73042:(St,We,e)=>{e.d(We,{C9:()=>N,Qp:()=>X,Rw:()=>U,Uy:()=>W,W4:()=>G,Xj:()=>k,dU:()=>V,k_:()=>S,pQ:()=>h,pR:()=>D});var v=e(13338),R=e(78903),x=e(94327),T=e(14731),y=e(10998),A=e(37264),g=e(3765),L=e(71285),b=e(82096),C=e(29879),u=e(44023),i=e(76243),r=e(98769),d=e(28061),l=e(93702),o=e(47317),c=e(29849),a=e(64830),p=e(32471),_=e(62105),E=e(62919);const S="editor.action.codeAction",h="editor.action.quickFix",D="editor.action.autoFix",k="editor.action.refactor",N="editor.action.sourceAction",W="editor.action.organizeImports",U="editor.action.fixAll",$=1e3;class te extends y.jG{static codeActionsPreferredComparator(z,ie){return z.isPreferred&&!ie.isPreferred?-1:!z.isPreferred&&ie.isPreferred?1:0}static codeActionsComparator({action:z},{action:ie}){return z.isAI&&!ie.isAI?1:!z.isAI&&ie.isAI?-1:(0,v.EI)(z.diagnostics)?(0,v.EI)(ie.diagnostics)?te.codeActionsPreferredComparator(z,ie):-1:(0,v.EI)(ie.diagnostics)?1:te.codeActionsPreferredComparator(z,ie)}constructor(z,ie,re){super(),this.documentation=ie,this._register(re),this.allActions=[...z].sort(te.codeActionsComparator),this.validActions=this.allActions.filter(({action:de})=>!de.disabled)}get hasAutoFix(){return this.validActions.some(({action:z})=>!!z.kind&&E.gB.QuickFix.contains(new T.k(z.kind))&&!!z.isPreferred)}get hasAIFix(){return this.validActions.some(({action:z})=>!!z.isAI)}get allAIFixes(){return this.validActions.every(({action:z})=>!!z.isAI)}}const ne={actions:[],documentation:void 0};async function V(j,z,ie,re,de,le){const he=re.filter||{},we={...he,excludes:[...he.excludes||[],E.gB.Notebook]},xe={only:he.include?.value,trigger:re.type},Be=new _.ER(z,le),M=re.type===2,Ve=I(j,z,M?we:he),Me=new y.Cm,Le=Ve.map(async Qe=>{const je=setTimeout(()=>de.report(Qe),1250);try{const ae=await Qe.provideCodeActions(z,ie,xe,Be.token);if(Be.token.isCancellationRequested)return ae?.dispose(),ne;ae&&Me.add(ae);const Ee=(ae?.actions||[]).filter(Ue=>Ue&&(0,E.aF)(he,Ue)),Ie=Z(Qe,Ee,he.include);return{actions:Ee.map(Ue=>new E.Vi(Ue,Qe)),documentation:Ie}}catch(ae){if((0,x.MB)(ae))throw ae;return(0,x.M_)(ae),ne}finally{clearTimeout(je)}}),_e=j.onDidChange(()=>{const Qe=j.all(z);(0,v.aI)(Qe,Ve)||Be.cancel()});try{const Qe=await Promise.all(Le),je=Qe.map(Ie=>Ie.actions).flat(),ae=[...(0,v.Yc)(Qe.map(Ie=>Ie.documentation)),...H(j,z,re,je)],Ee=new te(je,ae,Me);return Me.add(Ee),Ee}catch(Qe){throw Me.dispose(),Qe}finally{_e.dispose(),Be.dispose()}}function I(j,z,ie){return j.all(z).filter(re=>re.providedCodeActionKinds?re.providedCodeActionKinds.some(de=>(0,E.uJ)(ie,new T.k(de))):!0)}function*H(j,z,ie,re){if(z&&re.length)for(const de of j.all(z))de._getAdditionalMenuItems&&(yield*de._getAdditionalMenuItems?.({trigger:ie.type,only:ie.filter?.include?.value},re.map(le=>le.action)))}function Z(j,z,ie){if(!j.documentation)return;const re=j.documentation.map(de=>({kind:new T.k(de.kind),command:de.command}));if(ie){let de;for(const le of re)le.kind.contains(ie)&&(de?de.kind.contains(le.kind)&&(de=le):de=le);if(de)return de?.command}for(const de of z)if(de.kind){for(const le of re)if(le.kind.contains(new T.k(de.kind)))return le.command}}var X;(function(j){j.OnSave="onSave",j.FromProblemsView="fromProblemsView",j.FromCodeActions="fromCodeActions",j.FromAILightbulb="fromAILightbulb",j.FromProblemsHover="fromProblemsHover"})(X||(X={}));async function G(j,z,ie,re,de=R.XO.None){const le=j.get(r.nu),he=j.get(b.d),we=j.get(i.k),xe=j.get(C.Ot),Be=j.get(L.Nt);if(we.publicLog2("codeAction.applyCodeAction",{codeActionTitle:z.action.title,codeActionKind:z.action.kind,codeActionIsPreferred:!!z.action.isPreferred,reason:ie}),Be.playSignal(L.Rh.codeActionTriggered),await z.resolve(de),!de.isCancellationRequested&&!(z.action.edit?.edits.length&&!(await le.apply(z.action.edit,{editor:re?.editor,label:z.action.title,quotableLabel:z.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:ie!==X.OnSave,showPreview:re?.preview,reason:p.dg.codeAction({kind:z.action.kind,providerId:o.NI.fromExtensionId(z.provider?.extensionId)})})).isApplied)){if(z.action.command)try{await he.executeCommand(z.action.command.id,...z.action.command.arguments||[])}catch(M){const Ve=Y(M);xe.error(typeof Ve=="string"?Ve:(0,g.kg)(866,"An unknown error occurred while applying the code action"))}setTimeout(()=>Be.playSignal(L.Rh.codeActionApplied),$)}}function Y(j){return typeof j=="string"?j:j instanceof Error&&typeof j.message=="string"?j.message:void 0}b.w.registerCommand("_executeCodeActionProvider",async function(j,z,ie,re,de){if(!(z instanceof A.r))throw(0,x.Qg)();const{codeActionProvider:le}=j.get(c.u),he=j.get(a.S).getModel(z);if(!he)throw(0,x.Qg)();const we=l.L.isISelection(ie)?l.L.liftSelection(ie):d.Q.isIRange(ie)?he.validateRange(ie):void 0;if(!we)throw(0,x.Qg)();const xe=typeof re=="string"?new T.k(re):void 0,Be=await V(le,he,we,{type:1,triggerAction:E.fo.Default,filter:{includeSourceActions:!0,include:xe}},u.ke.None,R.XO.None),M=[],Ve=Math.min(Be.validActions.length,typeof de=="number"?de:0);for(let Me=0;Me<Ve;Me++)M.push(Be.validActions[Me].resolve(R.XO.None));try{return await Promise.all(M),Be.validActions.map(Me=>Me.action)}finally{setTimeout(()=>
788Be.dispose(),100)}})},73678:(St,We,e)=>{var v=e(8897),R=e(2106),x=e(10998),T=e(82460),y=e(57955),A=e(99859),g=e(78903),L=e(97148),b=e(46933),C=e(19822),u=e(49855);function i(U,$){switch(typeof U){case"number":return""+U;case"string":return U.length+2<=$?`"${U}"`:`"${U.substr(0,$-7)}"+...`;case"boolean":return U?"true":"false";case"undefined":return"undefined";case"object":return U===null?"null":Array.isArray(U)?r(U,$):d(U,$);case"symbol":return U.toString();case"function":return`[[Function${U.name?" "+U.name:""}]]`;default:return""+U}}function r(U,$){let te="[ ",ne=!0;for(const V of U){if(ne||(te+=", "),te.length-5>$){te+="...";break}ne=!1,te+=`${i(V,$-te.length)}`}return te+=" ]",te}function d(U,$){if(typeof U.toString=="function"&&U.toString!==Object.prototype.toString){const I=U.toString();return I.length<=$?I:I.substring(0,$-3)+"..."}const te=(0,u.uB)(U);let ne=te?te+"(":"{ ",V=!0;for(const[I,H]of Object.entries(U)){if(V||(ne+=", "),ne.length-5>$){ne+="...";break}V=!1,ne+=`${I}: ${i(H,$-ne.length)}`}return ne+=te?")":" }",ne}class l{static createClient($,te){return new l($,te)}constructor($,te){this._channelFactory=$,this._getHandler=te,this._channel=this._channelFactory({handleNotification:I=>{const H=I,Z=this._getHandler().notifications[H[0]];if(!Z)throw new Error(`Unknown notification "${H[0]}"!`);Z(...H[1])},handleRequest:I=>{const H=I;try{return{type:"result",value:this._getHandler().requests[H[0]](...H[1])}}catch(Z){return{type:"error",value:Z}}}});const ne=new Proxy({},{get:(I,H)=>async(...Z)=>{const X=await this._channel.sendRequest([H,Z]);if(X.type==="error")throw X.value;return X.value}}),V=new Proxy({},{get:(I,H)=>(...Z)=>{this._channel.sendNotification([H,Z])}});this.api={notifications:V,requests:ne}}}function o(U,$){const te=globalThis;let ne=[],V;const{channel:I,handler:H}=c({sendNotification:X=>{V?V.sendNotification(X):ne.push(X)}});let Z;return(te.$$debugValueEditor_debugChannels??(te.$$debugValueEditor_debugChannels={}))[U]=X=>{Z=$(),V=X;for(const G of ne)X.sendNotification(G);return ne=[],H},l.createClient(I,()=>{if(!Z)throw new Error("Not supported");return Z})}function c(U){let $;return{channel:ne=>($=ne,{sendNotification:V=>{U.sendNotification(V)},sendRequest:V=>{throw new Error("not supported")}}),handler:{handleRequest:ne=>ne.type==="notification"?$?.handleNotification(ne.data):$?.handleRequest(ne.data)}}}class a{constructor(){this._timeout=void 0}throttle($,te){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,$()},te))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}}function p(U,$){for(const te in $)U[te]&&typeof U[te]=="object"&&$[te]&&typeof $[te]=="object"?p(U[te],$[te]):U[te]=$[te]}function _(U,$){for(const te in $)$[te]===null?delete U[te]:U[te]&&typeof U[te]=="object"&&$[te]&&typeof $[te]=="object"?_(U[te],$[te]):U[te]=$[te]}var E=e(79359),S=e(94327),h=e(77917),D=e(96016);const W=class W{static getInstance(){return W._instance===void 0&&(W._instance=new W),W._instance}getTransactionState(){const $=[],te=[...this._activeTransactions];if(te.length===0)return;const ne=te.flatMap(I=>I.debugGetUpdatingObservers()??[]).map(I=>I.observer),V=new Set;for(;ne.length>0;){const I=ne.shift();if(V.has(I))continue;V.add(I);const H=this._getInfo(I,Z=>{V.has(Z)||ne.push(Z)});H&&$.push(H)}return{names:te.map(I=>I.getDebugName()??"tx"),affected:$}}_getObservableInfo($){const te=this._instanceInfos.get($);if(!te){(0,S.dz)(new S.D7("No info found"));return}return te}_getAutorunInfo($){const te=this._instanceInfos.get($);if(!te){(0,S.dz)(new S.D7("No info found"));return}return te}_getInfo($,te){if($ instanceof h.w){const ne=[...$.debugGetObservers()];for(const X of ne)te(X);const V=this._getObservableInfo($);if(!V)return;const I=$.debugGetState(),H={name:$.debugName,instanceId:V.instanceId,updateCount:I.updateCount},Z=[...V.changedObservables].map(X=>this._instanceInfos.get(X)?.instanceId).filter(E.O9);if(I.isComputing)return{...H,type:"observable/derived",state:"updating",changedDependencies:Z,initialComputation:!1};switch(I.state){case 0:return{...H,type:"observable/derived",state:"noValue"};case 3:return{...H,type:"observable/derived",state:"upToDate"};case 2:return{...H,type:"observable/derived",state:"stale",changedDependencies:Z};case 1:return{...H,type:"observable/derived",state:"possiblyStale"}}}else if($ instanceof C.d){const ne=this._getAutorunInfo($);if(!ne)return;const V={name:$.debugName,instanceId:ne.instanceId,updateCount:ne.updateCount},I=[...ne.changedObservables].map(H=>this._instanceInfos.get(H).instanceId);if($.debugGetState().isRunning)return{...V,type:"autorun",state:"updating",changedDependencies:I};switch($.debugGetState().state){case 3:return{...V,type:"autorun",state:"upToDate"};case 2:return{...V,type:"autorun",state:"stale",changedDependencies:I};case 1:return{...V,type:"autorun",state:"possiblyStale"}}}}_formatObservable($){const te=this._getObservableInfo($);if(te)return{name:$.debugName,instanceId:te.instanceId}}_formatObserver($){if($ instanceof h.w)return{name:$.toString(),instanceId:this._getObservableInfo($)?.instanceId};const te=this._getAutorunInfo($);if(te)return{name:$.toString(),instanceId:te.instanceId}}constructor(){this._declarationId=0,this._instanceId=0,this._declarations=new Map,this._instanceInfos=new WeakMap,this._aliveInstances=new Map,this._activeTransactions=new Set,this._channel=o("observableDevTools",()=>({notifications:{setDeclarationIdFilter:$=>{},logObservableValue:$=>{console.log("logObservableValue",$)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{const $={};
788for(const te of this._declarations.values())$[te.id]=te;return{decls:$}},getSummarizedInstances:()=>null,getObservableValueInfo:$=>({observers:[...this._aliveInstances.get($).debugGetObservers()].map(ne=>this._formatObserver(ne)).filter(E.O9)}),getDerivedInfo:$=>{const te=this._aliveInstances.get($);return{dependencies:[...te.debugGetState().dependencies].map(ne=>this._formatObservable(ne)).filter(E.O9),observers:[...te.debugGetObservers()].map(ne=>this._formatObserver(ne)).filter(E.O9)}},getAutorunInfo:$=>({dependencies:[...this._aliveInstances.get($).debugGetState().dependencies].map(ne=>this._formatObservable(ne)).filter(E.O9)}),getTransactionState:()=>this.getTransactionState(),setValue:($,te)=>{const ne=this._aliveInstances.get($);if(ne instanceof h.w)ne.debugSetValue(te);else if(ne instanceof D.Lj)ne.debugSetValue(te);else if(ne instanceof b.E)ne.debugSetValue(te);else throw new S.D7("Observable is not supported");const V=[...ne.debugGetObservers()];for(const I of V)I.beginUpdate(ne);for(const I of V)I.handleChange(ne,void 0);for(const I of V)I.endUpdate(ne)},getValue:$=>{const te=this._aliveInstances.get($);if(te instanceof h.w)return i(te.debugGetState().value,200);if(te instanceof D.Lj)return i(te.debugGetState().value,200)},logValue:$=>{const te=this._aliveInstances.get($);if(te&&"get"in te)console.log("Logged Value:",te.get());else throw new S.D7("Observable is not supported")},rerun:$=>{const te=this._aliveInstances.get($);if(te instanceof h.w)te.debugRecompute();else if(te instanceof C.d)te.debugRerun();else throw new S.D7("Observable is not supported")}}})),this._pendingChanges=null,this._changeThrottler=new a,this._fullState={},this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)},y.j.enable()}_handleChange($){_(this._fullState,$),this._pendingChanges===null?this._pendingChanges=$:p(this._pendingChanges,$),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId($,te){if(!te)return-1;let ne=this._declarations.get(te.id);return ne===void 0&&(ne={id:this._declarationId++,type:$,url:te.fileName,line:te.line,column:te.column},this._declarations.set(te.id,ne),this._handleChange({decls:{[ne.id]:ne}})),ne.id}handleObservableCreated($,te){const V={declarationId:this._getDeclarationId("observable/value",te),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set($,V)}handleOnListenerCountChanged($,te){const ne=this._getObservableInfo($);if(ne){if(ne.listenerCount===0&&te>0){const V=$ instanceof h.w?"observable/derived":"observable/value";this._aliveInstances.set(ne.instanceId,$),this._handleChange({instances:{[ne.instanceId]:{instanceId:ne.instanceId,declarationId:ne.declarationId,formattedValue:ne.lastValue,type:V,name:$.debugName}}})}else ne.listenerCount>0&&te===0&&(this._handleChange({instances:{[ne.instanceId]:null}}),this._aliveInstances.delete(ne.instanceId));ne.listenerCount=te}}handleObservableUpdated($,te){if($ instanceof h.w){this._handleDerivedRecomputed($,te);return}const ne=this._getObservableInfo($);ne&&te.didChange&&(ne.lastValue=i(te.newValue,30),ne.listenerCount>0&&this._handleChange({instances:{[ne.instanceId]:{formattedValue:ne.lastValue}}}))}handleAutorunCreated($,te){const V={declarationId:this._getDeclarationId("autorun",te),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set($,V),this._aliveInstances.set(V.instanceId,$),V&&this._handleChange({instances:{[V.instanceId]:{instanceId:V.instanceId,declarationId:V.declarationId,runCount:0,type:"autorun",name:$.debugName}}})}handleAutorunDisposed($){const te=this._getAutorunInfo($);te&&(this._handleChange({instances:{[te.instanceId]:null}}),this._instanceInfos.delete($),this._aliveInstances.delete(te.instanceId))}handleAutorunDependencyChanged($,te,ne){const V=this._getAutorunInfo($);V&&V.changedObservables.add(te)}handleAutorunStarted($){}handleAutorunFinished($){const te=this._getAutorunInfo($);te&&(te.changedObservables.clear(),te.updateCount++,this._handleChange({instances:{[te.instanceId]:{runCount:te.updateCount}}}))}handleDerivedDependencyChanged($,te,ne){const V=this._getObservableInfo($);V&&V.changedObservables.add(te)}_handleDerivedRecomputed($,te){const ne=this._getObservableInfo($);if(!ne)return;const V=i(te.newValue,30);ne.updateCount++,ne.changedObservables.clear(),ne.lastValue=V,ne.listenerCount>0&&this._handleChange({instances:{[ne.instanceId]:{formattedValue:V,recomputationCount:ne.updateCount}}})}handleDerivedCleared($){const te=this._getObservableInfo($);te&&(te.lastValue=void 0,te.changedObservables.clear(),te.listenerCount>0&&this._handleChange({instances:{[te.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction($){this._activeTransactions.add($)}handleEndTransaction($){this._activeTransactions.delete($)}};W._instance=void 0;let k=W;var N=e(9871);N._K&&N._K.VSCODE_DEV_DEBUG_OBSERVABLES&&(0,T.E)(k.getInstance())},73810:(St,We,e)=>{var h;e.d(We,{$:()=>o,D:()=>S});var v=e(65958),R=e(2106),x=e(10998),T=e(58067),y=e(82096),A=e(31540),g=e(27969),L=e(90840),b=e(13338),C=e(3765),u=e(56071),i=function(D,k,N,W){var U=arguments.length,$=U<3?k:W===null?W=Object.getOwnPropertyDescriptor(k,N):W,te;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")$=Reflect.decorate(D,k,N,W);else for(var ne=D.length-1;ne>=0;ne--)(te=D[ne])&&($=(U<3?te($):U>3?te(k,N,$):te(k,N))||$);return U>3&&$&&Object.defineProperty(k,N,$),$},r=function(D,k){return function(N,W){k(N,W,D)}},d,l;let o=class extends x.jG{constructor(k,N,W){super(),this._commandService=k,this._keybindingService=N,this._hiddenStates=this._register(new c(W))}createMenu(k,N,W){return new _(k,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...W},this._commandService,this._keybindingService,N)}getMenuActions(k,N,W){const U=new _(k,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...W},this._commandService,this._keybindingService,N),$=U.getActions(W);return U.dispose(),$}resetHiddenStates(k){this._hiddenStates.reset(k)}};o=i([r(0,y.d),r(1,u.b),r(2,L.CS)],o);let c=(h=class{constructor(k){this._storageService=k,this._disposables=new x.Cm,this._onDidChange=new R.vl,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const N=k.get(d._key,0,"{}");this._data=JSON.parse(N)}catch{this._data=Object.create(null)}this._disposables.add(k.onDidChangeValue(0,d._key,this._disposables)(()=>
788{if(!this._ignoreChangeEvent)try{const N=k.get(d._key,0,"{}");this._data=JSON.parse(N)}catch(N){console.log("FAILED to read storage after UPDATE",N)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(k,N){return this._hiddenByDefaultCache.get(`${k.id}/${N}`)??!1}setDefaultState(k,N,W){this._hiddenByDefaultCache.set(`${k.id}/${N}`,W)}isHidden(k,N){const W=this._isHiddenByDefault(k,N),U=this._data[k.id]?.includes(N)??!1;return W?!U:U}updateHidden(k,N,W){this._isHiddenByDefault(k,N)&&(W=!W);const $=this._data[k.id];if(W)$?$.indexOf(N)<0&&$.push(N):this._data[k.id]=[N];else if($){const te=$.indexOf(N);te>=0&&(0,b.UH)($,te),$.length===0&&delete this._data[k.id]}this._persist()}reset(k){if(k===void 0)this._data=Object.create(null),this._persist();else{for(const{id:N}of k)this._data[N]&&delete this._data[N];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const k=JSON.stringify(this._data);this._storageService.store(d._key,k,0,0)}finally{this._ignoreChangeEvent=!1}}},d=h,h._key="menu.hiddenCommands",h);c=d=i([r(0,L.CS)],c);class a{constructor(k,N){this._id=k,this._collectContextKeysForSubmenus=N,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const k=this._sort(T.ZG.getMenuItems(this._id));let N;for(const W of k){const U=W.group||"";(!N||N[0]!==U)&&(N=[U,[]],this._menuGroups.push(N)),N[1].push(W),this._collectContextKeysAndSubmenuIds(W)}this._allMenuIds.add(this._id)}_sort(k){return k}_collectContextKeysAndSubmenuIds(k){if(a._fillInKbExprKeys(k.when,this._structureContextKeys),(0,T.is)(k)){if(k.command.precondition&&a._fillInKbExprKeys(k.command.precondition,this._preconditionContextKeys),k.command.toggled){const N=k.command.toggled.condition||k.command.toggled;a._fillInKbExprKeys(N,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(T.ZG.getMenuItems(k.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(k.submenu))}static _fillInKbExprKeys(k,N){if(k)for(const W of k.keys())N.add(W)}}let p=l=class extends a{constructor(k,N,W,U,$,te){super(k,W),this._hiddenStates=N,this._commandService=U,this._keybindingService=$,this._contextKeyService=te,this.refresh()}createActionGroups(k){const N=[];for(const W of this._menuGroups){const[U,$]=W;let te;for(const ne of $)if(this._contextKeyService.contextMatchesRules(ne.when)){const V=(0,T.is)(ne);V&&this._hiddenStates.setDefaultState(this._id,ne.command.id,!!ne.isHiddenByDefault);const I=E(this._id,V?ne.command:ne,this._hiddenStates);if(V){const H=S(this._commandService,this._keybindingService,ne.command.id,ne.when);(te??=[]).push(new T.Xe(ne.command,ne.alt,k,I,H,this._contextKeyService,this._commandService))}else{const H=new l(ne.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(k),Z=g.wv.join(...H.map(X=>X[1]));Z.length>0&&(te??=[]).push(new T.nI(ne,I,Z))}}te&&te.length>0&&N.push([U,te])}return N}_sort(k){return k.sort(l._compareMenuItems)}static _compareMenuItems(k,N){const W=k.group,U=N.group;if(W!==U){if(W){if(!U)return-1}else return 1;if(W==="navigation")return-1;if(U==="navigation")return 1;const ne=W.localeCompare(U);if(ne!==0)return ne}const $=k.order||0,te=N.order||0;return $<te?-1:$>te?1:l._compareTitles((0,T.is)(k)?k.command.title:k.title,(0,T.is)(N)?N.command.title:N.title)}static _compareTitles(k,N){const W=typeof k=="string"?k:k.original,U=typeof N=="string"?N:N.original;return W.localeCompare(U)}};p=l=i([r(3,y.d),r(4,u.b),r(5,A.fN)],p);let _=class{constructor(k,N,W,U,$,te){this._disposables=new x.Cm,this._menuInfo=new p(k,N,W.emitEventsForSubmenuChanges,U,$,te);const ne=new v.uC(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStru
788cturalChange:!0,isEnablementChange:!0,isToggleChange:!0})},W.eventDebounceDelay);this._disposables.add(ne),this._disposables.add(T.ZG.onDidChangeMenu(Z=>{for(const X of this._menuInfo.allMenuIds)if(Z.has(X)){ne.schedule();break}}));const V=this._disposables.add(new x.Cm),I=Z=>{let X=!1,G=!1,Y=!1;for(const j of Z)if(X=X||j.isStructuralChange,G=G||j.isEnablementChange,Y=Y||j.isToggleChange,X&&G&&Y)break;return{menu:this,isStructuralChange:X,isEnablementChange:G,isToggleChange:Y}},H=()=>{V.add(te.onDidChangeContext(Z=>{const X=Z.affectsSome(this._menuInfo.structureContextKeys),G=Z.affectsSome(this._menuInfo.preconditionContextKeys),Y=Z.affectsSome(this._menuInfo.toggledContextKeys);(X||G||Y)&&this._onDidChange.fire({menu:this,isStructuralChange:X,isEnablementChange:G,isToggleChange:Y})})),V.add(N.onDidChange(Z=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new R.uI({onWillAddFirstListener:H,onDidRemoveLastListener:V.clear.bind(V),delay:W.eventDebounceDelay,merge:I}),this.onDidChange=this._onDidChange.event}getActions(k){return this._menuInfo.createActionGroups(k)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};_=i([r(3,y.d),r(4,u.b),r(5,A.fN)],_);function E(D,k,N){const W=(0,T.i1)(k)?k.submenu.id:k.id,U=typeof k.title=="string"?k.title:k.title.value,$=(0,g.ih)({id:`hide/${D.id}/${W}`,label:(0,C.kg)(1703,"Hide '{0}'",U),run(){N.updateHidden(D,W,!0)}}),te=(0,g.ih)({id:`toggle/${D.id}/${W}`,label:U,get checked(){return!N.isHidden(D,W)},run(){N.updateHidden(D,W,!!this.checked)}});return{hide:$,toggle:te,get isHidden(){return!te.checked}}}function S(D,k,N,W=void 0,U=!0){return(0,g.ih)({id:`configureKeybinding/${N}`,label:(0,C.kg)(1704,"Configure Keybinding"),enabled:U,run(){const te=!!!k.lookupKeybinding(N)&&W?W.serialize():void 0;D.executeCommand("workbench.action.openGlobalKeybindings",`@command:${N}`+(te?` +when:${te}`:""))}})}},73858:(St,We,e)=>{e.d(We,{$B:()=>he,AN:()=>i,B2:()=>G,By:()=>g,Cg:()=>L,DS:()=>xe,EC:()=>W,EY:()=>j,Fi:()=>b,GN:()=>re,Gj:()=>ie,Hn:()=>d,Hw:()=>H,II:()=>c,JP:()=>ht,P6:()=>V,Qw:()=>h,Rb:()=>u,S5:()=>U,St:()=>l,Ub:()=>k,WL:()=>I,Wf:()=>$,Xo:()=>te,Yt:()=>A,ZE:()=>z,Zt:()=>p,_p:()=>Z,bN:()=>Te,et:()=>Me,f3:()=>D,f9:()=>we,fA:()=>He,i6:()=>a,ld:()=>le,mc:()=>M,oZ:()=>ne,p8:()=>N,pO:()=>o,rm:()=>E,sA:()=>Le,sI:()=>C,se:()=>_,sj:()=>X,t:()=>S,tY:()=>qe,vV:()=>Ve,w3:()=>de,wh:()=>r,z5:()=>Ke});var v=e(3765),R=e(94901),x=e(87676),T=e(18382),y=e(58687);const A=(0,x.x1)("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:R.Q1.black,hcLight:R.Q1.white},(0,v.kg)(1865,"Editor background color.")),g=(0,x.x1)("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:R.Q1.white,hcLight:T.CU},(0,v.kg)(1866,"Editor default foreground color."));(0,x.x1)("editorStickyScroll.background",A,(0,v.kg)(1867,"Background color of sticky scroll in the editor")),(0,x.x1)("editorStickyScrollGutter.background",A,(0,v.kg)(1868,"Background color of the gutter part of sticky scroll in the editor")),(0,x.x1)("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:R.Q1.fromHex("#0F4A85").transparent(.1)},(0,v.kg)(1869,"Background color of sticky scroll on hover in the editor")),(0,x.x1)("editorStickyScroll.border",{dark:null,light:null,hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1870,"Border color of sticky scroll in the editor")),(0,x.x1)("editorStickyScroll.shadow",y.bX,(0,v.kg)(1871," Shadow color of sticky scroll in the editor"));const L=(0,x.x1)("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:R.Q1.white},(0,v.kg)(1872,"Background color of editor widgets, such as find/replace.")),b=(0,x.x1)("editorWidget.foreground",T.CU,(0,v.kg)(1873,"Foreground color of editor widgets, such as find/replace.")),C=(0,x.x1)("editorWidget.border",{dark:(0,x.JO)(b,.2),light:(0,x.JO)(b,.2),hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1874,"Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));(0,x.x1)("editorWidget.resizeBorder",null,(0,v.kg)(1875,"Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),(0,x.x1)("editorError.background",null,(0,v.kg)(1876,"Backgroun
788d color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const u=(0,x.x1)("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},(0,v.kg)(1877,"Foreground color of error squigglies in the editor.")),i=(0,x.x1)("editorError.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},(0,v.kg)(1878,"If set, color of double underlines for errors in the editor.")),r=(0,x.x1)("editorWarning.background",null,(0,v.kg)(1879,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),d=(0,x.x1)("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},(0,v.kg)(1880,"Foreground color of warning squigglies in the editor.")),l=(0,x.x1)("editorWarning.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#FFCC00").transparent(.8),hcLight:R.Q1.fromHex("#FFCC00").transparent(.8)},(0,v.kg)(1881,"If set, color of double underlines for warnings in the editor."));(0,x.x1)("editorInfo.background",null,(0,v.kg)(1882,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const o=(0,x.x1)("editorInfo.foreground",{dark:"#59a4f9",light:"#0063d3",hcDark:"#59a4f9",hcLight:"#0063d3"},(0,v.kg)(1883,"Foreground color of info squigglies in the editor.")),c=(0,x.x1)("editorInfo.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#59a4f9").transparent(.8),hcLight:"#292929"},(0,v.kg)(1884,"If set, color of double underlines for infos in the editor.")),a=(0,x.x1)("editorHint.foreground",{dark:R.Q1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},(0,v.kg)(1885,"Foreground color of hint squigglies in the editor."));(0,x.x1)("editorHint.border",{dark:null,light:null,hcDark:R.Q1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},(0,v.kg)(1886,"If set, color of double underlines for hints in the editor."));const p=(0,x.x1)("editorLink.activeForeground",{dark:"#4E94CE",light:R.Q1.blue,hcDark:R.Q1.cyan,hcLight:"#292929"},(0,v.kg)(1887,"Color of active links.")),_=(0,x.x1)("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},(0,v.kg)(1888,"Color of the editor selection.")),E=(0,x.x1)("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:R.Q1.white},(0,v.kg)(1889,"Color of the selected text for high contrast.")),S=(0,x.x1)("editor.inactiveSelectionBackground",{light:(0,x.JO)(_,.5),dark:(0,x.JO)(_,.5),hcDark:(0,x.JO)(_,.7),hcLight:(0,x.JO)(_,.5)},(0,v.kg)(1890,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),h=(0,x.x1)("editor.selectionHighlightBackgroun
788d",{light:(0,x.oG)(_,A,.3,.6),dark:(0,x.oG)(_,A,.3,.6),hcDark:null,hcLight:null},(0,v.kg)(1891,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(1892,"Border color for regions with the same content as the selection.")),(0,x.x1)("editor.compositionBorder",{light:"#000000",dark:"#ffffff",hcLight:"#000000",hcDark:"#ffffff"},(0,v.kg)(1893,"The border color for an IME composition.")),(0,x.x1)("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},(0,v.kg)(1894,"Color of the current search match."));const D=(0,x.x1)("editor.findMatchForeground",null,(0,v.kg)(1895,"Text color of the current search match.")),k=(0,x.x1)("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},(0,v.kg)(1896,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),N=(0,x.x1)("editor.findMatchHighlightForeground",null,(0,v.kg)(1897,"Foreground color of the other search matches."),!0);
788(0,x.x1)("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},(0,v.kg)(1898,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),(0,x.x1)("editor.findMatchBorder",{light:null,dark:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(1899,"Border color of the current search match."));const W=(0,x.x1)("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(1900,"Border color of the other search matches.")),U=(0,x.x1)("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:(0,x.JO)(T.bu,.4),hcLight:(0,x.JO)(T.bu,.4)},(0,v.kg)(1901,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},(0,v.kg)(1902,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const $=(0,x.x1)("editorHoverWidget.background",L,(0,v.kg)(1903,"Background color of the editor hover.")),te=(0,x.x1)("editorHoverWidget.foreground",b,(0,v.kg)(1904,"Foreground color of the editor hover.")),ne=(0,x.x1)("editorHoverWidget.border",C,(0,v.kg)(1905,"Border color of the editor hover."));
788(0,x.x1)("editorHoverWidget.statusBarBackground",{dark:(0,x.a)($,.2),light:(0,x.e$)($,.05),hcDark:L,hcLight:L},(0,v.kg)(1906,"Background color of the editor hover status bar."));const V=(0,x.x1)("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:R.Q1.white,hcLight:R.Q1.black},(0,v.kg)(1907,"Foreground color of inline hints")),I=(0,x.x1)("editorInlayHint.background",{dark:(0,x.JO)(y.WM,.1),light:(0,x.JO)(y.WM,.1),hcDark:(0,x.JO)(R.Q1.white,.1),hcLight:(0,x.JO)(y.WM,.1)},(0,v.kg)(1908,"Background color of inline hints")),H=(0,x.x1)("editorInlayHint.typeForeground",V,(0,v.kg)(1909,"Foreground color of inline hints for types")),Z=(0,x.x1)("editorInlayHint.typeBackground",I,(0,v.kg)(1910,"Background color of inline hints for types")),X=(0,x.x1)("editorInlayHint.parameterForeground",V,(0,v.kg)(1911,"Foreground color of inline hints for parameters")),G=(0,x.x1)("editorInlayHint.parameterBackground",I,(0,v.kg)(1912,"Background color of inline hints for parameters")),Y=(0,x.x1)("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},(0,v.kg)(1913,"The color used for the lightbulb actions icon."));(0,x.x1)("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},(0,v.kg)(1914,"The color used for the lightbulb auto fix actions icon.")),(0,x.x1)("editorLightBulbAi.foreground",Y,(0,v.kg)(1915,"The color used for the lightbulb AI icon.")),(0,x.x1)("editor.snippetTabstopHighlightBackgroun
788d",{dark:new R.Q1(new R.bU(124,124,124,.3)),light:new R.Q1(new R.bU(10,50,100,.2)),hcDark:new R.Q1(new R.bU(124,124,124,.3)),hcLight:new R.Q1(new R.bU(10,50,100,.2))},(0,v.kg)(1916,"Highlight background color of a snippet tabstop.")),(0,x.x1)("editor.snippetTabstopHighlightBorder",null,(0,v.kg)(1917,"Highlight border color of a snippet tabstop.")),(0,x.x1)("editor.snippetFinalTabstopHighlightBackground",null,(0,v.kg)(1918,"Highlight background color of the final tabstop of a snippet.")),(0,x.x1)("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new R.Q1(new R.bU(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},(0,v.kg)(1919,"Highlight border color of the final tabstop of a snippet."));const j=new R.Q1(new R.bU(155,185,85,.2)),z=new R.Q1(new R.bU(255,0,0,.2)),ie=(0,x.x1)("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},(0,v.kg)(1920,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),re=(0,x.x1)("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},(0,v.kg)(1921,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),de=(0,x.x1)("diffEditor.insertedLineBackground",{dark:j,light:j,hcDark:null,hcLight:null},(0,v.kg)(1922,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("diffEditor.removedLineBackground",{dark:z,light:z,hcDark:null,hcLight:null},(0,v.kg)(1923,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),(0,x.x1)("diffEditorGutter.insertedLineBackground",null,(0,v.kg)(1924,"Background color for the margin where lines got inserted.")),(0,x.x1)("diffEditorGutter.removedLineBackground",null,(0,v.kg)(1925,"Background color for the margin where lines got removed."));const le=(0,x.x1)("diffEditorOverview.insertedForeground",null,(0,v.kg)(1926,"Diff overview ruler foreground for inserted content.")),he=(0,x.x1)("diffEditorOverview.removedForeground",null,(0,v.kg)(1927,"Diff overview ruler foreground for removed content."));(0,x.x1)("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"}
788,(0,v.kg)(1928,"Outline color for the text that got inserted.")),(0,x.x1)("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},(0,v.kg)(1929,"Outline color for text that got removed.")),(0,x.x1)("diffEditor.border",{dark:null,light:null,hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1930,"Border color between the two text editors.")),(0,x.x1)("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},(0,v.kg)(1931,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),(0,x.x1)("diffEditor.unchangedRegionBackground","sideBar.background",(0,v.kg)(1932,"The background color of unchanged blocks in the diff editor.")),(0,x.x1)("diffEditor.unchangedRegionForeground","foreground",(0,v.kg)(1933,"The foreground color of unchanged blocks in the diff editor.")),(0,x.x1)("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},(0,v.kg)(1934,"The background color of unchanged code in the diff editor."));const we=(0,x.x1)("widget.shadow",{dark:(0,x.JO)(R.Q1.black,.36),light:(0,x.JO)(R.Q1.black,.16),hcDark:null,hcLight:null},(0,v.kg)(1935,"Shadow color of widgets such as find/replace inside the editor.")),xe=(0,x.x1)("widget.border",{dark:null,light:null,hcDark:T.b1,hcLight:T.b1},(0,v.kg)(1936,"Border color of widgets such as find/replace inside the editor.")),Be=(0,x.x1)("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},(0,v.kg)(1937,"Toolbar background when hovering over actions using the mouse"));(0,x.x1)("toolbar.hoverOutline",{dark:null,light:null,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(1938,"Toolbar outline when hovering over actions using the mouse")),(0,x.x1)("toolbar.activeBackground",{dark:(0,x.a)(Be,.1),light:(0,x.e$)(Be,.1),hcDark:null,hcLight:null},(0,v.kg)(1939,"Toolbar background when holding the mouse over actions"));const M=(0,x.x1)("breadcrumb.foreground",(0,x.JO)(T.CU,.8),(0,v.kg)(1940,"Color of focused breadcrumb items.")),Ve=(0,x.x1)("breadcrumb.background",A,(0,v.kg)(1941,"Background color of breadcrumb items.")),Me=(0,x.x1)("breadcrumb.focusForeground",{light:(0,x.e$)(T.CU,.2),dark:(0,x.a)(T.CU,.1),hcDark:(0,x.a)(T.CU,.1),hcLight:(0,x.a)(T.CU,.1)},(0,v.kg)(1942,"Color of focused breadcrumb items.")),Le=(0,x.x1)("breadcrumb.activeSelectionForeground",{light:(0,x.e$)(T.CU,.2),dark:(0,x.a)(T.CU,.1),hcDark:(0,x.a)(T.CU,.1),hcLight:(0,x.a)(T.CU,.1)},(0,v.kg)(1943,"Color of selected breadcrumb items."));(0,x.x1)("breadcrumbPicker.background",L,(0,v.kg)(1944,"Background color of breadcrumb item picker."));const _e=.5,Qe=R.Q1.fromHex("#40C8AE").transparent(_e),je=R.Q1.fromHex("#40A6FF").transparent(_e),ae=R.Q1.fromHex("#606060").transparent(.4),Ee=.4,Ie=1,Ue=(0,x.x1)("merge.currentHeaderBackground",{dark:Qe,light:Qe,hcDark:null,hcLight:null},(0,v.kg)(1945,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("merge.currentContentBackground",(0,x.JO)(Ue,Ee),(0,v.kg)(1946,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const $e=(0,x.x1)("merge.incomingHeaderBackground",{dark:je,light:je,hcDark:null,hcLight:null},(0,v.kg)(1947,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("merge.incomingContentBackground",(0,x.JO)($e,Ee),(0,v.kg)(1948,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Ye=(0,x.x1)("merge.commonHeaderBackground",{dark:ae,light:ae,hcDark:null,hcLight:null},(0,v.kg)(1949,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);(0,x.x1)("merge.commonContentBackground",(0,x.JO)(Ye,Ee),(0,v.kg)(1950,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Ce=(0,x.x1)("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},(0,v.kg)(1951,"Border color on headers and the splitter in inline merge-conflicts."));(0,x.x1)("editorOverviewRuler.currentContentForeground",{dark:(0,x.JO)(Ue,Ie),light:(0,x.JO)(Ue,Ie),hcDark:Ce,hcLight:Ce},(0,v.kg)(1952,"Current overview ruler foreground for inline merge-conflicts.")),(0,x.x1)("editorOverviewRuler.incomingContentForeground",{dark:(0,x.JO)($e,Ie),light:(0,x.JO)($e,Ie),hcDark:Ce,hcLight:Ce},(0,v.kg)(1953,"Incoming overview ruler foreground for inline merge-conflicts.")),(0,x.x1)("editorOverviewRuler.commonContentForeground",{dark:(0,x.JO)(Ye,Ie),light:(0,x.JO)(Ye,Ie),hcDark:Ce,hcLight:Ce},(0,v.kg)(1954,"Common ancestor overview ruler foreground for inline merge-conflicts."));const He=(0,x.x1)("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},(0,v.kg)(1955,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),Ke=(0,x.x1)("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",(0,v.kg)(1956,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),qe=(0,x.x1)("problemsErrorIcon.foreground",u,(0,v.kg)(1957,"The color used for the problems error icon.")),ht=(0,x.x1)("problemsWarningIcon.foreground",d,(0,v.kg)(1958,"The color used for the problems warning icon.")),Te=(0,x.x1)("problemsInfoIcon.foreground",o,(0,v.kg)(1959,"The color used for the problems info icon."))},74403:(St,We,e)=>{e.d(We,{f:()=>x});var v=e(83958),R=e(18019);function x(T,y,A,g,L,b){if(Array.isArray(T)){let C=0;for(const u of T){const i=x(u,y,A,g,L,b);if(i===10)return i;i>C&&(C=i)}return C}else{if(typeof T=="string")return g?T==="*"?5:T===A?10:0:0;if(T){const{language:C,pattern:u,scheme:i,hasAccessToAllModels:r,notebookType:d}=T;if(!g&&!r)return 0;d&&L&&(y=L);let l=0;if(i)if(i===y.scheme)l=10;else if(i==="*")l=5;else return 0;if(C)if(C===A)l=10;else if(C==="*")l=Math.max(l,5);else return 0;if(d)if(d===b)l=10;else if(d==="*"&&b!==void 0)l=Math.max(l,5);else return 0;if(u){let o;if(typeof u=="string"?o=u:o={...u,base:(0,R.S8)(u.base)},o===y.fsPath||(0,v.YW)(o,y.fsPath))l=10;else return 0}return l}else return 0}}},74550:(St,We,e)=>{e.d(We,{_q:()=>x,ew:()=>v,xC:()=>R});class v{constructor(A,g){this.width=A,this.height=g,this.array=[],this.array=new Array(A*g)}get(A,g){return this.array[A+g*this.width]}set(A,g,L){this.array[A+g*this.width]=L}}function R(y){return y===32||y===9}const T=class T{static getKey(A){let g=this.chrKeys.get(A);return g===void 0&&(g=this.chrKeys.size,this.chrKeys.set(A,g)),g}constructor(A,g,L){this.range=A,this.lines=g,this.source=L,this.histogram=[];let b=0;for(let C=A.startLineNumber-1;C<A.endLineNumberExclusive-1;C++){const u=g[C];for(let r=0;r<u.length;r++){b++;const d=u[r],l=T.getKey(d);this.histogram[l]=(this.histogram[l]||0)+1}b++;const i=T.getKey(`
789`);this.histogram[i]=(this.histogram[i]||0)+1}this.totalCount=b}computeSimilarity(A){let g=0;const L=Math.max(this.histogram.length,A.histogram.length);for(let b=0;b<L;b++)g+=Math.abs((this.histogram[b]??0)-(A.histogram[b]??0));return 1-g/(this.totalCount+A.totalCount)}};T.chrKeys=new Map;let x=T},74707:(St,We,e)=>{var v=e(3765),R=e(87676),x=e(18382),T=e(73858);(0,R.x1)("search.resultsInfoForeground",{light:x.CU,dark:(0,R.JO)(x.CU,.65),hcDark:x.CU,hcLight:x.CU},(0,v.kg)(2088,"Color of the text in the search viewlet's completion message.")),(0,R.x1)("searchEditor.findMatchBackgroun
789d",{light:(0,R.JO)(T.Ub,.66),dark:(0,R.JO)(T.Ub,.66),hcDark:T.Ub,hcLight:T.Ub},(0,v.kg)(2089,"Color of the Search Editor query matches.")),(0,R.x1)("searchEditor.findMatchBorder",{light:(0,R.JO)(T.EC,.66),dark:(0,R.JO)(T.EC,.66),hcDark:T.EC,hcLight:T.EC},(0,v.kg)(2090,"Border color of the Search Editor query matches."))},74984:(St,We,e)=>{var de;var v=e(44385),R=e(65958),x=e(68387),T=e(10998),y=e(50946),A=e(27064),g=e(28061),L=e(93702),b=e(38122),C=e(72270),u=e(3765),i=e(58067),r=e(31540),d=e(29849),l=e(4647),o=e(82399),c=function(le,he,we,xe){var Be=arguments.length,M=Be<3?he:xe===null?xe=Object.getOwnPropertyDescriptor(he,we):xe,Ve;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")M=Reflect.decorate(le,he,we,xe);else for(var Me=le.length-1;Me>=0;Me--)(Ve=le[Me])&&(M=(Be<3?Ve(M):Be>3?Ve(he,we,M):Ve(he,we))||M);return Be>3&&M&&Object.defineProperty(he,we,M),M},a=function(le,he){return function(we,xe){he(we,xe,le)}},p;function _(le,he){const we=he.filter(xe=>!le.find(Be=>Be.equals(xe)));if(we.length>=1){const xe=we.map(M=>`line ${M.viewState.position.lineNumber} column ${M.viewState.position.column}`).join(", "),Be=we.length===1?(0,u.kg)(1334,"Cursor added: {0}",xe):(0,u.kg)(1335,"Cursors added: {0}",xe);(0,v.h5)(Be)}}class E extends y.ks{constructor(){super({id:"editor.action.insertCursorAbove",label:(0,u.aS)(1344,"Add Cursor Above"),precondition:void 0,kbOpts:{kbExpr:b.R.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1336,"&&Add Cursor Above"),order:2}})}run(he,we,xe){if(!we.hasModel())return;let Be=!0;xe&&xe.logicalLine===!1&&(Be=!1);const M=we._getViewModel();if(M.cursorConfig.readOnly)return;M.model.pushStackElement();const Ve=M.getCursorStates();M.setCursorStates(xe.source,3,A.c.addCursorUp(M,Ve,Be)),M.revealTopMostCursor(xe.source),_(Ve,M.getCursorStates())}}class S extends y.ks{constructor(){super({id:"editor.action.insertCursorBelow",label:(0,u.aS)(1345,"Add Cursor Below"),precondition:void 0,kbOpts:{kbExpr:b.R.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1337,"A&&dd Cursor Below"),order:3}})}run(he,we,xe){if(!we.hasModel())return;let Be=!0;xe&&xe.logicalLine===!1&&(Be=!1);const M=we._getViewModel();if(M.cursorConfig.readOnly)return;M.model.pushStackElement();const Ve=M.getCursorStates();M.setCursorStates(xe.source,3,A.c.addCursorDown(M,Ve,Be)),M.revealBottomMostCursor(xe.source),_(Ve,M.getCursorStates())}}class h extends y.ks{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:(0,u.aS)(1346,"Add Cursors to Line Ends"),precondition:void 0,kbOpts:{kbExpr:b.R.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1338,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(he,we,xe){if(!he.isEmpty()){for(let Be=he.startLineNumber;Be<he.endLineNumber;Be++){const M=we.getLineMaxColumn(Be);xe.push(new L.L(Be,M,Be,M))}he.endColumn>1&&xe.push(new L.L(he.endLineNumber,he.endColumn,he.endLineNumber,he.endColumn))}}run(he,we){if(!we.hasModel())return;const xe=we.getModel(),Be=we.getSelections(),M=we._getViewModel(),Ve=M.getCursorStates(),Me=[];Be.forEach(Le=>this.getCursorsForSelection(Le,xe,Me)),Me.length>0&&we.setSelections(Me),_(Ve,M.getCursorStates())}}class D extends y.ks{constructor(){super({id:"editor.action.addCursorsToBottom",label:(0,u.aS)(1347,"Add Cursors to Bottom"),precondition:void 0})}run(he,we){if(!we.hasModel())return;const xe=we.getSelections(),Be=we.getModel().getLineCount(),M=[];for(let Le=xe[0].startLineNumber;Le<=Be;Le++)M.push(new L.L(Le,xe[0].startColumn,Le,xe[0].endColumn));const Ve=we._getViewModel(),Me=Ve.getCursorStates();M.length>0&&we.setSelections(M),_(Me,Ve.getCursorStates())}}class k extends y.ks{constructor(){super({id:"editor.action.addCursorsToTop",label:(0,u.aS)(1348,"Add Cursors to Top"),precondition:void 0})}run(he,we){if(!we.hasModel())return;const xe=we.getSelections(),Be=[];for(let Me=xe[0].startLineNumber;Me>=1;Me--)Be.push(new L.L(Me,xe[0].startColumn,Me,xe[0].endColumn));const M=we._getViewModel(),Ve=M.getCursorStates();Be.length>0&&we.setSelections(Be),_(Ve,M.getCursorStates())}}class N{constructor(he,we,xe){this.selections=he,this.revealRange=we,this.revealScrollType=xe}}
789class W{static create(he,we){if(!he.hasModel())return null;const xe=we.getState();if(!he.hasTextFocus()&&xe.isRevealed&&xe.searchString.length>0)return new W(he,we,!1,xe.searchString,xe.wholeWord,xe.matchCase,null);let Be=!1,M,Ve;const Me=he.getSelections();Me.length===1&&Me[0].isEmpty()?(Be=!0,M=!0,Ve=!0):(M=xe.wholeWord,Ve=xe.matchCase);const Le=he.getSelection();let _e,Qe=null;if(Le.isEmpty()){const je=he.getConfiguredWordAtPosition(Le.getStartPosition());if(!je)return null;_e=je.word,Qe=new L.L(Le.startLineNumber,je.startColumn,Le.startLineNumber,je.endColumn)}else _e=he.getModel().getValueInRange(Le).replace(/\r\n/g,`
790`);return new W(he,we,Be,_e,M,Ve,Qe)}constructor(he,we,xe,Be,M,Ve,Me){this._editor=he,this.findController=we,this.isDisconnectedFromFindController=xe,this.searchText=Be,this.wholeWord=M,this.matchCase=Ve,this.currentMatch=Me}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const he=this._getNextMatch();if(!he)return null;const we=this._editor.getSelections();return new N(we.concat(he),he,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const he=this._getNextMatch();if(!he)return null;const we=this._editor.getSelections();return new N(we.slice(0,we.length-1).concat(he),he,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Be=this.currentMatch;return this.currentMatch=null,Be}this.findController.highlightFindOptions();const he=this._editor.getSelections(),we=he[he.length-1],xe=this._editor.getModel().findNextMatch(this.searchText,we.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return xe?new L.L(xe.range.startLineNumber,xe.range.startColumn,xe.range.endLineNumber,xe.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const he=this._getPreviousMatch();if(!he)return null;const we=this._editor.getSelections();return new N(we.concat(he),he,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const he=this._getPreviousMatch();if(!he)return null;const we=this._editor.getSelections();return new N(we.slice(0,we.length-1).concat(he),he,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const Be=this.currentMatch;return this.currentMatch=null,Be}this.findController.highlightFindOptions();const he=this._editor.getSelections(),we=he[he.length-1],xe=this._editor.getModel().findPreviousMatch(this.searchText,we.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1);return xe?new L.L(xe.range.startLineNumber,xe.range.startColumn,xe.range.endLineNumber,xe.range.endColumn):null}selectAll(he){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const we=this._editor.getModel();return he?we.findMatches(this.searchText,he,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824):we.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(148):null,!1,1073741824)}}const re=class re extends T.jG{static get(he){return he.getContribution(re.ID)}constructor(he){super(),this._sessionDispose=this._register(new T.Cm),this._editor=he,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(he){if(!this._session){const we=W.create(this._editor,he);if(!we)return;this._session=we;const xe={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(xe.wholeWordOverride=1,xe.matchCaseOverride=1,xe.isRegexOverride=2),he.getState().change(xe,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(Be=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(he.getState().onFindReplaceStateChange(Be=>{(Be.matchCase||Be.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const he={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(he,!1)}this._session=null}_setSelections(he){this._ignoreSelectionChange=!0,this._editor.setSelections(he),this._ignoreSelectionChange=!1}_expandEmptyToWord(he,we){if(!we.isEmpty())return we;const xe=this._editor.getConfiguredWordAtPosition(we.getStartPosition());return xe?new L.L(we.startLineNumber,xe.startColumn,we.startLineNumber,xe.endColumn):we}_applySessionResult(he){he&&(this._setSelections(he.selections),he.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(he.revealRange,he.revealScrollType))}getSession(he){return this._session}addSelectionToNextFindMatch(he){if(this._editor.hasModel()){if(!this._session){const we=this._editor.getSelections();if(we.length>1){const Be=he.getState().matchCase;if(!Y(this._editor.getModel(),we,Be)){const Ve=this._editor.getModel(),Me=[];for(let Le=0,_e=we.length;Le<_e;Le++)Me[Le]=this._expandEmptyToWord(Ve,we[Le]);this._editor.setSelections(Me);return}}}this._beginSessionIfNeeded(he),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())}}addSelectionToPreviousFindMatch(he){this._beginSessionIfNeeded(he),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())}moveSelectionToNextFindMatch(he){this._beginSessionIfNeeded(he),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())}moveSelectionToPreviousFindMatch(he){this._beginSessionIfNeeded(he),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())}selectAll(he){if(!this._editor.hasModel())return;let we=null;const xe=he.getState();if(xe.isRevealed&&xe.searchString.length>0&&xe.isRegex){const Be=this._editor.getModel();xe.searchScope?we=Be.findMatches(xe.searchString,xe.searchScope,xe.isRegex,xe.matchCase,xe.wholeWord?this._editor.getOption(148):null,!1,1073741824):we=Be.findMatches(xe.searchString,!0,xe.isRegex,xe.matchCase,xe.wholeWord?this._editor.getOption(148):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(he),!this._session)return;we=this._session.selectAll(xe.searchScope)}if(we.length>0){const Be=this._editor.getSelection();for(let M=0,Ve=we.length;M<Ve;M++){const Me=we[M];if(Me.range.intersectRanges(Be)){we[M]=we[0],we[0]=Me;break}}this._setSelections(we.map(M=>new L.L(M.range.startLineNumber,M.range.startColumn,M.range.endLineNumber,M.range.endColumn)))}}};re.ID="editor.contrib.multiCursorController";let U=re;class $ extends y.ks{run(he,we){const xe=U.get(we);if(!xe)return;const Be=we._getViewModel();if(Be){const M=Be.getCursorStates(),Ve=C.z0.get(we);if(Ve)this._run(xe,Ve);else{const Me=he.get(o._Y).createInstance(C.z0,we);this._run(xe,Me),Me.dispose()}_(M,Be.getCursorStates())}}}class te extends ${constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:(0,u.aS)(1349,"Add Selection to Next Find Match"),prec
790ondition:void 0,kbOpts:{kbExpr:b.R.focus,primary:2082,weight:100},menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1339,"Add &&Next Occurrence"),order:5}})}_run(he,we){he.addSelectionToNextFindMatch(we)}}class ne extends ${constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:(0,u.aS)(1350,"Add Selection to Previous Find Match"),precondition:void 0,menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1340,"Add P&&revious Occurrence"),order:6}})}_run(he,we){he.addSelectionToPreviousFindMatch(we)}}class V extends ${constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:(0,u.aS)(1351,"Move Last Selection to Next Find Match"),precondition:void 0,kbOpts:{kbExpr:b.R.focus,primary:(0,x.m5)(2089,2082),weight:100}})}_run(he,we){he.moveSelectionToNextFindMatch(we)}}class I extends ${constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:(0,u.aS)(1352,"Move Last Selection to Previous Find Match"),precondition:void 0})}_run(he,we){he.moveSelectionToPreviousFindMatch(we)}}class H extends ${constructor(){super({id:"editor.action.selectHighlights",label:(0,u.aS)(1353,"Select All Occurrences of Find Match"),precondition:void 0,kbOpts:{kbExpr:b.R.focus,primary:3114,weight:100},menuOpts:{menuId:i.D8.MenubarSelectionMenu,group:"3_multi",title:(0,u.kg)(1341,"Select All &&Occurrences"),order:7}})}_run(he,we){he.selectAll(we)}}class Z extends ${constructor(){super({id:"editor.action.changeAll",label:(0,u.aS)(1354,"Change All Occurrences"),precondition:r.M$.and(b.R.writable,b.R.editorTextFocus),kbOpts:{kbExpr:b.R.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(he,we){he.selectAll(we)}}class X{constructor(he,we,xe,Be,M){this._model=he,this._searchText=we,this._matchCase=xe,this._wordSeparators=Be,this._cachedFindMatches=null,this._modelVersionId=this._model.getVersionId(),M&&this._model===M._model&&this._searchText===M._searchText&&this._matchCase===M._matchCase&&this._wordSeparators===M._wordSeparators&&this._modelVersionId===M._modelVersionId&&(this._cachedFindMatches=M._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(he=>he.range),this._cachedFindMatches.sort(g.Q.compareRangesUsingStarts)),this._cachedFindMatches}}let G=(de=class extends T.jG{constructor(he,we){super(),this._languageFeaturesService=we,this.editor=he,this._isEnabled=he.getOption(122),this._isEnabledMultiline=he.getOption(124),this._maxLength=he.getOption(123),this._decorations=he.createDecorationsCollection(),this.updateSoon=this._register(new R.uC(()=>this._update(),300)),this.state=null,this._register(he.onDidChangeConfiguration(Be=>{this._isEnabled=he.getOption(122),this._isEnabledMultiline=he.getOption(124),this._maxLength=he.getOption(123)})),this._register(he.onDidChangeCursorSelection(Be=>{this._isEnabled&&(Be.selection.isEmpty()?Be.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(he.onDidChangeModel(Be=>{this._setState(null)})),this._register(he.onDidChangeModelContent(Be=>{this._isEnabled&&this.updateSoon.schedule()}));const xe=C.z0.get(he);xe&&this._register(xe.getState().onFindReplaceStateChange(Be=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(p._createState(this.state,this._isEnabled,this._isEnabledMultiline,this._maxLength,this.editor))}static _createState(he,we,xe,Be,M){if(!we||!M.hasModel())return null;if(!xe){const je=M.getSelection();if(je.startLineNumber!==je.endLineNumber)return null}const Ve=U.get(M);if(!Ve)return null;const Me=C.z0.get(M);if(!Me)return null;let Le=Ve.getSession(Me);if(!Le){const je=M.getSelections();if(je.length>1){const Ee=Me.getState().matchCase;if(!Y(M.getModel(),je,Ee))return null}Le=W.create(M,Me)}if(!Le||Le.currentMatch||/^[ \t]+$/.test(Le.searchText)||Be>0&&Le.searchText.length>Be)return null;const _e=Me.getState(),Qe=_e.matchCase;if(_e.isRevealed){let je=_e.searchString;Qe||(je=je.toLowerCase());let ae=Le.searchText;if(Qe||(ae=ae.toLowerCase()),je===ae&&Le.matchCase===_e.matchCase&&Le.wholeWord===_e.wholeWord&&!_e.isRegex)return null}return new X(M.getModel(),Le.searchText,Le.matchCase,Le.wholeWord?M.getOption(148):null,he)}_setState(he){if(this.state=he,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const we=this.editor.getModel();if(we.isTooLargeForTokenization())return;const xe=this.state.findMatches(),Be=this.editor.getSelections();
790Be.sort(g.Q.compareRangesUsingStarts);const M=[];for(let _e=0,Qe=0,je=xe.length,ae=Be.length;_e<je;){const Ee=xe[_e];if(Qe>=ae)M.push(Ee),_e++;else{const Ie=g.Q.compareRangesUsingStarts(Ee,Be[Qe]);Ie<0?((Be[Qe].isEmpty()||!g.Q.areIntersecting(Ee,Be[Qe]))&&M.push(Ee),_e++):(Ie>0||_e++,Qe++)}}const Ve=this.editor.getOption(90)!=="off",Me=this._languageFeaturesService.documentHighlightProvider.has(we)&&Ve,Le=M.map(_e=>({range:_e,options:(0,l.v)(Me)}));this._decorations.set(Le)}dispose(){this._setState(null),super.dispose()}},p=de,de.ID="editor.contrib.selectionHighlighter",de);G=p=c([a(1,d.u)],G);function Y(le,he,we){const xe=j(le,he[0],!we);for(let Be=1,M=he.length;Be<M;Be++){const Ve=he[Be];if(Ve.isEmpty())return!1;const Me=j(le,Ve,!we);if(xe!==Me)return!1}return!0}function j(le,he,we){const xe=le.getValueInRange(he);return we?xe.toLowerCase():xe}class z extends y.ks{constructor(){super({id:"editor.action.focusNextCursor",label:(0,u.aS)(1355,"Focus Next Cursor"),metadata:{description:(0,u.kg)(1342,"Focuses the next cursor"),args:[]},precondition:void 0})}run(he,we,xe){if(!we.hasModel())return;const Be=we._getViewModel();if(Be.cursorConfig.readOnly)return;Be.model.pushStackElement();const M=Array.from(Be.getCursorStates()),Ve=M.shift();Ve&&(M.push(Ve),Be.setCursorStates(xe.source,3,M),Be.revealPrimaryCursor(xe.source,!0),_(M,Be.getCursorStates()))}}class ie extends y.ks{constructor(){super({id:"editor.action.focusPreviousCursor",label:(0,u.aS)(1356,"Focus Previous Cursor"),metadata:{description:(0,u.kg)(1343,"Focuses the previous cursor"),args:[]},precondition:void 0})}run(he,we,xe){if(!we.hasModel())return;const Be=we._getViewModel();if(Be.cursorConfig.readOnly)return;Be.model.pushStackElement();const M=Array.from(Be.getCursorStates()),Ve=M.pop();Ve&&(M.unshift(Ve),Be.setCursorStates(xe.source,3,M),Be.revealPrimaryCursor(xe.source,!0),_(M,Be.getCursorStates()))}}(0,y.HW)(U.ID,U,4),(0,y.HW)(G.ID,G,1),(0,y.Fl)(E),(0,y.Fl)(S),(0,y.Fl)(h),(0,y.Fl)(te),(0,y.Fl)(ne),(0,y.Fl)(V),(0,y.Fl)(I),(0,y.Fl)(H),(0,y.Fl)(Z),(0,y.Fl)(D),(0,y.Fl)(k),(0,y.Fl)(z),(0,y.Fl)(ie)},75090:(St,We,e)=>{e.d(We,{$8:()=>y,SL:()=>T,_3:()=>A,aY:()=>L,uY:()=>g});var v=e(13338),R=e(94327),x=e(77011);class T{static trivial(i,r){return new T([new y(x.L.ofLength(i.length),x.L.ofLength(r.length))],!1)}static trivialTimedOut(i,r){return new T([new y(x.L.ofLength(i.length),x.L.ofLength(r.length))],!0)}constructor(i,r){this.diffs=i,this.hitTimeout=r}}class y{static invert(i,r){const d=[];return(0,v.pN)(i,(l,o)=>{d.push(y.fromOffsetPairs(l?l.getEndExclusives():A.zero,o?o.getStarts():new A(r,(l?l.seq2Range.endExclusive-l.seq1Range.endExclusive:0)+r)))}),d}static fromOffsetPairs(i,r){return new y(new x.L(i.offset1,r.offset1),new x.L(i.offset2,r.offset2))}static assertSorted(i){let r;for(const d of i){if(r&&!(r.seq1Range.endExclusive<=d.seq1Range.start&&r.seq2Range.endExclusive<=d.seq2Range.start))throw new R.D7("Sequence diffs must be sorted");r=d}}constructor(i,r){this.seq1Range=i,this.seq2Range=r}swap(){return new y(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(i){return new y(this.seq1Range.join(i.seq1Range),this.seq2Range.join(i.seq2Range))}delta(i){return i===0?this:new y(this.seq1Range.delta(i),this.seq2Range.delta(i))}deltaStart(i){return i===0?this:new y(this.seq1Range.deltaStart(i),this.seq2Range.deltaStart(i))}deltaEnd(i){return i===0?this:new y(this.seq1Range.deltaEnd(i),this.seq2Range.deltaEnd(i))}intersect(i){const r=this.seq1Range.intersect(i.seq1Range),d=this.seq2Range.intersect(i.seq2Range);if(!(!r||!d))return new y(r,d)}getStarts(){return new A(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new A(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}const b=class b{constructor(i,r){this.offset1=i,this.offset2=r}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(i){return i===0?this:new b(this.offset1+i,this.offset2+i)}equals(i){return this.offset1===i.offset1&&this.offset2===i.offset2}};b.zero=new b(0,0),b.max=new b(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);let A=b;const C=class C{isValid(){return!0}};C.instance=new C;let g=C;class L{constructor(i){if(this.timeout=i,this.startTime=Date.now(),this.valid=!0,i<=0)throw new R.D7("timeout must be positive")}isValid(){return!(Date.now()-this.startTime<this.timeout)&&this.valid&&(this.valid=!1),this.valid}}},75368:(St,We,e)=>{var _;var v=e(14333),R=e(23473),x=e(27969),T=e(10998),y=e(63339),A=e(50946),g=e(38122),L=e(3765),b=e(58067),C=e(31540),u=e(52348),i=e(56071),r=e(85753),d=e(26851),l=function(E,S,h,D){var k=arguments.length,N=k<3?S:D===null?D=Object.getOwnPropertyDescriptor(S,h):D,W;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")N=Reflect.decorate(E,S,h,D);else for(var U=E.length-1;U>=0;U--)(W=E[U])&&(N=(k<3?W(N):k>3?W(S,h,N):W(S,h))||N);return k>3&&N&&Object.defineProperty(S,h,N),N},o=function(E,S){return function(h,D){S(h,D,E)}},c;let a=(_=class{static get(S){return S.getContribution(c.ID)}constructor(S,h,D,k,N,W,U,$){this._contextMenuService=h,this._contextViewService=D,this._contextKeyService=k,this._keybindingService=N,this._menuService=W,this._configurationService=U,this._workspaceContextService=$,this._toDispose=new T.Cm,this._contextMenuIsBeingShownCount=0,this._editor=S,this._toDispose.add(this._editor.onContextMenu(te=>this._onContextMenu(te))),this._toDispose.add(this._editor.onMouseWheel(te=>{if(this._contextMenuIsBeingShownCount>0){const ne=this._contextViewService.getContextViewElement(),V=te.srcElement;V.shadowRoot&&(0,v.jG)(ne)===V.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(te=>{this._editor.getOption(30)&&te.keyCode===58&&(te.preventDefault(),te.stopPropagation(),this.showContextMenu())}))}_onContextMenu(S){if(!this._editor.hasModel())return;
790if(!this._editor.getOption(30)){this._editor.focus(),S.target.position&&!this._editor.getSelection().containsPosition(S.target.position)&&this._editor.setPosition(S.target.position);return}if(S.target.type===12||S.target.type===6&&S.target.detail.injectedText)return;if(S.event.preventDefault(),S.event.stopPropagation(),S.target.type===11)return this._showScrollbarContextMenu(S.event);if(S.target.type!==6&&S.target.type!==7&&S.target.type!==1)return;if(this._editor.focus(),S.target.position){let D=!1;for(const k of this._editor.getSelections())if(k.containsPosition(S.target.position)){D=!0;break}D||this._editor.setPosition(S.target.position)}let h=null;S.target.type!==1&&(h=S.event),this.showContextMenu(h)}showContextMenu(S){if(!this._editor.getOption(30)||!this._editor.hasModel())return;const h=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);h.length>0&&this._doShowContextMenu(h,S)}_getMenuActions(S,h){const D=[],k=this._menuService.getMenuActions(h,this._contextKeyService,{arg:S.uri});for(const N of k){const[,W]=N;let U=0;for(const $ of W)if($ instanceof b.nI){const te=this._getMenuActions(S,$.item.submenu);te.length>0&&(D.push(new x.YH($.id,$.label,te)),U++)}else D.push($),U++;U&&D.push(new x.wv)}return D.length&&D.pop(),D}_doShowContextMenu(S,h=null){if(!this._editor.hasModel())return;let D=h;if(!D){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const N=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),W=(0,v.BK)(this._editor.getDomNode()),U=W.left+N.left,$=W.top+N.top+N.height;D={x:U,y:$}}const k=this._editor.getOption(144)&&!y.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:k?this._editor.getOverflowWidgetsDomNode()??this._editor.getDomNode():void 0,getAnchor:()=>D,getActions:()=>S,getActionViewItem:N=>{const W=this._keybindingFor(N);if(W)return new R.Z4(N,N,{label:!0,keybinding:W.getLabel(),isMenu:!0});const U=N;return typeof U.getActionViewItem=="function"?U.getActionViewItem():new R.Z4(N,N,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:N=>this._keybindingFor(N),onHide:N=>{this._contextMenuIsBeingShownCount--}})}_showScrollbarContextMenu(S){if(!this._editor.hasModel()||(0,d.ct)(this._workspaceContextService.getWorkspace()))return;const h=this._editor.getOption(81);let D=0;const k=te=>({id:`menu-action-${++D}`,label:te.label,tooltip:"",class:void 0,enabled:typeof te.enabled>"u"?!0:te.enabled,checked:te.checked,run:te.run}),N=(te,ne)=>new x.YH(`menu-action-${++D}`,te,ne,void 0),W=(te,ne,V,I,H)=>{if(!ne)return k({label:te,enabled:ne,run:()=>{}});const Z=G=>()=>{this._configurationService.updateValue(V,G)},X=[];for(const G of H)X.push(k({label:G.label,checked:I===G.value,run:Z(G.value)}));return N(te,X)},U=[];U.push(k({label:(0,L.kg)(937,"Minimap"),checked:h.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!h.enabled)}})),U.push(new x.wv),U.push(k({label:(0,L.kg)(938,"Render Characters"),enabled:h.enabled,checked:h.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!h.renderCharacters)}})),U.push(W((0,L.kg)(939,"Vertical size"),h.enabled,"editor.minimap.size",h.size,[{label:(0,L.kg)(940,"Proportional"),value:"proportional"},{label:(0,L.kg)(941,"Fill"),value:"fill"},{label:(0,L.kg)(942,"Fit"),value:"fit"}])),U.push(W((0,L.kg)(943,"Slider"),h.enabled,"editor.minimap.showSlider",h.showSlider,[{label:(0,L.kg)(944,"Mouse Over"),value:"mouseover"},{label:(0,L.kg)(945,"Always"),value:"always"}])),U.push(W((0,L.kg)(946,"Side"),h.enabled,"editor.minimap.side",h.side,[{label:(0,L.kg)(947,"Right"),value:"right"},{label:(0,L.kg)(948,"Left"),value:"left"}]));const $=this._editor.getOption(144)&&!y.un;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:$?this._editor.getDomNode():void 0,getAnchor:()=>S,getActions:()=>U,onHide:te=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(S){return this._keybindingService.lookupKeybinding(S.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},c=_,_.ID="editor.contrib.contextmenu",_);a=c=l([o(1,u.Z),o(2,u.l),o(3,C.fN),o(4,i.b),o(5,b.ez),o(6,r.pG),o(7,d.VR)],a);class p extends A.ks{constructor(){super({id:"editor.action.showContextMenu",label:(0,L.aS)(949,"Show Editor Context Menu"),precondition:void 0,kbOpts:{kbExpr:g.R.textInputFocus,primary:1092,weight:100}})}run(S,h){a.get(h)?.showContextMenu()}}(0,A.HW)(a.ID,a,2),(0,A.Fl)(p)},75520:(St,We,e)=>{e.d(We,{m:()=>k});var v=e(14333),R=e(93557),x=e(34061);function T(N,W,U){const $=U??document.createElement("div");return $.textContent=N,$}function y(N,W,U){const $=U??document.createElement("div");return $.textContent="",g($,L(N),W?.actionHandler,W?.renderCodeSegments),$}class A{constructor(W){this.source=W,this.index=0}eos(){return this.index>=this.source.length}
790next(){const W=this.peek();return this.advance(),W}peek(){return this.source[this.index]}advance(){this.index++}}function g(N,W,U,$){let te;if(W.type===2)te=document.createTextNode(W.content||"");else if(W.type===3)te=document.createElement("b");else if(W.type===4)te=document.createElement("i");else if(W.type===7&&$)te=document.createElement("code");else if(W.type===5&&U){const ne=document.createElement("a");U.disposables.add((0,v.un)(ne,"click",V=>{U.callback(String(W.index),V)})),te=ne}else W.type===8?te=document.createElement("br"):W.type===1&&(te=N);te&&N!==te&&N.appendChild(te),te&&Array.isArray(W.children)&&W.children.forEach(ne=>{g(te,ne,U,$)})}function L(N,W){const U={type:1,children:[]};let $=0,te=U;const ne=[],V=new A(N);for(;!V.eos();){let I=V.next();const H=I==="\\"&&C(V.peek())!==0;if(H&&(I=V.next()),!H&&b(I)&&I===V.peek()){V.advance(),te.type===2&&(te=ne.pop());const Z=C(I);if(te.type===Z||te.type===5&&Z===6)te=ne.pop();else{const X={type:Z,children:[]};Z===5&&(X.index=$,$++),te.children.push(X),ne.push(te),te=X}}else if(I===`
791`)te.type===2&&(te=ne.pop()),te.children.push({type:8});else if(te.type!==2){const Z={type:2,content:I};te.children.push(Z),ne.push(te),te=Z}else te.content+=I}return te.type===2&&(te=ne.pop()),U}function b(N,W){return C(N)!==0}function C(N,W){switch(N){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return 0;default:return 0}}var u=e(77439),i=e(44385),r=e(20396),d=e(16831),l=e(45222),o=e(2106);class c{constructor(W,U=0,$=W.length,te=U-1){this.items=W,this.start=U,this.end=$,this.index=te}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class a{constructor(W=new Set,U=10){this._history=W,this._limit=U,this._onChange(),this._history.onDidChange&&(this._disposable=this._history.onDidChange(()=>this._onChange()))}getHistory(){return this._elements}add(W){this._history.delete(W),this._history.add(W),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(W){return this._history.has(W)}_onChange(){this._reduceToLimit();const W=this._elements;this._navigator=new c(W,0,W.length,W.length)}_reduceToLimit(){const W=this._elements;if(W.length>this._limit){const U=W.slice(W.length-this._limit);this._history.replace?this._history.replace(U):this._history=new Set(U)}}_currentPosition(){const W=this._navigator.current();return W?this._elements.indexOf(W):-1}get _elements(){const W=[];
791return this._history.forEach(U=>W.push(U)),W}dispose(){this._disposable&&(this._disposable.dispose(),this._disposable=void 0)}}var p=e(71386),_=e(7130),E=e(3765),S=e(10998);const h=v.$;class D extends l.x{get onDidChange(){return this._onDidChange.event}get onDidHeightChange(){return this._onDidHeightChange.event}constructor(W,U,$){super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this.hover=this._register(new S.HE),this._onDidChange=this._register(new o.vl),this._onDidHeightChange=this._register(new o.vl),this.contextViewProvider=U,this.options=$,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=this.options.tooltip??(this.placeholder||""),this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=(0,v.BC)(W,h(".monaco-inputbox.idle"));const te=this.options.flexibleHeight?"textarea":"input",ne=(0,v.BC)(this.element,h(".ibwrapper"));if(this.input=(0,v.BC)(ne,h(te+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=(0,v.BC)(ne,h("div.mirror")),this.mirror.innerText="\xA0",this.scrollableElement=new d.Se(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),(0,v.BC)(W,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(H=>this.input.scrollTop=H.scrollTop));const V=this._register(new x.f(W.ownerDocument,"selectionchange")),I=o.Jh.filter(V.event,()=>W.ownerDocument.getSelection()?.anchorNode===ne);this._register(I(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new u.E(this.element,{actionViewItemProvider:this.options.actionViewItemProvider})),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}setActions(W,U){this.actionbar?(this.actionbar.clear(),W&&this.actionbar.push(W,{icon:!0,label:!1})):W&&(this.actionbar=this._register(new u.E(this.element,{actionViewItemProvider:U??this.options.actionViewItemProvider})),this.actionbar.push(W,{icon:!0,label:!1}))}get actionsWidth(){return this.actionbar?.getContainer().offsetWidth??0}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(W){this.placeholder=W,this.input.setAttribute("placeholder",W)}setTooltip(W){this.tooltip=W,this.hover.value||(this.hover.value=this._register((0,r.i)().setupDelayedHoverAtMouse(this.input,()=>({content:this.tooltip,appearance:{compact:!0}}))))}setAriaLabel(W){this.ariaLabel=W,W?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label")}get inputElement(){return this.input}get value(){return this.input.value}set value(W){this.input.value!==W&&(this.input.value=W,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:(0,v.OK)(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return(0,v.X7)(this.input)}select(W=null){this.input.select(),W&&(this.input.setSelectionRange(W.start,W.end),W.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){const W=this.input.selectionStart;if(W===null)return null;const U=this.input.selectionEnd??W;return{start:W,end:U}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(W){this.input.style.width=`calc(100% - ${W}px)`,this.mirror&&(this.mirror.style.paddingRight=W+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const W=this.cachedContentHeight,U=this.cachedHeight,$=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:W,height:U}),this.scrollableElement.setScrollPosition({scrollTop:$})}
791showMessage(W,U){if(this.state==="open"&&(0,p.aI)(this.message,W))return;this.message=W,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(W.type));const $=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${(0,R.gI)($.border,"transparent")}`,this.message.content&&(this.hasFocus()||U)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let W=null;return this.validation&&(W=this.validation(this.value),W?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(W)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),W?.type}stylesForType(W){const U=this.options.inputBoxStyles;switch(W){case 1:return{border:U.inputValidationInfoBorder,background:U.inputValidationInfoBackground,foreground:U.inputValidationInfoForeground};case 2:return{border:U.inputValidationWarningBorder,background:U.inputValidationWarningBackground,foreground:U.inputValidationWarningForeground};default:return{border:U.inputValidationErrorBorder,background:U.inputValidationErrorBackground,foreground:U.inputValidationErrorForeground}}}classForType(W){switch(W){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let W;const U=()=>W.style.width=(0,v.Tr)(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:te=>{if(!this.message)return null;W=(0,v.BC)(te,h(".monaco-inputbox-container")),U();const ne=h("span.monaco-inputbox-message");this.message.formatContent?y(this.message.content,void 0,ne):T(this.message.content,void 0,ne),ne.classList.add(this.classForType(this.message.type));const V=this.stylesForType(this.message.type);return ne.style.backgroundColor=V.background??"",ne.style.color=V.foreground??"",ne.style.border=V.border?`1px solid ${V.border}`:"",(0,v.BC)(W,ne),null},onHide:()=>{this.state="closed"},layout:U});let $;this.message.type===3?$=(0,E.kg)(9,"Error: {0}",this.message.content):this.message.type===2?$=(0,E.kg)(10,"Warning: {0}",this.message.content):$=(0,E.kg)(11,"Info: {0}",this.message.content),(0,i.xE)($),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}layoutMessage(){this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout(),this.options.hideHoverOnValueChange&&(0,r.i)().hideHover()}updateMirror(){if(!this.mirror)return;const W=this.value,$=W.charCodeAt(W.length-1)===10?" ":"";(W+$).replace(/\u000c/g,"")?this.mirror.textContent=W+$:this.mirror.innerText="\xA0",this.layout()}applyStyles(){const W=this.options.inputBoxStyles,U=W.inputBackground??"",$=W.inputForeground??"",te=W.inputBorder??"";this.element.style.backgroundColor=U,this.element.style.color=$,this.input.style.backgroundColor="inherit",this.input.style.color=$,this.element.style.border=`1px solid ${(0,R.gI)(te,"transparent")}`}layout(){if(!this.mirror){this.layoutMessage();return}const W=this.cachedContentHeight;this.cachedContentHeight=(0,v.OK)(this.mirror),W!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight)),this.layoutMessage()}insertAtCursor(W){const U=this.inputElement,$=U.selectionStart,te=U.selectionEnd,ne=U.value;$!==null&&te!==null&&(this.value=ne.substr(0,$)+W+ne.substr(te),U.setSelectionRange($+1,$+1),this.layout())}dispose(){this._hideMessage(),this.message=null,this.actionbar?.dispose(),super.dispose()}}class k extends D{constructor(W,U,$){const te=(0,E.kg)(12," or {0} for history","\u21C5"),ne=(0,E.kg)(13," ({0} for history)","\u21C5");super(W,U,$),this._onDidFocus=this._register(new o.vl),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new o.vl),this.onDidBlur=this._onDidBlur.event,this.history=this._register(new a($.history,100));const V=()=>
791{if($.showHistoryHint&&$.showHistoryHint()&&!this.placeholder.endsWith(te)&&!this.placeholder.endsWith(ne)&&this.history.getHistory().length){const I=this.placeholder.endsWith(")")?te:ne,H=this.placeholder+I;$.showPlaceholderOnFocus&&!(0,v.X7)(this.input)?this.placeholder=H:this.setPlaceHolder(H)}};this.observer=new MutationObserver((I,H)=>{I.forEach(Z=>{Z.target.textContent||V()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>V()),this.onblur(this.input,()=>{const I=H=>{if(this.placeholder.endsWith(H)){const Z=this.placeholder.slice(0,this.placeholder.length-H.length);return $.showPlaceholderOnFocus?this.placeholder=Z:this.setPlaceHolder(Z),!0}else return!1};I(ne)||I(te)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(W){this.value&&(W||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let W=this.getNextValue();W&&(W=W===this.value?this.getNextValue():W),this.value=W??"",(0,i.h5)(this.value?this.value:(0,E.kg)(14,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let W=this.getPreviousValue();W&&(W=W===this.value?this.getPreviousValue():W),W&&(this.value=W,(0,i.h5)(this.value))}setPlaceHolder(W){super.setPlaceHolder(W),this.setTooltip(W)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let W=this.history.current();return W||(W=this.history.last(),this.history.next()),W}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}},75712:(St,We,e)=>{e.d(We,{D7:()=>C,SN:()=>b,c6:()=>L,dd:()=>g,g$:()=>A});var v=e(3765),R=e(87676),x=e(18382),T=e(69227),y=e(82735);const A=(0,R.x1)("menu.border",{dark:null,light:null,hcDark:x.b1,hcLight:x.b1},(0,v.kg)(2044,"Border color of menus.")),g=(0,R.x1)("menu.foreground",T.yq,(0,v.kg)(2045,"Foreground color of menu items.")),L=(0,R.x1)("menu.background",T.rv,(0,v.kg)(2046,"Background color of menu items."));(0,R.x1)("menu.selectionForeground",y.GV,(0,v.kg)(2047,"Foreground color of the selected menu item in menus.")),(0,R.x1)("menu.selectionBackground",y.Rj,(0,v.kg)(2048,"Background color of the selected menu item in menus."));const b=(0,R.x1)("menu.selectionBorder",{dark:null,light:null,hcDark:x.bu,hcLight:x.bu},(0,v.kg)(2049,"Border color of the selected menu item in menus.")),C=(0,R.x1)("menu.separatorBackground",{dark:(0,R.JO)(x.CU,.2),light:(0,R.JO)(x.CU,.2),hcDark:x.b1,hcLight:x.b1},(0,v.kg)(2050,"Color of a separator menu item in menus."))},75749:(St,We,e)=>{var Zt,pt;var v=e(78166),R=e(68387),x=e(50946),T=e(28061),y=e(38122),A=e(23276),g=e(47791),L=e(47317),b=e(3765),C=e(64569),u;(function(Fe){Fe.NoAutoFocus="noAutoFocus",Fe.FocusIfVisible="focusIfVisible",Fe.AutoFocusImmediately="autoFocusImmediately"})(u||(u={}));class i extends x.ks{constructor(){super({id:v.jA,label:(0,b.aS)(1150,"Show or Focus Hover"),metadata:{description:(0,b.aS)(1151,"Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[u.NoAutoFocus,u.FocusIfVisible,u.AutoFocusImmediately],enumDescriptions:[(0,b.kg)(1147,"The hover will not automatically take focus."),(0,b.kg)(1148,"The hover will take focus only if it is already visible."),(0,b.kg)(1149,"The hover will automatically take focus when it appears.")],default:u.FocusIfVisible}}}}]},precondition:void 0,kbOpts:{kbExpr:y.R.editorTextFocus,primary:(0,R.m5)(2089,2087),weight:100}})}run(st,vt,Yt){if(!vt.hasModel())return;const Si=g.A.get(vt);if(!Si)return;const Bi=Yt?.focus;let pi=u.FocusIfVisible;Object.values(u).includes(Bi)?pi=Bi:typeof Bi=="boolean"&&Bi&&(pi=u.AutoFocusImmediately);const $i=Sn=>{const On=vt.getPosition(),Dn=new T.Q(On.lineNumber,On.column,On.lineNumber,On.column);Si.showContentHover(Dn,1,2,Sn)},fn=vt.getOption(2)===2;Si.isHoverVisible?pi!==u.NoAutoFocus?Si.focus():$i(fn):$i(fn||pi===u.AutoFocusImmediately)}}class r extends x.ks{constructor(){super({id:v.dV,label:(0,b.aS)(1152,"Show Definition Preview Hover"),precondition:void 0,metadata:{description:(0,b.aS)(1153,"Show the definition preview hover in the editor.")}})}run(st,vt){const Yt=g.A.get(vt);if(!Yt)return;const Si=vt.getPosition();if(!Si)return;const Bi=new T.Q(Si.lineNumber,Si.column,Si.lineNumber,Si.column),pi=A.k.get(vt);if(!pi)return;pi.startFindDefinitionFromCursor(Si).then(()=>{Yt.showContentHover(Bi,1,2,!0)})}}class d extends x.ks{constructor(){super({id:v.vJ,label:(0,b.aS)(1154,"Hide Hover"),alias:"Hide Content Hover",precondition:void 0})}run(st,vt){g.A.get(vt)?.hideContentHover()}}class l extends x.ks{constructor(){super({id:v.K6,label:(0,b.aS)(1155,"Scroll Up Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:16,weight:100},metadata:{description:(0,b.aS)(1156,"Scroll up the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.scrollUp()}}class o extends x.ks{constructor(){super({id:v.Hp,label:(0,b.aS)(1157,"Scroll Down Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:18,weight:100},metadata:{description:(0,b.aS)(1158,"Scroll down the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.scrollDown()}}class c extends x.ks{constructor(){super({id:v.MB,label:(0,b.aS)(1159,"Scroll Left Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:15,weight:100},metadata:{description:(0,b.aS)(1160,"Scroll left the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.scrollLeft()}}class a extends x.ks{constructor(){super({id:v.vf,label:(0,b.aS)(1161,"Scroll Right Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:17,weight:100},metadata:{description:(0,b.aS)(1162,"Scroll right the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.scrollRight()}}class p extends x.ks{constructor(){super({id:v.ih,label:(0,b.aS)(1163,"Page Up Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:(0,b.aS)(1164,"Page up the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.pageUp()}}class _ extends x.ks{constructor(){super({id:v.Hm,label:(0,b.aS)(1165,"Page Down Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:(0,b.aS)(1166,"Page down the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.pageDown()}}class E extends x.ks{constructor(){super({id:v.Xp,label:(0,b.aS)(1167,"Go To Top Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:(0,b.aS)(1168,"Go to the top of the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.goToTop()}}class S extends x.ks{constructor(){super({id:v.vx,label:(0,b.aS)(1169,"Go To Bottom Hover"),precondition:y.R.hoverFocused,kbOpts:{kbExpr:y.R.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:(0,b.aS)(1170,"Go to the bottom of the editor hover.")}})}run(st,vt){const Yt=g.A.get(vt);Yt&&Yt.goToBottom()}}class h extends x.ks{constructor(){super({id:v.jq,label:v.iM,alias:"Increase Hover Verbosity Level",precondition:y.R.hoverVisible})}run(st,vt,Yt){const Si=g.A.get(vt);if(!Si)return;
791const Bi=Yt?.index!==void 0?Yt.index:Si.focusedHoverPartIndex();Si.updateHoverVerbosityLevel(L.M$.Increase,Bi,Yt?.focus)}}class D extends x.ks{constructor(){super({id:v.Zp,label:v.G8,alias:"Decrease Hover Verbosity Level",precondition:y.R.hoverVisible})}run(st,vt,Yt){const Si=g.A.get(vt);if(!Si)return;const Bi=Yt?.index!==void 0?Yt.index:Si.focusedHoverPartIndex();g.A.get(vt)?.updateHoverVerbosityLevel(L.M$.Decrease,Bi,Yt?.focus)}}var k=e(87676),N=e(18382),W=e(75962),U=e(73858),$=e(69227),te=e(82735),ne=e(75712),V=e(10680),I=e(58687),H=e(94865),Z=e(74707),X=e(89044),G=e(82096),Y=e(85753),j=e(46311),z=e(14270),ie=e(14333),re=e(13338),de=e(65958),le=e(94327),he=e(10998),we=e(22467),xe=e(29849),Be=e(80886),M=e(73042),Ve=e(77492),Me=e(62919),Le=e(89401),_e=e(58067),Qe=e(31540),je=e(27619),ae=e(54435),Ee=e(44023),Ie=e(58881),Ue=e(5915),$e=function(Fe,st,vt,Yt){var Si=arguments.length,Bi=Si<3?st:Yt===null?Yt=Object.getOwnPropertyDescriptor(st,vt):Yt,pi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Bi=Reflect.decorate(Fe,st,vt,Yt);else for(var $i=Fe.length-1;$i>=0;$i--)(pi=Fe[$i])&&(Bi=(Si<3?pi(Bi):Si>3?pi(st,vt,Bi):pi(st,vt))||Bi);return Si>3&&Bi&&Object.defineProperty(st,vt,Bi),Bi},Ye=function(Fe,st){return function(vt,Yt){st(vt,Yt,Fe)}};const Ce=ie.$;class He{constructor(st,vt,Yt){this.owner=st,this.range=vt,this.marker=Yt}isValidForHoverAnchor(st){return st.type===1&&this.range.startColumn<=st.range.startColumn&&this.range.endColumn>=st.range.endColumn}}const Ke={type:1,filter:{include:Me.gB.QuickFix},triggerAction:Me.fo.QuickFixHover};let qe=class{constructor(st,vt,Yt,Si,Bi,pi){this._editor=st,this._markerDecorationsService=vt,this._openerService=Yt,this._languageFeaturesService=Si,this._menuService=Bi,this._contextKeyService=pi,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(st,vt){if(!this._editor.hasModel()||st.type!==1&&!st.supportsMarkerHover)return[];const Yt=this._editor.getModel(),Si=st.range;if(!Yt.isValidRange(st.range))return[];const Bi=Si.startLineNumber,pi=Yt.getLineMaxColumn(Bi),$i=[];for(const fn of vt){const Sn=fn.range.startLineNumber===Bi?fn.range.startColumn:1,On=fn.range.endLineNumber===Bi?fn.range.endColumn:pi,Dn=this._markerDecorationsService.getMarker(Yt.uri,fn);if(!Dn)continue;const Qn=new T.Q(st.range.startLineNumber,Sn,st.range.startLineNumber,On);$i.push(new He(this,Qn,Dn))}return $i}renderHoverParts(st,vt){if(!vt.length)return new j.Ke([]);const Yt=[];vt.forEach(pi=>{const $i=this._renderMarkerHover(pi);st.fragment.appendChild($i.hoverElement),Yt.push($i)});const Si=vt.length===1?vt[0]:vt.sort((pi,$i)=>je.cj.compare(pi.marker.severity,$i.marker.severity))[0],Bi=this._renderMarkerStatusbar(st,Si);return new j.Ke(Yt,Bi)}getAccessibleContent(st){return st.marker.message}_renderMarkerHover(st){const vt=new he.Cm,Yt=Ce("div.hover-row"),Si=(0,ie.BC)(Yt,Ce("div.marker.hover-contents")),{source:Bi,message:pi,code:$i,relatedInformation:fn}=st.marker;this._editor.applyFontInfo(Si);const Sn=(0,ie.BC)(Si,Ce("span"));if(Sn.style.whiteSpace="pre-wrap",Sn.innerText=pi,Bi||$i)if($i&&typeof $i!="string"){const Dn=Ce("span");if(Bi){const Zn=(0,ie.BC)(Dn,Ce("span"));Zn.innerText=Bi}const Qn=(0,ie.BC)(Dn,Ce("a.code-link"));Qn.setAttribute("href",$i.target.toString(!0)),vt.add((0,ie.ko)(Qn,"click",Zn=>{this._openerService.open($i.target,{allowCommands:!0}),Zn.preventDefault(),Zn.stopPropagation()}));const rs=(0,ie.BC)(Qn,Ce("span"));rs.innerText=$i.value;const us=(0,ie.BC)(Si,Dn);us.style.opacity="0.6",us.style.paddingLeft="6px"}else{const Dn=(0,ie.BC)(Si,Ce("span"));Dn.style.opacity="0.6",Dn.style.paddingLeft="6px",Dn.innerText=Bi&&$i?`${Bi}(${$i})`:Bi||`(${$i})`}if((0,re.EI)(fn))for(const{message:Dn,resource:Qn,startLineNumber:rs,startColumn:us}of fn){const Zn=(0,ie.BC)(Si,Ce("div"));Zn.style.marginTop="8px";const zn=(0,ie.BC)(Zn,Ce("a"));zn.innerText=`${(0,we.P8)(Qn)}(${rs}, ${us}): `,zn.style.cursor="pointer",vt.add((0,ie.ko)(zn,"click",es=>{if(es.stopPropagation(),es.preventDefault(),this._openerService){const Xn={selection:{startLineNumber:rs,startColumn:us}};this._openerService.open(Qn,{fromUserGesture:!0,editorOptions:Xn}).catch(le.dz)}}
791));const ms=(0,ie.BC)(Zn,Ce("span"));ms.innerText=Dn,this._editor.applyFontInfo(ms)}return{hoverPart:st,hoverElement:Yt,dispose:()=>vt.dispose()}}_renderMarkerStatusbar(st,vt){const Yt=new he.Cm;if(vt.marker.severity===je.cj.Error||vt.marker.severity===je.cj.Warning||vt.marker.severity===je.cj.Info){const pi=Le.j0.get(this._editor);pi&&st.statusBar.addAction({label:(0,b.kg)(1180,"View Problem"),commandId:Le.iu.ID,run:()=>{st.hide(),pi.showAtMarker(vt.marker),this._editor.focus()}})}const Si=[];for(const[,pi]of this._menuService.getMenuActions(_e.D8.MarkerHoverStatusBar,this._contextKeyService))for(const $i of pi)$i instanceof _e.Xe&&$i.enabled&&Si.push($i);const Bi=()=>{for(const pi of Si)st.statusBar.addAction({label:pi.label,commandId:pi.id,iconClass:pi.class,run:()=>{st.hide(),this._editor.setSelection(T.Q.lift(vt.range)),pi.run()}})};if(this._editor.getOption(104))Bi();else{const pi=st.statusBar.append(Ce("div"));this.recentMarkerCodeActionsInfo&&(je.oc.makeKey(this.recentMarkerCodeActionsInfo.marker)===je.oc.makeKey(vt.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||Si.length===0&&(pi.textContent=(0,b.kg)(1181,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const $i=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?he.jG.None:(0,de.EQ)(()=>pi.textContent=(0,b.kg)(1182,"Checking for quick fixes..."),200,Yt);pi.textContent||(pi.textContent="\xA0");const fn=this.getCodeActions(vt.marker);Yt.add((0,he.s)(()=>fn.cancel())),fn.then(Sn=>{if($i.dispose(),this.recentMarkerCodeActionsInfo={marker:vt.marker,hasCodeActions:Sn.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){Sn.dispose(),Si.length===0?pi.textContent=(0,b.kg)(1183,"No quick fixes available"):pi.style.display="none",Bi();return}pi.style.display="none";let On=!1;Yt.add((0,he.s)(()=>{On||Sn.dispose()})),st.statusBar.addAction({label:(0,b.kg)(1184,"Quick Fix..."),commandId:M.pQ,run:Qn=>{On=!0;const rs=Ve.C.get(this._editor),us=(0,ie.BK)(Qn);st.hide(),rs?.showCodeActions(Ke,Sn,{x:us.left,y:us.top,width:us.width,height:us.height})}});const Dn=Sn.validActions.find(Qn=>Qn.action.isAI);Dn?st.statusBar.addAction({label:Dn.action.title,commandId:Dn.action.command?.id??"",iconClass:Ie.L.asClassName(Ue.W.sparkle),run:()=>{Ve.C.get(this._editor)?.applyCodeAction(Dn,!1,!1,M.Qp.FromProblemsHover)}}):Bi(),st.onContentsChanged()},le.dz)}return Yt}getCodeActions(st){return(0,de.SS)(vt=>(0,M.dU)(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new T.Q(st.startLineNumber,st.startColumn,st.endLineNumber,st.endColumn),Ke,Ee.ke.None,vt))}};qe=$e([Ye(1,Be.A),Ye(2,ae.Cr),Ye(3,xe.u),Ye(4,_e.ez),Ye(5,Qe.fN)],qe);var ht=e(82399),Te=e(86427),oe=e(52265),q=e(50359),ue=e(82222),J=e(90028),ve=e(66055);class De{constructor(st){this._editor=st}computeSync(st){const vt=pi=>({value:pi}),Yt=this._editor.getLineDecorations(st.lineNumber),Si=[],Bi=st.laneOrLine==="lineNo";if(!Yt)return Si;for(const pi of Yt){const $i=pi.options.glyphMargin?.position??ve.ZS.Center;if(!Bi&&$i!==st.laneOrLine)continue;const fn=Bi?pi.options.lineNumberHoverMessage:pi.options.glyphMarginHoverMessage;!fn||(0,J.it)(fn)||Si.push(...(0,re._j)(fn).map(vt))}return Si}}var fe=function(Fe,st,vt,Yt){var Si=arguments.length,Bi=Si<3?st:Yt===null?Yt=Object.getOwnPropertyDescriptor(st,vt):Yt,pi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Bi=Reflect.decorate(Fe,st,vt,Yt);else for(var $i=Fe.length-1;$i>=0;$i--)(pi=Fe[$i])&&(Bi=(Si<3?pi(Bi):Si>3?pi(st,vt,Bi):pi(st,vt))||Bi);return Si>3&&Bi&&Object.defineProperty(st,vt,Bi),Bi},Se=function(Fe,st){return function(vt,Yt){st(vt,Yt,Fe)}},pe;const Ae=ie.$;let Xe=(Zt=class extends he.jG{constructor(st,vt){super(),this._markdownRendererService=vt,this.allowEditorOverflow=!0,this._renderDisposeables=this._register(new he.Cm),this._editor=st,this._isVisible=!1,this._messages=[],this._hover=this._register(new ue.N4(!0)),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._hoverOperation=this._register(new q.w(this._editor,new De(this._editor))),this._register(this._hoverOperation.onResult(Yt=>this._withResult(Yt))),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(Yt=>{Yt.hasChanged(59)&&this._updateFont()})),this._register((0,ie.un)(this._hover.containerDomNode,"mouseleave",Yt=>{this._onMouseLeave(Yt)})),this._editor.addOverlayWidget(this)}dispose(){this._hoverComputerOptions=void 0,this._editor.removeOverlayWidget(this),super.dispose()}getId(){return pe.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEac
791h(vt=>this._editor.applyFontInfo(vt))}_onModelDecorationsChanged(){this._isVisible&&this._hoverComputerOptions&&(this._hoverOperation.cancel(),this._hoverOperation.start(0,this._hoverComputerOptions))}showsOrWillShow(st){const vt=st.target;return vt.type===2&&vt.detail.glyphMarginLane?(this._startShowingAt(vt.position.lineNumber,vt.detail.glyphMarginLane),!0):vt.type===3?(this._startShowingAt(vt.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(st,vt){this._hoverComputerOptions&&this._hoverComputerOptions.lineNumber===st&&this._hoverComputerOptions.laneOrLine===vt||(this._hoverOperation.cancel(),this.hide(),this._hoverComputerOptions={lineNumber:st,laneOrLine:vt},this._hoverOperation.start(0,this._hoverComputerOptions))}hide(){this._hoverComputerOptions=void 0,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(st){this._messages=st.value,this._messages.length>0?this._renderMessages(st.options.lineNumber,st.options.laneOrLine,this._messages):this.hide()}_renderMessages(st,vt,Yt){this._renderDisposeables.clear();const Si=document.createDocumentFragment();for(const Bi of Yt){const pi=Ae("div.hover-row.markdown-hover"),$i=(0,ie.BC)(pi,Ae("div.hover-contents")),fn=this._renderDisposeables.add(this._markdownRendererService.render(Bi.value,{context:this._editor}));$i.appendChild(fn.element),Si.appendChild(pi)}this._updateContents(Si),this._showAt(st,vt)}_updateContents(st){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(st),this._updateFont()}_showAt(st,vt){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const Yt=this._editor.getLayoutInfo(),Si=this._editor.getTopForLineNumber(st),Bi=this._editor.getScrollTop(),pi=this._editor.getOption(75),$i=this._hover.containerDomNode.clientHeight,fn=Si-Bi-($i-pi)/2,Sn=Yt.glyphMarginLeft+Yt.glyphMarginWidth+(vt==="lineNo"?Yt.lineNumbersWidth:0),Dn=Yt.height-$i,Qn=Math.max(0,Math.min(Math.round(fn),Dn));if(this._editor.getOption(51)){const us=this._editor.getDomNode();if(us){const Zn=(0,ie.BK)(us);this._hover.containerDomNode.style.position="fixed",this._hover.containerDomNode.style.left=`${Zn.left+Sn}px`,this._hover.containerDomNode.style.top=`${Zn.top+Qn}px`}}else this._hover.containerDomNode.style.position="absolute",this._hover.containerDomNode.style.left=`${Sn}px`,this._hover.containerDomNode.style.top=`${Qn}px`;this._hover.containerDomNode.style.zIndex="11"}_onMouseLeave(st){const vt=this._editor.getDomNode();(!vt||!(0,Te.UH)(vt,st.x,st.y))&&this.hide()}},pe=Zt,Zt.ID="editor.contrib.modesGlyphHoverWidget",Zt);Xe=pe=fe([Se(1,oe.TN)],Xe);var dt=function(Fe,st,vt,Yt){var Si=arguments.length,Bi=Si<3?st:Yt===null?Yt=Object.getOwnPropertyDescriptor(st,vt):Yt,pi;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Bi=Reflect.decorate(Fe,st,vt,Yt);else for(var $i=Fe.length-1;$i>=0;$i--)(pi=Fe[$i])&&(Bi=(Si<3?pi(Bi):Si>3?pi(st,vt,Bi):pi(st,vt))||Bi);return Si>3&&Bi&&Object.defineProperty(st,vt,Bi),Bi},gt=function(Fe,st){return function(vt,Yt){st(vt,Yt,Fe)}};let Bt=(pt=class extends he.jG{constructor(st,vt){super(),this._editor=st,this._instantiationService=vt,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new he.Cm,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new de.uC(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(Yt=>{Yt.hasChanged(69)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const st=this._editor.getOption(69);this._hoverSettings={enabled:st.enabled,sticky:st.sticky,hidingDelay:st.hidingDelay},st.enabled!=="off"?(this._listenersStore.add(this._editor.onMouseDown(vt=>this._onEditorMouseDown(vt))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(vt=>this._onEditorMouseMove(vt))),this._listenersStore.add(this._editor.onKeyDown(vt=>this._onKeyDown(vt)))):(this._listenersStore.add(this._editor.onMouseMove(vt=>this._onEditorMouseMove(vt))),this._listenersStore.add(this._editor.onKeyDown(vt=>this._onKeyDown(vt)))),this._listenersStore.add(this._editor.onMouseLeave(vt=>this._onEditorMouseLeave(vt))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this.hideGlyphHover()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(vt=>this._onEditorScrollChanged(vt)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(st){(st.scrollTopChanged||st.scrollLeftChanged)&&this.hideGlyphHover()}_onEditorMouseDown(st){this._hoverState.mouseDown=!0,!this._isMouseOnGlyphHoverWidget(st)&&this.hideGlyphHover()}_isMouseOnGlyphHoverWidget(st){const vt=this._glyphWidget?.getDomNode();return vt?(0,Te.UH)(vt,st.event.posx,st.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(st){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnGlyphHoverWidget(st))||this.hideGlyphHover()}_shouldNotRecomputeCurrentHoverWidget(st){const vt=this._hoverSettings.sticky,Yt=this._isMouseOnGlyphHoverWidget(st);return vt&&Yt}_onEditorMouseMove(st){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=st,this._shouldNotRecomputeCurrentHoverWidget(st)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(st)}_reactToEditorMouseMove(st){if(!st)return;if(!(0,Te.t$)(this._hoverSettings.enabled,this._editor.getOption(86),st)){this.hideGlyphHover();return}this._tryShowHoverWidget(st)||this.hideGlyphHover()}_tryShowHoverWidget(st){return this._getOrCreateGlyphWidget().showsOrWillShow(st)}_onKeyDown(st){if(this._editor.hasModel()){if(this._hoverSettings.enabled==="onKeyboardModifier"&&(0,Te.Iz)(this._editor.getOption(86),st)&&this._mouseMoveEvent){this._tryShowHoverWidget(this._mouseMoveEvent);return}(0,R.VL)(st.keyCode)||this.hideGlyphHover()}}hideGlyphHover(){this._glyphWidget?.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(Xe,this._editor)),this._glyphWidget}dispose(){super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),this._glyphWidget?.dispose()}},pt.ID="editor.contrib.marginHover",pt);Bt=dt([gt(1,ht._Y)],Bt);var _t=e(15250);class ri{}class Gt{}class ei{}(0,x.HW)(g.A.ID,g.A,2),(0,x.HW)(Bt.ID,Bt,2),(0,x.Fl)(i),(0,x.Fl)(r),(0,x.Fl)(d),(0,x.Fl)(l),(0,x.Fl)(o),(0,x.Fl)(c),(0,x.Fl)(a),(0,x.Fl)(p),(0,x.Fl)(_),(0,x.Fl)(E),(0,x.Fl)(S),(0,x.Fl)(h),(0,x.Fl)(D),j.B2.register(z.xJ),j.B2.register(qe),G.w.registerCommand(v.C
791M,Fe=>{Fe.get(Y.pG).updateValue("editor.hover.showLongLineWarning",!1)}),(0,X.zy)((Fe,st)=>{const vt=Fe.getColor(U.oZ);vt&&(st.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${vt.transparent(.5)}; }`),st.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${vt.transparent(.5)}; }`),st.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${vt.transparent(.5)}; }`))}),_t.Z.register(new ri),_t.Z.register(new Gt),_t.Z.register(new ei)},75962:(St,We,e)=>{var v=e(3765),R=e(87676),x=e(18382),T=e(73858),y=e(10680);(0,R.x1)("charts.foreground",x.CU,(0,v.kg)(1857,"The foreground color used in charts.")),(0,R.x1)("charts.lines",(0,R.JO)(x.CU,.5),(0,v.kg)(1858,"The color used for horizontal lines in charts.")),(0,R.x1)("charts.red",T.Rb,(0,v.kg)(1859,"The red color used in chart visualizations.")),(0,R.x1)("charts.blue",T.pO,(0,v.kg)(1860,"The blue color used in chart visualizations.")),(0,R.x1)("charts.yellow",T.Hn,(0,v.kg)(1861,"The yellow color used in chart visualizations.")),(0,R.x1)("charts.orange",y.Aj,(0,v.kg)(1862,"The orange color used in chart visualizations.")),(0,R.x1)("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},(0,v.kg)(1863,"The green color used in chart visualizations.")),(0,R.x1)("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},(0,v.kg)(1864,"The purple color used in chart visualizations."))},76243:(St,We,e)=>{e.d(We,{k:()=>R});var v=e(82399);const R=(0,v.u1)("telemetryService")},76357:(St,We,e)=>{e.d(We,{vx:()=>L,KG:()=>g});var v=e(51577),R=e(14333),x=e(10998),T=e(67938),y=e(63339);function A(u){const i=u;return!!i&&typeof i.x=="number"&&typeof i.y=="number"}function g(u){if((0,R.sb)(u)){const i=(0,R.BK)(u),r=(0,R.mU)(u);return{top:i.top*r,left:i.left*r,width:i.width*r,height:i.height*r}}else return A(u)?{top:u.y,left:u.x,width:u.width||1,height:u.height||2}:{top:u.posy,left:u.posx,width:2,height:2}}const C=class C extends x.jG{constructor(i,r){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=x.jG.None,this.toDisposeOnSetContainer=x.jG.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=(0,R.$)(".context-view"),(0,R.jD)(this.view),this.setContainer(i,r),this._register((0,x.s)(()=>this.setContainer(null,1)))}setContainer(i,r){this.useFixedPosition=r!==1;const d=this.useShadowDOM;if(this.useShadowDOM=r===3,!(i===this.container&&d===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,this.shadowRootHostElement?.remove(),this.shadowRootHostElement=null),this.container=null),i)){if(this.container=i,this.useShadowDOM){this.shadowRootHostElement=(0,R.$)(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const o=document.createElement("style");o.textContent=b,this.shadowRoot.appendChild(o),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild((0,R.$)("slot"))}else this.container.appendChild(this.view);const l=new x.Cm;C.BUBBLE_UP_EVENTS.forEach(o=>{l.add((0,R.un)(this.container,o,c=>{this.onDOMEvent(c,!1)}))}),C.BUBBLE_DOWN_EVENTS.forEach(o=>{l.add((0,R.un)(this.container,o,c=>{this.onDOMEvent(c,!0)},!0))}),this.toDisposeOnSetContainer=l}}show(i){this.isVisible()&&this.hide(),(0,R.w_)(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex=`${2575+(i.layer??0)}`,this.view.style.position=this.useFixedPosition?"fixed":"absolute",(0,R.WU)(this.view),this.toDisposeOnClean=i.render(this.view)||x.jG.None,this.delegate=i,this.doLayout(),this.delegate.focus?.()}getViewElement(){return this.view}layout(){if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(y.un&&v.e.pointerEvents)){this.hide();return}this.delegate?.layout?.(),this.doLayout()}}doLayout(){if(!this.isVisible())return;const i=g(this.delegate.getAnchor()),r=this.container?(0,R.zk)(this.container):(0,R.fz)(),d={top:r.pageYOffset,left:r.pageXOffset,width:r.innerWidth,height:r.innerHe
791ight},l={width:(0,R.Tr)(this.view),height:(0,R.OK)(this.view)},o=this.delegate.anchorPosition,c=this.delegate.anchorAlignment,a=this.delegate.anchorAxisAlignment,{top:p,left:_}=(0,T.$P)(d,l,i,{anchorAlignment:c,anchorPosition:o,anchorAxisAlignment:a});this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(o===0?"bottom":"top"),this.view.classList.add(c===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const E=(0,R.BK)(this.container),S=this.container.scrollTop||0,h=this.container.scrollLeft||0;this.view.style.top=`${p-(this.useFixedPosition?(0,R.BK)(this.view).top:E.top)+S}px`,this.view.style.left=`${_-(this.useFixedPosition?(0,R.BK)(this.view).left:E.left)+h}px`,this.view.style.width="initial"}hide(i){const r=this.delegate;this.delegate=null,r?.onHide&&r.onHide(i);const d=this.toDisposeOnClean;this.toDisposeOnClean=x.jG.None,d.dispose(),(0,R.jD)(this.view)}isVisible(){return!!this.delegate}onDOMEvent(i,r){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(i,(0,R.zk)(i).document.activeElement):r&&!(0,R.QX)(i.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}};C.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],C.BUBBLE_DOWN_EVENTS=["click"];let L=C;const b=`
792	:host {
793		all: initial; /* 1st rule so subsequent properties are reset. */
794	}
795
796	.codicon[class*='codicon-'] {
797		font: normal normal normal 16px/1 codicon;
798		display: inline-block;
799		text-decoration: none;
800		text-rendering: auto;
801		text-align: center;
802		-webkit-font-smoothing: antialiased;
803		-moz-osx-font-smoothing: grayscale;
804		user-select: none;
805		-webkit-user-select: none;
806		-ms-user-select: none;
807	}
808
809	:host {
810		font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;
811	}
812
813	:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
814	:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
815	:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
816	:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
817	:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Nanum Gothic", "AppleGothic", sans-serif; }
818
819	:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
820	:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
821	:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
822	:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
823	:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
824
825	:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
826	:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
827	:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
828	:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
829	:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
830`},76703:(St,We,e)=>{e.d(We,{f:()=>A,j:()=>y});var v=e(94327),R=e(8897),x=e(2106),T=e(10998);function y(g){return{createChangeSummary:L=>({changes:[]}),handleChange(L,b){for(const C in g)L.didChange(g[C])&&b.changes.push({key:C,change:L.change});return!0},beforeUpdate(L,b){for(const C in g){if(C==="changes")throw new v.D7('property name "changes" is reserved for change tracking');b[C]=g[C].read(L)}}}}function A(g){let L;return{createChangeSummary:b=>({changes:[]}),handleChange(b,C){L||(L=g());for(const u in L)b.didChange(L[u])&&C.changes.push({key:u,change:b.change});return!0},beforeUpdate(b,C){L||(L=g());for(const u in L){if(u==="changes")throw new v.D7('property name "changes" is reserved for change tracking');C[u]=L[u].read(b)}}}}},76730:(St,We,e)=>{var Z;e.d(We,{n:()=>V});var v=e(3765),R=e(14333),x=e(27424),T=e(94901),y=e(94327),A=e(10998),g=e(73678),L=e(82399),b=e(58863),C=e(85753),u=e(29879),i=e(89044),r=e(69588),d=e(98613),l=e(2106),o=e(92405),c=e(85525);class a{get dataOffset(){return this._startIndex}get dirtySize(){if(!(this._startIndex===void 0||this._endIndex===void 0))return this._endIndex-this._startIndex+1}get isDirty(){return this._startIndex!==void 0}flag(G,Y=1){return this._flag(G),Y>1&&this._flag(G+Y-1),G}_flag(G){(this._startIndex===void 0||G<this._startIndex)&&(this._startIndex=G),(this._endIndex===void 0||G>this._endIndex)&&(this._endIndex=G)}clear(){this._startIndex=void 0,this._endIndex=void 0}}function p(X,G){return new _(X,G)}class _ extends A.jG{get entryCount(){return this._entries.size}get dirtyTracker(){return this._dirtyTracker}constructor(G,Y){super(),this.propertySpecs=G,this.capacity=Y,this._dirtyTracker=new a,this._propertySpecsMap=new Map,this._entries=new c.w,this._onDidChange=this._register(new l.vl),this._onDidChangeBuffer=this._register(new l.vl),this.onDidChangeBuffer=this._onDidChangeBuffer.event,this.view=new Float32Array(Y*G.length),this.buffer=this.view.buffer,this._entrySize=G.length;for(let j=0;j<G.length;j++){const z={offset:j,...G[j]};this._propertySpecsMap.set(z.name,z)}this._register((0,A.s)(()=>(0,A.AS)(this._entries)))}createEntry(G){this._entries.size===this.capacity&&(this._expandBuffer(),this._onDidChangeBuffer.fire());const Y=new E(this.view,this._propertySpecsMap,this._dirtyTracker,this._entries.size,G),j=this._entries.push(Y),z=[];return z.push(l.Jh.forward(Y.onDidChange,this._onDidChange)),z.push(Y.onWillDispose(()=>{const ie=Y.i;
830j(),this.view.set(this.view.subarray(ie*this._entrySize+2,this._entries.size*this._entrySize+2),ie*this._entrySize);for(const re of this._entries)re.i>ie&&re.i--;this._dirtyTracker.flag(ie,(this._entries.size-ie)*this._entrySize),(0,A.AS)(z)})),Y}_expandBuffer(){this.capacity*=2;const G=new Float32Array(this.capacity*this._entrySize);G.set(this.view),this.view=G,this.buffer=this.view.buffer}}class E extends A.jG{constructor(G,Y,j,z,ie){super(),this._view=G,this._propertySpecsMap=Y,this._dirtyTracker=j,this.i=z,this._onDidChange=this._register(new l.vl),this.onDidChange=this._onDidChange.event,this._onWillDispose=this._register(new l.vl),this.onWillDispose=this._onWillDispose.event;for(const re of this._propertySpecsMap.values())this._view[this.i*this._propertySpecsMap.size+re.offset]=ie[re.name];this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}dispose(){this._onWillDispose.fire(),super.dispose()}setRaw(G){if(G.length!==this._propertySpecsMap.size)throw new Error(`Data length ${G.length} does not match the number of properties in the collection (${this._propertySpecsMap.size})`);this._view.set(G,this.i*this._propertySpecsMap.size),this._dirtyTracker.flag(this.i*this._propertySpecsMap.size,this._propertySpecsMap.size)}}const S=`
831
832struct Vertex {
833	@location(0) position: vec2f,
834};
835
836struct LayoutInfo {
837	canvasDims: vec2f,
838	viewportOffset: vec2f,
839	viewportDims: vec2f,
840}
841
842struct ScrollOffset {
843	offset: vec2f,
844}
845
846struct Shape {
847	position: vec2f,
848	size: vec2f,
849	color: vec4f,
850};
851
852struct VSOutput {
853	@builtin(position) position: vec4f,
854	@location(1)       color:    vec4f,
855};
856
857// Uniforms
858@group(0) @binding(1) var<uniform>       layoutInfo:      LayoutInfo;
859
860// Storage buffers
861@group(0) @binding(0)            var<storage, read> shapes:          array<Shape>;
862@group(0) @binding(2)      var<uniform>       scrollOffset:    ScrollOffset;
863
864@vertex fn vs(
865	vert: Vertex,
866	@builtin(instance_index) instanceIndex: u32,
867	@builtin(vertex_index) vertexIndex : u32
868) -> VSOutput {
869	let shape = shapes[instanceIndex];
870
871	var vsOut: VSOutput;
872	vsOut.position = vec4f(
873		(
874			// Top left corner
875			vec2f(-1,  1) +
876			// Convert pixel position to clipspace
877			vec2f( 2, -2) / layoutInfo.canvasDims *
878			// Shape position and size
879			(layoutInfo.viewportOffset - scrollOffset.offset + shape.position + vert.position * shape.size)
880		),
881		0.0,
882		1.0
883	);
884	vsOut.color = shape.color;
885	return vsOut;
886}
887
888@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {
889	return vsOut.color;
890}
891`;class h extends o.i{constructor(G,Y,j,z,ie,re){super(),this._context=G,this._contentLeft=Y,this._devicePixelRatio=j,this._canvas=z,this._ctx=ie,this._shapeBindBuffer=this._register(new A.HE),this._initialized=!1,this._shapeCollection=this._register(p([{name:"x"},{name:"y"},{name:"width"},{name:"height"},{name:"red"},{name:"green"},{name:"blue"},{name:"alpha"}],32)),this._context.addEventHandler(this),this._initWebgpu(re)}async _initWebgpu(G){if(this._device=await G,this._store.isDisposed)return;const Y=navigator.gpu.getPreferredCanvasFormat();this._ctx.configure({device:this._device,format:Y,alphaMode:"premultiplied"}),this._renderPassColorAttachment={view:null,loadOp:"load",storeOp:"store"},this._renderPassDescriptor={label:"Monaco rectangle renderer render pass",colorAttachments:[this._renderPassColorAttachment]};let j;{const de=new Float32Array(6),le=(he=this._canvas.width,we=this._canvas.height)=>(de[0]=he,de[1]=we,de[2]=Math.ceil(this._context.configuration.options.get(165).contentLeft*(0,R.fz)().devicePixelRatio),de[3]=0,de[4]=de[0]-de[2],de[5]=de[1]-de[3],de);j=this._register(r.B.createBuffer(this._device,{label:"Monaco rectangle renderer uniform buffer",size:24,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST},()=>le())).object,this._register((0,d.qR)(this._canvas,(0,R.fz)(),(he,we)=>{this._device.queue.writeBuffer(j,0,le(he,we))}))}const z=2;this._scrollOffsetBindBuffer=this._register(r.B.createBuffer(this._device,{label:"Monaco rectangle renderer scroll offset buffer",size:z*Float32Array.BYTES_PER_ELEMENT,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST})).object,this._scrollOffsetValueBuffer=new Float32Array(z);const ie=()=>r.B.createBuffer(this._device,{label:"Monaco rectangle renderer shape buffer",size:this._shapeCollection.buffer.byteLength,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST});this._shapeBindBuffer.value=ie(),this._register(l.Jh.runAndSubscribe(this._shapeCollection.onDidChangeBuffer,()=>{this._shapeBindBuffer.value=ie(),this._pipeline&&this._updateBindGroup(this._pipeline,j)})),this._vertexBuffer=this._register(r.B.createBuffer(this._device,{label:"Monaco rectangle renderer vertex buffer",size:d.xW.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST},d.xW)).object;const re=this._device.createShaderModule({label:"Monaco rectangle renderer shader module",code:S});this._pipeline=this._device.createRenderPipeline({label:"Monaco rectangle renderer render pipeline",layout:"auto",vertex:{module:re,buffers:[{arrayStri
891de:2*Float32Array.BYTES_PER_ELEMENT,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:re,targets:[{format:Y,blend:{color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha"}}}]}}),this._updateBindGroup(this._pipeline,j),this._initialized=!0}_updateBindGroup(G,Y){this._bindGroup=this._device.createBindGroup({label:"Monaco rectangle renderer bind group",layout:G.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:this._shapeBindBuffer.value.object}},{binding:1,resource:{buffer:Y}},{binding:2,resource:{buffer:this._scrollOffsetBindBuffer}}]})}register(G,Y,j,z,ie,re,de,le){return this._shapeCollection.createEntry({x:G,y:Y,width:j,height:z,red:ie,green:re,blue:de,alpha:le})}onScrollChanged(G){if(this._device){const Y=(0,R.fz)().devicePixelRatio;this._scrollOffsetValueBuffer[0]=this._context.viewLayout.getCurrentScrollLeft()*Y,this._scrollOffsetValueBuffer[1]=this._context.viewLayout.getCurrentScrollTop()*Y,this._device.queue.writeBuffer(this._scrollOffsetBindBuffer,0,this._scrollOffsetValueBuffer)}return!0}_update(){if(!this._device)return;const G=this._shapeCollection;G.dirtyTracker.isDirty&&(this._device.queue.writeBuffer(this._shapeBindBuffer.value.object,0,G.buffer,G.dirtyTracker.dataOffset,G.dirtyTracker.dirtySize*G.view.BYTES_PER_ELEMENT),G.dirtyTracker.clear())}draw(G){if(!this._initialized)return;this._update();const Y=this._device.createCommandEncoder({label:"Monaco rectangle renderer command encoder"});this._renderPassColorAttachment.view=this._ctx.getCurrentTexture().createView();const j=Y.beginRenderPass(this._renderPassDescriptor);j.setPipeline(this._pipeline),j.setVertexBuffer(0,this._vertexBuffer),j.setBindGroup(0,this._bindGroup);const z=Math.ceil(this._contentLeft.get()*this._devicePixelRatio.get());j.setScissorRect(z,0,this._canvas.width-z,this._canvas.height),j.draw(d.xW.length/2,this._shapeCollection.entryCount),j.end();const ie=Y.finish();this._device.queue.submit([ie])}}class D extends A.jG{constructor(){super(),this._ruleCache=new Map,this._cssVariableCache=new Map,this._container=(0,R.$)("div.monaco-decoration-css-rule-extractor"),this._dummyElement=(0,R.$)("span"),this._container.appendChild(this._dummyElement),this._register((0,A.s)(()=>this._container.remove()))}getStyleRules(G,Y){const j=this._ruleCache.get(Y);if(j)return j;this._dummyElement.className=Y,G.appendChild(this._container);const z=this._getStyleRules(Y);return this._ruleCache.set(Y,z),G.removeChild(this._container),z}_getStyleRules(G){const Y=[],z=[...(0,R.a)().styleSheets],ie=G.split(" ").filter(re=>re.length>0);for(let re=0;re<z.length;re++){const de=z[re];this._collectMatchingRules(de.cssRules,ie,Y)}return Y}_collectMatchingRules(G,Y,j){for(const z of G)if(z instanceof CSSImportRule)z.styleSheet&&this._collectMatchingRules(z.styleSheet.cssRules,Y,j);else if(z instanceof CSSStyleRule){for(const ie of Y){const re=`.${ie}`,de=z.selectorText.indexOf(re);if(de!==-1){const le=de+re.length;if(z.selectorText.length===le||z.selectorText.substring(le,le+1).match(/[ :.]/)){j.push(z);break}}}z.cssRules?.length&&this._collectMatchingRules(z.cssRules,Y,j)}}resolveCssVariable(G,Y){let j=this._cssVariableCache.get(Y);return j===void 0&&(G.appendChild(this._container),j=(0,R.fz)().getComputedStyle(this._container).getPropertyValue(Y).trim(),G.removeChild(this._container),this._cssVariableCache.set(Y,j)),j}clear(){this._ruleCache.clear(),this._cssVariableCache.clear()}}var k=e(27992);class N{constructor(){this._nextId=1,this._cacheById=new Map,this._cacheByStyle=new k.QO}getOrCreateEntry(G,Y,j,z,ie,re){if(G===void 0&&Y===void 0&&j===void 0&&z===void 0&&ie===void 0&&re===void 0)return 0;const de=this._cacheByStyle.get(G??0,Y?1:0,j===void 0?"":j.toFixed(2),z?1:0,ie===void 0?"":ie.toFixed(2),re??0);if(de)return de.id;const le=this._nextId++,he={id:le,color:G,bold:Y,opacity:j,strikethrough:z,strikethroughThickness:ie,strikethroughColor:re};return this._cacheById.set(le,he),this._cacheByStyle.set(he,G??0,Y?1:0,j===void 0?"":j.toFixed(2),z?1:0,ie===void 0?"":ie.toFixed(2),re??0),le}getStyleSet(G){if(G!==0)return this._cacheById.get(G)}}var W=e(96016),U=e(32605),$=function(X,G,Y,j){var z=arguments.length,ie=z<3?G:j===null?j=Object.getOwnPropertyDescriptor(G,Y):j,re;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ie=Reflect.decorate(X,G,Y,j);else for(var de=X.length-1;de>=0;de--)(re=X[de])&&(ie=(z<3?re(ie):z>3?re(G,Y,ie):re(G,Y))||ie);return z>3&&ie&&Object.defineProperty(G,Y,ie),ie},te=function(X,G){return function(Y,j){G(Y,j,X)}},ne;let V=(Z=class extends A.jG{static get decorationCssRuleExtractor(){return ne._decorationCssRuleExtractor}static get decorationStyleCache(){return ne._decorationStyleCache}static get atlas(){if(!ne._atlas)throw new y.D7("Cannot call ViewGpuContext.textureAtlas before device is resolved");return ne._atlas}get atlas(){return ne.atlas}constructor(G,Y,j,z,ie){super(),this._instantiationService=Y,this._notificationService=j,this.configurationService=z,this._themeService=ie,this.maxGpuCols=2e3,this.canvas=(0,x.Z)(document.createElement("canvas")),this.canvas.setClassName("editorCanvas"),this._register(l.Jh.runAndSubscribe(z.onDidChangeConfiguration,he=>{if(!he||he.affectsConfiguration("editor.scrollbar.verticalScrollbarSize")){const we=z.getValue("editor").scrollbar?.verticalScrollbarSize??14;this.canvas.domNode.style.boxSizing="border-box",this.canvas.domNode.style.paddingRight=`${we}px`}})),this.ctx=(0,d.HS)(this.canvas.domNode.getContext("webgpu")),ne.device||(ne.device=r.B.requestDevice(he=>{const we=[{label:(0,v.kg)(82,"Use DOM-based rendering"),run:()=>this.configurationService.updateValue("editor.experimentalGpuAcceleration","off")}];this._notificationService.prompt(u.AI.Warning,he,we)}
891).then(he=>(ne.deviceSync=he.object,ne._atlas||(ne._atlas=this._instantiationService.createInstance(b.L,he.object.limits.maxTextureDimension2D,void 0,ne.decorationStyleCache)),he.object)));const re=(0,W.FY)(this,(0,R.fz)().devicePixelRatio);this._register((0,R.ko)((0,R.fz)(),"resize",()=>{re.set((0,R.fz)().devicePixelRatio,void 0)})),this.devicePixelRatio=re,this._register((0,U.lp)(this.devicePixelRatio,()=>ne.atlas?.clear())),this._register(this._themeService.onDidColorThemeChange(()=>{ne.decorationCssRuleExtractor.clear(),ne.atlas?.clear()}));const de=(0,W.FY)(this,{width:this.canvas.domNode.width,height:this.canvas.domNode.height});this._register((0,d.qR)(this.canvas.domNode,(0,R.fz)(),(he,we)=>{this.canvas.domNode.width=he,this.canvas.domNode.height=we,de.set({width:he,height:we},void 0)})),this.canvasDevicePixelDimensions=de;const le=(0,W.FY)(this,0);this._register(this.configurationService.onDidChangeConfiguration(he=>{le.set(G.configuration.options.get(165).contentLeft,void 0)})),this.contentLeft=le,this.rectangleRenderer=this._register(this._instantiationService.createInstance(h,G,this.contentLeft,this.devicePixelRatio,this.canvas.domNode,this.ctx,ne.device))}canRender(G,Y,j){const z=Y.getViewLineRenderingData(j);if(z.containsRTL||z.maxColumn>this.maxGpuCols)return!1;if(z.inlineDecorations.length>0){let ie=!0;for(const re of z.inlineDecorations){if(re.type!==0){ie=!1;break}const de=ne._decorationCssRuleExtractor.getStyleRules(this.canvas.domNode,re.inlineClassName);if(ie&&=de.every(le=>{if(le.selectorText.includes(":"))return!1;for(const he of le.style)if(!H(he,le.style))return!1;return!0}),!ie)break}return ie}return!0}canRenderDetailed(G,Y,j){const z=Y.getViewLineRenderingData(j),ie=[];if(z.containsRTL&&ie.push("containsRTL"),z.maxColumn>this.maxGpuCols&&ie.push("maxColumn > maxGpuCols"),z.inlineDecorations.length>0){let re=!0;const de=[],le=[],he=[];for(const we of z.inlineDecorations){if(we.type!==0){de.push(we.type),re=!1;continue}const xe=ne._decorationCssRuleExtractor.getStyleRules(this.canvas.domNode,we.inlineClassName);re&&=xe.every(Be=>{if(Be.selectorText.includes(":"))return le.push(Be.selectorText),!1;for(const M of Be.style)if(!H(M,Be.style))return he.push(`${M}: ${Be.style[M]}`),!1;return!0})}de.length>0&&ie.push(`inlineDecorations with unsupported types (${de.map(we=>`\`${we}\``).join(", ")})`),he.length>0&&ie.push(`inlineDecorations with unsupported CSS rules (${he.map(we=>`\`${we}\``).join(", ")})`),le.length>0&&ie.push(`inlineDecorations with unsupported CSS selectors (${le.map(we=>`\`${we}\``).join(", ")})`)}return ie}},ne=Z,Z._decorationCssRuleExtractor=new D,Z._decorationStyleCache=new N,Z);V=ne=$([te(1,L._Y),te(2,u.Ot),te(3,C.pG),te(4,i.Gy)],V);const I=["color","font-weight","opacity","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-decoration-thickness"];function H(X,G){if(!I.includes(X))return!1;switch(X){case"text-decoration":case"text-decoration-line":return G.getPropertyValue(X)==="line-through";case"text-decoration-color":{const Y=G.getPropertyValue(X);return/^var\(--[^,]+,\s*(?:initial|inherit)\)$/.test(Y)?!0:T.Q1.Format.CSS.parse(Y)!==null}case"text-decoration-style":return G.getPropertyValue(X)==="initial";case"text-decoration-thickness":{const Y=G.getPropertyValue(X);return Y==="initial"||/^\d+(\.\d+)?px$/.test(Y)}default:return!0}}},77011:(St,We,e)=>{e.d(We,{L:()=>R,h:()=>x});var v=e(94327);class R{static fromTo(y,A){return new R(y,A)}static addRange(y,A){let g=0;for(;g<A.length&&A[g].endExclusive<y.start;)g++;let L=g;for(;L<A.length&&A[L].start<=y.endExclusive;)L++;if(g===L)A.splice(g,0,y);else{const b=Math.min(y.start,A[g].start),C=Math.max(y.endExclusive,A[L-1].endExclusive);A.splice(g,L-g,new R(b,C))}}static tryCreate(y,A){if(!(y>A))return new R(y,A)}static ofLength(y){return new R(0,y)}static ofStartAndLength(y,A){return new R(y,y+A)}static emptyAt(y){return new R(y,y)}constructor(y,A){if(this.start=y,this.endExclusive=A,y>A)throw new v.D7(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(y){return new R(this.start+y,this.endExclusive+y)}deltaStart(y){return new R(this.start+y,this.endExclusive)}deltaEnd(y){return new R(this.start,this.endExclusive+y)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(y){return this.start===y.start&&this.endExclusive===y.endExclusive}containsRange(y){return this.start<=y.start&&y.endExclusive<=this.endExclusive}contains(y){return this.start<=y&&y<this.endExclusive}join(y){return new R(Math.min(this.start,y.start),Math.max(this.endExclusive,y.endExclusive))}intersect(y){const A=Math.max(this.start,y.start),g=Math.min(this.endExclusive,y.endExclusive);if(A<=g)return new R(A,g)}intersectionLength(y){const A=Math.max(this.start,y.start),g=Math.min(this.endExclusive,y.endExclusive);return Math.max(0,g-A)}intersects(y){const A=Math.max(this.start,y.start),g=Math.min(this.endExclusive,y.endExclusive);return A<g}intersectsOrTouches(y){const A=Math.max(this.start,y.start),g=Math.min(this.endExclusive,y.endExclusive);return A<=g}isBefore(y){return this.endExclusive<=y.start}isAfter(y){return this.start>=y.endExclusive}slice(y){return y.slice(this.start,this.endExclusive)}substring(y){return y.substring(this.start,this.endExclusive)}clip(y){if(this.isEmpty)throw new v.D7(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,y))}clipCyclic(y){if(this.isEmpty)throw new v.D7(`Invalid clipping range: ${this.toString()}`);return y<this.start?this.endExclusive-(this.start-y)%this.length:y>=this.endExclusive?this.start+(y-this.start)%this.length:y}forEach(y){for(let A=this.start;A<this.endExclusive;A++)y(A)}joinRightTouching(y){if(this.endExclusive!==y.start)throw new v.D7(`Invalid join: ${this.toString()} and ${y.toString()}`);return new R(this.start,y.endExclusive)}withMargin(y,A){return A===void 0&&(A=y),new R(this.start-y,this.endExclusive+A)}}class x{constructor(){this._sortedRanges=[]}addRange(y){let A=0;for(;A<this._sortedRanges.length&&this._sortedRanges[A].endExclusive<y.start;)A++;let g=A;for(;g<this._sortedRanges.length&&this._sortedRanges[g].start<=y.endExclusive;)g++;if(A===g)this._sortedRanges.splice(A,0,y);else{const L=Math.min(y.start,this._sortedRanges[A].start),b=Math.max(y.endExclusive,this._sortedRanges[g-1].endExclusive);this._sortedRanges.splice(A,g-A,new R(L,b))}}toString(){return this._sortedRanges.map(y=>y.toString()).join(", ")}intersectsStrict(y){let A=0;for(;A<this._sortedRanges.length&&this._sortedRanges[A].endExclusive<=y.start;)A++;return A<this._sortedRanges.length&&this._sortedRanges[A].start<y.endExclusive}intersectWithRange(y){const A=new x;for(const g of this._sortedRanges){const L=g.intersect(y);L&&A.addRange(L)}return A}intersectWithRangeLength(y){return this.intersectWithRange(y).length}get length(){return this._sortedRanges.reduce((y,A)=>y+A.length,0)}}},77375:(St,We,e)=>{var _;var v=e(50946),R=e(27969),x=e(14333),T=e(10998),y=e(73678),A=e(54860),g=e(32837),L=e(58067),b=e(82399),C=e(56071),u=e(61988),i=e(99859),r=e(47936),d=e(47624),l=e(46933),o=function(E,S,h,D){var k=arguments.length,N=k<3?S:D===null?D=Object.getOwnPropertyDescriptor(S,h):D,W;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")N=Reflect.decorate(E,S,h,D);else for(var U=E.length-1;U>=0;U--)(W=E[U])&&(N=(k<3?W(N):k>3?W(S,h,N):W(S,h))||N);return k>3&&N&&Object.defineProperty(S,h,N),N},c=function(E,S){return function(h,D){S(h,D,E)}};let a=(_=class extends T.jG{constructor(S,h,D,k){super();const N=this._register((0,u.U)(S)),W=(0,i.un)($=>N.model.read($)?.uri),U=this._register(h.createInstance(p,L.D8.EditorContent,S.contextKeyService,W));this._register((0,r.fm)($=>{U.hasActions.read($)&&$.store.add(N.createOverlayWidget({allowEditorOverflow:!1,domNode:U.element,minContentWidthInPx:(0,d.l)(0),position:(0,d.l)({preference:1})}))}))}},_.ID="editor.contrib.floatingToolbar",_);a=o([c(1,b._Y),c(2,C.b),c(3,L.ez)],a);let p=class extends T.jG{constructor(S,h,D,k,N,W){super();const U=this._register(W.createMenu(S,h)),$=(0,l.y0)(this,U.onDidChange,()=>U.getActions()),te=(0,i.un)(ne=>{const V=$.read(ne),{primary:I}=(0,A.R4)(V,()=>!0);return I.filter(H=>H.id!==R.wv.ID)});this.hasActions=(0,i.un)(ne=>te.read(ne).length>0),this.element=(0,x.h)("div.floating-menu-overlay-widget").root,this._register((0,T.s)(()=>this.element.remove())),this._register((0,r.fm)(ne=>{const V=te.read(ne),I=V.length>0,H=I?V[0].id:void 0,Z=V.length===1;if(this.element.classList.toggle("single-button",Z),this.element.style.height=Z?"28px":"26px",!I)return;const X=k.createInstance(g.m,this.element,S,{actionViewItemProvider:(G,Y)=>{if(G instanceof L.Xe)return k.createInstance(class extends A.oq{render(j){super.render(j),G.id===H&&this.element?.classList.add("primary")}updateLabel(){const j=N.lookupKeybinding(G.id),z=j?j.getLabel():void 0;this.options.label&&this.label&&(this.label.textContent=z?`${this._commandAction.label} (${z})`:this._commandAction.label)}},G,{...Y,keybindingNotRenderedWithLabel:!0})},hiddenItemStrategy:0,menuOptions:{shouldForwardArgs:!0},telemetrySource:"editor.overlayToolbar",toolbarOptions:{primaryGroup:()=>!0,useSeparatorsInPrimaryActions:!0}});ne.store.add(X),ne.store.add((0,r.fm)(G=>{const Y=D.read(G);X.context=Y}))}))}};p=o([c(3,b._Y),c(4,C.b),c(5,L.ez)],p),(0,v.HW)(a.ID,a,1)},77439:(St,We,e)=>{e.d(We,{E:()=>C});var v=e(14333),R=e(87594),x=e(23473),T=e(65568),y=e(27969),A=e(2106),g=e(10998),L=e(79359),b=e(6826);class C extends g.jG{get viewItems(){return this._viewItems}get onDidBlur(){return this._onDidBlur.event}get onDidCancel(){return this._onDidCancel.event}get onDidRun(){return this._onDidRun.event}get onWillRun(){return this._onWillRun.event}constructor(i,r={}){super(),this._actionRunnerDisposables=this._register(new g.Cm),this.viewItemDisposables=this._register(new g.$w),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new A.vl),this._onDidCancel=this._register(new A.vl({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.cancelHasListener=!1,this._onDidRun=this._register(new A.vl),this._onWillRun=this._register(new A.vl),this.options=r,this._context=r.context??null,this._orientation=this.options.orientation??0,this._triggerKeys={keyDown:this.options.triggerKeys?.keyDown??!1,keys:this.options.triggerKeys?.keys??[3,10]},this._hoverDelegate=r.hoverDelegate??this._register((0,T.bW)()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new y.LN,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(o=>this._onDidRun.fire(o))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(o=>this._onWillRun.fire(o))),this._viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let d,l;switch(this._orientation){case 0:d=[15],l=[17];break;case 1:d=[16],l=[18],this.domNode.className+=" vertical";break}this._register((0,v.ko)(this.domNode,v.Bx.KEY_DOWN,o=>{const c=new R.Z(o);let a=!0;const p=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;d&&(c.equals(d[0])||c.equals(d[1]))?a=this.focusPrevious():l&&(c.equals(l[0])||c.equals(l[1]))?a=this.focusNext():c.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():c.equals(14)?a=this.focusFirst():c.equals(13)?a=this.focusLast():c.equals(2)&&p instanceof x.EH&&p.trapsArrowNavigation?a=this.focusNext(void 0,!0):this.isTriggerKeyEvent(c)?this._triggerKeys.keyDown?this.doTrigger(c):this.triggerKeyDown=!0:a=!1,a&&(c.preventDefault(),c.stopPropagation())})),this._register((0,v.ko)(this.domNode,v.Bx.KEY_UP,o=>{const c=new R.Z(o);this.isTriggerKeyEvent(c)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(c)),c.preventDefault(),c.stopPropagation()):(c.equals(2)||c.equals(1026)||c.equals(16)||c.equals(18)||c.equals(15)||c.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register((0,v.w5)(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{((0,v.bq)()===this.domNode||!(0,v.QX)((0,v.bq)(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),i.appendChild(this.domNode)}
891refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(i){if(this.focusable=i,this.focusable){const r=this.viewItems.find(d=>d instanceof x.EH&&d.isEnabled());r instanceof x.EH&&r.setFocusable(!0)}else this.viewItems.forEach(r=>{r instanceof x.EH&&r.setFocusable(!1)})}isTriggerKeyEvent(i){let r=!1;return this._triggerKeys.keys.forEach(d=>{r=r||i.equals(d)}),r}updateFocusedItem(){for(let i=0;i<this.actionsList.children.length;i++){const r=this.actionsList.children[i];if((0,v.QX)((0,v.bq)(),r)){this.focusedItem=i,this.viewItems[this.focusedItem]?.showHover?.();break}}}get context(){return this._context}set context(i){this._context=i,this.viewItems.forEach(r=>r.setActionContext(i))}get actionRunner(){return this._actionRunner}set actionRunner(i){this._actionRunner=i,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(r=>this._onDidRun.fire(r))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(r=>this._onWillRun.fire(r))),this.viewItems.forEach(r=>r.actionRunner=i)}getContainer(){return this.domNode}hasAction(i){return this.viewItems.findIndex(r=>r.action.id===i.id)!==-1}getAction(i){if(typeof i=="number")return this.viewItems[i]?.action;if((0,v.sb)(i)){for(;i.parentElement!==this.actionsList;){if(!i.parentElement)return;i=i.parentElement}for(let r=0;r<this.actionsList.childNodes.length;r++)if(this.actionsList.childNodes[r]===i)return this.viewItems[r].action}}push(i,r={}){const d=Array.isArray(i)?i:[i];let l=(0,L.Et)(r.index)?r.index:null;if(d.forEach(o=>{const c=document.createElement("li");c.className="action-item",c.setAttribute("role","presentation");let a;const p={hoverDelegate:this._hoverDelegate,...r,isTabList:this.options.ariaRole==="tablist"};this.options.actionViewItemProvider&&(a=this.options.actionViewItemProvider(o,p)),a||(a=new x.Z4(this.context,o,p)),this.options.allowContextMenu||this.viewItemDisposables.set(a,(0,v.ko)(c,v.Bx.CONTEXT_MENU,_=>{v.fs.stop(_,!0)})),a.actionRunner=this._actionRunner,a.setActionContext(this.context),a.render(c),l===null||l<0||l>=this.actionsList.children.length?(this.actionsList.appendChild(c),this._viewItems.push(a)):(this.actionsList.insertBefore(c,this.actionsList.children[l]),this._viewItems.splice(l,0,a),l++)}),this.focusable){let o=!1;for(const c of this.viewItems){if(!(c instanceof x.EH))continue;let a;o||c.action.id===y.wv.ID||!c.isEnabled()&&this.options.focusOnlyEnabledItems?a=!1:a=!0,a?(c.setFocusable(!0),o=!0):c.setFocusable(!1)}}typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}getWidth(i){return this.actionsList.children.item(i)?.clientWidth??0}pull(i){i>=0&&i<this.viewItems.length&&(this.actionsList.childNodes[i].remove(),this.viewItemDisposables.deleteAndDispose(this.viewItems[i]),(0,g.AS)(this._viewItems.splice(i,1)),this.refreshRole())}clear(){this.isEmpty()||(this._viewItems=(0,g.AS)(this._viewItems),this.viewItemDisposables.clearAndDisposeAll(),(0,v.w_)(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(i){let r=!1,d;if(i===void 0?r=!0:typeof i=="number"?d=i:typeof i=="boolean"&&(r=i),r&&typeof this.focusedItem>"u"){const l=this.viewItems.findIndex(o=>o.isEnabled());this.focusedItem=l===-1?void 0:l,this.updateFocus(void 0,void 0,!0)}else d!==void 0&&(this.focusedItem=d),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(i,r){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const d=this.focusedItem;let l;do{if(!i&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=d,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,l=this.viewItems[this.focusedItem]}while(this.focusedItem!==d&&(this.options.focusOnlyEnabledItems&&!l.isEnabled()||l.action.id===y.wv.ID));return this.updateFocus(void 0,void 0,r),!0}focusPrevious(i){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const r=this.focusedItem;let d;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!i&&this.options.preventLoopNavigation)return this.focusedItem=r,!1;this.focusedItem=this.viewItems.length-1}d=this.viewItems[this.focusedItem]}while(this.focusedItem!==r&&(this.options.focusOnlyEnabledItems&&!d.isEnabled()||d.action.id===y.wv.ID));return this.updateFocus(!0),!0}updateFocus(i,r,d=!1){typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:r}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&this.viewItems[this.previouslyFocusedItem]?.blur();const l=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(l){let o=!0;(0,L.Tn)(l.focus)||(o=!1),this.options.focusOnlyEnabledItems&&(0,L.Tn)(l.isEnabled)&&!l.isEnabled()&&(o=!1),l.action.id===y.wv.ID&&(o=!1),o?(d||this.previouslyFocusedItem!==this.focusedItem)&&(l.focus(i),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:r}),this.previouslyFocusedItem=void 0),o&&l.showHover?.()}}doTrigger(i){if(typeof this.focusedItem>"u")return;const r=this.viewItems[this.focusedItem];if(r instanceof x.EH){const d=r._context===null||r._context===void 0?i:r._context;this.run(r._action,d)}}async run(i,r){await this._actionRunner.run(i,r)}dispose(){this._context=void 0,this._viewItems=(0,g.AS)(this._viewItems),this.getContainer().remove(),super.dispose()}}},77492:(St,We,e)=>{var ae,Ee;e.d(We,{C:()=>je});var v=e(14333),R=e(44385),x=e(94327),T=e(14731),y=e(63946),A=e(10998),g=e(73678),L=e(2106),b=e(3765),C=e(92557),u=e(82096),i=e(85753),r=e(31540),d=e(82399),l=e(27619),o=e(44023),c=e(87676),a=e(18382),p=e(75962),_=e(73858),E=e(69227),S=e(82735),h=e(75712),D=e(10680),k=e(58687),N=e(948
89165),W=e(74707),U=e(89563),$=e(89044),te=e(15365),ne=e(31531),V=e(29849),I=e(84893),H=e(62919),Z=e(73042),X=e(56071),G=function(Ie,Ue,$e,Ye){var Ce=arguments.length,He=Ce<3?Ue:Ye===null?Ye=Object.getOwnPropertyDescriptor(Ue,$e):Ye,Ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")He=Reflect.decorate(Ie,Ue,$e,Ye);else for(var qe=Ie.length-1;qe>=0;qe--)(Ke=Ie[qe])&&(He=(Ce<3?Ke(He):Ce>3?Ke(Ue,$e,He):Ke(Ue,$e))||He);return Ce>3&&He&&Object.defineProperty(Ue,$e,He),He},Y=function(Ie,Ue){return function($e,Ye){Ue($e,Ye,Ie)}},j;let z=(ae=class{constructor(Ue){this.keybindingService=Ue}getResolver(){const Ue=new y.d(()=>this.keybindingService.getKeybindings().filter($e=>j.codeActionCommands.indexOf($e.command)>=0).filter($e=>$e.resolvedKeybinding).map($e=>{let Ye=$e.commandArgs;return $e.command===Z.Uy?Ye={kind:H.gB.SourceOrganizeImports.value}:$e.command===Z.Rw&&(Ye={kind:H.gB.SourceFixAll.value}),{resolvedKeybinding:$e.resolvedKeybinding,...H.QA.fromUser(Ye,{kind:T.k.None,apply:"never"})}}));return $e=>{if($e.kind)return this.bestKeybindingForCodeAction($e,Ue.value)?.resolvedKeybinding}}bestKeybindingForCodeAction(Ue,$e){if(!Ue.kind)return;const Ye=new T.k(Ue.kind);return $e.filter(Ce=>Ce.kind.contains(Ye)).filter(Ce=>Ce.preferred?Ue.isPreferred:!0).reduceRight((Ce,He)=>Ce?Ce.kind.contains(He.kind)?He:Ce:He,void 0)}},j=ae,ae.codeActionCommands=[Z.Xj,Z.k_,Z.C9,Z.Uy,Z.Rw],ae);z=j=G([Y(0,X.b)],z);var ie=e(60543),re=e(66526),de=e(5915),le=e(48621);const he=Object.freeze({kind:T.k.Empty,title:(0,b.kg)(902,"More Actions...")}),we=Object.freeze([{kind:H.gB.QuickFix,title:(0,b.kg)(903,"Quick Fix")},{kind:H.gB.RefactorExtract,title:(0,b.kg)(904,"Extract"),icon:de.W.wrench},{kind:H.gB.RefactorInline,title:(0,b.kg)(905,"Inline"),icon:de.W.wrench},{kind:H.gB.RefactorRewrite,title:(0,b.kg)(906,"Rewrite"),icon:de.W.wrench},{kind:H.gB.RefactorMove,title:(0,b.kg)(907,"Move"),icon:de.W.wrench},{kind:H.gB.SurroundWith,title:(0,b.kg)(908,"Surround With"),icon:de.W.surroundWith},{kind:H.gB.Source,title:(0,b.kg)(909,"Source Action"),icon:de.W.symbolFile},he]);function xe(Ie,Ue,$e){if(!Ue)return Ie.map(He=>({kind:"action",item:He,group:he,disabled:!!He.action.disabled,label:He.action.disabled||He.action.title,canPreview:!!He.action.edit?.edits.length}));const Ye=we.map(He=>({group:He,actions:[]}));for(const He of Ie){const Ke=He.action.kind?new T.k(He.action.kind):T.k.None;for(const qe of Ye)if(qe.group.kind.contains(Ke)){qe.actions.push(He);break}}const Ce=[];for(const He of Ye)if(He.actions.length){Ce.push({kind:"header",group:He.group});for(const Ke of He.actions){const qe=He.group;Ce.push({kind:"action",item:Ke,group:Ke.action.isAI?{title:qe.title,kind:qe.kind,icon:de.W.sparkle}:qe,label:Ke.action.title,disabled:!!Ke.action.disabled,keybinding:$e(Ke.action)})}}return Ce}var Be=e(85961),M=e(28609),Ve=e(96016),Me=function(Ie,Ue,$e,Ye){var Ce=arguments.length,He=Ce<3?Ue:Ye===null?Ye=Object.getOwnPropertyDescriptor(Ue,$e):Ye,Ke;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")He=Reflect.decorate(Ie,Ue,$e,Ye);else for(var qe=Ie.length-1;qe>=0;qe--)(Ke=Ie[qe])&&(He=(Ce<3?Ke(He):Ce>3?Ke(Ue,$e,He):Ke(Ue,$e))||He);return Ce>3&&He&&Object.defineProperty(Ue,$e,He),He},Le=function(Ie,Ue){return function($e,Ye){Ue($e,Ye,Ie)}},_e;const Qe="quickfix-edit-highlight";let je=(Ee=class extends A.jG{static get(Ue){return Ue.getContribution(_e.ID)}constructor(Ue,$e,Ye,Ce,He,Ke,qe,ht,Te,oe,q,ue){super(),this._commandService=qe,this._configurationService=ht,this._actionWidgetService=Te,this._instantiationService=oe,this._progressService=q,this._keybindingService=ue,this._activeCodeActions=this._register(new A.HE),this._showDisabled=!1,this._disposed=!1,this._onlyLightBulbWithEmptySelection=!1,this._lightBulbInfoObs=(0,Ve.FY)(this,void 0),this._preferredKbLabel=(0,Ve.FY)(this,void 0),this._quickFixKbLabel=(0,Ve.FY)(this,void 0),this._editor=Ue,this._model=this._register(new Be.Dc(this._editor,He.codeActionProvider,$e,Ye,Ke,ht)),this._register(this._model.onDidChangeState(J=>this.update(J))),this._register(L.Jh.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{this._preferredKbLabel.set(this._keybindingService.lookupKeybinding(Z.pR)?.getLabel()??void 0,void 0),this._quickFixKbLabel.set(this._keybindingService.lookupKeybinding(Z.pQ)?.getLabel()??void 0,void 0)})),this._lightBulbWidget=new y.d(()=>{const J=this._editor.getContribution(M.E.ID);return J&&(this._register(J.onClick(ve=>this.showCodeActionsFromLightbulb(ve.actions,ve))),J.onlyWithEmptySelection=this._onlyLightBulbWithEmptySelection),J}),this._resolver=Ce.createInstance(z),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(Ue,$e){if(Ue.allAIFixes&&Ue.validActions.length===1){const Ye=Ue.validActions[0],Ce=Ye.action.command;Ce&&Ce.id==="inlineChat.start"&&Ce.arguments&&Ce.arguments.length>=1&&Ce.arguments[0]&&(Ce.arguments[0]={...Ce.arguments[0],autoSend:!1}),await this.applyCodeAction(Ye,!1,!1,Z.Qp.FromAILightbulb);return}await this.showCodeActionList(Ue,$e,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(Ue,$e,Ye){return this.showCodeActionList($e,Ye,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(Ue,$e,Ye,Ce){if(!this._editor.hasModel())return;I.k.get(this._editor)?.closeMessage();const He=this._editor.getPosition();this._trigger({type:1,triggerAction:$e,filter:Ye,autoApply:Ce,context:{notAvailableMessage:Ue,position:He}})}_trigger(Ue){return this._model.trigger(Ue)}async applyCodeAction(Ue,$e,Ye,Ce){const He=this._progressService.show(!0,500);try{await this._instantiationService.invokeFunction(Z.W4,Ue,Ce,{preview:Ye,editor:this._editor})}
891finally{$e&&this._trigger({type:2,triggerAction:H.fo.QuickFix,filter:{}}),He.done()}}hideLightBulbWidget(){this._lightBulbWidget.rawValue?.hide(),this._lightBulbWidget.rawValue?.gutterHide()}async update(Ue){if(Ue.type!==1){this.hideLightBulbWidget(),this._lightBulbInfoObs.set(void 0,void 0);return}let $e;try{$e=await Ue.actions}catch(Ce){(0,x.dz)(Ce);return}if(!(this._disposed||this._editor.getSelection()?.startLineNumber!==Ue.position.lineNumber))if(this._lightBulbWidget.value?.update($e,Ue.trigger,Ue.position),this._lightBulbInfoObs.set((0,M.f)($e,Ue.trigger,this._preferredKbLabel.get(),this._quickFixKbLabel.get()),void 0),Ue.trigger.type===1){if(Ue.trigger.filter?.include){const He=this.tryGetValidActionToApply(Ue.trigger,$e);if(He){try{this.hideLightBulbWidget(),await this.applyCodeAction(He,!1,!1,Z.Qp.FromCodeActions)}finally{$e.dispose()}return}if(Ue.trigger.context){const Ke=this.getInvalidActionThatWouldHaveBeenApplied(Ue.trigger,$e);if(Ke&&Ke.action.disabled){I.k.get(this._editor)?.showMessage(Ke.action.disabled,Ue.trigger.context.position),$e.dispose();return}}}const Ce=!!Ue.trigger.filter?.include;if(Ue.trigger.context&&(!$e.allActions.length||!Ce&&!$e.validActions.length)){I.k.get(this._editor)?.showMessage(Ue.trigger.context.notAvailableMessage,Ue.trigger.context.position),this._activeCodeActions.value=$e,$e.dispose();return}this._activeCodeActions.value=$e,this.showCodeActionList($e,this.toCoords(Ue.position),{includeDisabledActions:Ce,fromLightbulb:!1})}else this._actionWidgetService.isVisible?$e.dispose():this._activeCodeActions.value=$e}getInvalidActionThatWouldHaveBeenApplied(Ue,$e){if($e.allActions.length&&(Ue.autoApply==="first"&&$e.validActions.length===0||Ue.autoApply==="ifSingle"&&$e.allActions.length===1))return $e.allActions.find(({action:Ye})=>Ye.disabled)}tryGetValidActionToApply(Ue,$e){if($e.validActions.length&&(Ue.autoApply==="first"&&$e.validActions.length>0||Ue.autoApply==="ifSingle"&&$e.validActions.length===1))return $e.validActions[0]}async showCodeActionList(Ue,$e,Ye){const Ce=this._editor.createDecorationsCollection(),He=this._editor.getDomNode();if(!He)return;const Ke=Ye.includeDisabledActions&&(this._showDisabled||Ue.validActions.length===0)?Ue.allActions:Ue.validActions;if(!Ke.length)return;const qe=te.y.isIPosition($e)?this.toCoords($e):$e,ht={onSelect:async(Te,oe)=>{this.applyCodeAction(Te,!0,!!oe,Ye.fromLightbulb?Z.Qp.FromAILightbulb:Z.Qp.FromCodeActions),this._actionWidgetService.hide(!1),Ce.clear()},onHide:Te=>{this._editor?.focus(),Ce.clear()},onHover:async(Te,oe)=>{if(oe.isCancellationRequested)return;let q=!1;const ue=Te.action.kind;if(ue){const J=new T.k(ue);q=[H.gB.RefactorExtract,H.gB.RefactorInline,H.gB.RefactorRewrite,H.gB.RefactorMove,H.gB.Source].some(De=>De.contains(J))}return{canPreview:q||!!Te.action.edit?.edits.length}},onFocus:Te=>{if(Te&&Te.action){const oe=Te.action.ranges,q=Te.action.diagnostics;if(Ce.clear(),oe&&oe.length>0){const ue=q&&q?.length>1?q.map(J=>({range:J,options:_e.DECORATION})):oe.map(J=>({range:J,options:_e.DECORATION}));Ce.set(ue)}else if(q&&q.length>0){const ue=q.map(ve=>({range:ve,options:_e.DECORATION}));Ce.set(ue);const J=q[0];if(J.startLineNumber&&J.startColumn){const ve=this._editor.getModel()?.getWordAtPosition({lineNumber:J.startLineNumber,column:J.startColumn})?.word;(0,R.h5)((0,b.kg)(899,"Context: {0} at line {1} and column {2}.",ve,J.startLineNumber,J.startColumn))}}}else Ce.clear()}};this._actionWidgetService.show("codeActionWidget",!0,xe(Ke,this._shouldShowHeaders(),this._resolver.getResolver()),ht,qe,He,this._getActionBarActions(Ue,$e,Ye))}toCoords(Ue){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(Ue,1),this._editor.render();const $e=this._editor.getScrolledVisiblePosition(Ue),Ye=(0,v.BK)(this._editor.getDomNode()),Ce=Ye.left+$e.left,He=Ye.top+$e.top+$e.height;return{x:Ce,y:He}}_shouldShowHeaders(){const Ue=this._editor?.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:Ue?.uri})}_getActionBarActions(Ue,$e,Ye){if(Ye.fromLightbulb)return[];const Ce=Ue.documentation.map(He=>({id:He.id,label:He.title,tooltip:He.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(He.id,...He.arguments??[])}));return Ye.includeDisabledActions&&Ue.validActions.length>0&&Ue.allActions.length!==Ue.validActions.length&&Ce.push(this._showDisabled?{id:"hideMoreActions",label:(0,b.kg)(900,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(Ue,$e,Ye))}:{id:"showMoreActions",label:(0,b.kg)(901,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(Ue,$e,Ye))}),Ce}},_e=Ee,Ee.ID="editor.contrib.codeActionController",Ee.DECORATION=ne.kI.register({description:"quickfix-highlight",className:Qe}),Ee);je=_e=Me([Le(1,l.DR),Le(2,r.fN),Le(3,d._Y),Le(4,V.u),Le(5,o.N8),Le(6,u.d),Le(7,i.pG),Le(8,C.$),Le(9,d._Y),Le(10,o.N8),Le(11,X.b)],je),
891(0,$.zy)((Ie,Ue)=>{((Ce,He)=>{He&&Ue.addRule(`.monaco-editor ${Ce} { background-color: ${He}; }`)})(".quickfix-edit-highlight",Ie.getColor(_.Ub));const Ye=Ie.getColor(_.EC);Ye&&Ue.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${(0,U.Bb)(Ie.type)?"dotted":"solid"} ${Ye}; box-sizing: border-box; }`)})},77723:(St,We,e)=>{e.d(We,{W5:()=>l,dr:()=>b,eV:()=>L,hB:()=>u,lt:()=>g,wC:()=>d});var v=e(16844),R=e(82862),x=e(15365),T=e(28061),y=e(66055);const A=999;class g{constructor(c,a,p,_){this.searchString=c,this.isRegex=a,this.matchCase=p,this.wordSeparators=_}parseSearchRequest(){if(this.searchString==="")return null;let c;this.isRegex?c=L(this.searchString):c=this.searchString.indexOf(`
892`)>=0;let a=null;try{a=(0,v.OS)(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:c,global:!0,unicode:!0})}catch{return null}if(!a)return null;let p=!this.isRegex&&!c;return p&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(p=this.matchCase),new y.L5(a,this.wordSeparators?(0,R.i)(this.wordSeparators,[]):null,p?this.searchString:null)}}function L(o){if(!o||o.length===0)return!1;for(let c=0,a=o.length;c<a;c++){const p=o.charCodeAt(c);if(p===10)return!0;if(p===92){if(c++,c>=a)break;const _=o.charCodeAt(c);if(_===110||_===114||_===87)return!0}}return!1}function b(o,c,a){if(!a)return new y.Dg(o,null);const p=[];for(let _=0,E=c.length;_<E;_++)p[_]=c[_];return new y.Dg(o,p)}class C{constructor(c){const a=[];let p=0;for(let _=0,E=c.length;_<E;_++)c.charCodeAt(_)===10&&(a[p++]=_);this._lineFeedsOffsets=a}findLineFeedCountBeforeOffset(c){const a=this._lineFeedsOffsets;let p=0,_=a.length-1;if(_===-1||c<=a[0])return 0;for(;p<_;){const E=p+((_-p)/2>>0);a[E]>=c?_=E-1:a[E+1]>=c?(p=E,_=E):p=E+1}return p+1}}class u{static findMatches(c,a,p,_,E){const S=a.parseSearchRequest();return S?S.regex.multiline?this._doFindMatchesMultiline(c,p,new l(S.wordSeparators,S.regex),_,E):this._doFindMatchesLineByLine(c,p,S,_,E):[]}static _getMultilineMatchRange(c,a,p,_,E,S){let h,D=0;_?(D=_.findLineFeedCountBeforeOffset(E),h=a+E+D):h=a+E;let k;if(_){const $=_.findLineFeedCountBeforeOffset(E+S.length)-D;k=h+S.length+$}else k=h+S.length;const N=c.getPositionAt(h),W=c.getPositionAt(k);return new T.Q(N.lineNumber,N.column,W.lineNumber,W.column)}static _doFindMatchesMultiline(c,a,p,_,E){const S=c.getOffsetAt(a.getStartPosition()),h=c.getValueInRange(a,1),D=c.getEOL()===`\r
893`?new C(h):null,k=[];let N=0,W;for(p.reset(0);W=p.next(h);)if(k[N++]=b(this._getMultilineMatchRange(c,S,h,D,W.index,W[0]),W,_),N>=E)return k;return k}static _doFindMatchesLineByLine(c,a,p,_,E){const S=[];let h=0;if(a.startLineNumber===a.endLineNumber){const k=c.getLineContent(a.startLineNumber).substring(a.startColumn-1,a.endColumn-1);return h=this._findMatchesInLine(p,k,a.startLineNumber,a.startColumn-1,h,S,_,E),S}const D=c.getLineContent(a.startLineNumber).substring(a.startColumn-1);h=this._findMatchesInLine(p,D,a.startLineNumber,a.startColumn-1,h,S,_,E);for(let k=a.startLineNumber+1;k<a.endLineNumber&&h<E;k++)h=this._findMatchesInLine(p,c.getLineContent(k),k,0,h,S,_,E);if(h<E){const k=c.getLineContent(a.endLineNumber).substring(0,a.endColumn-1);h=this._findMatchesInLine(p,k,a.endLineNumber,0,h,S,_,E)}return S}static _findMatchesInLine(c,a,p,_,E,S,h,D){const k=c.wordSeparators;if(!h&&c.simpleSearch){const U=c.simpleSearch,$=U.length,te=a.length;let ne=-$;for(;(ne=a.indexOf(U,ne+$))!==-1;)if((!k||d(k,a,te,ne,$))&&(S[E++]=new y.Dg(new T.Q(p,ne+1+_,p,ne+1+$+_),null),E>=D))return E;return E}const N=new l(c.wordSeparators,c.regex);let W;N.reset(0);do if(W=N.next(a),W&&(S[E++]=b(new T.Q(p,W.index+1+_,p,W.index+1+W[0].length+_),W,h),E>=D))return E;while(W);return E}static findNextMatch(c,a,p,_){const E=a.parseSearchRequest();if(!E)return null;const S=new l(E.wordSeparators,E.regex);return E.regex.multiline?this._doFindNextMatchMultiline(c,p,S,_):this._doFindNextMatchLineByLine(c,p,S,_)}static _doFindNextMatchMultiline(c,a,p,_){const E=new x.y(a.lineNumber,1),S=c.getOffsetAt(E),h=c.getLineCount(),D=c.getValueInRange(new T.Q(E.lineNumber,E.column,h,c.getLineMaxColumn(h)),1),k=c.getEOL()===`\r
894`?new C(D):null;p.reset(a.column-1);const N=p.next(D);return N?b(this._getMultilineMatchRange(c,S,D,k,N.index,N[0]),N,_):a.lineNumber!==1||a.column!==1?this._doFindNextMatchMultiline(c,new x.y(1,1),p,_):null}static _doFindNextMatchLineByLine(c,a,p,_){const E=c.getLineCount(),S=a.lineNumber,h=c.getLineContent(S),D=this._findFirstMatchInLine(p,h,S,a.column,_);if(D)return D;for(let k=1;k<=E;k++){const N=(S+k-1)%E,W=c.getLineContent(N+1),U=this._findFirstMatchInLine(p,W,N+1,1,_);if(U)return U}return null}static _findFirstMatchInLine(c,a,p,_,E){c.reset(_-1);const S=c.next(a);return S?b(new T.Q(p,S.index+1,p,S.index+1+S[0].length),S,E):null}static findPreviousMatch(c,a,p,_){const E=a.parseSearchRequest();if(!E)return null;const S=new l(E.wordSeparators,E.regex);return E.regex.multiline?this._doFindPreviousMatchMultiline(c,p,S,_):this._doFindPreviousMatchLineByLine(c,p,S,_)}static _doFindPreviousMatchMultiline(c,a,p,_){const E=this._doFind
894MatchesMultiline(c,new T.Q(1,1,a.lineNumber,a.column),p,_,10*A);if(E.length>0)return E[E.length-1];const S=c.getLineCount();return a.lineNumber!==S||a.column!==c.getLineMaxColumn(S)?this._doFindPreviousMatchMultiline(c,new x.y(S,c.getLineMaxColumn(S)),p,_):null}static _doFindPreviousMatchLineByLine(c,a,p,_){const E=c.getLineCount(),S=a.lineNumber,h=c.getLineContent(S).substring(0,a.column-1),D=this._findLastMatchInLine(p,h,S,_);if(D)return D;for(let k=1;k<=E;k++){const N=(E+S-k-1)%E,W=c.getLineContent(N+1),U=this._findLastMatchInLine(p,W,N+1,_);if(U)return U}return null}static _findLastMatchInLine(c,a,p,_){let E=null,S;for(c.reset(0);S=c.next(a);)E=b(new T.Q(p,S.index+1,p,S.index+1+S[0].length),S,_);return E}}function i(o,c,a,p,_){if(p===0)return!0;const E=c.charCodeAt(p-1);if(o.get(E)!==0||E===13||E===10)return!0;if(_>0){const S=c.charCodeAt(p);if(o.get(S)!==0)return!0}return!1}function r(o,c,a,p,_){if(p+_===a)return!0;const E=c.charCodeAt(p+_);if(o.get(E)!==0||E===13||E===10)return!0;if(_>0){const S=c.charCodeAt(p+_-1);if(o.get(S)!==0)return!0}return!1}function d(o,c,a,p,_){return i(o,c,a,p,_)&&r(o,c,a,p,_)}class l{constructor(c,a){this._wordSeparators=c,this._searchRegex=a,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(c){this._searchRegex.lastIndex=c,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(c){const a=c.length;let p;do{if(this._prevMatchStartIndex+this._prevMatchLength===a||(p=this._searchRegex.exec(c),!p))return null;const _=p.index,E=p[0].length;if(_===this._prevMatchStartIndex&&E===this._prevMatchLength){if(E===0){(0,v.Z5)(c,a,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=_,this._prevMatchLength=E,!this._wordSeparators||d(this._wordSeparators,c,a,_,E))return p}while(p);return null}}},77917:(St,We,e)=>{e.d(We,{P:()=>C,w:()=>b});var v=e(38792),R=e(87110),x=e(8897),T=e(94327),y=e(2106),A=e(10998),g=e(82460);function L(u){switch(u){case 0:return"initial";case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}class b extends v.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}constructor(i,r,d,l=void 0,o,c){super(c),this._debugNameData=i,this._computeFn=r,this._changeTracker=d,this._handleLastObserverRemoved=l,this._equalityComparator=o,this._state=0,this._value=void 0,this._updateCount=0,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._changeSummary=void 0,this._isUpdating=!1,this._isComputing=!1,this._didReportChange=!1,this._isInBeforeUpdate=!1,this._isReaderValid=!1,this._store=void 0,this._delayedStore=void 0,this._removedObserverToCallEndUpdateOn=null,this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}onLastObserverRemoved(){this._state=0,this._value=void 0,(0,g.t)()?.handleDerivedCleared(this);for(const i of this._dependencies)i.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let r;try{this._isReaderValid=!0;let d;this._changeTracker&&(d=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,d)),r=this._computeFn(this,d)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),r}else{do{if(this._state===1){for(const r of this._dependencies)if(r.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let i=!1;this._isComputing=!0,this._didReportChange=!1;const r=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=r;try{const d=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,d),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(d));const l=this._state!==0,o=this._value;this._state=3;const c=this._delayedStore;c!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,d)}finally{this._isReaderValid=!1;for(const a of this._dependenciesToBeRemoved)a.removeObserver(this);this._dependenciesToBeRemoved.clear(),c!==void 0&&c.dispose()}i=this._didReportChange||l&&!this._equalityComparator(o,this._value),(0,g.t)()?.handleObservableUpdated(this,{oldValue:o,newValue:this._value,change:void 0,didChange:i,hadValue:l})}catch(d){(0,T.y4)(d)}if(this._isComputing=!1,!this._didReportChange&&i)for(const d of this._observers)d.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(i){if(this._isUpdating)throw new T.D7("Cyclic deriveds are not supported yet!");this._updateCount++,this._isUpdating=!0;try{const r=this._updateCount===1;if(this._state===3&&(this._state=1,!r))for(const d of this._observers)d.handlePossibleChange(this);if(r)for(const d of this._observers)d.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(i){if(this._updateCount--,this._updateCount===0){const r=[...this._observers];for(const d of r)d.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){const d=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(const l of d)l.endUpdate(this)}}(0,R.Ft)(()=>this._updateCount>=0)}handlePossibleChange(i){if(this._state===3&&this._dependencies.has(i)&&!this._dependenciesToBeRemoved.has(i)){this._state=1;for(const r of this._observers)r.handlePossibleChange(this)}}handleChange(i,r){if(this._dependencies.has(i)&&!this._dependenciesToBeRemoved.has(i)||this._isInBeforeUpdate){(0,g.t)()?.handleDerivedDependencyChanged(this,i,r);let d=!1;try{d=this._changeTracker?this._changeTracker.handleChange({changedObservable:i,change:r,didChange:o=>o===i},this._changeSummary):!0}catch(o){(0,T.y4)(o)}const l=this._state===3;if(d&&(this._state===1||l)&&(this._state=2,l))for(const o of this._observers)o.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new T.D7("The reader object cannot be used outside its compute function!")}readObservable(i){this._ensureReaderValid(),i.addObserver(this);const r=i.get();return this._dependencies.add(i),this._dependenciesToBeRemoved.delete(i),r}
894get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new A.Cm),this._store}addObserver(i){const r=!this._observers.has(i)&&this._updateCount>0;super.addObserver(i),r&&(this._removedObserverToCallEndUpdateOn?.delete(i)||i.beginUpdate(this))}removeObserver(i){this._observers.has(i)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||(this._removedObserverToCallEndUpdateOn=new Set),this._removedObserverToCallEndUpdateOn.add(i)),super.removeObserver(i)}debugGetState(){return{state:this._state,stateStr:L(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(i){this._value=i}debugRecompute(){this.beginUpdate(this);try{this._isComputing?this._state=2:this._recompute()}finally{this.endUpdate(this)}}setValue(i,r,d){this._value=i;const l=this._observers;r.updateObserver(this,this);for(const o of l)o.handleChange(this,d)}}class C extends b{constructor(i,r,d,l=void 0,o,c,a){super(i,r,d,l,o,a),this.set=c}}},77922:(St,We,e)=>{e.d(We,{L:()=>R});var v=e(82399);const R=(0,v.u1)("languageService")},78148:(St,We,e)=>{e.d(We,{I:()=>L});var v=e(13072),R=e(22467),x=e(37264),T=e(54957),y=e(89971),A=e(58881);const g=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function L(u,i,r,d,l){if(A.L.isThemeIcon(l))return[`codicon-${l.id}`,"predefined-file-icon"];if(x.r.isUri(l))return[];const o=d===y.p.ROOT_FOLDER?["rootfolder-icon"]:d===y.p.FOLDER?["folder-icon"]:["file-icon"];if(r){let c;if(r.scheme===v.ny.data)c=R.B6.parseMetaData(r).get(R.B6.META_DATA_LABEL);else{const a=r.path.match(g);a?(c=C(a[2].toLowerCase()),a[1]&&o.push(`${C(a[1].toLowerCase())}-name-dir-icon`)):c=C(r.authority.toLowerCase())}if(d===y.p.ROOT_FOLDER)o.push(`${c}-root-name-folder-icon`);else if(d===y.p.FOLDER)o.push(`${c}-name-folder-icon`);else{if(c){if(o.push(`${c}-name-file-icon`),o.push("name-file-icon"),c.length<=255){const p=c.split(".");for(let _=1;_<p.length;_++)o.push(`${p.slice(_).join(".")}-ext-file-icon`)}o.push("ext-file-icon")}const a=b(u,i,r);a&&o.push(`${C(a)}-lang-file-icon`)}}return o}function b(u,i,r){if(!r)return null;let d=null;if(r.scheme===v.ny.data){const o=R.B6.parseMetaData(r).get(R.B6.META_DATA_MIME);o&&(d=i.getLanguageIdByMimeType(o))}else{const l=u.getModel(r);l&&(d=l.getLanguageId())}return d&&d!==T.vH?d:i.guessLanguageIdByFilepathOrFirstLine(r)}function C(u){return u.replace(/[\s]/g,"/")}},78166:(St,We,e)=>{e.d(We,{CM:()=>c,G8:()=>o,Hm:()=>C,Hp:()=>A,K6:()=>y,MB:()=>g,Xp:()=>u,Zp:()=>l,dV:()=>x,iM:()=>d,ih:()=>b,jA:()=>R,jq:()=>r,vJ:()=>T,vf:()=>L,vx:()=>i});var v=e(3765);const R="editor.action.showHover",x="editor.action.showDefinitionPreviewHover",T="editor.action.hideHover",y="editor.action.scrollUpHover",A="editor.action.scrollDownHover",g="editor.action.scrollLeftHover",L="editor.action.scrollRightHover",b="editor.action.pageUpHover",C="editor.action.pageDownHover",u="editor.action.goToTopHover",i="editor.action.goToBottomHover",r="editor.action.increaseHoverVerbosityLevel",d=(0,v.kg)(1145,"Increase Hover Verbosity Level"),l="editor.action.decreaseHoverVerbosityLevel",o=(0,v.kg)(1146,"Decrease Hover Verbosity Level"),c="editor.action.hideLongLineWarningHover"},78217:(St,We,e)=>{var a;var v=e(65958),R=e(94327),x=e(62105),T=e(50946),y=e(28061),A=e(93702),g=e(38122),L=e(31531),b=e(90304),C=e(3765);class u{constructor(_,E,S){this._editRange=_,this._originalSelection=E,this._text=S}getEditOperations(_,E){E.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(_,E){const h=E.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new A.L(h.endLineNumber,Math.min(this._originalSelection.positionColumn,h.endColumn),h.endLineNumber,Math.min(this._originalSelection.positionColumn,h.endColumn)):new A.L(h.endLineNumber,h.endColumn-this._text.length,h.endLineNumber,h.endColumn)}}var i=function(p,_,E,S){var h=arguments.length,D=h<3?_:S===null?S=Object.getOwnPropertyDescriptor(_,E):S,k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(p,_,E,S);else for(var N=p.length-1;N>=0;N--)(k=p[N])&&(D=(h<3?k(D):h>3?k(_,E,D):k(_,E))||D);return h>3&&D&&Object.defineProperty(_,E,D),D},r=function(p,_){return function(E,S){_(E,S,p)}},d;let l=(a=class{static get(_){return _.getContribution(d.ID)}constructor(_,E){this.editor=_,this.editorWorkerService=E,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(_,E){this.currentRequest?.cancel();const S=this.editor.getSelection(),h=this.editor.getModel();if(!h||!S)return;let D=S;
894if(D.startLineNumber!==D.endLineNumber)return;const k=new x.$t(this.editor,5),N=h.uri;return this.editorWorkerService.canNavigateValueSet(N)?(this.currentRequest=(0,v.SS)(W=>this.editorWorkerService.navigateValueSet(N,D,E)),this.currentRequest.then(W=>{if(!W||!W.range||!W.value||!k.validate(this.editor))return;const U=y.Q.lift(W.range);let $=W.range;const te=W.value.length-(D.endColumn-D.startColumn);$={startLineNumber:$.startLineNumber,startColumn:$.startColumn,endLineNumber:$.endLineNumber,endColumn:$.startColumn+W.value.length},te>1&&(D=new A.L(D.startLineNumber,D.startColumn,D.endLineNumber,D.endColumn+te-1));const ne=new u(U,D,W.value);this.editor.pushUndoStop(),this.editor.executeCommand(_,ne),this.editor.pushUndoStop(),this.decorations.set([{range:$,options:d.DECORATION}]),this.decorationRemover?.cancel(),this.decorationRemover=(0,v.wR)(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(R.dz)}).catch(R.dz)):Promise.resolve(void 0)}},d=a,a.ID="editor.contrib.inPlaceReplaceController",a.DECORATION=L.kI.register({description:"in-place-replace",className:"valueSetReplacement"}),a);l=d=i([r(1,b.w)],l);class o extends T.ks{constructor(){super({id:"editor.action.inPlaceReplace.up",label:(0,C.aS)(1286,"Replace with Previous Value"),precondition:g.R.writable,kbOpts:{kbExpr:g.R.editorTextFocus,primary:3159,weight:100}})}run(_,E){const S=l.get(E);return S?S.run(this.id,!1):Promise.resolve(void 0)}}class c extends T.ks{constructor(){super({id:"editor.action.inPlaceReplace.down",label:(0,C.aS)(1287,"Replace with Next Value"),precondition:g.R.writable,kbOpts:{kbExpr:g.R.editorTextFocus,primary:3161,weight:100}})}run(_,E){const S=l.get(E);return S?S.run(this.id,!0):Promise.resolve(void 0)}}(0,T.HW)(l.ID,l,4),(0,T.Fl)(o),(0,T.Fl)(c)},78471:(St,We,e)=>{e.d(We,{R:()=>v});const v={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},78518:(St,We,e)=>{e.d(We,{No:()=>C,TH:()=>y,Zn:()=>g,_1:()=>L,kb:()=>A});var v=e(18019),R=e(63339),x=e(16844);function T(u){return u===47||u===92}function y(u){return u.replace(/[\\/]/g,v.SA.sep)}function A(u){return u.indexOf("/")===-1&&(u=y(u)),/^[a-zA-Z]:(\/|$)/.test(u)&&(u="/"+u),u}function g(u,i=v.SA.sep){if(!u)return"";const r=u.length,d=u.charCodeAt(0);if(T(d)){if(T(u.charCodeAt(1))&&!T(u.charCodeAt(2))){let o=3;const c=o;for(;o<r&&!T(u.charCodeAt(o));o++);if(c!==o&&!T(u.charCodeAt(o+1))){for(o+=1;o<r;o++)if(T(u.charCodeAt(o)))return u.slice(0,o+1).replace(/[\\/]/g,i)}}return i}else if(b(d)&&u.charCodeAt(1)===58)return T(u.charCodeAt(2))?u.slice(0,2)+i:u.slice(0,2);let l=u.indexOf("://");if(l!==-1){for(l+=3;l<r;l++)if(T(u.charCodeAt(l)))return u.slice(0,l+1)}return""}function L(u,i,r,d=!1){const l=d?v.SA.sep:v.Vn;if(u===i)return!0;if(!u||!i||((u.indexOf("..")>=0||i.indexOf("..")>=0)&&(u=d?v.SA.normalize(u):(0,v.S8)(u),i=d?v.SA.normalize(i):(0,v.S8)(i)),i.length>u.length))return!1;if(r){if(!(0,x.ns)(u,i))return!1;if(i.length===u.length)return!0;let c=i.length;return i.charAt(i.length-1)===l&&c--,u.charAt(c)===l}return i.charAt(i.length-1)!==l&&(i+=l),u.indexOf(i)===0}function b(u){return u>=65&&u<=90||u>=97&&u<=122}function C(u,i=R.uF){return i?b(u.charCodeAt(0))&&u.charCodeAt(1)===58:!1}},78903:(St,We,e)=>{e.d(We,{Qi:()=>y,XO:()=>x,bs:()=>A});var v=e(2106);const R=Object.freeze(function(g,L){const b=setTimeout(g.bind(L),0);return{dispose(){clearTimeout(b)}}});var x;(function(g){function L(b){return b===g.None||b===g.Cancelled||b instanceof T?!0:!b||typeof b!="object"?!1:typeof b.isCancellationRequested=="boolean"&&typeof b.onCancellationRequested=="function"}g.isCancellationToken=L,g.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:v.Jh.None}),g.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:R})})(x||(x={}));class T{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?R:(this._emitter||(this._emitter=new v.vl),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class y{constructor(L){this._token=void 0,this._parentListener=void 0,this._parentListener=L&&L.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new T),this._token}
894cancel(){this._token?this._token instanceof T&&this._token.cancel():this._token=x.Cancelled}dispose(L=!1){L&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof T&&this._token.dispose():this._token=x.None}}function A(g){const L=new y;return g.add({dispose(){L.cancel()}}),L.token}},79359:(St,We,e)=>{e.d(We,{Et:()=>A,Gv:()=>T,Kg:()=>R,Lm:()=>L,O9:()=>C,Tn:()=>d,VT:()=>c,b0:()=>b,iu:()=>y,j:()=>i,jx:()=>l,lF:()=>x,ni:()=>r,xZ:()=>g,z:()=>u});var v=e(87110);function R(a){return typeof a=="string"}function x(a,p){return Array.isArray(a)&&a.every(p)}function T(a){return typeof a=="object"&&a!==null&&!Array.isArray(a)&&!(a instanceof RegExp)&&!(a instanceof Date)}function y(a){const p=Object.getPrototypeOf(Uint8Array);return typeof a=="object"&&a instanceof p}function A(a){return typeof a=="number"&&!isNaN(a)}function g(a){return!!a&&typeof a[Symbol.iterator]=="function"}function L(a){return a===!0||a===!1}function b(a){return typeof a>"u"}function C(a){return!u(a)}function u(a){return b(a)||a===null}function i(a,p){if(!a)throw new Error(p?`Unexpected type, expected '${p}'`:"Unexpected type")}function r(a){return(0,v.vA)(a!=null,"Argument is `undefined` or `null`."),a}function d(a){return typeof a=="function"}function l(a,p){const _=Math.min(a.length,p.length);for(let E=0;E<_;E++)o(a[E],p[E])}function o(a,p){if(R(p)){if(typeof a!==p)throw new Error(`argument does not match constraint: typeof ${p}`)}else if(d(p)){try{if(a instanceof p)return}catch{}if(!u(a)&&a.constructor===p||p.length===1&&p.call(void 0,a)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function c(a){return a}},79400:(St,We,e)=>{e.d(We,{s:()=>u});var v=e(14333),R=e(93557),x=e(8431),T=e(10998),y=e(71386),A=e(82199),g=e(65568),L=e(20396),b=e(58881);class C{constructor(o){this._element=o}get element(){return this._element}set textContent(o){this.disposed||o===this._textContent||(this._textContent=o,this._element.textContent=o)}set classNames(o){this.disposed||(0,y.aI)(o,this._classNames)||(this._classNames=o,this._element.classList.value="",this._element.classList.add(...o))}set empty(o){this.disposed||o===this._empty||(this._empty=o,this._element.style.marginLeft=o?"0":"")}dispose(){this.disposed=!0}}class u extends T.jG{constructor(o,c){super(),this.customHovers=new Map,this.creationOptions=c,this.domNode=this._register(new C((0,v.BC)(o,(0,v.$)(".monaco-icon-label")))),this.labelContainer=(0,v.BC)(this.domNode.element,(0,v.$)(".monaco-icon-label-container")),this.nameContainer=(0,v.BC)(this.labelContainer,(0,v.$)("span.monaco-icon-name-container")),c?.supportHighlights||c?.supportIcons?this.nameNode=this._register(new d(this.nameContainer,!!c.supportIcons)):this.nameNode=new i(this.nameContainer),this.hoverDelegate=c?.hoverDelegate??(0,g.nZ)("mouse")}get element(){return this.domNode.element}setLabel(o,c,a){const p=["monaco-icon-label"],_=["monaco-icon-label-container"];let E="";a&&(a.extraClasses&&p.push(...a.extraClasses),a.bold&&p.push("bold"),a.italic&&p.push("italic"),a.strikethrough&&p.push("strikethrough"),a.disabledCommand&&_.push("disabled"),a.title&&(typeof a.title=="string"?E+=a.title:E+=o));const S=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(a?.iconPath){let h;if(!S||!(0,v.sb)(S)?(h=(0,v.$)(".monaco-icon-label-iconpath"),this.domNode.element.prepend(h)):h=S,b.L.isThemeIcon(a.iconPath)){const D=b.L.asClassName(a.iconPath);h.className=`monaco-icon-label-iconpath ${D}`,h.style.backgroundImage=""}else h.style.backgroundImage=(0,R.Tf)(a?.iconPath);h.style.backgroundRepeat="no-repeat",h.style.backgroundPosition="center",h.style.backgroundSize="contain"}else S&&S.remove();if(this.domNode.classNames=p,this.domNode.element.setAttribute("aria-label",E),this.labelContainer.classList.value="",this.labelContainer.classList.add(..._),this.setupHover(a?.descriptionTitle?this.labelContainer:this.element,a?.title),this.nameNode.setLabel(o,a),c||this.descriptionNode){const h=this.getOrCreateDescriptionNode();if(h instanceof x._){const D=a?.supportIcons??this.creationOptions?.supportIcons;h.set(c||"",a?a.descriptionMatches:void 0,void 0,a?.labelEscapeNewLines,D),this.setupHover(h.element,a?.descriptionTitle)}else h.textContent=c&&a?.labelEscapeNewLines?x._.escapeNewLines(c,[]):c||"",this.setupHover(h.element,a?.descriptionTitle||""),h.empty=!c}if(a?.suffix||this.suffixNode){const h=this.getOrCreateSuffixNode();h.textContent=a?.suffix??""}}setupHover(o,c){const a=this.customHovers.get(o);if(a&&(a.dispose(),this.customHovers.delete(o)),!c){o.removeAttribute("title");return}let p=o;if(this.creationOptions?.hoverTargetOverride){if(!(0,v.QX)(o,this.creationOptions.hoverTargetOverride))throw new Error("hoverTargetOverrride must be an ancestor of the htmlElement");p=this.creationOptions.hoverTargetOverride}const _=(0,L.i)().setupManagedHover(this.hoverDelegate,p,c);_&&this.customHovers.set(o,_)}dispose(){super.dispose();for(const o of this.customHovers.values())o.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const o=this._register(new C((0,v.Pl)(this.nameContainer,(0,v.$)("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new C((0,v.BC)(o.element,(0,v.$)("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){if(!this.descriptionNode){const o=this._register(new C((0,v.BC)(this.labelContainer,(0,v.$)("span.monaco-icon-description-container"))));this.creationOptions?.supportDescriptionHighlights?this.descriptionNode=this._register(new x._((0,v.BC)(o.element,(0,v.$)("span.label-description")))):this.descriptionNode=this._register(new C((0,v.BC)(o.element,(0,v.$)("span.label-description"))))}return this.descriptionNode}}
894class i{constructor(o){this.container=o,this.label=void 0,this.singleLabel=void 0}setLabel(o,c){if(!(this.label===o&&(0,y.aI)(this.options,c)))if(this.label=o,this.options=c,typeof o=="string")this.singleLabel||(this.container.textContent="",this.container.classList.remove("multiple"),this.singleLabel=(0,v.BC)(this.container,(0,v.$)("a.label-name",{id:c?.domId}))),this.singleLabel.textContent=o;else{this.container.textContent="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let a=0;a<o.length;a++){const p=o[a],_=c?.domId&&`${c?.domId}_${a}`;(0,v.BC)(this.container,(0,v.$)("a.label-name",{id:_,"data-icon-label-count":o.length,"data-icon-label-index":a,role:"treeitem"},p)),a<o.length-1&&(0,v.BC)(this.container,(0,v.$)("span.label-separator",void 0,c?.separator||"/"))}}}}function r(l,o,c){if(!c)return;let a=0;return l.map(p=>{const _={start:a,end:a+p.length},E=c.map(S=>A.Q.intersect(_,S)).filter(S=>!A.Q.isEmpty(S)).map(({start:S,end:h})=>({start:S-a,end:h-a}));return a=_.end+o.length,E})}class d extends T.jG{constructor(o,c){super(),this.container=o,this.supportIcons=c,this.label=void 0,this.singleLabel=void 0,this._labelDisposables=this._register(new T.Cm)}setLabel(o,c){if(this.label===o&&(0,y.aI)(this.options,c))return;this.label=o,this.options=c;const a=c?.supportIcons??this.supportIcons;if(typeof o=="string")this.singleLabel||(this._labelDisposables.clear(),this.container.textContent="",this.container.classList.remove("multiple"),this.singleLabel=this._labelDisposables.add(new x._((0,v.BC)(this.container,(0,v.$)("a.label-name",{id:c?.domId}))))),this.singleLabel.set(o,c?.matches,void 0,c?.labelEscapeNewLines,a);else{this._labelDisposables.clear(),this.container.textContent="",this.container.classList.add("multiple"),this.singleLabel=void 0;const p=c?.separator||"/",_=r(o,p,c?.matches);for(let E=0;E<o.length;E++){const S=o[E],h=_?_[E]:void 0,D=c?.domId&&`${c?.domId}_${E}`,k=(0,v.$)("a.label-name",{id:D,"data-icon-label-count":o.length,"data-icon-label-index":E,role:"treeitem"});this._labelDisposables.add(new x._((0,v.BC)(this.container,k))).set(S,h,void 0,c?.labelEscapeNewLines,a),E<o.length-1&&(0,v.BC)(k,(0,v.$)("span.label-separator",void 0,p))}}}}},79578:(St,We,e)=>{e.d(We,{d:()=>u});var v=e(2106),R=e(14333),x=e(23473),T=e(20396),y=e(65568),A=e(87594),g=e(30474),L=e(27969);class b extends L.LN{constructor(r,d){super(),this._onDidChangeVisibility=this._register(new v.vl),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=(0,R.BC)(r,(0,R.$)(".monaco-dropdown")),this._label=(0,R.BC)(this._element,(0,R.$)(".dropdown-label"));let l=d.labelRenderer;l||(l=c=>(c.textContent=d.label||"",null));for(const c of[R.Bx.CLICK,R.Bx.MOUSE_DOWN,g.B.Tap])this._register((0,R.ko)(this.element,c,a=>R.fs.stop(a,!0)));for(const c of[R.Bx.MOUSE_DOWN,g.B.Tap])this._register((0,R.ko)(this._label,c,a=>{(0,R.Er)(a)&&a.button!==0||(this.visible?this.hide():this.show())}));this._register((0,R.ko)(this._label,R.Bx.KEY_DOWN,c=>{const a=new A.Z(c);(a.equals(3)||a.equals(10))&&(R.fs.stop(c,!0),this.visible?this.hide():this.show())}));const o=l(this._label);o&&this._register(o),this._register(g.q.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class C extends b{constructor(r,d){super(r,d),this._options=d,this._actions=[],this.actions=d.actions||[]}set menuOptions(r){this._menuOptions=r}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(r){this._actions=r}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(r,d)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(r,d):void 0,getKeyBinding:r=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(r):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class u extends x.EH{get onDidChangeVisibility(){return this._onDidChangeVisibility.event}constructor(r,d,l,o=Object.create(null)){super(null,r,o),this.actionItem=null,this._onDidChangeVisibility=this._register(new v.vl),this.menuActionsOrProvider=d,this.contextMenuProvider=l,this.options=o,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(r){this.actionItem=r;const d=c=>(this.element=(0,R.BC)(c,(0,R.$)("a.action-label")),this.setAriaLabelAttributes(this.element),this.renderLabel(this.element)),l=Array.isArray(this.menuActionsOrProvider),o={contextMenuProvider:this.contextMenuProvider,labelRenderer:
894d,menuAsChild:this.options.menuAsChild,actions:l?this.menuActionsOrProvider:void 0,actionProvider:l?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new C(r,o)),this._register(this.dropdownMenu.onDidChangeVisibility(c=>{this.element?.setAttribute("aria-expanded",`${c}`),this._onDidChangeVisibility.fire(c)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const c=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return c.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}renderLabel(r){let d=[];return typeof this.options.classNames=="string"?d=this.options.classNames.split(/\s+/g).filter(l=>!!l):this.options.classNames&&(d=this.options.classNames),d.find(l=>l==="icon")||d.push("codicon"),r.classList.add(...d),this._action.label&&this._register((0,T.i)().setupManagedHover(this.options.hoverDelegate??(0,y.nZ)("mouse"),r,this._action.label)),null}setAriaLabelAttributes(r){r.setAttribute("role","button"),r.setAttribute("aria-haspopup","true"),r.setAttribute("aria-expanded","false"),r.ariaLabel=this._action.label||""}getTooltip(){let r=null;return this.action.tooltip?r=this.action.tooltip:this.action.label&&(r=this.action.label),r??void 0}setActionContext(r){super.setActionContext(r),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=r:this.dropdownMenu.menuOptions={context:r})}show(){this.dropdownMenu?.show()}updateEnabled(){const r=!this.action.enabled;this.actionItem?.classList.toggle("disabled",r),this.element?.classList.toggle("disabled",r)}}},80499:(St,We,e)=>{e.d(We,{o:()=>T});var v=e(94327),R=e(78903),x=e(47936);function T(y,A,g,L){return A||(A=b=>b!=null),new Promise((b,C)=>{let u=!0,i=!1;const r=y.map(l=>({isFinished:A(l),error:g?g(l):!1,state:l})),d=(0,x.fm)(l=>{const{isFinished:o,error:c,state:a}=r.read(l);(o||c)&&(u?i=!0:d.dispose(),c?C(c===!0?a:c):b(a))});if(L){const l=L.onCancellationRequested(()=>{d.dispose(),l.dispose(),C(new v.AL)});if(L.isCancellationRequested){d.dispose(),l.dispose(),C(new v.AL);return}}u=!1,i&&d.dispose()})}},80794:(St,We,e)=>{e.d(We,{h:()=>T});var v=e(49550),R=e(52394),x=e(1032);function T(y,A,g,L){A.tokenization.forceTokenization(g.startLineNumber);const b=A.getLanguageIdAtPosition(g.startLineNumber,g.startColumn),C=L.getLanguageConfiguration(b);if(!C)return null;const i=new x.V(A,L).getProcessedTokenContextAroundRange(g),r=i.previousLineProcessedTokens.getLineContent(),d=i.beforeRangeProcessedTokens.getLineContent(),l=i.afterRangeProcessedTokens.getLineContent(),o=C.onEnter(y,r,d,l);if(!o)return null;const c=o.indentAction;let a=o.appendText;const p=o.removeText||0;a?c===v.l.Indent&&(a="	"+a):c===v.l.Indent||c===v.l.IndentOutdent?a="	":a="";let _=(0,R.Cw)(A,g.startLineNumber,g.startColumn);return p&&(_=_.substring(0,_.length-p)),{indentAction:c,appendText:a,removeText:p,indentation:_}}},80878:(St,We,e)=>{e.d(We,{D:()=>v});class v{static capture(x){if(x.getScrollTop()===0||x.hasPendingScrollAnimation())return new v(x.getScrollTop(),x.getContentHeight(),null,0,null);let T=null,y=0;const A=x.getVisibleRanges();if(A.length>0){T=A[0].getStartPosition();const g=x.getTopForPosition(T.lineNumber,T.column);y=x.getScrollTop()-g}return new v(x.getScrollTop(),x.getContentHeight(),T,y,x.getPosition())}constructor(x,T,y,A,g){this._initialScrollTop=x,this._initialContentHeight=T,this._visiblePosition=y,this._visiblePositionScrollDelta=A,this._cursorPosition=g}restore(x){if(!(this._initialContentHeight===x.getContentHeight()&&this._initialScrollTop===x.getScrollTop())&&this._visiblePosition){const T=x.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);x.setScrollTop(T+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(x){if(this._initialContentHeight===x.getContentHeight()&&this._initialScrollTop===x.getScrollTop())return;const T=x.getPosition();if(!this._cursorPosition||!T)return;const y=x.getTopForLineNumber(T.lineNumber)-x.getTopForLineNumber(this._cursorPosition.lineNumber);x.setScrollTop(x.getScrollTop()+y,1)}}},80886:(St,We,e)=>{e.d(We,{A:()=>R});var v=e(82399);const R=(0,v.u1)("markerDecorationsService")},82096:(St,We,e)=>{e.d(We,{d:()=>g,w:()=>L});var v=e(2106),R=e(17954),x=e(10998),T=e(85525),y=e(79359),A=e(82399);const g=(0,A.u1)("commandService"),L=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new v.vl,this.onDidRegisterCommand=this._onDidRegisterCommand.event}
894registerCommand(b,C){if(!b)throw new Error("invalid command");if(typeof b=="string"){if(!C)throw new Error("invalid command");return this.registerCommand({id:b,handler:C})}if(b.metadata&&Array.isArray(b.metadata.args)){const l=[];for(const c of b.metadata.args)l.push(c.constraint);const o=b.handler;b.handler=function(c,...a){return(0,y.jx)(a,l),o(c,...a)}}const{id:u}=b;let i=this._commands.get(u);i||(i=new T.w,this._commands.set(u,i));const r=i.unshift(b),d=(0,x.s)(()=>{r(),this._commands.get(u)?.isEmpty()&&this._commands.delete(u)});return this._onDidRegisterCommand.fire(u),(0,x.lC)(d)}registerCommandAlias(b,C){return L.registerCommand(b,(u,...i)=>u.get(g).executeCommand(C,...i))}getCommand(b){const C=this._commands.get(b);if(!(!C||C.isEmpty()))return R.f.first(C)}getCommands(){const b=new Map;for(const C of this._commands.keys()){const u=this.getCommand(C);u&&b.set(C,u)}return b}};L.registerCommand("noop",()=>{})},82199:(St,We,e)=>{e.d(We,{Q:()=>v});var v;(function(R){function x(g,L){if(g.start>=L.end||L.start>=g.end)return{start:0,end:0};const b=Math.max(g.start,L.start),C=Math.min(g.end,L.end);return C-b<=0?{start:0,end:0}:{start:b,end:C}}R.intersect=x;function T(g){return g.end-g.start<=0}R.isEmpty=T;function y(g,L){return!T(x(g,L))}R.intersects=y;function A(g,L){const b=[],C={start:g.start,end:Math.min(L.start,g.end)},u={start:Math.max(L.end,g.start),end:g.end};return T(C)||b.push(C),T(u)||b.push(u),b}R.relativeComplement=A})(v||(v={}))},82222:(St,We,e)=>{e.d(We,{vV:()=>C,jQ:()=>L,N4:()=>g,M4:()=>u,vr:()=>b});var v=e(14333),R=e(87594),x=e(16831),T=e(10998),y=e(3765);const A=v.$;class g extends T.jG{constructor(r){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.classList.toggle("fade-in",!!r),this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new x.MU(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class L extends T.jG{static render(r,d,l){return new L(r,d,l)}constructor(r,d,l){super(),this.actionLabel=d.label,this.actionKeybindingLabel=l,this.actionContainer=(0,v.BC)(r,A("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=(0,v.BC)(this.actionContainer,A("a.action")),this.action.setAttribute("role","button"),d.iconClass&&(0,v.BC)(this.action,A("span.icon")).classList.add(...d.iconClass.split(" ")),this.actionRenderedLabel=l?`${d.label} (${l})`:d.label;const o=(0,v.BC)(this.action,A("span"));o.textContent=this.actionRenderedLabel,this._store.add(new C(this.actionContainer,d.run)),this._store.add(new u(this.actionContainer,d.run,[3,10])),this.setEnabled(!0)}setEnabled(r){r?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function b(i,r){return i&&r?(0,y.kg)(7,"Inspect this in the accessible view with {0}.",r):i?(0,y.kg)(8,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class C extends T.jG{constructor(r,d){super(),this._register((0,v.ko)(r,v.Bx.CLICK,l=>{l.stopPropagation(),l.preventDefault(),d(r)}))}}class u extends T.jG{constructor(r,d,l){super(),this._register((0,v.ko)(r,v.Bx.KEY_DOWN,o=>{const c=new R.Z(o);l.some(a=>c.equals(a))&&(o.stopPropagation(),o.preventDefault(),d(r))}))}}},82399:(St,We,e)=>{e.d(We,{_$:()=>v,_Y:()=>R,u1:()=>T});var v;(function(y){y.serviceIds=new Map,y.DI_TARGET="$di$target",y.DI_DEPENDENCIES="$di$dependencies";function A(g){return g[y.DI_DEPENDENCIES]||[]}y.getServiceDependencies=A})(v||(v={}));const R=T("instantiationService");function x(y,A,g){A[v.DI_TARGET]===A?A[v.DI_DEPENDENCIES].push({id:y,index:g}):(A[v.DI_DEPENDENCIES]=[{id:y,index:g}],A[v.DI_TARGET]=A)}function T(y){if(v.serviceIds.has(y))return v.serviceIds.get(y);const A=function(g,L,b){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");x(A,g,b)};return A.toString=()=>y,v.serviceIds.set(y,A),A}},82460:(St,We,e)=>{e.d(We,{E:()=>R,t:()=>x});let v;function R(y){v?v instanceof T?v.loggers.push(y):v=new T([v,y]):v=y}function x(){return v}class T{constructor(A){this.loggers=A}handleObservableCreated(A,g){for(const L of this.loggers)L.handleObservableCreated(A,g)}handleOnListenerCountChanged(A,g){for(const L of this.loggers)L.handleOnListenerCountChanged(A,g)}handleObservableUpdated(A,g){for(const L of this.loggers)L.handleObservableUpdated(A,g)}handleAutorunCreated(A,g){for(const L of this.loggers)L.handleAutorunCreated(A,g)}handleAutorunDisposed(A){for(const g of this.loggers)g.handleAutorunDisposed(A)}handleAutorunDependencyChanged(A,g,L){for(const b of this.loggers)b.handleAutorunDependencyChanged(A,g,L)}handleAutorunStarted(A){for(const g of this.loggers)g.handleAutorunStarted(A)}handleAutorunFinished(A){for(const g of this.loggers)g.handleAutorunFinished(A)}handleDerivedDependencyChanged(A,g,L){for(const b of this.loggers)b.handleDerivedDependencyChanged(A,g,L)}handleDerivedCleared(A){for(const g of this.loggers)g.handleDerivedCleared(A)}handleBeginTransaction(A){for(const g of this.loggers)g.handleBeginTransaction(A)}handleEndTransaction(A){for(const g of this.loggers)g.handleEndTransaction(A)}}},82466:(St,We,e)=>{e.d(We,{t:()=>R});var v=e(82399);const R=(0,v.u1)("treeSitterLibraryService")},82735:(St,We,e)=>{e.d(We,{C9:()=>l,CQ:()=>o,GV:()=>u,H8:()=>W,P9:()=>N,QI:()=>S,QR:()=>p,Rj:()=>C,TU:()=>V,U4:()=>U,VF:()=>A,Yo:()=>_,eM:()=>h,ef:()=>g,f4:()=>d,fE:()=>i,fi:()=>k,gt:()=>b,ij:()=>c,k5:()=>te,lO:()=>a,p7:()=>L,pf:()=>$,pn:()=>D,sb:()=>ne,uN:()=>r,yI:()=>E});var v=e(3765),R=e(94901),x=e(87676),T=e(18382),y=e(73858);
894const A=(0,x.x1)("list.focusBackground",null,(0,v.kg)(2008,"List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),g=(0,x.x1)("list.focusForeground",null,(0,v.kg)(2009,"List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),L=(0,x.x1)("list.focusOutline",{dark:T.tA,light:T.tA,hcDark:T.bu,hcLight:T.bu},(0,v.kg)(2010,"List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),b=(0,x.x1)("list.focusAndSelectionOutline",null,(0,v.kg)(2011,"List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),C=(0,x.x1)("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:R.Q1.fromHex("#0F4A85").transparent(.1)},(0,v.kg)(2012,"List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),u=(0,x.x1)("list.activeSelectionForeground",{dark:R.Q1.white,light:R.Q1.white,hcDark:null,hcLight:null},(0,v.kg)(2013,"List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),i=(0,x.x1)("list.activeSelectionIconForeground",null,(0,v.kg)(2014,"List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),r=(0,x.x1)("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:R.Q1.fromHex("#0F4A85").transparent(.1)},(0,v.kg)(2015,"List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),d=(0,x.x1)("list.inactiveSelectionForeground",null,(0,v.kg)(2016,"List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),l=(0,x.x1)("list.inactiveSelectionIconForeground",null,(0,v.kg)(2017,"List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),o=(0,x.x1)("list.inactiveFocusBackground",null,(0,v.kg)(2018,"List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),c=(0,x.x1)("list.inactiveFocusOutline",null,(0,v.kg)(2019,"List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),a=(0,x.x1)("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:R.Q1.white.transparent(.1),hcLight:R.Q1.fromHex("#0F4A85").transparent(.1)},(0,v.kg)(2020,"List/Tree background when hovering over items using the mouse.")),p=(0,x.x1)("list.hoverForeground",null,(0,v.kg)(2021,"List/Tree foreground when hovering over items using the mouse.")),_=(0,x.x1)("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},(0,v.kg)(2022,"List/Tree drag and drop background when moving items over other items when using the mouse.")),E=(0,x.x1)("list.dropBetweenBackground",{dark:T.t4,light:T.t4,hcDark:null,hcLight:null},(0,v.kg)(2023,"List/Tree drag and drop border color when moving items between items when using the mouse.")),S=(0,x.x1)("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:T.tA,hcLight:T.tA},(0,v.kg)(2024,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),h=(0,x.x1)("list.focusHighlightForeground",{dark:S,light:(0,x.Hz)(C,S,"#BBE7FF"),hcDark:S,hcLight:S},(0,v.kg)(2025,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));(0,x.x1)("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},(0,v.kg)(2026,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),(0,x.x1)("list.errorForeground",{dark:"#F88
894070",light:"#B01011",hcDark:null,hcLight:null},(0,v.kg)(2027,"Foreground color of list items containing errors.")),(0,x.x1)("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},(0,v.kg)(2028,"Foreground color of list items containing warnings."));const D=(0,x.x1)("listFilterWidget.background",{light:(0,x.e$)(y.Cg,0),dark:(0,x.a)(y.Cg,0),hcDark:y.Cg,hcLight:y.Cg},(0,v.kg)(2029,"Background color of the type filter widget in lists and trees.")),k=(0,x.x1)("listFilterWidget.outline",{dark:R.Q1.transparent,light:R.Q1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},(0,v.kg)(2030,"Outline color of the type filter widget in lists and trees.")),N=(0,x.x1)("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:T.b1,hcLight:T.b1},(0,v.kg)(2031,"Outline color of the type filter widget in lists and trees, when there are no matches.")),W=(0,x.x1)("listFilterWidget.shadow",y.f9,(0,v.kg)(2032,"Shadow color of the type filter widget in lists and trees."));(0,x.x1)("list.filterMatchBackground",{dark:y.Ub,light:y.Ub,hcDark:null,hcLight:null},(0,v.kg)(2033,"Background color of the filtered match.")),(0,x.x1)("list.filterMatchBorder",{dark:y.EC,light:y.EC,hcDark:T.b1,hcLight:T.bu},(0,v.kg)(2034,"Border color of the filtered match.")),(0,x.x1)("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},(0,v.kg)(2035,"List/Tree foreground color for items that are deemphasized."));const U=(0,x.x1)("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},(0,v.kg)(2036,"Tree stroke color for the indentation guides.")),$=(0,x.x1)("tree.inactiveIndentGuidesStroke",(0,x.JO)(U,.4),(0,v.kg)(2037,"Tree stroke color for the indentation guides that are not active.")),te=(0,x.x1)("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},(0,v.kg)(2038,"Table border color between columns.")),ne=(0,x.x1)("tree.tableOddRowsBackground",{dark:(0,x.JO)(T.CU,.04),light:(0,x.JO)(T.CU,.04),hcDark:null,hcLight:null},(0,v.kg)(2039,"Background color for odd table rows."));(0,x.x1)("editorActionList.background",y.Cg,(0,v.kg)(2040,"Action List background color."));const V=(0,x.x1)("editorActionList.foreground",y.Fi,(0,v.kg)(2041,"Action List foreground color."));(0,x.x1)("editorActionList.focusForeground",u,(0,v.kg)(2042,"Action List foreground color for the focused item.")),(0,x.x1)("editorActionList.focusBackground",C,(0,v.kg)(2043,"Action List background color for the focused item."))},82862:(St,We,e)=>{e.d(We,{i:()=>A});var v=e(42124),R=e(27992),x=e(27454);class T extends x.V{constructor(L,b){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=b,this.intlSegmenterLocales.length>0?this._segmenter=v.x.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let C=0,u=L.length;C<u;C++)this.set(L.charCodeAt(C),2);this.set(32,1),this.set(9,1)}findPrevIntlWordBeforeOrAtOffset(L,b){let C=null;for(const u of this._getIntlSegmenterWordsOnLine(L)){if(u.index>b)break;C=u}return C}findNextIntlWordAtOrAfterOffset(L,b){for(const C of this._getIntlSegmenterWordsOnLine(L))if(!(C.index<b))return C;return null}_getIntlSegmenterWordsOnLine(L){return this._segmenter?this._cachedLine===L?this._cachedSegments:(this._cachedLine=L,this._cachedSegments=this._filterWordSegments(this._segmenter.value.segment(L)),this._cachedSegments):[]}_filterWordSegments(L){const b=[];for(const C of L)this._isWordLike(C)&&b.push(C);return b}_isWordLike(L){return!!L.isWordLike}}const y=new R.qK(10);function A(g,L){const b=`${g}/${L.join(",")}`;let C=y.get(b);return C||(C=new T(g,L),y.set(b,C)),C}},82882:(St,We,e)=>{e.d(We,{J:()=>i});var v=e(2106),R=e(27992),x=e(28061),T=e(70594),y=e(66726),A=e(82399),g=e(90840),L=e(48877),b=e(14333),C=function(l,o,c,a){var p=arguments.length,_=p<3?o:a===null?a=Object.getOwnPropertyDescriptor(o,c):a,E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(l,o,c,a);else for(var S=l.length-1;S>=0;S--)(E=l[S])&&(_=(p<3?E(_):p>3?E(o,c,_):E(o,c))||_);return p>3&&_&&Object.defineProperty(o,c,_),_},u=function(l,o){return function(c,a){o(c,a,l)}};const i=(0,A.u1)("ICodeLensCache");
894class r{constructor(o,c){this.lineCount=o,this.data=c}}let d=class{constructor(o){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new R.qK(20,.75);const c="codelens/cache";(0,b.U3)(L.G,()=>o.remove(c,1));const a="codelens/cache2",p=o.get(a,1,"{}");this._deserialize(p);const _=v.Jh.filter(o.onWillSaveState,E=>E.reason===g.LP.SHUTDOWN);v.Jh.once(_)(E=>{o.store(a,this._serialize(),1,1)})}put(o,c){const a=c.lenses.map(E=>({range:E.symbol.range,command:E.symbol.command&&{id:"",title:E.symbol.command?.title}})),p=new T.H;p.add({lenses:a},this._fakeProvider);const _=new r(o.getLineCount(),p);this._cache.set(o.uri.toString(),_)}get(o){const c=this._cache.get(o.uri.toString());return c&&c.lineCount===o.getLineCount()?c.data:void 0}delete(o){this._cache.delete(o.uri.toString())}_serialize(){const o=Object.create(null);for(const[c,a]of this._cache){const p=new Set;for(const _ of a.data.lenses)p.add(_.symbol.range.startLineNumber);o[c]={lineCount:a.lineCount,lines:[...p.values()]}}return JSON.stringify(o)}_deserialize(o){try{const c=JSON.parse(o);for(const a in c){const p=c[a],_=[];for(const S of p.lines)_.push({range:new x.Q(S,1,S,11)});const E=new T.H;E.add({lenses:_},this._fakeProvider),this._cache.set(a,new r(p.lineCount,E))}}catch{}}};d=C([u(0,g.CS)],d),(0,y.v)(i,d,1)},82891:(St,We,e)=>{e.d(We,{F:()=>R});var v=e(82399);const R=(0,v.u1)("semanticTokensStylingService")},82908:(St,We,e)=>{var re;var v=e(13338),R=e(65958),x=e(78903),T=e(94901),y=e(94327),A=e(2106),g=e(10998),L=e(16844),b=e(37264),C=e(50946),u=e(87301),i=e(15365),r=e(28061),d=e(38122),l=e(31531),o=e(52394),c=e(3765),a=e(31540),p=e(29849),_=e(87676),E=e(18382),S=e(75962),h=e(73858),D=e(69227),k=e(82735),N=e(75712),W=e(10680),U=e(58687),$=e(94865),te=e(74707),ne=e(12060),V=e(23013),I=function(de,le,he,we){var xe=arguments.length,Be=xe<3?le:we===null?we=Object.getOwnPropertyDescriptor(le,he):we,M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Be=Reflect.decorate(de,le,he,we);else for(var Ve=de.length-1;Ve>=0;Ve--)(M=de[Ve])&&(Be=(xe<3?M(Be):xe>3?M(le,he,Be):M(le,he))||Be);return xe>3&&Be&&Object.defineProperty(le,he,Be),Be},H=function(de,le){return function(he,we){le(he,we,de)}},Z;const X=new a.N1("LinkedEditingInputVisible",!1),G="linked-editing-decoration";let Y=(re=class extends g.jG{static get(le){return le.getContribution(Z.ID)}constructor(le,he,we,xe,Be){super(),this.languageConfigurationService=xe,this._syncRangesToken=0,this._localToDispose=this._register(new g.Cm),this._editor=le,this._providers=we.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=X.bindTo(he),this._debounceInformation=Be.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new g.Cm),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(M=>{(M.hasChanged(78)||M.hasChanged(106))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(le){const he=this._editor.getModel(),we=he!==null&&(this._editor.getOption(78)||this._editor.getOption(106))&&this._providers.has(he);if(we===this._enabled&&!le||(this._enabled=we,this.clearRanges(),this._localToDispose.clear(),!we||he===null))return;this._localToDispose.add(A.Jh.runAndSubscribe(he.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(he.getLanguageId()).getWordDefinition()}));const xe=new R.ve(this._debounceInformation.get(he)),Be=()=>{this._rangeUpdateTriggerPromise=xe.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(he))},M=new R.ve(0),Ve=Me=>{this._rangeSyncTriggerPromise=M.trigger(()=>this._syncRanges(Me))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{Be()})),this._localToDispose.add(this._editor.onDidChangeModelContent(Me=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const Le=this._currentDecorations.getRange(0);if(Le&&Me.changes.every(_e=>Le.intersectRanges(_e.range))){Ve(this._syncRangesToken);return}}Be()})),this._localToDispose.add({dispose:()=>{xe.dispose(),M.dispose()}}),this.updateRanges()}_syncRanges(le){if(!this._editor.hasModel()||le!==this._syncRangesToken||this._currentDecorations.length===0)return;const he=this._editor.getModel(),we=this._currentDecorations.getRange(0);if(!we||we.startLineNumber!==we.endLineNumber)return this.clearRanges();const xe=he.getValueInRange(we);if(this._currentWordPattern){const M=xe.match(this._currentWordPattern);if((M?M[0].length:0)!==xe.length)return this.clearRanges()}const Be=[];for(let M=1,Ve=this._currentDecorations.length;M<Ve;M++){const Me=this._currentDecorations.getRange(M);
894if(Me)if(Me.startLineNumber!==Me.endLineNumber)Be.push({range:Me,text:xe});else{let Le=he.getValueInRange(Me),_e=xe,Qe=Me.startColumn,je=Me.endColumn;const ae=(0,L.Qp)(Le,_e);Qe+=ae,Le=Le.substr(ae),_e=_e.substr(ae);const Ee=(0,L.Vi)(Le,_e);je-=Ee,Le=Le.substr(0,Le.length-Ee),_e=_e.substr(0,_e.length-Ee),(Qe!==je||_e.length!==0)&&Be.push({range:new r.Q(Me.startLineNumber,Qe,Me.endLineNumber,je),text:_e})}}if(Be.length!==0)try{this._editor.popUndoStop(),this._ignoreChangeEvent=!0;const M=this._editor._getViewModel().getPrevEditOperationType();this._editor.executeEdits("linkedEditing",Be),this._editor._getViewModel().setPrevEditOperationType(M)}finally{this._ignoreChangeEvent=!1}}dispose(){this.clearRanges(),super.dispose()}clearRanges(){this._visibleContextKey.set(!1),this._currentDecorations.clear(),this._currentRequestCts&&(this._currentRequestCts.cancel(),this._currentRequestCts=null,this._currentRequestPosition=null)}async updateRanges(le=!1){if(!this._editor.hasModel()){this.clearRanges();return}const he=this._editor.getPosition();if(!this._enabled&&!le||this._editor.getSelections().length>1){this.clearRanges();return}const we=this._editor.getModel(),xe=we.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===xe){if(he.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const M=this._currentDecorations.getRange(0);if(M&&M.containsPosition(he))return}}this._currentRequestPosition?.equals(he)||this._currentDecorations.getRange(0)?.containsPosition(he)||this.clearRanges(),this._currentRequestPosition=he,this._currentRequestModelVersion=xe;const Be=this._currentRequestCts=new x.Qi;try{const M=new V.W(!1),Ve=await ie(this._providers,we,he,Be.token);if(this._debounceInformation.update(we,M.elapsed()),Be!==this._currentRequestCts||(this._currentRequestCts=null,xe!==we.getVersionId()))return;let Me=[];Ve?.ranges&&(Me=Ve.ranges),this._currentWordPattern=Ve?.wordPattern||this._languageWordPattern;let Le=!1;for(let Qe=0,je=Me.length;Qe<je;Qe++)if(r.Q.containsPosition(Me[Qe],he)){if(Le=!0,Qe!==0){const ae=Me[Qe];Me.splice(Qe,1),Me.unshift(ae)}break}if(!Le){this.clearRanges();return}const _e=Me.map(Qe=>({range:Qe,options:Z.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(_e),this._syncRangesToken++}catch(M){(0,y.MB)(M)||(0,y.dz)(M),(this._currentRequestCts===Be||!this._currentRequestCts)&&this.clearRanges()}}},Z=re,re.ID="editor.contrib.linkedEditing",re.DECORATION=l.kI.register({description:"linked-editing",stickiness:0,className:G}),re);Y=Z=I([H(1,a.fN),H(2,p.u),H(3,o.JZ),H(4,ne.U)],Y);class j extends C.ks{constructor(){super({id:"editor.action.linkedEditing",label:(0,c.aS)(1322,"Start Linked Editing"),precondition:a.M$.and(d.R.writable,d.R.hasRenameProvider),kbOpts:{kbExpr:d.R.editorTextFocus,primary:3132,weight:100}})}runCommand(le,he){const we=le.get(u.T),[xe,Be]=Array.isArray(he)&&he||[void 0,void 0];return b.r.isUri(xe)&&i.y.isIPosition(Be)?we.openCodeEditor({resource:xe},we.getActiveCodeEditor()).then(M=>{M&&(M.setPosition(Be),M.invokeWithinContext(Ve=>(this.reportTelemetry(Ve,M),this.run(Ve,M))))},y.dz):super.runCommand(le,he)}run(le,he){const we=Y.get(he);return we?Promise.resolve(we.updateRanges(!0)):Promise.resolve()}}const z=C.DX.bindToContribution(Y.get);(0,C.E_)(new z({id:"cancelLinkedEditingInput",precondition:X,handler:de=>de.clearRanges(),kbOpts:{kbExpr:d.R.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function ie(de,le,he,we){const xe=de.ordered(le);return(0,R.$1)(xe.map(Be=>async()=>{try{return await Be.provideLinkedEditingRanges(le,he,we)}catch(M){(0,y.M_)(M);return}}),Be=>!!Be&&(0,v.EI)(Be?.ranges))}
894(0,_.x1)("editor.linkedEditingBackground",{dark:T.Q1.fromHex("#f00").transparent(.3),light:T.Q1.fromHex("#f00").transparent(.3),hcDark:T.Q1.fromHex("#f00").transparent(.3),hcLight:T.Q1.white},(0,c.kg)(1321,"Background color when the editor auto renames on type.")),(0,C.ke)("_executeLinkedEditingProvider",(de,le,he)=>{const{linkedEditingRangeProvider:we}=de.get(p.u);return ie(we,le,he,x.XO.None)}),(0,C.HW)(Y.ID,Y,1),(0,C.Fl)(j)},83312:(St,We,e)=>{e.d(We,{d:()=>v});class v{constructor(x,T=[],y=!1){this.ctor=x,this.staticArguments=T,this.supportsDelayedInstantiation=y}}},83455:(St,We,e)=>{e.d(We,{E$:()=>A,HP:()=>b,Ic:()=>r,Nw:()=>T,U0:()=>x,Wn:()=>v,bg:()=>g,dT:()=>i,mS:()=>L,uK:()=>R,vD:()=>y,vn:()=>C,zq:()=>u});class v{constructor(){this.changeType=1}}class R{static applyInjectedText(l,o){if(!o||o.length===0)return l;let c="",a=0;for(const p of o)c+=l.substring(a,p.column-1),a=p.column-1,c+=p.options.content;return c+=l.substring(a),c}static fromDecorations(l){const o=[];for(const c of l)c.options.before&&c.options.before.content.length>0&&o.push(new R(c.ownerId,c.range.startLineNumber,c.range.startColumn,c.options.before,0)),c.options.after&&c.options.after.content.length>0&&o.push(new R(c.ownerId,c.range.endLineNumber,c.range.endColumn,c.options.after,1));return o.sort((c,a)=>c.lineNumber===a.lineNumber?c.column===a.column?c.order-a.order:c.column-a.column:c.lineNumber-a.lineNumber),o}constructor(l,o,c,a,p){this.ownerId=l,this.lineNumber=o,this.column=c,this.options=a,this.order=p}}class x{constructor(l,o){this.changeType=2,this.lineNumber=l,this.lineNumberPostEdit=o}}class T{constructor(l,o,c,a){this.ownerId=l,this.decorationId=o,this.lineNumber=c,this.lineHeightMultiplier=a}}class y{constructor(l,o){this.ownerId=l,this.lineNumber=o}}class A{constructor(l,o,c){this.changeType=3,this.fromLineNumber=l,this.toLineNumber=o,this.lastUntouchedLinePostEdit=c}}class g{get toLineNumber(){return this.fromLineNumber+this.count-1}get toLineNumberPostEdit(){return this.fromLineNumberPostEdit+this.count-1}constructor(l,o,c){this.changeType=4,this.fromLineNumber=l,this.fromLineNumberPostEdit=o,this.count=c}}class L{constructor(){this.changeType=5}}class b{constructor(l,o,c,a){this.changes=l,this.versionId=o,this.isUndoing=c,this.isRedoing=a,this.resultingSelection=null}containsEvent(l){for(let o=0,c=this.changes.length;o<c;o++)if(this.changes[o].changeType===l)return!0;return!1}static merge(l,o){const c=[].concat(l.changes).concat(o.changes),a=o.versionId,p=l.isUndoing||o.isUndoing,_=l.isRedoing||o.isRedoing;return new b(c,a,p,_)}}class C{constructor(l){this.changes=l}}class u{constructor(l){this.changes=l}}class i{constructor(l){this.changes=l}}class r{constructor(l,o){this.rawContentChangedEvent=l,this.contentChangedEvent=o}merge(l){const o=b.merge(this.rawContentChangedEvent,l.rawContentChangedEvent),c=r._mergeChangeEvents(this.contentChangedEvent,l.contentChangedEvent);return new r(o,c)}static _mergeChangeEvents(l,o){const c=[].concat(l.changes).concat(o.changes),a=o.eol,p=o.versionId,_=l.isUndoing||o.isUndoing,E=l.isRedoing||o.isRedoing,S=l.isFlush||o.isFlush,h=l.isEolChange&&o.isEolChange;return{changes:c,eol:a,isEolChange:h,versionId:p,isUndoing:_,isRedoing:E,isFlush:S,detailedReasons:l.detailedReasons.concat(o.detailedReasons),detailedReasonsChangeLengths:l.detailedReasonsChangeLengths.concat(o.detailedReasonsChangeLengths)}}}},83616:(St,We,e)=>{e.d(We,{L:()=>R});var v=e(82399);const R=(0,v.u1)("themeService")},83952:(St,We,e)=>{e.d(We,{U2:()=>d,Wt:()=>r,_:()=>o,li:()=>b});var v=e(10998),R=e(73678),x=e(55893),T=e(14333),y=e(48877),A=e(47936);const g=new Map;class L extends v.jG{constructor(){super(...arguments),this._currentCssStyle="",this._styleSheet=void 0}setStyle(a){a!==this._currentCssStyle&&(this._currentCssStyle=a,this._styleSheet?this._styleSheet.textContent=a:this._styleSheet=b(y.G.document.head,p=>p.textContent=a,this._store))}dispose(){super.dispose(),this._styleSheet=void 0}}function b(c=y.G.document.head,a,p){const _=document.createElement("style");if(_.type="text/css",_.media="screen",a?.(_),c.appendChild(_),p&&p.add((0,v.s)(()=>_.remove())),c===y.G.document.head){const E=new Set;g.set(_,E),p&&p.add((0,v.s)(()=>g.delete(_)));for(const{window:S,disposables:h}of(0,T.sl)()){if(S===y.G)continue;const D=h.add(C(_,E,S));p?.add(D)}}return _}function C(c,a,p){const _=new v.Cm,E=c.cloneNode(!0);p.document.head.appendChild(E),_.add((0,v.s)(()=>E.remove()));for(const S of c.sheet?.cssRules??[])E.sheet?.insertRule(S.cssText,E.sheet?.cssRules.length);return _.add(T.FK.observe(c,_,{childList:!0,subtree:x.gm,characterData:x.gm})(()=>{E.textContent=c.textContent})),a.add(E),_.add((0,v.s)(()=>a.delete(E))),_}let u=null;function i(){return u||(u=b()),u}function r(c,a,p=i()){if(!(!p||!a)){p.sheet?.insertRule(`${c} {${a}}`,0);for(const _ of g.get(p)??[])r(c,a,_)}}function d(c,a=i()){if(!a)return;const p=a.sheet?.cssRules??[],_=[];for(let E=0;E<p.length;E++){const S=p[E];l(S)&&S.selectorText.indexOf(c)!==-1&&_.push(E)}for(let E=_.length-1;E>=0;E--)a.sheet?.deleteRule(_[E]);for(const E of g.get(a)??[])d(c,E)}function l(c){return typeof c.selectorText=="string"}function o(c){const a=new v.Cm,p=a.add(new L);return a.add((0,A.fm)(_=>{p.setStyle(c.read(_))})),a}},83958:(St,We,e)=>{e.d(We,{YW:()=>V,qg:()=>I});var v=e(65958),R=e(78518),x=e(27992),T=e(18019),y=e(63339),A=e(16844);const g="**",L="/",b="[/\\\\]",C="[^/\\\\]",u=/\//g;function i(Y,j){switch(Y){case 0:return"";case 1:return`${C}*?`;default:return`(?:${b}|${C}+${b}${j?`|${b}${C}+`:""})*?`}}function r(Y,j){if(!Y)return[];const z=[];let ie=!1,re=!1,de="";for(const le of Y){switch(le){case j:if(!ie&&!re){z.push(de),de="";
894continue}break;case"{":ie=!0;break;case"}":ie=!1;break;case"[":re=!0;break;case"]":re=!1;break}de+=le}return de&&z.push(de),z}function d(Y){if(!Y)return"";let j="";const z=r(Y,L);if(z.every(ie=>ie===g))j=".*";else{let ie=!1;z.forEach((re,de)=>{if(re===g){if(ie)return;j+=i(2,de===z.length-1)}else{let le=!1,he="",we=!1,xe="";for(const Be of re){if(Be!=="}"&&le){he+=Be;continue}if(we&&(Be!=="]"||!xe)){let M;Be==="-"?M=Be:(Be==="^"||Be==="!")&&!xe?M="^":Be===L?M="":M=(0,A.bm)(Be),xe+=M;continue}switch(Be){case"{":le=!0;continue;case"[":we=!0;continue;case"}":{const Ve=`(?:${r(he,",").map(Me=>d(Me)).join("|")})`;j+=Ve,le=!1,he="";break}case"]":{j+="["+xe+"]",we=!1,xe="";break}case"?":j+=C;continue;case"*":j+=i(1);continue;default:j+=(0,A.bm)(Be)}}de<z.length-1&&(z[de+1]!==g||de+2<z.length)&&(j+=b)}ie=re===g})}return j}const l=/^\*\*\/\*\.[\w\.-]+$/,o=/^\*\*\/([\w\.-]+)\/?$/,c=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,a=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,p=/^\*\*((\/[\w\.-]+)+)\/?$/,_=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,E=new x.qK(1e4),S=function(){return!1},h=function(){return null};function D(Y,j){if(!Y)return h;let z;typeof Y!="string"?z=Y.pattern:z=Y,z=z.trim();const ie=j.ignoreCase??!1,re={...j,equals:ie?A.Q_:(we,xe)=>we===xe,endsWith:ie?A.Dp:(we,xe)=>we.endsWith(xe),isEqualOrParent:(we,xe)=>(0,R._1)(we,xe,j.ignoreCase??!y.j9)},de=`${ie?z.toLowerCase():z}_${!!j.trimForExclusions}_${ie}`;let le=E.get(de);if(le)return k(le,Y,re);let he;return l.test(z)?le=W(z.substring(4),z,re):(he=o.exec(N(z,re)))?le=U(he[1],z,re):(j.trimForExclusions?a:c).test(z)?le=$(z,re):(he=p.exec(N(z,re)))?le=te(he[1].substring(1),z,!0,re):(he=_.exec(N(z,re)))?le=te(he[1],z,!1,re):le=ne(z,re),E.set(de,le),k(le,Y,re)}function k(Y,j,z){if(typeof j=="string")return Y;const ie=function(re,de){return z.isEqualOrParent(re,j.base)?Y((0,A.NB)(re.substring(j.base.length),T.Vn),de):null};return ie.allBasenames=Y.allBasenames,ie.allPaths=Y.allPaths,ie.basenames=Y.basenames,ie.patterns=Y.patterns,ie}function N(Y,j){return j.trimForExclusions&&Y.endsWith("/**")?Y.substring(0,Y.length-2):Y}function W(Y,j,z){return function(ie,re){return typeof ie=="string"&&z.endsWith(ie,Y)?j:null}}function U(Y,j,z){const ie=`/${Y}`,re=`\\${Y}`,de=function(he,we){return typeof he!="string"?null:we?z.equals(we,Y)?j:null:z.equals(he,Y)||z.endsWith(he,ie)||z.endsWith(he,re)?j:null},le=[Y];return de.basenames=le,de.patterns=[j],de.allBasenames=le,de}function $(Y,j){const z=G(Y.slice(1,-1).split(",").map(he=>D(he,j)).filter(he=>he!==h),Y),ie=z.length;if(!ie)return h;if(ie===1)return z[0];const re=function(he,we){for(let xe=0,Be=z.length;xe<Be;xe++)if(z[xe](he,we))return Y;return null},de=z.find(he=>!!he.allBasenames);de&&(re.allBasenames=de.allBasenames);const le=z.reduce((he,we)=>we.allPaths?he.concat(we.allPaths):he,[]);return le.length&&(re.allPaths=le),re}function te(Y,j,z,ie){const re=T.Vn===T.SA.sep,de=re?Y:Y.replace(u,T.Vn),le=T.Vn+de,he=T.SA.sep+Y;let we;return z?we=function(xe,Be){return typeof xe=="string"&&(ie.equals(xe,de)||ie.endsWith(xe,le)||!re&&(ie.equals(xe,Y)||ie.endsWith(xe,he)))?j:null}:we=function(xe,Be){return typeof xe=="string"&&(ie.equals(xe,de)||!re&&ie.equals(xe,Y))?j:null},we.allPaths=[(z?"*/":"./")+Y],we}function ne(Y,j){try{const z=new RegExp(`^${d(Y)}$`,j.ignoreCase?"i":void 0);return function(ie){return z.lastIndex=0,typeof ie=="string"&&z.test(ie)?Y:null}}catch{return h}}function V(Y,j,z){return!Y||typeof j!="string"?!1:I(Y,z)(j)}function I(Y,j={}){if(!Y)return S;if(typeof Y=="string"||H(Y)){const z=D(Y,j);if(z===h)return S;const ie=function(re,de){return!!z(re,de)};return z.allBasenames&&(ie.allBasenames=z.allBasenames),z.allPaths&&(ie.allPaths=z.allPaths),ie}return Z(Y,j)}function H(Y){const j=Y;return j?typeof j.base=="string"&&typeof j.pattern=="string":!1}function Z(Y,j){const z=G(Object.getOwnPropertyNames(Y).map(he=>X(he,Y[he],j)).filter(he=>he!==h)),ie=z.length;if(!ie)return h;if(!z.some(he=>!!he.requiresSiblings)){if(ie===1)return z[0];const he=function(Be,M){let Ve;for(let Me=0,Le=z.length;Me<Le;Me++){const _e=z[Me](Be,M);if(typeof _e=="string")return _e;(0,v.Qg)(_e)&&(Ve||(Ve=[]),Ve.push(_e))}return Ve?(async()=>{for(const Me of Ve){const Le=await Me;if(typeof Le=="string")return Le}return null})():null},we=z.find(Be=>!!Be.allBasenames);we&&(he.allBasenames=we.allBasenames);const xe=z.reduce((Be,M)=>M.allPaths?Be.concat(M.allPaths):Be,[]);return xe.length&&(he.allPaths=xe),he}const re=function(he,we,xe){let Be,M;for(let Ve=0,Me=z.length;Ve<Me;Ve++){const Le=z[Ve];Le.requiresSiblings&&xe&&(we||(we=(0,T.P8)(he)),Be||(Be=we.substring(0,we.length-(0,T.LC)(he).length)));const _e=Le(he,we,Be,xe);if(typeof _e=="string")return _e;(0,v.Qg)(_e)&&(M||(M=[]),M.push(_e))}return M?(async()=>{for(const Ve of M){const Me=await Ve;if(typeof Me=="string")return Me}return null})():null},de=z.find(he=>!!he.allBasenames);de&&(re.allBasenames=de.allBasenames);const le=z.reduce((he,we)=>we.allPaths?he.concat(we.allPaths):he,[]);return le.length&&(re.allPaths=le),re}function X(Y,j,z){if(j===!1)return h;const ie=D(Y,z);if(ie===h)return h;if(typeof j=="boolean")return ie;if(j){const re=j.when;if(typeof re=="string"){const de=(le,he,we,xe)=>{if(!xe||!ie(le,he))return null;const Be=re.replace("$(basename)",()=>we),M=xe(Be);return(0,v.Qg)(M)?M.then(Ve=>Ve?Y:null):M?Y:null};return de.requiresSiblings=!0,de}}return ie}
894function G(Y,j){const z=Y.filter(he=>!!he.basenames);if(z.length<2)return Y;const ie=z.reduce((he,we)=>{const xe=we.basenames;return xe?he.concat(xe):he},[]);let re;if(j){re=[];for(let he=0,we=ie.length;he<we;he++)re.push(j)}else re=z.reduce((he,we)=>{const xe=we.patterns;return xe?he.concat(xe):he},[]);const de=function(he,we){if(typeof he!="string")return null;if(!we){let Be;for(Be=he.length;Be>0;Be--){const M=he.charCodeAt(Be-1);if(M===47||M===92)break}we=he.substring(Be)}const xe=ie.indexOf(we);return xe!==-1?re[xe]:null};de.basenames=ie,de.patterns=re,de.allBasenames=ie;const le=Y.filter(he=>!he.basenames);return le.push(de),le}},84253:(St,We,e)=>{var r;var v=e(67167),R=e(19381),x=e(45933),T=e(3765),y=e(10998),A=e(31540),g=e(56071),L=e(73027),b=function(d,l,o,c){var a=arguments.length,p=a<3?l:c===null?c=Object.getOwnPropertyDescriptor(l,o):c,_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(d,l,o,c);else for(var E=d.length-1;E>=0;E--)(_=d[E])&&(p=(a<3?_(p):a>3?_(l,o,p):_(l,o))||p);return a>3&&p&&Object.defineProperty(l,o,p),p},C=function(d,l){return function(o,c){l(o,c,d)}},u;let i=(r=class{constructor(l,o,c){this.quickInputService=l,this.keybindingService=o,this.contextKeyService=c,this.registry=v.O.as(R.Fd.Quickaccess)}provide(l){const o=new y.Cm;return o.add(l.onDidAccept(()=>{const[c]=l.selectedItems;c&&this.quickInputService.quickAccess.show(c.prefix,{preserveValue:!0})})),o.add(l.onDidChangeValue(c=>{const a=this.registry.getQuickAccessProvider(c.substr(u.PREFIX.length),this.contextKeyService);a?.prefix&&a.prefix!==u.PREFIX&&this.quickInputService.quickAccess.show(a.prefix,{preserveValue:!0})})),l.items=this.getQuickAccessProviders().filter(c=>c.prefix!==u.PREFIX),o}getQuickAccessProviders(){return this.registry.getQuickAccessProviders(this.contextKeyService).sort((o,c)=>o.prefix.localeCompare(c.prefix)).flatMap(o=>this.createPicks(o))}createPicks(l){return l.helpEntries.map(o=>{const c=o.prefix||l.prefix,a=c||"\u2026";return{prefix:c,label:a,keybinding:o.commandId?this.keybindingService.lookupKeybinding(o.commandId):void 0,ariaLabel:(0,T.kg)(1811,"{0}, {1}",a,o.description),description:o.description}})}},u=r,r.PREFIX="?",r);i=u=b([C(0,L.GK),C(1,g.b),C(2,A.fN)],i),v.O.as(R.Fd.Quickaccess).registerQuickAccessProvider({ctor:i,prefix:"",helpEntries:[{description:x.oq.helpQuickAccessActionLabel}]})},84587:(St,We,e)=>{e.d(We,{D:()=>R});var v=e(2106);const R=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new v.vl,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(x){x=Math.min(Math.max(-5,x),20),this._zoomLevel!==x&&(this._zoomLevel=x,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}},84657:(St,We,e)=>{e.d(We,{L:()=>R});var v=e(82399);const R=(0,v.u1)("workspaceTrustManagementService")},84893:(St,We,e)=>{var p;e.d(We,{k:()=>o});var v=e(36930),R=e(44385),x=e(2106),T=e(90028),y=e(10998),A=e(50946),g=e(28061),L=e(52265),b=e(3765),C=e(31540),u=e(54435),i=e(14333),r=function(_,E,S,h){var D=arguments.length,k=D<3?E:h===null?h=Object.getOwnPropertyDescriptor(E,S):h,N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(_,E,S,h);else for(var W=_.length-1;W>=0;W--)(N=_[W])&&(k=(D<3?N(k):D>3?N(E,S,k):N(E,S))||k);return D>3&&k&&Object.defineProperty(E,S,k),k},d=function(_,E){return function(S,h){E(S,h,_)}},l;let o=(p=class{static get(E){return E.getContribution(l.ID)}constructor(E,S,h){this._openerService=h,this._messageWidget=new y.HE,this._messageListeners=new y.Cm,this._mouseOverMessage=!1,this._editor=E,this._visible=l.MESSAGE_VISIBLE.bindTo(S)}dispose(){this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(E,S){if((0,R.xE)((0,T.VS)(E)?E.value:E),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),(0,T.VS)(E)){const D=this._messageListeners.add((0,v.Gc)(E,{actionHandler:(k,N)=>{this.closeMessage(),(0,L.iM)(this._openerService,k,N.isTrusted)}}));this._messageWidget.value=new a(this._editor,S,D.element)}else this._messageWidget.value=new a(this._editor,S,E);this._messageListeners.add(x.Jh.debounce(this._editor.onDidBlurEditorText,(D,k)=>k,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&(0,i.QX)((0,i.bq)(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDid
894Dispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add((0,i.ko)(this._messageWidget.value.getDomNode(),i.Bx.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add((0,i.ko)(this._messageWidget.value.getDomNode(),i.Bx.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let h;this._messageListeners.add(this._editor.onMouseMove(D=>{D.target.position&&(h?h.containsPosition(D.target.position)||this.closeMessage():h=new g.Q(S.lineNumber-3,1,D.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(a.fadeOut(this._messageWidget.value))}},l=p,p.ID="editor.contrib.messageController",p.MESSAGE_VISIBLE=new C.N1("messageVisible",!1,(0,b.kg)(1333,"Whether the editor is currently showing an inline message")),p);o=l=r([d(1,C.fN),d(2,u.Cr)],o);const c=A.DX.bindToContribution(o.get);(0,A.E_)(new c({id:"leaveEditorMessage",precondition:o.MESSAGE_VISIBLE,handler:_=>_.closeMessage(),kbOpts:{weight:130,primary:9}}));class a{static fadeOut(E){const S=()=>{E.dispose(),clearTimeout(h),E.getDomNode().removeEventListener("animationend",S)},h=setTimeout(S,110);return E.getDomNode().addEventListener("animationend",S),E.getDomNode().classList.add("fadeOut"),{dispose:S}}constructor(E,{lineNumber:S,column:h},D){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=E,this._editor.revealLinesInCenterIfOutsideViewport(S,S,0),this._position={lineNumber:S,column:h},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const k=document.createElement("div");k.classList.add("anchor","top"),this._domNode.appendChild(k);const N=document.createElement("div");
894typeof D=="string"?(N.classList.add("message"),N.textContent=D):(D.classList.add("message"),N.appendChild(D)),this._domNode.appendChild(N);const W=document.createElement("div");W.classList.add("anchor","below"),this._domNode.appendChild(W),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(E){this._domNode.classList.toggle("below",E===2)}}(0,A.HW)(o.ID,o,4)},85003:(St,We,e)=>{e.d(We,{Gn:()=>r,JJ:()=>g,vf:()=>i});var v=e(36427),R=e(66476),x=e(78471),T=e(3765),y=e(4761),A=e(67167);const g=Object.freeze({id:"editor",order:5,type:"object",title:(0,T.kg)(163,"Editor"),scope:6}),L={...g,properties:{"editor.tabSize":{type:"number",default:x.R.tabSize,minimum:1,maximum:100,markdownDescription:(0,T.kg)(164,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:(0,T.kg)(165,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:x.R.insertSpaces,markdownDescription:(0,T.kg)(166,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:x.R.detectIndentation,markdownDescription:(0,T.kg)(167,"Controls whether {0} and {1}
894 will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:x.R.trimAutoWhitespace,description:(0,T.kg)(168,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:x.R.largeFileOptimizations,description:(0,T.kg)(169,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","offWithInlineSuggestions","currentDocument","matchingDocuments","allDocuments"],default:"offWithInlineSuggestions",enumDescriptions:[(0,T.kg)(170,"Turn off Word Based Suggestions."),(0,T.kg)(171,"Turn off Word Based Suggestions when Inline Suggestions are present."),(0,T.kg)(172,"Only suggest words from the active document."),(0,T.kg)(173,"Suggest words from all open documents of the same language."),(0,T.kg)(174,"Suggest words from all open documents.")],description:(0,T.kg)(175,"Controls whether completions should be computed based on words in the document and from which documents they are computed."),experiment:{mode:"auto"}},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[(0,T.kg)(176,"Semantic highlighting enabled for all color themes."),(0,T.kg)(177,"Semantic highlighting disabled for all color themes."),(0,T.kg)(178,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:(0,T.kg)(179,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(180,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:(0,T.kg)(181,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:(0,T.kg)(182,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:(0,T.kg)(183,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:(0,T.kg)(184,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(185,"Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `#editor.experimental.preferTreeSitter#` for specific languages will take precedence."),tags:["experimental"],experiment:{mode:"auto"}},"editor.experimental.preferTreeSitter.css":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(186,"Controls whether tree sitter parsing should be turned on for css. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for css."),tags:["experimental"],experiment:{mode:"auto"}},"editor.experimental.preferTreeSitter.typescript":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(187,"Controls whether tree sitter parsing should be turned on for typescript. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for typescript."),tags:["experimental"],experiment:{mode:"auto"}},"editor.experimental.preferTreeSitter.ini":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(188,"Controls whether tree sitter parsing should be turned on for ini. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for ini."),tags:["experimental"],experiment:{mode:"auto"}},"editor.experimental.preferTreeSitter.regex":{type:"boolean",default:!1,markdownDescription:(0,T.kg)(189,"Controls whether tree sitter parsing should be turned on for regex. This will take precedence over `#editor.experimental.treeSitterTelemetry#` for regex."),tags:["experimental"],experiment:{mode:"auto"}},"editor.language.brackets":{type:["array","null"],default:null,description:(0,T.kg)(190,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:(0,T.kg)(191,"The opening bracket character or string sequence.")},{type:"string",description:(0,T.kg)(192,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:(0,T.kg)(193,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:(0,T.kg)(194,"The opening bracket character or string sequence.")},{type:"string",description:(0,T.kg)(195,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:v.q.maxComputationTime,description:(0,T.kg)(196,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:v.q.maxFileSize,de
894scription:(0,T.kg)(197,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:v.q.renderSideBySide,description:(0,T.kg)(198,"Controls whether the diff editor shows the diff side by side or inline."),agentsWindow:{default:!0}},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:v.q.renderSideBySideInlineBreakpoint,description:(0,T.kg)(199,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:v.q.useInlineViewWhenSpaceIsLimited,description:(0,T.kg)(200,"If enabled and the editor width is too small, the inline view is used."),agentsWindow:{default:!0}},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:v.q.renderMarginRevertIcon,description:(0,T.kg)(201,"When enabled, the diff editor shows arrows in its glyph margin to revert changes."),agentsWindow:{default:!1}},"diffEditor.renderGutterMenu":{type:"boolean",default:v.q.renderGutterMenu,description:(0,T.kg)(202,"When enabled, the diff editor shows a special gutter for revert and stage actions."),agentsWindow:{default:!1}},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:v.q.ignoreTrimWhitespace,description:(0,T.kg)(203,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:v.q.renderIndicators,description:(0,T.kg)(204,"Controls whether the diff editor shows +/- indicators for added/removed changes."),agentsWindow:{default:!1}},"diffEditor.codeLens":{type:"boolean",default:v.q.diffCodeLens,description:(0,T.kg)(205,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:v.q.diffWordWrap,markdownEnumDescriptions:[(0,T.kg)(206,"Lines will never wrap."),(0,T.kg)(207,"Lines will wrap at the viewport width."),(0,T.kg)(208,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced","advanced-external","advanced-wasm"],default:v.q.diffAlgorithm,markdownEnumDescriptions:[(0,T.kg)(209,"Uses the legacy diffing algorithm."),(0,T.kg)(210,"Uses the advanced diffing algorithm."),(0,T.kg)(211,"Uses the advanced diffing algorithm from the external `@vscode/diff` package (pure JavaScript)."),(0,T.kg)(212,"Uses the advanced diffing algorithm from the external `@vscode/diff` package (WebAssembly).")]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:v.q.hideUnchangedRegions.enabled,markdownDescription:(0,T.kg)(213,"Controls whether the diff editor shows unchanged regi
894ons."),agentsWindow:{default:!0}},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:v.q.hideUnchangedRegions.revealLineCount,markdownDescription:(0,T.kg)(214,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:v.q.hideUnchangedRegions.minimumLineCount,markdownDescription:(0,T.kg)(215,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:v.q.hideUnchangedRegions.contextLineCount,markdownDescription:(0,T.kg)(216,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:v.q.experimental.showMoves,markdownDescription:(0,T.kg)(217,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:v.q.experimental.showEmptyDecorations,description:(0,T.kg)(218,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:v.q.experimental.useTrueInlineView,description:(0,T.kg)(219,"If enabled and the editor uses the inline view, word changes are rendered inline.")}}};function b(l){return typeof l.type<"u"||typeof l.anyOf<"u"}for(const l of R.BE){const o=l.schema;if(typeof o<"u")if(b(o))L.properties[`editor.${l.name}`]=o;else for(const c in o)Object.hasOwnProperty.call(o,c)&&(L.properties[c]=o[c])}let C=null;function u(){return C===null&&(C=Object.create(null),Object.keys(L.properties).forEach(l=>{C[l]=!0})),C}function i(l){return u()[`editor.${l}`]||!1}function r(l){return u()[`diffEditor.${l}`]||!1}A.O.as(y.Fd.Configuration).registerConfiguration(L)},85702:(St,We,e)=>{e.d(We,{Z:()=>L});var v=e(16844),R=e(64651),x=e(34883),T=e(60756),y=e(33206);class A{static createFromLanguage(C,u){function i(d){return u.getKey(`${d.languageId}:::${d.bracketText}`)}const r=new Map;for(const d of C.bracketsNew.openingBrackets){const l=(0,x.qe)(0,d.bracketText.length),o=i(d),c=T.gV.getEmpty().add(o,T.FD);r.set(d.bracketText,new y.ou(l,1,o,c,R.rh.create(l,d,c)))}for(const d of C.bracketsNew.closingBrackets){const l=(0,x.qe)(0,d.bracketText.length);let o=T.gV.getEmpty();const c=d.getOpeningBrackets();for(const a of c)o=o.add(i(a),T.FD);r.set(d.bracketText,new y.ou(l,2,i(c[0]),o,R.rh.create(l,d,o)))}return new A(r)}constructor(C){this.map=C,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const C=[...this.map.keys()];return C.sort(),C.reverse(),C.map(u=>g(u)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const C=this.getRegExpStr();this._regExpGlobal=C?new RegExp(C,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(C){return this.map.get(C.toLowerCase())}findClosingTokenText(C){for(const[u,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(C))return u}get isEmpty(){return this.map.size===0}}function g(b){let C=(0,v.bm)(b);return/^[\w ]+/.test(b)&&(C=`\\b${C}`),/[\w ]+$/.test(b)&&(C=`${C}\\b`),C}class L{constructor(C,u){this.denseKeyProvider=C,this.getLanguageConfiguration=u,this.languageIdToBracketTokens=new Map}didLanguageChange(C){return this.languageIdToBracketTokens.has(C)}getSingleLanguageBracketTokens(C){let u=this.languageIdToBracketTokens.get(C);return u||(u=A.createFromLanguage(this.getLanguageConfiguration(C),this.denseKeyProvider),this.languageIdToBracketTokens.set(C,u)),u}}},85753:(St,We,e)=>{e.d(We,{Mo:()=>L,ad:()=>x,gD:()=>g,iB:()=>y,kW:()=>T,pG:()=>R});var v=e(82399);const R=(0,v.u1)("configurationService");function x(b,C){const u=Object.create(null);for(const i in b)T(u,i,b[i],C);return u}function T(b,C,u,i){const r=C.split("."),d=r.pop();let l=b;for(let o=0;o<r.length;o++){const c=r[o];let a=l[c];switch(typeof a){case"undefined":a=l[c]=Object.create(null);break;case"object":if(a===null){i(`Ignoring ${C} as ${r.slice(0,o+1).join(".")} is null`);return}break;default:i(`Ignoring ${C} as ${r.slice(0,o+1).join(".")} is ${JSON.stringify(a)}`);return}l=a}if(typeof l=="object"&&l!==null)try{l[d]=u}catch{i(`Ignoring ${C} as ${r.join(".")} is ${JSON.stringify(l)}`)}else i(`Ignoring ${C} as ${r.join(".")} is ${JSON.stringify(l)}`)}function y(b,C){const u=C.split(".");A(b,u)}function A(b,C){if(!b)return;const u=b,i=C.shift();if(C.length===0){delete u[i];return}if(Object.keys(u).indexOf(i)!==-1){const r=u[i];typeof r=="object"&&r!==null&&!Array.isArray(r)&&(A(r,C),Object.keys(r).length===0&&delete u[i])}}function g(b,C,u){function i(l,o){let c=l;for(const a of o){if(typeof c!="object"||c===null)return;c=c[a]}return c}const r=C.split("."),d=i(b,r);return typeof d>"u"?u:d}function L(b){return b.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}},85811:(St,We,e)=>{e.d(We,{LN:()=>y,aG:()=>L,uO:()=>g});var v=e(97393),R=e(77011),x=e(15365),T=e(28061);class y{getOffsetRange(u){return new R.L(this.getOffset(u.getStartPosition()),this.getOffset(u.getEndPosition()))}getRange(u){return T.Q.fromPositions(this.getPosition(u.start),this.getPosition(u.endExclusive))}getStringReplacement(u){return new A.deps.StringReplacement(this.getOffsetRange(u.range),u.text)}getTextReplacement(u){return new A.deps.TextReplacement(this.getRange(u.replaceRange),u.newText)}getTextEdit(u){const i=u.replacements.map(r=>this.getTextReplacement(r));return new A.deps.TextEdit(i)}}const b=class b{static get deps(){if(!this._deps)throw new Error("Dependencies not set. Call _setDependencies first.");return this._deps}};b._deps=void 0;let A=b;function g(C){A._deps=C}class L extends y{constructor(u){super(),this.text=u}get lineStartOffsetByLineIdx(){return this._lineStartOffsetByLineIdx||this._computeLineOffsets(),this._lineStartOffsetByLineIdx}get lineEndOffsetByLineIdx(){return this._lineEndOffsetByLineIdx||this._computeLineOffsets(),this._lineEndOffsetByLineIdx}_computeLineOffsets(){this._lineStartOffsetByLineIdx=[],this._lineEndOffsetByLineIdx=[],this._lineStartOffsetByLineIdx.push(0);for(let u=0;u<this.text.length;u++)this.text.charAt(u)===`
895`&&(this._lineStartOffsetByLineIdx.push(u+1),u>0&&this.text.charAt(u-1)==="\r"?this._lineEndOffsetByLineIdx.push(u-1):this._lineEndOffsetByLineIdx.push(u));this._lineEndOffsetByLineIdx.push(this.text.length)}
895getOffset(u){const i=this._validatePosition(u);return this.lineStartOffsetByLineIdx[i.lineNumber-1]+i.column-1}_validatePosition(u){if(u.lineNumber<1)return new x.y(1,1);const i=this.textLength.lineCount+1;if(u.lineNumber>i){const d=this.getLineLength(i);return new x.y(i,d+1)}if(u.column<1)return new x.y(u.lineNumber,1);const r=this.getLineLength(u.lineNumber);return u.column-1>r?new x.y(u.lineNumber,r+1):u}getPosition(u){const i=(0,v.iM)(this.lineStartOffsetByLineIdx,l=>l<=u),r=i+1,d=u-this.lineStartOffsetByLineIdx[i]+1;return new x.y(r,d)}get textLength(){const u=this.lineStartOffsetByLineIdx.length-1;return new A.deps.TextLength(u,this.text.length-this.lineStartOffsetByLineIdx[u])}getLineLength(u){return this.lineEndOffsetByLineIdx[u-1]-this.lineStartOffsetByLineIdx[u-1]}}},85847:(St,We,e)=>{var p;e.d(We,{GS:()=>a});var v=e(65958),R=e(10998),x=e(27992),T=e(66525),y=e(47317),A=e(85753),g=e(66726),L=e(82399),b=e(90840),C=function(_,E,S,h){var D=arguments.length,k=D<3?E:h===null?h=Object.getOwnPropertyDescriptor(E,S):h,N;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(_,E,S,h);else for(var W=_.length-1;W>=0;W--)(N=_[W])&&(k=(D<3?N(k):D>3?N(E,S,k):N(E,S))||k);return D>3&&k&&Object.defineProperty(E,S,k),k},u=function(_,E){return function(S,h){E(S,h,_)}},i;class r{constructor(E){this.name=E}select(E,S,h){if(h.length===0)return 0;const D=h[0].score[0];for(let k=0;k<h.length;k++){const{score:N,completion:W}=h[k];if(N[0]!==D)break;if(W.preselect)return k}return 0}}class d extends r{constructor(){super("first")}memorize(E,S,h){}toJSON(){}fromJSON(){}}class l extends r{constructor(){super("recentlyUsed"),this._cache=new x.qK(300,.66),this._seq=0}memorize(E,S,h){const D=`${E.getLanguageId()}/${h.textLabel}`;this._cache.set(D,{touch:this._seq++,type:h.completion.kind,insertText:h.completion.insertText})}select(E,S,h){if(h.length===0)return 0;const D=E.getLineContent(S.lineNumber).substr(S.column-10,S.column-1);if(/\s$/.test(D))return super.select(E,S,h);const k=h[0].score[0];let N=-1,W=-1,U=-1;for(let $=0;$<h.length&&h[$].score[0]===k;$++){const te=`${E.getLanguageId()}/${h[$].textLabel}`,ne=this._cache.peek(te);if(ne&&ne.touch>U&&ne.type===h[$].completion.kind&&ne.insertText===h[$].completion.insertText&&(U=ne.touch,W=$),h[$].completion.preselect&&N===-1)return N=$}return W!==-1?W:N!==-1?N:0}toJSON(){return this._cache.toJSON()}fromJSON(E){this._cache.clear();const S=0;for(const[h,D]of E)D.touch=S,D.type=typeof D.type=="number"?D.type:y.HC.fromString(D.type),this._cache.set(h,D);this._seq=this._cache.size}}class o extends r{constructor(){super("recentlyUsedByPrefix"),this._trie=T.cB.forStrings(),this._seq=0}memorize(E,S,h){const{word:D}=E.getWordUntilPosition(S),k=`${E.getLanguageId()}/${D}`;this._trie.set(k,{type:h.completion.kind,insertText:h.completion.insertText,touch:this._seq++})}select(E,S,h){const{word:D}=E.getWordUntilPosition(S);if(!D)return super.select(E,S,h);const k=`${E.getLanguageId()}/${D}`;let N=this._trie.get(k);if(N||(N=this._trie.findSubstr(k)),N)for(let W=0;W<h.length;W++){const{kind:U,insertText:$}=h[W].completion;if(U===N.type&&$===N.insertText)return W}return super.select(E,S,h)}toJSON(){const E=[];return this._trie.forEach((S,h)=>E.push([h,S])),E.sort((S,h)=>-(S[1].touch-h[1].touch)).forEach((S,h)=>S[1].touch=h),E.slice(0,200)}fromJSON(E){if(this._trie.clear(),E.length>0){this._seq=E[0][1].touch+1;for(const[S,h]of E)h.type=typeof h.type=="number"?h.type:y.HC.fromString(h.type),this._trie.set(S,h)}}}let c=(p=class{constructor(E,S){this._storageService=E,this._configService=S,this._disposables=new R.Cm,this._persistSoon=new v.uC(()=>this._saveState(),500),this._disposables.add(E.onWillSaveState(h=>{h.reason===b.LP.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(E,S,h){this._withStrategy(E,S).memorize(E,S,h),this._persistSoon.schedule()}select(E,S,h){return this._withStrategy(E,S).select(E,S,h)}_withStrategy(E,S){const h=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:E.getLanguageIdAtPosition(S.lineNumber,S.column),resource:E.uri});if(this._strategy?.name!==h){this._saveState();const D=i._strategyCtors.get(h)||d;this._strategy=new D;try{const N=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,W=this._storageService.get(`${i._storagePrefix}/${h}`,N);W&&this._strategy.fromJSON(JSON.parse(W))}catch{}}return this._strategy}_saveState(){if(this._strategy){const S=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,h=JSON.stringify(this._strategy);this._storageService.store(`${i._storagePrefix}/${this._strategy.name}`,h,S,1)}}},i=p,p._strategyCtors=new Map([["recentlyUsedByPrefix",o],["recentlyUsed",l],["first",d]]),p._storagePrefix="suggest/memories",p);c=i=C([u(0,b.CS),u(1,A.pG)],c);const a=(0,L.u1)("ISuggestMemories");(0,g.v)(a,c,1)},85961:(St,We,e)=>{e.d(We,{D_:()=>d,Dc:()=>p});var v=e(65958),R=e(94327),x=e(2106),T=e(14731),y=e(10998),A=e(22467),g=e(31540),L=e(44023),b=e(66476),C=e(15365),u=e(93702),i=e(62919),r=e(73042);const d=new g.N1("supportedCodeAction",""),l="_typescript.applyFixAllCodeAction";class o extends y.jG{constructor(E,S,h,D=250){super(),this._editor=E,this._markerService=S,this._signalChange=h,this._delay=D,this._autoTriggerTimer=this._register(new v.pc),this.ignoreLightbulbOff=!1,this._register(this._markerService.onMarkerChanged(k=>this._onMarkerChanges(k))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(E){const S=this._getRangeOfSelectionUnlessWhitespaceEnclosed(E);this._signalChange(S?{trigger:E,selection:S}:void 0)}_onMarkerChanges(E){const S=this._editor.getModel();S&&E.some(h=>(0,A.n4)(h,S.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:i.fo.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(E){if(!this._editor.hasModel())return;const S=this._editor.getSelection();if(E.type===1)return S;const h=this._editor.getOption(73).enabled;if(!(h===b.jT.Off&&!this.ignoreLightbulbOff)){{if(h===b.jT.Off||h===b.jT.On)return S;if(h===b.jT.OnCode){if(!S.isEmpty())return S;const k=this._editor.getModel(),{lineNumber:N,column:W}=S.getPosition(),U=k.getLineContent(N);if(U.length===0)return;
895if(W===1){if(/\s/.test(U[0]))return}else if(W===k.getLineMaxColumn(N)){if(/\s/.test(U[U.length-1]))return}else if(/\s/.test(U[W-2])&&/\s/.test(U[W-1]))return}}return S}}}var c;(function(_){_.Empty={type:0};class E{constructor(h,D,k){this.trigger=h,this.position=D,this._cancellablePromise=k,this.type=1,this.actions=k.catch(N=>{if((0,R.MB)(N))return a;throw N})}cancel(){this._cancellablePromise.cancel()}}_.Triggered=E})(c||(c={}));const a=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class p extends y.jG{constructor(E,S,h,D,k,N){super(),this._editor=E,this._registry=S,this._markerService=h,this._progressService=k,this._configurationService=N,this._codeActionOracle=this._register(new y.HE),this._state=c.Empty,this._onDidChangeState=this._register(new x.vl),this.onDidChangeState=this._onDidChangeState.event,this.codeActionsDisposable=this._register(new y.HE),this._disposed=!1,this._ignoreLightbulbOff=!1,this._supportedCodeActions=d.bindTo(D),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(W=>{W.hasChanged(73)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(c.Empty,!0))}_settingEnabledNearbyQuickfixes(){const E=this._editor?.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:E?.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(c.Empty);const E=this._editor.getModel();if(E&&this._registry.has(E)&&!this._editor.getOption(104)){const S=this._registry.all(E).flatMap(D=>D.providedCodeActionKinds??[]);this._supportedCodeActions.set(S.join(" "));const h=new o(this._editor,this._markerService,D=>{if(!D){this.setState(c.Empty);return}const k=D.selection.getStartPosition(),N=(0,v.SS)(async $=>{if(this._settingEnabledNearbyQuickfixes()&&D.trigger.type===1&&(D.trigger.triggerAction===i.fo.QuickFix||D.trigger.filter?.include?.contains(i.gB.QuickFix))){const ne=await(0,r.dU)(this._registry,E,D.selection,D.trigger,L.ke.None,$);
895this.codeActionsDisposable.value=ne;const V=[...ne.allActions];if($.isCancellationRequested)return ne.dispose(),a;const I=ne.validActions?.some(Z=>Z.action.kind&&i.gB.QuickFix.contains(new T.k(Z.action.kind))&&!Z.action.isAI),H=this._markerService.read({resource:E.uri});if(I){for(const Z of ne.validActions)Z.action.command?.arguments?.some(X=>typeof X=="string"&&X.includes(l))&&(Z.action.diagnostics=[...H.filter(X=>X.relatedInformation)]);return{validActions:ne.validActions,allActions:V,documentation:ne.documentation,hasAutoFix:ne.hasAutoFix,hasAIFix:ne.hasAIFix,allAIFixes:ne.allAIFixes,dispose:()=>{this.codeActionsDisposable.value=ne}}}else if(!I&&H.length>0){const Z=D.selection.getPosition();let X=Z,G=Number.MAX_VALUE;const Y=[...ne.validActions];for(const z of H){const ie=z.endColumn,re=z.endLineNumber,de=z.startLineNumber;if(re===Z.lineNumber||de===Z.lineNumber){X=new C.y(re,ie);const le={type:D.trigger.type,triggerAction:D.trigger.triggerAction,filter:{include:D.trigger.filter?.include?D.trigger.filter?.include:i.gB.QuickFix},autoApply:D.trigger.autoApply,context:{notAvailableMessage:D.trigger.context?.notAvailableMessage||"",position:X}},he=new u.L(X.lineNumber,X.column,X.lineNumber,X.column),we=await(0,r.dU)(this._registry,E,he,le,L.ke.None,$);
895if($.isCancellationRequested)return we.dispose(),a;if(we.validActions.length!==0){for(const xe of we.validActions)xe.action.command?.arguments?.some(Be=>typeof Be=="string"&&Be.includes(l))&&(xe.action.diagnostics=[...H.filter(Be=>Be.relatedInformation)]);ne.allActions.length===0&&V.push(...we.allActions),Math.abs(Z.column-ie)<G?Y.unshift(...we.validActions):Y.push(...we.validActions)}G=Math.abs(Z.column-ie)}}const j=Y.filter((z,ie,re)=>re.findIndex(de=>de.action.title===z.action.title)===ie);return j.sort((z,ie)=>z.action.isPreferred&&!ie.action.isPreferred?-1:!z.action.isPreferred&&ie.action.isPreferred||z.action.isAI&&!ie.action.isAI?1:!z.action.isAI&&ie.action.isAI?-1:0),{validActions:j,allActions:V,documentation:ne.documentation,hasAutoFix:ne.hasAutoFix,hasAIFix:ne.hasAIFix,allAIFixes:ne.allAIFixes,dispose:()=>{this.codeActionsDisposable.value=ne}}}}if(D.trigger.type===1){const ne=await(0,r.dU)(this._registry,E,D.selection,D.trigger,L.ke.None,$);return this.codeActionsDisposable.value=ne,ne}const te=await(0,r.dU)(this._registry,E,D.selection,D.trigger,L.ke.None,$);return this.codeActionsDisposable.value=te,te});D.trigger.type===1&&this._progressService?.showWhile(N,250);const W=new c.Triggered(D.trigger,k,N);let U=!1;this._state.type===1&&(U=this._state.trigger.type===1&&W.type===1&&W.trigger.type===2&&this._state.position!==W.position),U?setTimeout(()=>{this.setState(W)},500):this.setState(W)},void 0);h.ignoreLightbulbOff=this._ignoreLightbulbOff,this._codeActionOracle.value=h,this._codeActionOracle.value.trigger({type:2,triggerAction:i.fo.Default})}else this._supportedCodeActions.reset()}trigger(E){this._codeActionOracle.value?.trigger(E),this.codeActionsDisposable.dispose()}setState(E,S){E!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=E,!S&&!this._disposed&&this._onDidChangeState.fire(E))}}},86302:(St,We,e)=>{var v=e(50946),R=e(66316),x=e(50572),T=e(28061),y=e(38122),A=e(3765);class g extends v.ks{constructor(){super({id:"editor.action.transposeLetters",label:(0,A.aS)(848,"Transpose Letters"),precondition:y.R.writable,kbOpts:{kbExpr:y.R.textInputFocus,primary:0,mac:{primary:306},weight:100}})}
895run(b,C){if(!C.hasModel())return;const u=C.getModel(),i=[],r=C.getSelections();for(const d of r){if(!d.isEmpty())continue;const l=d.startLineNumber,o=d.startColumn,c=u.getLineMaxColumn(l);if(l===1&&(o===1||o===2&&c===2))continue;const a=o===c?d.getPosition():x.I.rightPosition(u,d.getPosition().lineNumber,d.getPosition().column),p=x.I.leftPosition(u,a),_=x.I.leftPosition(u,p),E=u.getValueInRange(T.Q.fromPositions(_,p)),S=u.getValueInRange(T.Q.fromPositions(p,a)),h=T.Q.fromPositions(_,a);i.push(new R.iu(h,S+E))}i.length>0&&(C.pushUndoStop(),C.executeCommands(this.id,i),C.pushUndoStop())}}(0,v.Fl)(g)},86427:(St,We,e)=>{e.d(We,{Iz:()=>T,UH:()=>R,t$:()=>x});var v=e(14333);function R(y,A,g){const L=(0,v.BK)(y);return!(A<L.left+3||A>L.left+L.width-3||g<L.top+3||g>L.top+L.height-3)}function x(y,A,g){return y==="on"?!0:y==="off"?!1:T(A,g.event)}function T(y,A){return y==="altKey"?A.ctrlKey||A.metaKey:A.altKey}},86653:(St,We,e)=>{e.d(We,{o:()=>b});var v=e(48289),R=e(10998),x=e(3765),T=e(66638),y=e(66055),A=e(48295),g=e(89044),L=e(44385);class b{constructor(u){this.options=u,this.rangeHighlightDecorationId=void 0}provide(u,i,r){const d=new R.Cm;u.canAcceptInBackground=!!this.options?.canAcceptInBackground,u.matchOnLabel=u.matchOnDescription=u.matchOnDetail=u.sortByLabel=!1;const l=d.add(new R.HE);return l.value=this.doProvide(u,i,r),d.add(this.onDidActiveTextEditorControlChange(()=>{l.value=void 0,l.value=this.doProvide(u,i)})),d}doProvide(u,i,r){const d=new R.Cm,l=this.activeTextEditorControl;if(l&&this.canProvideWithTextEditor(l)){const o={editor:l},c=(0,T.jA)(l);if(c){let a=l.saveViewState()??void 0;d.add(c.onDidChangeCursorPosition(()=>{a=l.saveViewState()??void 0})),o.restoreViewState=()=>{a&&l===this.activeTextEditorControl&&l.restoreViewState(a)},d.add((0,v.P)(i.onCancellationRequested)(()=>o.restoreViewState?.()))}d.add((0,R.s)(()=>this.clearDecorations(l))),d.add(this.provideWithTextEditor(o,u,i,r))}else d.add(this.provideWithoutTextEditor(u,i));return d}canProvideWithTextEditor(u){return!0}gotoLocation({editor:u},i){u.setSelection(i.range,"code.jump"),u.revealRangeInCenter(i.range,0),i.preserveFocus||u.focus();const r=this.getModel(u);if(r){const d=r.getLineContent(i.range.startLineNumber);(0,L.h5)((0,x.kg)(1381,"Line {0}, column {1}: {2}",i.range.startLineNumber,i.range.startColumn,d))}}getModel(u){return(0,T.Np)(u)?u.getModel()?.modified:u.getModel()}addDecorations(u,i){u.changeDecorations(r=>{const d=[];this.rangeHighlightDecorationId&&(d.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),d.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const l=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:(0,g.Yf)(A.vp),position:y.A5.Full}}}],[o,c]=r.deltaDecorations(d,l);this.rangeHighlightDecorationId={rangeHighlightId:o,overviewRulerDecorationId:c}})}clearDecorations(u){const i=this.rangeHighlightDecorationId;i&&(u.changeDecorations(r=>{r.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}},87110:(St,We,e)=>{e.d(We,{Ft:()=>A,V7:()=>y,Xo:()=>g,ok:()=>R,vA:()=>T,xb:()=>x});var v=e(94327);function R(L,b){if(!L)throw new Error(b?`Assertion failed (${b})`:"Assertion Failed")}function x(L,b="Unreachable"){throw new Error(b)}function T(L,b="unexpected state"){if(!L)throw typeof b=="string"?new v.D7(`Assertion Failed: ${b}`):b}function y(L,b="Soft Assertion Failed"){L||(0,v.dz)(new v.D7(b))}function A(L){if(!L()){debugger;L(),(0,v.dz)(new v.D7("Assertion Failed"))}}function g(L,b){let C=0;for(;C<L.length-1;){const u=L[C],i=L[C+1];if(!b(u,i))return!1;C++}return!0}},87301:(St,We,e)=>{e.d(We,{T:()=>R});var v=e(82399);const R=(0,v.u1)("codeEditorService")},87594:(St,We,e)=>{e.d(We,{Z:()=>C});var v=e(55893),R=e(68387),x=e(39619),T=e(63339);function y(u){if(u.charCode){const r=String.fromCharCode(u.charCode).toUpperCase();return R.YM.fromString(r)}const i=u.keyCode;if(i===3)return 7;if(v.gm)switch(i){case 59:return 85;case 60:if(T.j9)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(T.zx)return 57;break}else if(v.Tc){if(T.zx&&i===93)return 57;if(!T.zx&&i===92)return 57}return R.uw[i]||0}const A=T.zx?256:2048,g=512,L=1024,b=T.zx?2048:256;class C{constructor(i){this._standardKeyboardEventBrand=!0;const r=i;this.browserEvent=r,this.target=r.target,this.ctrlKey=r.ctrlKey,this.shiftKey=r.shiftKey,this.altKey=r.altKey,this.metaKey=r.metaKey,this.altGraphKey=r.getModifierState?.("AltGraph"),this.keyCode=y(r),this.code=r.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(i){return this._asKeybinding===i}_computeKeybinding(){let i=0;(0,R.VL)(this.keyCode)||(i=this.keyCode);let r=0;
895return this.ctrlKey&&(r|=A),this.altKey&&(r|=g),this.shiftKey&&(r|=L),this.metaKey&&(r|=b),r|=i,r}_computeKeyCodeChord(){let i=0;return(0,R.VL)(this.keyCode)||(i=this.keyCode),new x.dG(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,i)}}},87676:(St,We,e)=>{e.d(We,{Bb:()=>b,Fd:()=>r,Gu:()=>C,HP:()=>u,Hz:()=>h,JO:()=>E,a:()=>_,e$:()=>p,oG:()=>D,x1:()=>c,yL:()=>S});var v=e(87110),R=e(65958),x=e(94901),T=e(2106),y=e(51460),A=e(67167),g=e(3765),L=e(10998);function b($){return`--vscode-${$.replace(/\./g,"-")}`}function C($){return`var(${b($)})`}function u($,te){return`var(${b($)}, ${te})`}function i($){return $!==null&&typeof $=="object"&&"light"in $&&"dark"in $}const r={ColorContribution:"base.contributions.colors"},d="default";class l extends L.jG{constructor(){super(),this._onDidChangeSchema=this._register(new T.vl),this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(te,ne,V,I=!1,H){const Z={id:te,description:V,defaults:ne,needsTransparency:I,deprecationMessage:H};this.colorsById[te]=Z;const X={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return H&&(X.deprecationMessage=H),I&&(X.pattern="^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",X.patternErrorMessage=(0,g.kg)(2091,"This color must be transparent or it will obscure content")),this.colorSchema.properties[te]={description:V,oneOf:[X,{type:"string",const:d,description:(0,g.kg)(2092,"Use the default color.")}]},this.colorReferenceSchema.enum.push(te),this.colorReferenceSchema.enumDescriptions.push(V),this._onDidChangeSchema.fire(),te}getColors(){return Object.keys(this.colorsById).map(te=>this.colorsById[te])}resolveDefaultColor(te,ne){const V=this.colorsById[te];if(V?.defaults){const I=i(V.defaults)?V.defaults[ne.type]:V.defaults;return k(I,ne)}}getColorSchema(){return this.colorSchema}toString(){const te=(ne,V)=>{const I=ne.indexOf(".")===-1?0:1,H=V.indexOf(".")===-1?0:1;return I!==H?I-H:ne.localeCompare(V)};return Object.keys(this.colorsById).sort(te).map(ne=>`- \`${ne}\`: ${this.colorsById[ne].description}`).join(`
896`)}}const o=new l;A.O.add(r.ColorContribution,o);function c($,te,ne,V,I){return o.registerColor($,te,ne,V,I)}function a($,te){switch($.op){case 0:return k($.value,te)?.darken($.factor);case 1:return k($.value,te)?.lighten($.factor);case 2:return k($.value,te)?.transparent($.factor);case 7:{const ne=k($.color,te)||x.Q1.transparent,V=k($.with,te)||x.Q1.transparent;return ne.mix(V,$.ratio)}case 3:{const ne=k($.background,te);return ne?k($.value,te)?.makeOpaque(ne):k($.value,te)}case 4:for(const ne of $.values){const V=k(ne,te);if(V)return V}return;case 6:return k(te.defines($.if)?$.then:$.else,te);case 5:{const ne=k($.value,te);if(!ne)return;const V=k($.background,te);return V?ne.isDarkerThan(V)?x.Q1.getLighterColor(ne,V,$.factor).transparent($.transparency):x.Q1.getDarkerColor(ne,V,$.factor).transparent($.transparency):ne.transparent($.factor*$.transparency)}default:throw(0,v.xb)()}}function p($,te){return{op:0,value:$,factor:te}}function _($,te){return{op:1,value:$,factor:te}}function E($,te){return{op:2,value:$,factor:te}}function S(...$){return{op:4,values:$}}function h($,te,ne){return{op:6,if:$,then:te,else:ne}}function D($,te,ne,V){return{op:5,value:$,background:te,factor:ne,transparency:V}}function k($,te){if($!==null){if(typeof $=="string")return $[0]==="#"?x.Q1.fromHex($):te.getColor($);if($ instanceof x.Q1)return $;if(typeof $=="object")return a($,te)}}const N="vscode://schemas/workbench-colors",W=A.O.as(y.F.JSONContribution);W.registerSchema(N,o.getColorSchema());const U=new R.uC(()=>W.notifySchemaChanged(N),200);o.onDidChangeSchema(()=>{U.isScheduled()||U.schedule()})},87747:(St,We,e)=>{e.d(We,{c:()=>v,k:()=>R});function v(x,T){let y=0;for(let A=0;A<x.length;A++)x.charAt(A)==="	"?y+=T:y++;return y}function R(x,T,y){x=x<0?0:x;let A="";if(!y){const g=Math.floor(x/T);x=x%T;for(let L=0;L<g;L++)A+="	"}for(let g=0;g<x;g++)A+=" ";return A}},87951:(St,We,e)=>{e.d(We,{gi:()=>b});var v=e(2106),R=e(10998),x=e(63339);function T(C,u){return!!C[u]}class y{constructor(u,i){this.target=u.target,this.isLeftClick=u.event.leftButton,this.isMiddleClick=u.event.middleButton,this.isRightClick=u.event.rightButton,this.mouseMiddleClickAction=i.mouseMiddleClickAction,this.hasTriggerModifier=T(u.event,i.triggerModifier),this.isMiddleClick&&i.mouseMiddleClickAction==="ctrlLeftClick"&&(this.isMiddleClick=!1,this.isLeftClick=!0,this.hasTriggerModifier=!0),this.hasSideBySideModifier=T(u.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=u.event.detail<=1}}class A{constructor(u,i){this.keyCodeIsTriggerKey=u.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=u.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=T(u,i.triggerModifier)}}class g{constructor(u,i,r,d,l){this.mouseMiddleClickAction=l,this.triggerKey=u,this.triggerModifier=i,this.triggerSideBySideKey=r,this.triggerSideBySideModifier=d}equals(u){return this.triggerKey===u.triggerKey&&this.triggerModifier===u.triggerModifier&&this.triggerSideBySideKey===u.triggerSideBySideKey&&this.triggerSideBySideModifier===u.triggerSideBySideModifier&&this.mouseMiddleClickAction===u.mouseMiddleClickAction}}function L(C,u){return C==="altKey"?x.zx?new g(57,"metaKey",6,"altKey",u):new g(5,"ctrlKey",6,"altKey",u):x.zx?new g(6,"altKey",57,"metaKey",u):new g(6,"altKey",5,"ctrlKey",u)}class b extends R.jG{constructor(u,i){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new v.vl),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new v.vl),this.onExecute=this._onExecute.event,this._onCancel=this._register(new v.vl),this.onCancel=this._onCancel.event,this._editor=u,this._extractLineNumberFromMouseEvent=i?.extractLineNumberFromMouseEvent??(r=>r.target.position?r.target.position.lineNumber:0),this._opts=L(this._editor.getOption(86),this._editor.getOption(87)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnM
896ouseDown=0,this._register(this._editor.onDidChangeConfiguration(r=>{if(r.hasChanged(86)||r.hasChanged(87)){const d=L(this._editor.getOption(86),this._editor.getOption(87));if(this._opts.equals(d))return;this._opts=d,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(r=>this._onEditorMouseMove(new y(r,this._opts)))),this._register(this._editor.onMouseDown(r=>this._onEditorMouseDown(new y(r,this._opts)))),this._register(this._editor.onMouseUp(r=>this._onEditorMouseUp(new y(r,this._opts)))),this._register(this._editor.onKeyDown(r=>this._onEditorKeyDown(new A(r,this._opts)))),this._register(this._editor.onKeyUp(r=>this._onEditorKeyUp(new A(r,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(r=>this._onDidChangeCursorSelection(r))),this._register(this._editor.onDidChangeModel(r=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(r=>{(r.scrollTopChanged||r.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(u){u.selection&&u.selection.startColumn!==u.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(u){this._lastMouseMoveEvent=u,this._onMouseMoveOrRelevantKeyDown.fire([u,null])}_onEditorMouseDown(u){this._hasTriggerKeyOnMouseDown=u.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(u)}_onEditorMouseUp(u){const i=this._extractLineNumberFromMouseEvent(u);!!this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&(this._hasTriggerKeyOnMouseDown||u.isMiddleClick&&u.mouseMiddleClickAction==="openLink")&&this._onExecute.fire(u)}_onEditorKeyDown(u){this._lastMouseMoveEvent&&(u.keyCodeIsTriggerKey||u.keyCodeIsSideBySideKey&&u.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,u]):u.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(u){u.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}},88122:(St,We,e)=>{e.d(We,{m:()=>R});const v=20;class R{constructor(T,y,A,g,L,b){this._scrollbarSize=Math.round(y),this._oppositeScrollbarSize=Math.round(A),this._arrowSize=Math.round(T),this._visibleSize=g,this._scrollSize=L,this._scrollPosition=b,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new R(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(T){const y=Math.round(T);return this._visibleSize!==y?(this._visibleSize=y,this._refreshComputedValues(),!0):!1}setScrollSize(T){const y=Math.round(T);return this._scrollSize!==y?(this._scrollSize=y,this._refreshComputedValues(),!0):!1}setScrollPosition(T){const y=Math.round(T);return this._scrollPosition!==y?(this._scrollPosition=y,this._refreshComputedValues(),!0):!1}setScrollbarSize(T){this._scrollbarSize=Math.round(T)}setOppositeScrollbarSize(T){this._oppositeScrollbarSize=Math.round(T)}static _computeValues(T,y,A,g,L){const b=Math.max(0,A-T),C=Math.max(0,b-2*y),u=g>0&&g>A;if(!u)return{computedAvailableSize:Math.round(b),computedIsNeeded:u,computedSliderSize:Math.round(C),computedSliderRatio:0,computedSliderPosition:0};const i=Math.round(Math.max(v,Math.floor(A*C/g))),r=(C-i)/(g-A),d=L*r;return{computedAvailableSize:Math.round(b),computedIsNeeded:u,computedSliderSize:Math.round(i),computedSliderRatio:r,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){const T=R._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=T.computedAvailableSize,this._computedIsNeeded=T.computedIsNeeded,this._computedSliderSize=T.computedSliderSize,this._computedSliderRatio=T.computedSliderRatio,this._computedSliderPosition=T.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(T){if(!this._computedIsNeeded)return 0;const y=T-this._arrowSize-this._computedSliderSize/2;return Math.round(y/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(T){if(!this._computedIsNeeded)return 0;const y=T-this._arrowSize;let A=this._scrollPosition;return y<this._computedSliderPosition?A-=this._visibleSize:A+=this._visibleSize,A}getDesiredScrollPositionFromDelta(T){if(!this._computedIsNeeded)return 0;const y=this._computedSliderPosition+T;return Math.round(y/this._computedSliderRatio)}}},88195:(St,We,e)=>{e.d(We,{k:()=>R});var v=e(82399);const R=(0,v.u1)("environmentService")},88407:(St,We,e)=>{var de;var v=e(10998),R=e(16844),x=e(3765),T=e(73027),y=e(50946),A=e(41672),g=e(28061),L=e(38122),b=e(70645),C=e(52394),u=e(64830),i=e(57445),r=e(23877),d=e(58718),l=e(93702),o=e(1032);function c(le,he,we,xe){if(le.getLineCount()===1&&le.getLineMaxColumn(1)===1)return[];const Be=he.getLanguageConfiguration(le.getLanguageId()).indentRulesSupport;if(!Be)return[];const M=new o.no(le,Be,he);for(xe=Math.min(xe,le.getLineCount());we<=xe&&M.shouldIgnore(we);)we++;if(we>xe-1)return[];const{tabSize:Ve,indentSize:Me,insertSpaces:Le}=le.getOptions(),_e=(Ue,$e)=>($e=$e||1,A.Y.shiftIndent(Ue,Ue.length+$e,Ve,Me,Le)),Qe=(Ue,$e)=>($e=$e||1,A.Y.unshiftIndent(Ue,Ue.length+$e,Ve,Me,Le)),je=[],ae=le.getLineContent(we);let Ee=(0,R.UU)(ae),Ie=Ee;M.shouldIncrease(we)?(Ie=_e(Ie),Ee=_e(Ee)):M.shouldIndentNextLine(we)&&(Ie=_e(Ie)),we++;for(let Ue=we;Ue<=xe;Ue++){if(a(le,Ue))continue;const $e=le.getLineContent(Ue),Ye=(0,R.UU)($e),Ce=Ie;M.shouldDecrease(Ue,Ce)&&(Ie=Qe(Ie),Ee=Qe(Ee)),Ye!==Ie&&je.push(r.k.replaceMove(new l.L(Ue,1,Ue,Ye.length+1),(0,d.P)(Ie,Me,Le))),!M.shouldIgnore(Ue)&&(M.shouldIncrease(Ue,Ce)?(Ee=_e(Ee),Ie=Ee):M.shouldIndentNextLine(Ue,Ce)?Ie=_e(Ie):Ie=Ee)}return je}function a(le,he){return le.tokenization.isCheapToTokenize(he)?le.tokenization.getLineTokens(he).getStandardTokenType(0)===2:!1}var p=e(87747),_=function(le,he,we,xe){var Be=arguments.length,M=Be<3?he:xe===null?xe=Object.getOwnPropertyDescriptor(he,we):xe,Ve;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")M=Reflect.decorate(le,he,we,xe);else for(var Me=le.length-1;Me>=0;Me--)(Ve=le[Me])&&(M=(Be<3?Ve(M):Be>3?Ve(he,we,M):Ve(he,we))||M);return Be>3&&M&&Object.defineProperty(he,we,M),M},E=function(le,he){return function(we,xe){he(we,xe,le)}};const G=class G extends y.ks{constructor(){super({id:G.ID,label:(0,x.aS)(1189,"Convert Indentation to Spaces"),prec
896ondition:L.R.writable,metadata:{description:(0,x.aS)(1190,"Convert the tab indentation to spaces.")}})}run(he,we){const xe=we.getModel();if(!xe)return;const Be=xe.getOptions(),M=we.getSelection();if(!M)return;const Ve=new Z(M,Be.tabSize);we.pushUndoStop(),we.executeCommands(this.id,[Ve]),we.pushUndoStop(),xe.updateOptions({insertSpaces:!0})}};G.ID="editor.action.indentationToSpaces";let S=G;const Y=class Y extends y.ks{constructor(){super({id:Y.ID,label:(0,x.aS)(1191,"Convert Indentation to Tabs"),precondition:L.R.writable,metadata:{description:(0,x.aS)(1192,"Convert the spaces indentation to tabs.")}})}run(he,we){const xe=we.getModel();if(!xe)return;const Be=xe.getOptions(),M=we.getSelection();if(!M)return;const Ve=new X(M,Be.tabSize);we.pushUndoStop(),we.executeCommands(this.id,[Ve]),we.pushUndoStop(),xe.updateOptions({insertSpaces:!1})}};Y.ID="editor.action.indentationToTabs";let h=Y;class D extends y.ks{constructor(he,we,xe){super(xe),this.insertSpaces=he,this.displaySizeOnly=we}run(he,we){const xe=he.get(T.GK),Be=he.get(u.S),M=we.getModel();if(!M)return;const Ve=Be.getCreationOptions(M.getLanguageId(),M.uri,M.isForSimpleWidget),Me=M.getOptions(),Le=[1,2,3,4,5,6,7,8].map(Qe=>({id:Qe.toString(),label:Qe.toString(),description:Qe===Ve.tabSize&&Qe===Me.tabSize?(0,x.kg)(1185,"Configured Tab Size"):Qe===Ve.tabSize?(0,x.kg)(1186,"Default Tab Size"):Qe===Me.tabSize?(0,x.kg)(1187,"Current Tab Size"):void 0})),_e=Math.min(M.getOptions().tabSize-1,7);setTimeout(()=>{xe.pick(Le,{placeHolder:(0,x.kg)(1188,"Select Tab Size for Current File"),activeItem:Le[_e]}).then(Qe=>{if(Qe&&M&&!M.isDisposed()){const je=parseInt(Qe.label,10);this.displaySizeOnly?M.updateOptions({tabSize:je}):M.updateOptions({tabSize:je,indentSize:je,insertSpaces:this.insertSpaces})}})},50)}}const j=class j extends D{constructor(){super(!1,!1,{id:j.ID,label:(0,x.aS)(1193,"Indent Using Tabs"),precondition:void 0,metadata:{description:(0,x.aS)(1194,"Use indentation with tabs.")}})}};j.ID="editor.action.indentUsingTabs";let k=j;const z=class z extends D{constructor(){super(!0,!1,{id:z.ID,label:(0,x.aS)(1195,"Indent Using Spaces"),precondition:void 0,metadata:{description:(0,x.aS)(1196,"Use indentation with spaces.")}})}};z.ID="editor.action.indentUsingSpaces";let N=z;const ie=class ie extends D{constructor(){super(!0,!0,{id:ie.ID,label:(0,x.aS)(1197,"Change Tab Display Size"),precondition:void 0,metadata:{description:(0,x.aS)(1198,"Change the space size equivalent of the tab.")}})}};ie.ID="editor.action.changeTabDisplaySize";let W=ie;const re=class re extends y.ks{constructor(){super({id:re.ID,label:(0,x.aS)(1199,"Detect Indentation from Content"),precondition:void 0,metadata:{description:(0,x.aS)(1200,"Detect the indentation from content.")}})}run(he,we){const xe=he.get(u.S),Be=we.getModel();if(!Be)return;const M=xe.getCreationOptions(Be.getLanguageId(),Be.uri,Be.isForSimpleWidget);Be.detectIndentation(M.insertSpaces,M.tabSize)}};re.ID="editor.action.detectIndentation";let U=re;class $ extends y.ks{constructor(){super({id:"editor.action.reindentlines",label:(0,x.aS)(1201,"Reindent Lines"),precondition:L.R.writable,metadata:{description:(0,x.aS)(1202,"Reindent the lines of the editor.")},canTriggerInlineEdits:!0})}run(he,we){const xe=he.get(C.JZ),Be=we.getModel();if(!Be)return;const M=c(Be,xe,1,Be.getLineCount());M.length>0&&(we.pushUndoStop(),we.executeEdits(this.id,M),we.pushUndoStop())}}class te extends y.ks{constructor(){super({id:"editor.action.reindentselectedlines",label:(0,x.aS)(1203,"Reindent Selected Lines"),precondition:L.R.writable,metadata:{description:(0,x.aS)(1204,"Reindent the selected lines of the editor.")},canTriggerInlineEdits:!0})}run(he,we){const xe=he.get(C.JZ),Be=we.getModel();if(!Be)return;const M=we.getSelections();if(M===null)return;const Ve=[];for(const Me of M){let Le=Me.startLineNumber,_e=Me.endLineNumber;if(Le!==_e&&Me.endColumn===1&&_e--,Le===1){if(Le===_e)continue}else Le--;const Qe=c(Be,xe,Le,_e);Ve.push(...Qe)}Ve.length>0&&(we.pushUndoStop(),we.executeEdits(this.id,Ve),we.pushUndoStop())}}class ne{constructor(he,we){this._initialSelection=we,this._edits=[],this._selectionId=null;for(const xe of he)xe.range&&typeof xe.text=="string"&&this._edits.push(xe)}getEditOperations(he,we){for(const Be of this._edits)we.addEditOperation(g.Q.lift(Be.range),Be.text);let xe=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(xe=!0,this._selectionId=we.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(xe=!0,this._selectionId=we.trackSelection(this._initialSelection,!1))),xe||(this._selectionId=we.trackSelection(this._initialSelection))}computeCursorState(he,we){return we.getTrackedSelection(this._selectionId)}}let V=(de=class{constructor(he,we){this.editor=he,this._languageConfigurationService=we,this.callOnDispose=new v.Cm,this.callOnModel=new v.Cm,this.callOnDispose.add(he.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(he.onDidChangeModel(()=>this.update())),this.callOnDispose.add(he.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(!this.editor.getOption(17)||this.editor.getOption(16)<4)&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:he})=>{this.trigger(he)}))}trigger(he){const we=this.editor.getSelections();if(we===null||we.length>1)return;const xe=this.editor.getModel();if(!xe||this.rangeContainsOnlyWhitespaceCharacters(xe,he)||!this.editor.getOption(18)&&I(xe,he)||!xe.tokenization.isCheapToTokenize(he.getStartPosition().lineNumber))return;const M=this.editor.getOption(16),{tabSize:Ve,indentSize:Me,insertSpaces:Le}=xe.getOptions(),_e=[],Qe={shiftIndent:Ie=>A.Y.shiftIndent(Ie,Ie.length+1,Ve,Me,Le),unshiftIndent:Ie=>A.Y.unshiftIndent(Ie,Ie.length+1,Ve,Me,Le)};let je=he.startLineNumber,ae=xe.getLineContent(je);if(!/\S/.test(ae.substring(0,he.startColumn-1))){const Ie=(0,b.$f)(M,xe,xe.getLanguageId(),je,Qe,this._languageConfigurationService);if(Ie!==null){const Ue=(0,R.UU)(ae),$e=(0,p.c)(Ie,Ve),Ye=(0,p.c)(Ue,Ve);if($e!==Ye){const Ce=(0,p.k)($e,Ve,Le);_e.push({range:new g.Q(je,1,je,Ue.length+1),text:Ce}),ae=Ce+ae.substring(Ue.length)}else{const Ce=(0,b.Yb)(xe,je,this._languageConfigurationService);if(Ce===0||Ce===8)return}}}const Ee=je;for(;je<he.endLineNumber;){if(!/\S/.test(xe.getLineContent(je+1))){je++;continue}break}if(je!==he.endLineNumber){const Ie={tokenization:{getLineTokens:$e=>
896xe.tokenization.getLineTokens($e),getLanguageId:()=>xe.getLanguageId(),getLanguageIdAtPosition:($e,Ye)=>xe.getLanguageIdAtPosition($e,Ye)},getLineContent:$e=>$e===Ee?ae:xe.getLineContent($e)},Ue=(0,b.$f)(M,Ie,xe.getLanguageId(),je+1,Qe,this._languageConfigurationService);if(Ue!==null){const $e=(0,p.c)(Ue,Ve),Ye=(0,p.c)((0,R.UU)(xe.getLineContent(je+1)),Ve);if($e!==Ye){const Ce=$e-Ye;for(let He=je+1;He<=he.endLineNumber;He++){const Ke=xe.getLineContent(He),qe=(0,R.UU)(Ke),Te=(0,p.c)(qe,Ve)+Ce,oe=(0,p.k)(Te,Ve,Le);oe!==qe&&_e.push({range:new g.Q(He,1,He,qe.length+1),text:oe})}}}}if(_e.length>0){this.editor.pushUndoStop();const Ie=new ne(_e,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",Ie),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(he,we){const xe=M=>M.trim().length===0;let Be=!0;if(we.startLineNumber===we.endLineNumber){const Ve=he.getLineContent(we.startLineNumber).substring(we.startColumn-1,we.endColumn-1);Be=xe(Ve)}else for(let M=we.startLineNumber;M<=we.endLineNumber;M++){const Ve=he.getLineContent(M);if(M===we.startLineNumber){const Me=Ve.substring(we.startColumn-1);Be=xe(Me)}else if(M===we.endLineNumber){const Me=Ve.substring(0,we.endColumn-1);Be=xe(Me)}else Be=he.getLineFirstNonWhitespaceColumn(M)===0;if(!Be)break}return Be}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},de.ID="editor.contrib.autoIndentOnPaste",de);V=_([E(1,C.JZ)],V);function I(le,he){const we=xe=>(0,i.Tf)(le,xe)===2;return we(he.getStartPosition())||we(he.getEndPosition())}function H(le,he,we,xe){if(le.getLineCount()===1&&le.getLineMaxColumn(1)===1)return;let Be="";for(let Ve=0;Ve<we;Ve++)Be+=" ";const M=new RegExp(Be,"gi");for(let Ve=1,Me=le.getLineCount();Ve<=Me;Ve++){let Le=le.getLineFirstNonWhitespaceColumn(Ve);if(Le===0&&(Le=le.getLineMaxColumn(Ve)),Le===1)continue;const _e=new g.Q(Ve,1,Ve,Le),Qe=le.getValueInRange(_e),je=xe?Qe.replace(/\t/ig,Be):Qe.replace(M,"	");he.addEditOperation(_e,je)}}class Z{constructor(he,we){this.selection=he,this.tabSize=we,this.selectionId=null}getEditOperations(he,we){this.selectionId=we.trackSelection(this.selection),H(he,we,this.tabSize,!0)}computeCursorState(he,we){return we.getTrackedSelection(this.selectionId)}}class X{constructor(he,we){this.selection=he,this.tabSize=we,this.selectionId=null}getEditOperations(he,we){this.selectionId=we.trackSelection(this.selection),H(he,we,this.tabSize,!1)}computeCursorState(he,we){return we.getTrackedSelection(this.selectionId)}}(0,y.HW)(V.ID,V,2),(0,y.Fl)(S),(0,y.Fl)(h),(0,y.Fl)(k),(0,y.Fl)(N),(0,y.Fl)(W),(0,y.Fl)(U),(0,y.Fl)($),(0,y.Fl)(te)},88436:(St,We,e)=>{e.d(We,{E$:()=>T,Fi:()=>R,Zv:()=>x,iD:()=>y});var v;function R(A,g){const L=new Map;for(const b of A){const C=g(b);let u=L.get(C);u||(u=[],L.set(C,u)),u.push(b)}return L}function x(A,g){const L=[],b=[];for(const C of A)g.has(C)||L.push(C);for(const C of g)A.has(C)||b.push(C);return{removed:L,added:b}}function T(A,g){const L=new Set;for(const b of g)A.has(b)&&L.add(b);return L}class y{constructor(g,L){this.toKey=L,this._map=new Map,this[v]="SetWithKey";for(const b of g)this.add(b)}get size(){return this._map.size}add(g){const L=this.toKey(g);return this._map.set(L,g),this}delete(g){return this._map.delete(this.toKey(g))}has(g){return this._map.has(this.toKey(g))}*entries(){for(const g of this._map.values())yield[g,g]}keys(){return this.values()}*values(){for(const g of this._map.values())yield g}clear(){this._map.clear()}forEach(g,L){this._map.forEach(b=>g.call(L,b,b,this))}[Symbol.iterator](){return this.values()}}v=Symbol.toStringTag},88846:(St,We,e)=>{e.d(We,{B:()=>v});function v(R,x,T){let y=null,A=null;if(typeof T.value=="function"?(y="value",A=T.value,A.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof T.get=="function"&&(y="get",A=T.get),!A)throw new Error("not supported");const g=`$memoize$${x}`;T[y]=function(...L){return this.hasOwnProperty(g)||Object.defineProperty(this,g,{configurable:!1,enumerable:!1,writable:!1,value:A.apply(this,L)}),this[g]}}},89044:(St,We,e)=>{e.d(We,{Fd:()=>b,Gy:()=>A,Pz:()=>L,Yf:()=>g,lR:()=>r,zy:()=>i});var v=e(2106),R=e(10998),x=e(82399),T=e(67167),y=e(89563);const A=(0,x.u1)("themeService");function g(d){return{id:d}}function L(d){switch(d){case y.zM.DARK:return y.X2.VS_DARK;case y.zM.HIGH_CONTRAST_DARK:return y.X2.HC_BLACK;case y.zM.HIGH_CONTRAST_LIGHT:return y.X2.HC_LIGHT;default:return y.X2.VS}}const b={ThemingContribution:"base.contributions.theming"};class C extends R.jG{constructor(){super(),this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=this._register(new v.vl)}onColorThemeChange(l){return this.themingParticipants.push(l),this.onThemingParticipantAddedEmitter.f
896ire(l),(0,R.s)(()=>{const o=this.themingParticipants.indexOf(l);this.themingParticipants.splice(o,1)})}getThemingParticipants(){return this.themingParticipants}}const u=new C;T.O.add(b.ThemingContribution,u);function i(d){return u.onColorThemeChange(d)}class r extends R.jG{constructor(l){super(),this.themeService=l,this.theme=l.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(o=>this.onThemeChange(o)))}onThemeChange(l){this.theme=l,this.updateStyles()}updateStyles(){}}},89401:(St,We,e)=>{var Ae,Xe;e.d(We,{j0:()=>q,iu:()=>J,OD:()=>De,ox:()=>ve,EW:()=>fe});var v=e(5915),R=e(10998),x=e(50946),T=e(87301),y=e(15365),A=e(28061),g=e(38122),L=e(13338),b=e(2106),C=e(85525),u=e(16844),i=e(37264),r=e(66726),d=e(82399),l=e(27619),o=e(85753),c=e(22467),a=function(ri,Gt,ei,Zt){var pt=arguments.length,Fe=pt<3?Gt:Zt===null?Zt=Object.getOwnPropertyDescriptor(Gt,ei):Zt,st;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Fe=Reflect.decorate(ri,Gt,ei,Zt);else for(var vt=ri.length-1;vt>=0;vt--)(st=ri[vt])&&(Fe=(pt<3?st(Fe):pt>3?st(Gt,ei,Fe):st(Gt,ei))||Fe);return pt>3&&Fe&&Object.defineProperty(Gt,ei,Fe),Fe},p=function(ri,Gt){return function(ei,Zt){Gt(ei,Zt,ri)}};class _{constructor(Gt,ei,Zt){this.marker=Gt,this.index=ei,this.total=Zt}}let E=class{constructor(Gt,ei,Zt){this._markerService=ei,this._configService=Zt,this._onDidChange=new b.vl,this.onDidChange=this._onDidChange.event,this._dispoables=new R.Cm,this._markers=[],this._nextIdx=-1,i.r.isUri(Gt)?this._resourceFilter=vt=>vt.toString()===Gt.toString():Gt&&(this._resourceFilter=Gt);const pt=this._configService.getValue("problems.sortOrder"),Fe=(vt,Yt)=>{let Si=(0,u.UD)(vt.resource.toString(),Yt.resource.toString());return Si===0&&(pt==="position"?Si=A.Q.compareRangesUsingStarts(vt,Yt)||l.cj.compare(vt.severity,Yt.severity):Si=l.cj.compare(vt.severity,Yt.severity)||A.Q.compareRangesUsingStarts(vt,Yt)),Si},st=()=>{let vt=this._markerService.read({resource:i.r.isUri(Gt)?Gt:void 0,severities:l.cj.Error|l.cj.Warning|l.cj.Info});return typeof Gt=="function"&&(vt=vt.filter(Yt=>this._resourceFilter(Yt.resource))),vt.sort(Fe),(0,L.aI)(vt,this._markers,(Yt,Si)=>Yt.resource.toString()===Si.resource.toString()&&Yt.startLineNumber===Si.startLineNumber&&Yt.startColumn===Si.startColumn&&Yt.endLineNumber===Si.endLineNumber&&Yt.endColumn===Si.endColumn&&Yt.severity===Si.severity&&Yt.message===Si.message)?!1:(this._markers=vt,!0)};st(),this._dispoables.add(ei.onMarkerChanged(vt=>{(!this._resourceFilter||vt.some(Yt=>this._resourceFilter(Yt)))&&st()&&(this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(Gt){return!this._resourceFilter&&!Gt?!0:!this._resourceFilter||!Gt?!1:this._resourceFilter(Gt)}get selected(){const Gt=this._markers[this._nextIdx];return Gt&&new _(Gt,this._nextIdx+1,this._markers.length)}_initIdx(Gt,ei,Zt){let pt=this._markers.findIndex(Fe=>(0,c.n4)(Fe.resource,Gt.uri));if(pt<0)pt=(0,L.Uw)(this._markers.length,Fe=>(0,u.UD)(this._markers[Fe].resource.toString(),Gt.uri.toString())),pt<0&&(pt=~pt),Zt?this._nextIdx=pt:this._nextIdx=(this._markers.length+pt-1)%this._markers.length;else{let Fe=!1,st=!1;for(let vt=pt;vt<this._markers.length;vt++){let Yt=A.Q.lift(this._markers[vt]);if(Yt.isEmpty()){const Si=Gt.getWordAtPosition(Yt.getStartPosition());Si&&(Yt=new A.Q(Yt.startLineNumber,Si.startColumn,Yt.startLineNumber,Si.endColumn))}if(ei&&(Yt.containsPosition(ei)||ei.isBeforeOrEqual(Yt.getStartPosition()))){this._nextIdx=vt,Fe=!0,st=!Yt.containsPosition(ei);break}if(this._markers[vt].resource.toString()!==Gt.uri.toString())break}Fe?st&&!Zt&&(this._nextIdx-=1):this._nextIdx=Zt?0:this._markers.length-1}this._nextIdx<0&&(this._nextIdx=this._markers.length-1)}resetIndex(){this._nextIdx=-1}move(Gt,ei,Zt){if(this._markers.length===0)return!1;const pt=this._nextIdx;return this._nextIdx===-1?this._initIdx(ei,Zt,Gt):Gt?this._nextIdx=(this._nextIdx+1)%this._markers.length:Gt||(this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length),pt!==this._nextIdx}find(Gt,ei){let Zt=this._markers.findIndex(pt=>pt.resource.toString()===Gt.toString());if(!(Zt<0)){for(;Zt<this._markers.length;Zt++)if(A.Q.containsPosition(this._markers[Zt],ei))return new _(this._markers[Zt],Zt+1,this._markers.length)}}};E=a([p(1,l.DR),p(2,o.pG)],E);const S=(0,d.u1)("IMarkerNavigationService");let h=class{constructor(Gt,ei){this._markerService=Gt,this._configService=ei,this._provider=new C.w}getMarkerList(Gt){for(const ei of this._provider){const Zt=ei.getMarkerList(Gt);if(Zt)return Zt}return new E(Gt,this._markerService,this._configService)}};h=a([p(0,l.DR),p(1,o.pG)],h),(0,r.v)(S,h,1);var D=e(3765),k=e(58067),N=e(31540),W=e(11210),U=e(14333),$=e(44385),te=e(16831),ne=e(94901),V=e(70228),I=e(54860),H=e(8377),Z=e(54435),X=e(58881),G=e(66459),Y;(function(ri){function Gt(ei){switch(ei){case G.A.Ignore:return"severity-ignore "+X.L.asClassName(v.W.info);case G.A.Info:return X.L.asClassName(v.W.info);case G.A.Warning:return X.L.asClassName(v.W.warning);case G.A.Error:return X.L.asClassName(v.W.error);default:return""}}ri.className=Gt})(Y||(Y={}));var j=e(87676),z=e(18382),ie=e(75962),re=e(73858),de=e(69227),le=e(82735),he=e(75712),we=e(10680),xe=e(58687),Be=e(94865),M=e(74707),Ve=e(89044),Me=function(ri,Gt,ei,Zt){var pt=arguments.length,Fe=pt<3?Gt:Zt===null?Zt=Object.getOwnPropertyDescriptor(Gt,ei):Zt,st;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Fe=Reflect.decorate(ri,Gt,ei,Zt);else for(var vt=ri.length-1;vt>=0;vt--)(st=ri[vt])&&(Fe=(pt<3?st(Fe):pt>3?st(Gt,ei,Fe):st(Gt,ei))||Fe);return pt>3&&Fe&&Object.defineProperty(Gt,ei,Fe),Fe},Le=function(ri,Gt){return function(ei,Zt){Gt(ei,Zt,ri)}},_e;class Qe{constructor(Gt,ei,Zt,pt,Fe){this._openerService=pt,this._labelService=Fe,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new R.Cm,this._editor=ei;const st=document.createElement("div");st.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),st.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),st.appendChild(this._relatedBlock),this._disposables.add((0,U.un)(this._relatedBlock,"click",vt=>{vt.preventDefault();const Yt=this._relatedDiagnostics.get(vt.target);Yt&&Zt(Yt)})),this._scrollable=new te.Se(st,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),Gt.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(vt=>{st.style.left=`-${vt.scrollLeft}px`,st.style.top=`-${vt.scrollTop}px`})),this._disposables.add(this._scrollable)}dispose(){(0,R.AS)(this._disposables)}update(Gt){const{source:ei,message:Zt,relatedInformation:pt,code:Fe}=Gt;let st=(ei?.length||0)+2;Fe&&(typeof Fe=="string"?st+=Fe.length:st+=Fe.value.length);const vt=(0,u.uz)(Zt);this._lines=vt.length,this._longestLineLength=0;for(const $i of vt)this._longestLineLength=Math.max($i.length+st,this._longestLineLength);(0,U.w_)(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(Gt)),(0,$.h5)(this.getAriaLabel(Gt)),this._editor.applyFontInfo(this._messageBlock);let Yt=this._messageBlock;for(const $i of vt)Yt=document.createElement("div"),Yt.innerText=$i,$i===""&&(Yt.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(Yt);if(ei||Fe){const $i=document.createElement("span");if($i.classList.add("details"),Yt.appendChild($i),ei){const fn=document.createElement("span");fn.innerText=ei,fn.classList.add("source"),$i.appendChild(fn)}if(Fe)if(typeof Fe=="string"){const fn=document.createElement("span");fn.innerText=`(${Fe})`,fn.classList.add("code"),$i.appendChild(fn)}else{this._codeLink=(0,U.$)("a.code-link"),this._codeLink.setAttribute("href",`${Fe.target.toString()}`),this._codeLink.onclick=Sn=>{this._openerService.open(Fe.target,{allowCommands:!0}),Sn.preventDefault(),Sn.stopPropagation()};const fn=(0,U.BC)(this._codeLink,(0,U.$)("span"));fn.innerText=Fe.value,$i.appendChild(this._codeLink)}}if((0,U.w_)(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),(0,L.EI)(pt)){const $i=this._relatedBlock.appendChild(document.createElement("div"));$i.style.paddingTop=`${Math.floor(this._editor.getOption(75)*.66)}px`,this._lines+=1;for(const fn of pt){const Sn=document.createElement("div"),On=document.createElement("a");On.classList.add("filename"),On.innerText=`${this._labelService.getUriBasenameLabel(fn.resource)}(${fn.startLineNumber}, ${fn.startColumn}): `,On.title=this._labelService.getUriLabel(fn.resource),this._relatedDiagnostics.set(On,fn);const Dn=document.createElement("span");Dn.innerText=fn.message,Sn.appendChild(On),Sn.appendChild(Dn),this._lines+=1,$i.appendChild(Sn)}}const Si=this._editor.getOption(59),Bi=Math.ceil(Si.typicalFullwidthCharacterWidth*this._longestLineLength*.75
896),pi=Si.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:Bi,scrollHeight:pi})}layout(Gt,ei){this._scrollable.getDomNode().style.height=`${Gt}px`,this._scrollable.getDomNode().style.width=`${ei}px`,this._scrollable.setScrollDimensions({width:ei,height:Gt})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(Gt){let ei="";switch(Gt.severity){case l.cj.Error:ei=(0,D.kg)(1067,"Error");break;case l.cj.Warning:ei=(0,D.kg)(1068,"Warning");break;case l.cj.Info:ei=(0,D.kg)(1069,"Info");break;case l.cj.Hint:ei=(0,D.kg)(1070,"Hint");break}let Zt=(0,D.kg)(1071,"{0}: {1} at {2}. ",ei,Gt.message,Gt.startLineNumber+":"+Gt.startColumn);const pt=this._editor.getModel();return pt&&Gt.startLineNumber<=pt.getLineCount()&&Gt.startLineNumber>=1&&(Zt=`${pt.getLineContent(Gt.startLineNumber)}, ${Zt}`),Zt}}let je=(Ae=class extends V.j6{constructor(Gt,ei,Zt,pt,Fe,st,vt){super(Gt,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},Fe),this._themeService=ei,this._openerService=Zt,this._menuService=pt,this._contextKeyService=st,this._labelService=vt,this._callOnDispose=new R.Cm,this._onDidSelectRelatedInformation=new b.vl,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=l.cj.Warning,this._backgroundColor=ne.Q1.white,this._applyTheme(ei.getColorTheme()),this._callOnDispose.add(ei.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(Gt){this._backgroundColor=Gt.getColor(qe);let ei=Ue,Zt=$e;this._severity===l.cj.Warning?(ei=Ye,Zt=Ce):this._severity===l.cj.Info&&(ei=He,Zt=Ke);const pt=Gt.getColor(ei),Fe=Gt.getColor(Zt);this.style({arrowColor:pt,frameColor:pt,headerBackgroundColor:Fe,primaryHeadingColor:Gt.getColor(V._X),secondaryHeadingColor:Gt.getColor(V.e3)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),this._onDidSelectRelatedInformation.dispose(),super.dispose()}_fillHead(Gt){super._fillHead(Gt),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(pt=>this.editor.focus()));const ei=this._menuService.getMenuActions(_e.TitleMenu,this._contextKeyService),Zt=(0,I.ej)(ei);this._actionbarWidget.push(Zt,{label:!1,icon:!0,index:0})}_fillTitleIcon(Gt){this._icon=(0,U.BC)(Gt,(0,U.$)(""))}_fillBody(Gt){this._parentContainer=Gt,Gt.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),Gt.appendChild(this._container),this._message=new Qe(this._container,this.editor,ei=>this._onDidSelectRelatedInformation.fire(ei),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(Gt,ei,Zt){this._container.classList.remove("stale"),this._message.update(Gt),this._severity=Gt.severity,this._applyTheme(this._themeService.getColorTheme());const pt=A.Q.lift(Gt),Fe=this.editor.getPosition(),st=Fe&&pt.containsPosition(Fe)?Fe:pt.getStartPosition();super.show(st,this.computeRequiredHeight());const vt=this.editor.getModel();if(vt){const Yt=Zt>1?(0,D.kg)(1072,"{0} of {1} problems",ei,Zt):(0,D.kg)(1073,"{0} of {1} problem",ei,Zt);this.setTitle((0,c.P8)(vt.uri),Yt)}this._icon.className=`codicon ${Y.className(l.cj.toSeverity(this._severity))}`,this.editor.revealPositionInCenterIfOutsideViewport(st,0),this.editor.focus()}updateMarker(Gt){this._container.classList.remove("stale"),this._message.update(Gt)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(Gt,ei){super._doLayoutBody(Gt,ei),this._heightInPixel=Gt,this._message.layout(Gt,ei),this._container.style.height=`${Gt}px`}_onWidth(Gt){this._message.layout(this._heightInPixel,Gt)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},_e=Ae,Ae.TitleMenu=new k.D8("gotoErrorTitleMenu"),Ae);je=_e=Me([Le(1,Ve.Gy),Le(2,Z.Cr),Le(3,k.ez),Le(4,d._Y),Le(5,N.fN),Le(6,H.L)],je);const ae=(0,j.yL)(re.Rb,re.AN),Ee=(0,j.yL)(re.Hn,re.St),Ie=(0,j.yL)(re.pO,re.II),Ue=(0,j.x1)("editorMarkerNavigationError.background",{dark:ae,light:ae,hcDark:z.b1,hcLight:z.b1},(0,D.kg)(1074,"Editor marker navigation widget error color.")),$e=(0,j.x1)("editorMarkerNavigationError.headerBackgroun
896d",{dark:(0,j.JO)(Ue,.1),light:(0,j.JO)(Ue,.1),hcDark:null,hcLight:null},(0,D.kg)(1075,"Editor marker navigation widget error heading background.")),Ye=(0,j.x1)("editorMarkerNavigationWarning.background",{dark:Ee,light:Ee,hcDark:z.b1,hcLight:z.b1},(0,D.kg)(1076,"Editor marker navigation widget warning color.")),Ce=(0,j.x1)("editorMarkerNavigationWarning.headerBackground",{dark:(0,j.JO)(Ye,.1),light:(0,j.JO)(Ye,.1),hcDark:"#0C141F",hcLight:(0,j.JO)(Ye,.2)},(0,D.kg)(1077,"Editor marker navigation widget warning heading background.")),He=(0,j.x1)("editorMarkerNavigationInfo.background",{dark:Ie,light:Ie,hcDark:z.b1,hcLight:z.b1},(0,D.kg)(1078,"Editor marker navigation widget info color.")),Ke=(0,j.x1)("editorMarkerNavigationInfo.headerBackground",{dark:(0,j.JO)(He,.1),light:(0,j.JO)(He,.1),hcDark:null,hcLight:null},(0,D.kg)(1079,"Editor marker navigation widget info heading background.")),qe=(0,j.x1)("editorMarkerNavigation.background",re.Yt,(0,D.kg)(1080,"Editor marker navigation widget background."));var ht=function(ri,Gt,ei,Zt){var pt=arguments.length,Fe=pt<3?Gt:Zt===null?Zt=Object.getOwnPropertyDescriptor(Gt,ei):Zt,st;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Fe=Reflect.decorate(ri,Gt,ei,Zt);else for(var vt=ri.length-1;vt>=0;vt--)(st=ri[vt])&&(Fe=(pt<3?st(Fe):pt>3?st(Gt,ei,Fe):st(Gt,ei))||Fe);return pt>3&&Fe&&Object.defineProperty(Gt,ei,Fe),Fe},Te=function(ri,Gt){return function(ei,Zt){Gt(ei,Zt,ri)}},oe;let q=(Xe=class{static get(Gt){return Gt.getContribution(oe.ID)}constructor(Gt,ei,Zt,pt,Fe){this._markerNavigationService=ei,this._contextKeyService=Zt,this._editorService=pt,this._instantiationService=Fe,this._sessionDispoables=new R.Cm,this._editor=Gt,this._widgetVisible=Se.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(Gt){if(this._model&&this._model.matches(Gt))return this._model;let ei=!1;return this._model&&(ei=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(Gt),ei&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(je,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(Zt=>{(!this._model?.selected||!A.Q.containsPosition(this._model?.selected.marker,Zt.position))&&this._model?.resetIndex()})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const Zt=this._model.find(this._editor.getModel().uri,this._widget.position);Zt?this._widget.updateMarker(Zt.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(Zt=>{this._editorService.openCodeEditor({resource:Zt.resource,options:{pinned:!0,revealIfOpened:!0,selection:A.Q.lift(Zt).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(Gt=!0){this._cleanUp(),Gt&&this._editor.focus()}showAtMarker(Gt){if(!this._editor.hasModel())return;const ei=this._editor.getModel(),Zt=this._getOrCreateModel(ei.uri);Zt.resetIndex(),Zt.move(!0,ei,new y.y(Gt.startLineNumber,Gt.startColumn)),Zt.selected&&this._widget.showAtMarker(Zt.selected.marker,Zt.selected.index,Zt.selected.total)}async navigate(Gt,ei){if(!this._editor.hasModel())return;const Zt=this._editor.getModel(),pt=this._getOrCreateModel(ei?void 0:Zt.uri);if(pt.move(Gt,Zt,this._editor.getPosition()),!!pt.selected)if(pt.selected.marker.resource.toString()!==Zt.uri.toString()){this._cleanUp();const Fe=await this._editorService.openCodeEditor({resource:pt.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:pt.selected.marker}},this._editor);Fe&&(oe.get(Fe)?.close(),oe.get(Fe)?.navigate(Gt,ei))}else this._widget.showAtMarker(pt.selected.marker,pt.selected.index,pt.selected.total)}},oe=Xe,Xe.ID="editor.contrib.markerController",Xe);q=oe=ht([Te(1,S),Te(2,N.fN),Te(3,T.T),Te(4,d._Y)],q);class ue extends x.ks{constructor(Gt,ei,Zt){super(Zt),this._next=Gt,this._multiFile=ei}async run(Gt,ei){ei.hasModel()&&await q.get(ei)?.navigate(this._next,this._multiFile)}}const dt=class dt extends ue{constructor(){super(!0,!1,{id:dt.ID,label:dt.LABEL,precondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:578,weight:100},menuOpts:{menuId:je.TitleMenu,title:dt.LABEL.value,icon:(0,W.pU)("marker-navigation-next",v.W.arrowDown,(0,D.kg)(1059,"Icon for goto next marker.")),group:"navigation",order:1}})}};dt.ID="editor.action.marker.next",dt.LABEL=(0,D.aS)(1063,"Go to Next Problem (Error, Warning, Info)");let J=dt;const gt=class gt extends ue{constructor(){super(!1,!1,{id:gt.ID,label:gt.LABEL,precondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:1602,weight:100},menuOpts:{menuId:je.TitleMenu,title:gt.LABEL.value,icon:(0,W.pU)("marker-navigation-previous",v.W.arrowUp,(0,D.kg)(1060,"Icon for goto previous marker.")),group:"navigation",order:2}})}};gt.ID="editor.action.marker.prev",gt.LABEL=(0,D.aS)(1064,"Go to Previous Problem (Error, Warning, Info)");let ve=gt;const Bt=class Bt extends ue{constructor(){super(!0,!0,{id:Bt.ID,label:(0,D.aS)(1065,"Go to Next Problem in Files (Error, Warning, Info)"),prec
896ondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:66,weight:100},menuOpts:{menuId:k.D8.MenubarGoMenu,title:(0,D.kg)(1061,"Next &&Problem"),group:"6_problem_nav",order:1}})}};Bt.ID="editor.action.marker.nextInFiles";let De=Bt;const _t=class _t extends ue{constructor(){super(!1,!0,{id:_t.ID,label:(0,D.aS)(1066,"Go to Previous Problem in Files (Error, Warning, Info)"),precondition:void 0,kbOpts:{kbExpr:g.R.focus,primary:1090,weight:100},menuOpts:{menuId:k.D8.MenubarGoMenu,title:(0,D.kg)(1062,"Previous &&Problem"),group:"6_problem_nav",order:2}})}};_t.ID="editor.action.marker.prevInFiles";let fe=_t;(0,x.HW)(q.ID,q,4),(0,x.Fl)(J),(0,x.Fl)(ve),(0,x.Fl)(De),(0,x.Fl)(fe);const Se=new N.N1("markersNavigationVisible",!1),pe=x.DX.bindToContribution(q.get);(0,x.E_)(new pe({id:"closeMarkersNavigation",precondition:Se,handler:ri=>ri.close(),kbOpts:{weight:150,kbExpr:g.R.focus,primary:9,secondary:[1033]}}))},89563:(St,We,e)=>{e.d(We,{Bb:()=>x,HD:()=>T,X2:()=>R,zM:()=>v});var v;(function(y){y.DARK="dark",y.LIGHT="light",y.HIGH_CONTRAST_DARK="hcDark",y.HIGH_CONTRAST_LIGHT="hcLight"})(v||(v={}));var R;(function(y){y.VS="vs",y.VS_DARK="vs-dark",y.HC_BLACK="hc-black",y.HC_LIGHT="hc-light"})(R||(R={}));function x(y){return y===v.HIGH_CONTRAST_DARK||y===v.HIGH_CONTRAST_LIGHT}function T(y){return y===v.DARK||y===v.HIGH_CONTRAST_DARK}},89673:(St,We,e)=>{e.d(We,{c:()=>L,z:()=>g});var v=e(16844),R=e(29895),x=e(97666),T=e(82862),y=e(15365),A=e(28061);class g{static _createWord(u,i,r,d,l){return{start:d,end:l,wordType:i,nextCharClass:r}}static _createIntlWord(u,i){return{start:u.index,end:u.index+u.segment.length,wordType:1,nextCharClass:i}}static _findPreviousWordOnLine(u,i,r){const d=i.getLineContent(r.lineNumber);return this._doFindPreviousWordOnLine(d,u,r)}static _doFindPreviousWordOnLine(u,i,r){let d=0;const l=i.findPrevIntlWordBeforeOrAtOffset(u,r.column-2);for(let o=r.column-2;o>=0;o--){const c=u.charCodeAt(o),a=i.get(c);if(l&&o===l.index)return this._createIntlWord(l,a);if(a===0){if(d===2)return this._createWord(u,d,a,o+1,this._findEndOfWord(u,i,d,o+1));d=1}else if(a===2){if(d===1)return this._createWord(u,d,a,o+1,this._findEndOfWord(u,i,d,o+1));d=2}else if(a===1&&d!==0)return this._createWord(u,d,a,o+1,this._findEndOfWord(u,i,d,o+1))}return d!==0?this._createWord(u,d,1,0,this._findEndOfWord(u,i,d,0)):null}static _findEndOfWord(u,i,r,d){const l=i.findNextIntlWordAtOrAfterOffset(u,d),o=u.length;for(let c=d;c<o;c++){const a=u.charCodeAt(c),p=i.get(a);if(l&&c===l.index+l.segment.length||p===1||r===1&&p===2||r===2&&p===0)return c}return o}static _findNextWordOnLine(u,i,r){const d=i.getLineContent(r.lineNumber);return this._doFindNextWordOnLine(d,u,r)}static _doFindNextWordOnLine(u,i,r){let d=0;const l=u.length,o=i.findNextIntlWordAtOrAfterOffset(u,r.column-1);for(let c=r.column-1;c<l;c++){const a=u.charCodeAt(c),p=i.get(a);if(o&&c===o.index)return this._createIntlWord(o,p);if(p===0){if(d===2)return this._createWord(u,d,p,this._findStartOfWord(u,i,d,c-1),c);d=1}else if(p===2){if(d===1)return this._createWord(u,d,p,this._findStartOfWord(u,i,d,c-1),c);d=2}else if(p===1&&d!==0)return this._createWord(u,d,p,this._findStartOfWord(u,i,d,c-1),c)}return d!==0?this._createWord(u,d,1,this._findStartOfWord(u,i,d,l-1),l):null}static _findStartOfWord(u,i,r,d){const l=i.findPrevIntlWordBeforeOrAtOffset(u,d);for(let o=d;o>=0;o--){const c=u.charCodeAt(o),a=i.get(c);if(l&&o===l.index)return o;if(a===1||r===1&&a===2||r===2&&a===0)return o+1}return 0}static moveWordLeft(u,i,r,d,l){let o=r.lineNumber,c=r.column;c===1&&o>1&&(o=o-1,c=i.getLineMaxColumn(o));let a=g._findPreviousWordOnLine(u,i,new y.y(o,c));if(d===0)return new y.y(o,a?a.start+1:1);if(d===1)return!l&&a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=g._findPreviousWordOnLine(u,i,new y.y(o,a.start+1))),new y.y(o,a?a.start+1:1);if(d===3){for(;a&&a.wordType===2;)a=g._findPreviousWordOnLine(u,i,new y.y(o,a.start+1));return new y.y(o,a?a.start+1:1)}return a&&c<=a.end+1&&(a=g._findPreviousWordOnLine(u,i,new y.y(o,a.start+1))),new y.y(o,a?a.end+1:1)}static _moveWordPartLeft(u,i){const r=i.lineNumber,d=u.getLineMaxColumn(r);if(i.column===1)return r>1?new y.y(r-1,u.getLineMaxColumn(r-1)):i;const l=u.getLineContent(r);for(let o=i.column-1;o>1;o--){const c=l.charCodeAt(o-2),a=l.charCodeAt(o-1);if(c===95&&a!==95)return new y.y(r,o);if(c===45&&a!==45)return new y.y(r,o);if(((0,v.Lv)(c)||(0,v.DB)(c))&&(0,v.Wv)(a))return new y.y(r,o);if((0,v.Wv)(c)&&(0,v.Wv)(a)&&o+1<d){const p=l.charCodeAt(o);if((0,v.Lv)(p)||(0,v.DB)(p))return new y.y(r,o)}}return new y.y(r,1)}static moveWordRight(u,i,r,d){let l=r.lineNumber,o=r.column,c=!1;o===i.getLineMaxColumn(l)&&l<i.getLineCount()&&(c=!0,l=l+1,o=1);let a=g._findNextWordOnLine(u,i,new y.y(l,o));if(d===2)a&&a.wordType===2&&a.end-a.start===1&&a.nextCharClass===0&&(a=g._findNextWordOnLine(u,i,new y.y(l,a.end+1))),a?o=a.end+1:o=i.getLineMaxColumn(l);else if(d===3){for(c&&(o=0);a&&(a.wordType===2||a.start+1<=o);)a=g._findNextWordOnLine(u,i,new y.y(l,a.end+1));a?o=a.start+1:o=i.getLineMaxColumn(l)}else a&&!c&&o>=a.start+1&&(a=g._findNextWordOnLine(u,i,new y.y(l,a.end+1))),a?o=a.start+1:o=i.getLineMaxColumn(l);return new y.y(l,o)}static _moveWordPartRight(u,i){const r=i.lineNumber,d=u.getLineMaxColumn(r);if(i.column===d)return r<u.getLineCount()?new y.y(r+1,1):i;const l=u.getLineContent(r);for(let o=i.column+1;o<d;o++){const c=l.charCodeAt(o-2),a=l.charCodeAt(o-1);if(c!==95&&a===95)return new y.y(r,o);if(c!==45&&a===45)return new y.y(r,o);if(((0,v.Lv)(c)||(0,v.DB)(c))&&(0,v.Wv)(a))return new y.y(r,o);if((0,v.Wv)(c)&&(0,v.Wv)(a)&&o+1<d){const p=l.charCodeAt(o);if((0,v.Lv)(p)||(0,v.DB)(p))return new y.y(r,o)}}return new y.y(r,d)}static _deleteWordLeftWhitespace(u,i){const r=u.getLineContent(i.lineNumber),d=i.column-2,l=(0,v.lT)(r,d);return l+1<d?new A.Q(i.lineNumber,l+2,i.lineNumber,i.column):null}static deleteWordLeft(u,i){const r=u.wordSeparators,d=u.model,l=u.selection,o=u.whitespaceHeuristics;if(!l.isEmpty())return l;if(x.g.isAutoClosingPairDelete(u.autoClosingDelete,u.autoClosingBrackets,u.autoClosingQuotes,u.autoClosingPairs.autoClosingPairsOpenByEnd,u.model,[u.selection],u.autoClosedCharacters)){const E=u.selection.getPosition();return new A.Q(E.lineNumber,E.column-1,E.lineNumber,E.column+1)}const c=new y.y(l.positionLineNumber,l.positionColumn);let a=c.lineNumber,p=c.column;if(a===1&&p===1)return null;if(o){const E=this._deleteWordLeftWhitespace(d,c);if(E)return E}let _=g._findPreviousWordOnLine(r,d,c);return i===0?_?p=_.start+1:p>1?p=1:(a--,p=d.getLineMaxColumn(a)):(_&&p<=_.end+1&&(_=g._findPreviousWordOnLine(r,d,new y.y(a,_.start+1))),_?p=_.end+1:p>1?p=1:(a--,p=d.getLineMaxColumn(a))),new A.Q(a,p,c.lineNumber,c.column)}static deleteInsideWord(u,i,r,d=!1){if(!r.isEmpty())return r;const l=new y.y(r.positionLineNumber,r.positionColumn),o=this._deleteInsideWordWhitespace(i,l);return o||this._deleteInsideWordDetermineDeleteRange(u,i,l,d)}static _charAtIsWhitespace(u,i){const r=u.charCodeAt(i);return r===32||r===9}static _deleteInsideWordWhitespace(u,i){const r=u.getLineContent(i.lineNumber),d=r.length;if(d===0)return null;let l=Math.max(i.column-2,0);if(!this._charAtIsWhitespace(r,l))return null;let o=Math.min(i.column-1,d-1);if(!this._charAtIsWhitespace(r,o))return null;for(;l>0&&this._charAtIsWhitespace(r,l-1);)l--;for(;o+1<d&&this._charAtIsWhitespace(r,o+1);)o++;return new A.Q(i.lineNumber,l+1,i.lineNumber,o+2)}static _deleteInsideWordDetermineDeleteRange(u,i,r,d){const l=i.getLineContent(r.lineNumber),o=l.length;if(o===0)return r.lineNumber>1?new A.Q(r.lineNumber-1,i.getLineMaxColumn(r.lineNumber-1),r.lineNumber,1):r.lineNumber<i.getLineCount()?new A.Q(r.lineNumber,1,r.lineNumber+1,1):new A.Q(r.lineNumber,1,r.lineNumber,1);const c=S=>S.start+1<=r.column&&r.column<=S.end+1,a=(S,h)=>(S=Math.min(S,r.column),h=Math.max(h,r.column),new A.Q(r.lineNumber,S,r.lineNumber,h)),p=S=>{let h=S.start+1,D=S.end+1;if(d)return a(h,D);let k=!1;for(;D-1<o&&this._charAtIsWhitespace(l,D-1);)k=!0,D++;if(!k)for(;h>1&&this._charAtIsWhitespace(l,h-2);)h--;return a(h,D)},_=g._findPreviousWordOnLine(u,i,r);if(_&&c(_))return p(_);const E=g._findNextWordOnLine(u,i,r);return E&&c(E)?p(E):_&&E?a(_.end+1,E.start+1):_?a(_.start+1,_.end+1):E?a(E.start+1,E.end+1):a(1,o+1)}static _deleteWordPartLeft(u,i){if(!i.isEmpty())return i;const r=i.getPosition(),d=g._moveWordPartLeft(u,r);return new A.Q(r.lineNumber,r.column,d.lineNumber,d.column)}static _findFirstNonWhitespaceChar(u,i){const r=u.length;for(let d=i;d<r;d++){const l=u.charAt(d);if(l!==" "&&l!=="	")return d}return r}static _deleteWordRightWhitespace(u,i){const r=u.getLineContent(i.lineNumber),d=i.column-1,l=this._findFirstNonWhitespaceChar(r,d);return d+1<l?new A.Q(i.lineNumber,i.column,i.lineNumber,l+1):null}static deleteWordRight(u,i){const r=u.wordSeparators,d=u.model,l=u.selection,o=u.whitespaceHeuristics;if(!l.isEmpty())return l;const c=new y.y(l.positionLineNumber,l.positionColumn);let a=c.lineNumber,p=c.column;const _=d.getLineCount(),E=d.getLineMaxColumn(a);if(a===_&&p===E)return null;if(o){const h=this._deleteWordRightWhitespace(d,c);if(h)return h}let S=g._findNextWordOnLine(r,d,c);return i===2?S?p=S.end+1:p<E||a===_?p=E:(a++,S=g._findNextWordOnLine(r,d,new y.y(a,1)),S?p=S.start+1:p=d.getLineMaxColumn(a)):(S&&p>=S.start+1&&(S=g._findNextWordOnLine(r,d,new y.y(a,S.end+1))),S?p=S.start+1:p<E||a===_?p=E:(a++,S=g._findNextWordOnLine(r,d,new y.y(a,1)),S?p=S.start+1:p=d.getLineMaxColumn(a))),new A.Q(a,p,c.lineNumber,c.column)}static _deleteWordPartRight(u,i){if(!i.isEmpty())return i;const r=i.getPosition(),d=g._moveWordPartRight(u,r);return new A.Q(r.lineNumber,r.column,d.lineNumber,d.column)}static _createWordAtPosition(u,i,r){const d=new A.Q(i,r.start+1,i,r.end+1);return{word:u.getValueInRange(d),startColumn:d.startColumn,endColumn:d.endColumn}}static getWordAtPosition(u,i,r,d){const l=(0,T.i)(i,r),o=g._findPreviousWordOnLine(l,u,d);if(o&&o.wordType===1&&o.start<=d.column-1&&d.column-1<=o.end)return g._createWordAtPosition(u,d.lineNumber,o);const c=g._findNextWordOnLine(l,u,d);return c&&c.wordType===1&&c.start<=d.column-1&&d.column-1<=c.end?g._createWordAtPosition(u,d.lineNumber,c):null}static word(u,i,r,d,l){const o=(0,T.i)(u.wordSeparators,u.wordSegmenterLocales),c=g._findPreviousWordOnLine(o,i,l),a=g._findNextWordOnLine(o,i,l);if(!d){let h,D;return c&&c.wordType===1&&c.start<=l.column-1&&l.column-1<=c.end||c&&c.wordType===2&&c.start<=l.column-1&&l.column-1<c.end?(h=c.start+1,D=c.end+1):a&&a.wordType===1&&a.start<=l.column-1&&l.column-1<=a.end||a&&a.wordType===2&&a.start<=l.column-1&&l.column-1<a.end?(h=a.start+1,D=a.end+1):(c?h=c.end+1:h=1,a?D=a.start+1:D=i.getLineMaxColumn(l.lineNumber)),new R.mG(new A.Q(l.lineNumber,h,l.lineNumber,D),1,0,new y.y(l.lineNumber,D),0)}let p,_;c&&c.wordType===1&&c.start<l.column-1&&l.column-1<c.end?(p=c.start+1,_=c.end+1):a&&a.wordType===1&&a.start<l.column-1&&l.column-1<a.end?(p=a.start+1,_=a.end+1):(p=l.column,_=l.column);const E=l.lineNumber;let S;if(r.selectionStart.containsPosition(l))S=r.selectionStart.endColumn;else if(l.isBeforeOrEqual(r.selectionStart.getStartPosition())){S=p;const h=new y.y(E,S);r.selectionStart.containsPosition(h)&&(S=r.selectionStart.endColumn)}else{S=_;const h=new y.y(E,S);r.selectionStart.containsPosition(h)&&(S=r.selectionStart.startColumn)}return r.move(!0,E,S,0)}}class L extends g{static deleteWordPartLeft(u){const i=b([g.deleteWordLeft(u,0),g.deleteWordLeft(u,2),g._deleteWordPartLeft(u.model,u.selection)]);return i.sort(A.Q.compareRangesUsingEnds),i[2]}static deleteWordPartRight(u){const i=b([g.deleteWordRight(u,0),g.deleteWordRight(u,2),g._deleteWordPartRight(u.model,u.selection)]);return i.sort(A.Q.compareRangesUsingStarts),i[0]}static moveWordPartLeft(u,i,r,d){const l=b([g.moveWordLeft(u,i,r,0,d),g.moveWordLeft(u,i,r,2,d),g._moveWordPartLeft(i,r)]);return l.sort(y.y.compare),l[2]}static moveWordPartRight(u,i,r){const d=b([g.moveWordRight(u,i,r,0),g.moveWordRight(u,i,r,2),g._moveWordPartRight(i,r)]);return d.sort(y.y.compare),d[0]}}function b(C){return C.filter(u=>!!u)}},89803:(St,We,e)=>{e.d(We,{CX:()=>qe,Ls:()=>je,dF:()=>ht});var v=e(14333),R=e(44385),x=e(99788),T=e(61694),y=e(45222),A=e(65958),g=e(5915),L=e(94327),b=e(10998),C=e(63339),u=e(16844),i=e(28061),r=e(49152),d=e(3765),l=e(33242);function o(oe){return oe.lookupKeybinding("history.showPrevious")?.getElectronAccelerator()==="Up"&&oe.lookupKeybinding("history.showNext")?.getElectronAccelerator()==="Down"}var c=e(87676),a=e(18382),p=e(75962),_=e(73858),E=e(69227),S=e(82735),h=e(75712),D=e(10680),k=e(58687),N=e(948
89665),W=e(74707),U=e(11210),$=e(89044),te=e(58881),ne=e(89563),V=e(79359),I=e(3273);const H=(0,U.pU)("find-collapsed",g.W.chevronRight,(0,d.kg)(996,"Icon to indicate that the editor find widget is collapsed.")),Z=(0,U.pU)("find-expanded",g.W.chevronDown,(0,d.kg)(997,"Icon to indicate that the editor find widget is expanded.")),X=(0,U.pU)("find-selection",g.W.selection,(0,d.kg)(998,"Icon for 'Find in Selection' in the editor find widget.")),G=(0,U.pU)("find-replace",g.W.replace,(0,d.kg)(999,"Icon for 'Replace' in the editor find widget.")),Y=(0,U.pU)("find-replace-all",g.W.replaceAll,(0,d.kg)(1e3,"Icon for 'Replace All' in the editor find widget.")),j=(0,U.pU)("find-previous-match",g.W.arrowUp,(0,d.kg)(1001,"Icon for 'Find Previous' in the editor find widget.")),z=(0,U.pU)("find-next-match",g.W.arrowDown,(0,d.kg)(1002,"Icon for 'Find Next' in the editor find widget.")),ie=(0,d.kg)(1003,"Find / Replace"),re=(0,d.kg)(1004,"Find"),de=(0,d.kg)(1005,"Find"),le=(0,d.kg)(1006,"Previous Match"),he=(0,d.kg)(1007,"Next Match"),we=(0,d.kg)(1008,"Find in Selection"),xe=(0,d.kg)(1009,"Close"),Be=(0,d.kg)(1010,"Replace"),M=(0,d.kg)(1011,"Replace"),Ve=(0,d.kg)(1012,"Replace"),Me=(0,d.kg)(1013,"Replace All"),Le=(0,d.kg)(1014,"Toggle Replace"),_e=(0,d.kg)(1015,"Only the first {0} results are highlighted, but all find operations work on the entire text.",r.Es),Qe=(0,d.kg)(1016,"{0} of {1}"),je=(0,d.kg)(1017,"No results"),ae=419,Ie=275-54;let Ue=69;const $e=33,Ye=C.zx?256:2048;class Ce{constructor(q){this.afterLineNumber=q,this.heightInPx=$e,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function He(oe,q,ue){const J=!!q.match(/\n/);if(ue&&J&&ue.selectionStart>0){oe.stopPropagation();return}}function Ke(oe,q,ue){const J=!!q.match(/\n/);if(ue&&J&&ue.selectionEnd<ue.value.length){oe.stopPropagation();return}}const Te=class Te extends y.x{constructor(q,ue,J,ve,De,fe,Se,pe,Ae,Xe,dt){super(),this._hoverService=Se,this._findWidgetSearchHistory=pe,this._replaceWidgetHistory=Ae,this._configurationService=Xe,this._accessibilityService=dt,this._cachedHeight=null,this._lastFocusedInputWasReplace=!1,this._lastFocusedElement=null,this._revealTimeouts=[],this._codeEditor=q,this._controller=ue,this._state=J,this._contextViewProvider=ve,this._keybindingService=De,this._contextKeyService=fe,this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._accessibilityHelpHintAnnounced=!1,this._updateHistoryDelayer=new A.ve(500),this._register((0,b.s)(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(gt=>this._onStateChanged(gt))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(gt=>{if(gt.hasChanged(104)&&(this._codeEditor.getOption(104)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),gt.hasChanged(165)&&this._tryUpdateWidgetWidth(),gt.hasChanged(2)&&this.updateAccessibilitySupport(),gt.hasChanged(50)){const Bt=this._codeEditor.getOption(50).loop;this._state.change({loop:Bt},!1);const _t=this._codeEditor.getOption(50).addExtraSpaceOnTop;_t&&!this._viewZone&&(this._viewZone=new Ce(0),this._showViewZone()),!_t&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const gt=await this._controller.getGlobalBufferTerm();gt&&gt!==this._state.searchString&&(this._state.change({searchString:gt},!1),this._findInput.select())}})),this._findInputFocused=r.l3.bindTo(fe),this._findFocusTracker=this._register((0,v.w5)(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._lastFocusedInputWasReplace=!1,this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=r.MA.bindTo(fe),this._replaceFocusTracker=this._register((0,v.w5)(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._lastFocusedInputWasReplace=!0,this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._findWidgetFocused=r.JQ.bindTo(fe),this._widgetFocusTracker=this._register((0,v.w5)(this._domNo
896de)),this._register(this._widgetFocusTracker.onDidFocus(()=>{this._findWidgetFocused.set(!0)})),this._register(this._widgetFocusTracker.onDidBlur(()=>{this._findWidgetFocused.set(!1)})),this._register((0,v.ko)(this._domNode,"focusin",gt=>{(0,v.sb)(gt.target)&&(this._lastFocusedElement=gt.target)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(50).addExtraSpaceOnTop&&(this._viewZone=new Ce(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(gt=>{if(gt.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return Te.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(q){if(q.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(q.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),q.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),q.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(104)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=(0,v.Tr)(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(q.isRevealed||q.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),q.isRegex&&this._findInput.setRegex(this._state.isRegex),q.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),q.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),q.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),q.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),q.searchString||q.matchesCount||q.matchesPosition){const ue=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",ue),this._updateMatchesCount(),this._updateButtons()}(q.searchString||q.currentMatch)&&this._layoutViewZone(),q.updateHistory&&this._delayedUpdateHistory(),q.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,L.dz)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=Ue+"px",this._state.matchesCount>=r.Es?this._matchesCount.title=_e:this._matchesCount.title="",this._matchesCount.firstChild?.remove();let q;if(this._state.matchesCount>0){let ue=String(this._state.matchesCount);this._state.matchesCount>=r.Es&&(ue+="+");let J=String(this._state.matchesPosition);J==="0"&&(J="?"),q=(0,u.GP)(Qe,J,ue)}else q=je;this._matchesCount.appendChild(document.createTextNode(q)),(0,R.xE)(this._getAriaLabel(q,this._state.currentMatch,this._state.searchString)),Ue=Math.max(Ue,this._matchesCount.clientWidth)}_getAriaLabel(q,ue,J){let ve;if(q===je)ve=J===""?(0,d.kg)(1018,"{0} found",q):(0,d.kg)(1019,"{0} found for '{1}'",q,J);else if(ue){const De=(0,d.kg)(1020,"{0} found for '{1}', at {2}",q,J,ue.startLineNumber+":"+ue.startColumn),fe=this._codeEditor.getModel();fe&&ue.startLineNumber<=fe.getLineCount()&&ue.startLineNumber>=1?ve=`${fe.getLineContent(ue.startLineNumber)}, ${De}`:ve=De}else ve=(0,d.kg)(1021,"{0} found for '{1}'",q,J);return ve}_updateToggleSelectionFindButton(){const q=this._codeEditor.getSelection(),ue=q?q.startLineNumber!==q.endLineNumber||q.startColumn!==q.endColumn:!1,J=this._toggleSelectionFind.checked;this._isVisible&&(J||ue)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const q=this._state.searchString.length>0,ue=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&q&&ue&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&q&&ue&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&q),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&q),this._domNo
896de.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const J=!this._codeEditor.getOption(104);this._toggleReplaceBtn.setEnabled(this._isVisible&&J)}_reveal(){if(this._revealTimeouts.forEach(q=>{clearTimeout(q)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const q=this._codeEditor.getSelection();switch(this._codeEditor.getOption(50).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const J=!!q&&q.startLineNumber!==q.endLineNumber;this._toggleSelectionFind.checked=J;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false"),this._updateFindInputAriaLabel()},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let ue=!0;if(this._codeEditor.getOption(50).seedSearchStringFromSelection&&q){const J=this._codeEditor.getDomNode();if(J){const ve=(0,v.BK)(J),De=this._codeEditor.getScrolledVisiblePosition(q.getStartPosition()),fe=ve.left+(De?De.left:0),Se=De?De.top:0;if(this._viewZone&&Se<this._viewZone.heightInPx){q.endLineNumber>q.startLineNumber&&(ue=!1);
896const pe=(0,v.cL)(this._domNode).left;fe>pe&&(ue=!1);const Ae=this._codeEditor.getScrolledVisiblePosition(q.getEndPosition());ve.left+(Ae?Ae.left:0)>pe&&(ue=!1)}}}this._showViewZone(ue)}}_hide(q){this._revealTimeouts.forEach(ue=>{clearTimeout(ue)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._accessibilityHelpHintAnnounced=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),q&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(q){if(!this._codeEditor.getOption(50).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const J=this._viewZone;this._viewZoneId!==void 0||!J||this._codeEditor.changeViewZones(ve=>{J.heightInPx=this._getHeight(),this._viewZoneId=ve.addZone(J),this._codeEditor.setScrollTop(q||this._codeEditor.getScrollTop()+J.heightInPx)})}_showViewZone(q=!0){if(!this._isVisible||!this._codeEditor.getOption(50).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new Ce(0));const J=this._viewZone;this._codeEditor.changeViewZones(ve=>{if(this._viewZoneId!==void 0){const De=this._getHeight();if(De===J.heightInPx)return;const fe=De-J.heightInPx;J.heightInPx=De,ve.layoutZone(this._viewZoneId),q&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+fe);return}else{let De=this._getHeight();if(De-=this._codeEditor.getOption(96).top,De<=0)return;J.heightInPx=De,this._viewZoneId=ve.addZone(J),q&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+De)}})}_removeViewZone(){this._codeEditor.changeViewZones(q=>{this._viewZoneId!==void 0&&(q.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const q=this._codeEditor.getLayoutInfo();if(q.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const J=q.width,ve=q.minimap.minimapWidth;let De=!1,fe=!1,Se=!1;
896if(this._resized&&(0,v.Tr)(this._domNode)>ae){this._domNode.style.maxWidth=`${J-28-ve-15}px`,this._replaceInput.width=(0,v.Tr)(this._findInput.domNode);return}if(ae+28+ve>=J&&(fe=!0),ae+28+ve-Ue>=J&&(Se=!0),ae+28+ve-Ue>=J+50&&(De=!0),this._domNode.classList.toggle("collapsed-find-widget",De),this._domNode.classList.toggle("narrow-find-widget",Se),this._domNode.classList.toggle("reduced-find-widget",fe),!Se&&!De&&(this._domNode.style.maxWidth=`${J-28-ve-15}px`),this._findInput.layout({collapsedFindWidget:De,narrowFindWidget:Se,reducedFindWidget:fe}),this._resized){const pe=this._findInput.inputBox.element.clientWidth;pe>0&&(this._replaceInput.width=pe)}else this._isReplaceVisible&&(this._replaceInput.width=(0,v.Tr)(this._findInput.domNode))}_getHeight(){let q=0;return q+=4,q+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(q+=4,q+=this._replaceInput.inputBox.height+2),q+=4,q}_tryUpdateHeight(){const q=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===q?!1:(this._cachedHeight=q,this._domNode.style.height=`${q}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const q=this._codeEditor.getSelections();q.map(ue=>{ue.endColumn===1&&ue.endLineNumber>ue.startLineNumber&&(ue=ue.setEndPosition(ue.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(ue.endLineNumber-1)));const J=this._state.currentMatch;return ue.startLineNumber!==ue.endLineNumber&&!i.Q.equalsRange(ue,J)?ue:null}).filter(ue=>!!ue),q.length&&this._state.change({searchScope:q},!0)}}_onFindInputMouseDown(q){q.middleButton&&q.stopPropagation()}_onFindInputKeyDown(q){if(q.equals(Ye|3))if(this._keybindingService.dispatchEvent(q,q.target)){q.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
897`),q.preventDefault();return}if(q.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),q.preventDefault();return}if(q.equals(2066)){this._codeEditor.focus(),q.preventDefault();return}if(q.equals(16))return He(q,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(q.equals(18))return Ke(q,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(q){if(q.equals(Ye|3))if(this._keybindingService.dispatchEvent(q,q.target)){q.preventDefault();return}else{this._replaceInput.inputBox.insertAtCursor(`
898`),q.preventDefault();return}if(q.equals(2)){this._findInput.focusOnCaseSensitive(),q.preventDefault();return}if(q.equals(1026)){this._findInput.focus(),q.preventDefault();return}if(q.equals(2066)){this._codeEditor.focus(),q.preventDefault();return}if(q.equals(16))return He(q,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(q.equals(18))return Ke(q,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(q){return 0}_keybindingLabelFor(q){return this._keybindingService.appendKeybinding("",q)}_buildDomNode(){const J=this._codeEditor.getOption(50).history,ve=this._codeEditor.getOption(50).replaceHistory;this._findInput=this._register(new l.pG(null,this._contextViewProvider,{width:Ie,label:re,placeholder:de,appendCaseSensitiveLabel:this._keybindingLabelFor(r.j4.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(r.j4.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(r.j4.ToggleRegexCommand),validation:dt=>{if(dt.length===0||!this._findInput.getRegex())return null;try{return new RegExp(dt,"gu"),null}catch(gt){return{content:gt.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>o(this._keybindingService),inputBoxStyles:I.ho,toggleStyles:I.mk,history:J==="workspace"?this._findWidgetSearchHistory:new Set([])},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(dt=>{dt.equals(3)&&!this._codeEditor.getOption(50).findOnType&&this._state.change({searchString:this._findInput.getValue()},!0),this._onFindInputKeyDown(dt)})),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||!this._codeEditor.getOption(50).findOnType||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(dt=>{dt.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),dt.preventDefault())})),this._register(this._findInput.onRegexKeyDown(dt=>{dt.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),dt.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(dt=>{this._tryUpdateHeight()&&this._showViewZone()})),C.j9&&this._register(this._findInput.onMouseDown(dt=>this._onFindInputMouseDown(dt))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const De={groupId:"find-widget"};this._prevBtn=this._register(new ht({label:le+this._keybindingLabelFor(r.j4.PreviousMatchFindAction),icon:j,hoverLifecycleOptions:De,onTrigger:()=>{(0,V.ni)(this._codeEditor.getAction(r.j4.PreviousMatchFindAction)).run().then(void 0,L.dz)}},this._hoverService)),this._nextBtn=this._register(new ht({label:he+this._keybindingLabelFor(r.j4.NextMatchFindAction),icon:z,hoverLifecycleOptions:De,onTrigger:()=>{(0,V.ni)(this._codeEditor.getAction(r.j4.NextMatchFindAction)).run().then(void 0,L.dz)}},this._hoverService));const fe=document.createElement("div");
898fe.className="find-part",fe.appendChild(this._findInput.domNode);const Se=document.createElement("div");Se.className="find-actions",fe.appendChild(Se),Se.appendChild(this._matchesCount),Se.appendChild(this._prevBtn.domNode),Se.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new x.lM({icon:X,title:we+this._keybindingLabelFor(r.j4.ToggleSearchScopeCommand),isChecked:!1,hoverLifecycleOptions:De,inputActiveOptionBackground:(0,c.Gu)(E.c1),inputActiveOptionBorder:(0,c.Gu)(E.uN),inputActiveOptionForeground:(0,c.Gu)(E.$$)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let dt=this._codeEditor.getSelections();dt=dt.map(gt=>(gt.endColumn===1&&gt.endLineNumber>gt.startLineNumber&&(gt=gt.setEndPosition(gt.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(gt.endLineNumber-1))),gt.isEmpty()?null:gt)).filter(gt=>!!gt),dt.length&&this._state.change({searchScope:dt},!0)}}else this._state.change({searchScope:null},!0)})),Se.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new ht({label:xe+this._keybindingLabelFor(r.j4.CloseFindWidgetCommand),icon:U.$_,hoverLifecycleOptions:De,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:dt=>{dt.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),dt.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new l._Q(null,void 0,{label:Be,placeholder:M,appendPreserveCaseLabel:this._keybindingLabelFor(r.j4.TogglePreserveCaseCommand),history:ve==="workspace"?this._replaceWidgetHistory:new Set([]),flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>o(this._keybindingService),inputBoxStyles:I.ho,toggleStyles:I.mk,hoverLifecycleOptions:De},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(dt=>this._onReplaceInputKeyDown(dt))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(dt=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(dt=>{dt.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),dt.preventDefault())})),this._replaceBtn=this._register(new ht({label:Ve+this._keybindingLabelFor(r.j4.ReplaceOneAction),icon:G,hoverLifecycleOptions:De,onTrigger:()=>{this._controller.replace()},onKeyDown:dt=>{dt.equals(1026)&&(this._closeBtn.focus(),dt.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new ht({label:Me+this._keybindingLabelFor(r.j4.ReplaceAllAction),icon:Y,hoverLifecycleOptions:De,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const pe=document.createElement("div");pe.className="replace-part",pe.appendChild(this._replaceInput.domNode);const Ae=document.createElement("div");Ae.className="replace-actions",pe.appendChild(Ae),Ae.appendChild(this._replaceBtn.domNode),Ae.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new ht({label:Le,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=(0,v.Tr)(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=ie,this._domNode.role="dialog",this._domNo
898de.style.width=`${ae}px`,this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(fe),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(pe),this._resizeSash=this._register(new T.m(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let Xe=ae;this._register(this._resizeSash.onDidStart(()=>{Xe=(0,v.Tr)(this._domNode)})),this._register(this._resizeSash.onDidChange(dt=>{this._resized=!0;const gt=Xe+dt.startX-dt.currentX;if(gt<ae)return;const Bt=parseFloat((0,v.L9)(this._domNode).maxWidth)||0;gt>Bt||(this._domNode.style.width=`${gt}px`,this._isReplaceVisible&&(this._replaceInput.width=(0,v.Tr)(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const dt=(0,v.Tr)(this._domNode);if(dt<ae)return;let gt=ae;if(!this._resized||dt===ae){const Bt=this._codeEditor.getLayoutInfo();gt=Bt.width-28-Bt.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${gt}px`,this._isReplaceVisible&&(this._replaceInput.width=(0,v.Tr)(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const q=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(q!==2),this._updateFindInputAriaLabel()}_updateFindInputAriaLabel(){let q=re,ue=Be;if(!this._accessibilityHelpHintAnnounced&&this._configurationService.getValue("accessibility.verbosity.find")&&this._accessibilityService.isScreenReaderOptimized()){const J=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp")?.getAriaLabel();if(J){const ve=(0,d.kg)(1022,"Press {0} for accessibility help",J);q=(0,d.kg)(1023,"{0}, {1}",q,ve),ue=(0,d.kg)(1024,"{0}, {1}",ue,ve)}this._accessibilityHelpHintAnnounced=!0,this._labelResetTimeout?.dispose(),this._labelResetTimeout=(0,A.EQ)(()=>{this._isVisible&&(this._findInput.inputBox.setAriaLabel(re),this._replaceInput.inputBox.setAriaLabel(Be))},1e3)}this._findInput.inputBox.setAriaLabel(q),this._replaceInput.inputBox.setAriaLabel(ue)}getViewState(){let q=!1;return this._viewZone&&this._viewZoneId&&(q=this._viewZone.heightInPx>this._codeEditor.getScrollTop()),{widgetViewZoneVisible:q,scrollTop:this._codeEditor.getScrollTop()}}setViewState(q){q&&q.widgetViewZoneVisible&&this._layoutViewZone(q.scrollTop)}};Te.ID="editor.contrib.findWidget";let qe=Te;class ht extends y.x{constructor(q,ue){super(),this._opts=q;let J="button";this._opts.className&&(J=J+" "+this._opts.className),this._opts.icon&&(J=J+" "+te.L.asClassName(this._opts.icon)),this._domNode=document.createElement("div"),this._domNode.tabIndex=0,this._domNode.className=J,this._domNode.setAttribute("role","button"),this._domNode.setAttribute("aria-label",this._opts.label),this._register(ue.setupDelayedHover(this._domNode,{content:this._opts.label,style:1}
898,q.hoverLifecycleOptions)),this.onclick(this._domNode,ve=>{this._opts.onTrigger(),ve.preventDefault()}),this.onkeydown(this._domNode,ve=>{if(ve.equals(10)||ve.equals(3)){this._opts.onTrigger(),ve.preventDefault();return}this._opts.onKeyDown?.(ve)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(q){this._domNode.classList.toggle("disabled",!q),this._domNode.setAttribute("aria-disabled",String(!q)),this._domNode.tabIndex=q?0:-1}setExpanded(q){this._domNode.setAttribute("aria-expanded",String(!!q)),q?(this._domNode.classList.remove(...te.L.asClassNameArray(H)),this._domNode.classList.add(...te.L.asClassNameArray(Z))):(this._domNode.classList.remove(...te.L.asClassNameArray(Z)),this._domNode.classList.add(...te.L.asClassNameArray(H)))}}(0,$.zy)((oe,q)=>{const ue=oe.getColor(_.EC);ue&&q.addRule(`.monaco-editor .findMatch { border: 1px ${(0,ne.Bb)(oe.type)?"dotted":"solid"} ${ue}; box-sizing: border-box; }`);const J=oe.getColor(_.S5);J&&q.addRule(`.monaco-editor .findScope { border: 1px ${(0,ne.Bb)(oe.type)?"dashed":"solid"} ${J}; }`);const ve=oe.getColor(a.b1);ve&&q.addRule(`.monaco-editor .find-widget { border: 1px solid ${ve}; }`);const De=oe.getColor(_.f3);De&&q.addRule(`.monaco-editor .findMatchInline { color: ${De}; }`);const fe=oe.getColor(_.p8);fe&&q.addRule(`.monaco-editor .currentFindMatchInline { color: ${fe}; }`)})},89971:(St,We,e)=>{e.d(We,{$:()=>R,p:()=>x});var v=e(82399);const R=(0,v.u1)("fileService");var x;(function(T){T[T.FILE=0]="FILE",T[T.FOLDER=1]="FOLDER",T[T.ROOT_FOLDER=2]="ROOT_FOLDER"})(x||(x={}))},90028:(St,We,e)=>{e.d(We,{AV:()=>o,Bc:()=>g,VS:()=>b,_W:()=>d,it:()=>L,nI:()=>l,nK:()=>C,oO:()=>r});var v=e(94327),R=e(24594),x=e(13072),T=e(22467),y=e(16844),A=e(37264);class g{constructor(a="",p=!1){if(this.value=a,typeof this.value!="string")throw(0,v.Qg)("value");typeof p=="boolean"?(this.isTrusted=p,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=p.isTrusted??void 0,this.supportThemeIcons=p.supportThemeIcons??!1,this.supportHtml=p.supportHtml??!1,this.supportAlertSyntax=p.supportAlertSyntax??!1)}appendText(a,p=0){return this.value+=u(this.supportThemeIcons?(0,R.m2)(a):a).replace(/([ \t]+)/g,(_,E)=>"&nbsp;".repeat(E.length)).replace(/\>/gm,"\\>").replace(/\n/g,p===1?`\\
899`:`
900
901`),this}appendMarkdown(a){return this.value+=a,this}appendCodeblock(a,p){return this.value+=`
902${i(p,a)}
903`,this}appendLink(a,p,_){return this.value+="[",this.value+=this._escape(p,"]"),this.value+="](",this.value+=this._escape(String(a),")"),_&&(this.value+=` "${this._escape(this._escape(_,'"'),")")}"`),this.value+=")",this}_escape(a,p){const _=new RegExp((0,y.bm)(p),"g");return a.replace(_,(E,S)=>a.charAt(S-1)!=="\\"?`\\${E}`:E)}}function L(c){return b(c)?!c.value:Array.isArray(c)?c.every(L):!0}function b(c){return c instanceof g?!0:c&&typeof c=="object"?typeof c.value=="string"&&(typeof c.isTrusted=="boolean"||typeof c.isTrusted=="object"||c.isTrusted===void 0)&&(typeof c.supportThemeIcons=="boolean"||c.supportThemeIcons===void 0)&&(typeof c.supportAlertSyntax=="boolean"||c.supportAlertSyntax===void 0):!1}function C(c,a){return c===a?!0:!c||!a?!1:c.value===a.value&&c.isTrusted===a.isTrusted&&c.supportThemeIcons===a.supportThemeIcons&&c.supportHtml===a.supportHtml&&c.supportAlertSyntax===a.supportAlertSyntax&&(c.baseUri===a.baseUri||!!c.baseUri&&!!a.baseUri&&(0,T.n4)(A.r.from(c.baseUri),A.r.from(a.baseUri)))}function u(c){return c.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function i(c,a){const p=c.match(/^`+/gm)?.reduce((E,S)=>E.length>S.length?E:S).length??0,_=p>=3?p+1:3;return[`${"`".repeat(_)}${a}`,c,`${"`".repeat(_)}`].join(`
904`)}function r(c){return c.replace(/"/g,"&quot;")}function d(c){return c&&c.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function l(c){const a=[],p=c.split("|").map(E=>E.trim());c=p[0];const _=p[1];if(_){const E=/height=(\d+)/.exec(_),S=/width=(\d+)/.exec(_),h=E?E[1]:"",D=S?S[1]:"",k=isFinite(parseInt(D)),N=isFinite(parseInt(h));k&&a.push(`width="${D}"`),N&&a.push(`height="${h}"`)}return{href:c,dimensions:a}}function o(c,...a){return A.r.from({scheme:x.ny.command,path:c,query:a.length?encodeURIComponent(JSON.stringify(a)):void 0})}},90304:(St,We,e)=>{e.d(We,{w:()=>R});var v=e(82399);const R=(0,v.u1)("editorWorkerService")},90426:(St,We,e)=>{e.d(We,{T:()=>x,x:()=>R});const v=[];function R(T){v.push(T)}function x(){return v.slice(0)}},90428:(St,We,e)=>{e.d(We,{Hq:()=>b,TN:()=>g,fO:()=>L});var v=e(82399),R=e(10998),x=e(85753),T=e(14333),y=function(C,u,i,r){var d=arguments.length,l=d<3?u:r===null?r=Object.getOwnPropertyDescriptor(u,i):r,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(C,u,i,r);else for(var c=C.length-1;c>=0;c--)(o=C[c])&&(l=(d<3?o(l):d>3?o(u,i,l):o(u,i))||l);return d>3&&l&&Object.defineProperty(u,i,l),l},A=function(C,u){return function(i,r){u(i,r,C)}};const g=(0,v.u1)("hoverService");let L=class extends R.jG{get delay(){return this.isInstantlyHovering()?0:this.hoverOptions?.dynamicDelay?u=>this.hoverOptions?.dynamicDelay?.(u)??this._delay:this._delay}constructor(u,i,r={},d,l){super(),this.placement=u,this.hoverOptions=i,this.overrideOptions=r,this.configurationService=d,this.hoverService=l,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new R.Cm),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(o=>{o.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(u,i){const r=typeof this.overrideOptions=="function"?this.overrideOptions(u,i):this.overrideOptions;this.hoverDisposables.clear();const d=(0,T.sb)(u.target)?[u.target]:u.target.targetElements;
904for(const o of d)this.hoverDisposables.add((0,T.un)(o,"keydown",c=>{c.equals(9)&&this.hoverService.hideHover()}));const l=(0,T.sb)(u.content)?void 0:typeof u.content=="string"?u.content.toString():u.content.value;return this.hoverService.showInstantHover({...u,...r,persistence:{hideOnKeyDown:!0,...r.persistence},id:l,appearance:{...u.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...r.appearance}},i)}isInstantlyHovering(){return!!this.hoverOptions?.instantHover&&Date.now()-this.lastHoverHideTime<this.timeLimit}onDidHideHover(){this.hoverDisposables.clear(),this.hoverOptions?.instantHover&&(this.lastHoverHideTime=Date.now())}};L=y([A(3,x.pG),A(4,g)],L);const b={showHover:function(){throw new Error("Native hover function not implemented.")},delay:0,showNativeHover:!0}},90462:(St,We,e)=>{e.d(We,{DO:()=>qe,w0:()=>z,eR:()=>Me,cp:()=>he,KP:()=>ie,RD:()=>Be,vD:()=>xe});var v=e(14333),R=e(83952),x=e(93557),T=e(2106),y=e(87594),A=e(55893),g=e(39587),L=e(30474),b=e(65568),C=e(63339),u=e(10998),i=e(72834),r=e(19103),d=e(13338),l=e(27969),o=e(6826),c=e(3765),a=e(6595),p=e(44385),_=e(16831),E=e(7130),S=e(35264),h=e(67954),D=e(99788),k=e(31272),N=e(97757),W=e(65958),U=e(5915),$=e(58881),te=e(27992),ne=e(1174),V=e(62992),I=e(73678),H=e(47624),Z=e(47936);class X extends S.ur{constructor(oe){super(oe.elements.map(q=>q.element)),this.data=oe}}function G(Te){return Te instanceof S.ur?new X(Te):Te}class Y{constructor(oe,q){this.modelProvider=oe,this.dnd=q,this.autoExpandDisposable=u.jG.None,this.disposables=new u.Cm}getDragURI(oe){return this.dnd.getDragURI(oe.element)}getDragLabel(oe,q){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(oe.map(ue=>ue.element),q)}onDragStart(oe,q){this.dnd.onDragStart?.(G(oe),q)}onDragOver(oe,q,ue,J,ve,De=!0){const fe=this.dnd.onDragOver(G(oe),q&&q.element,ue,J,ve),Se=this.autoExpandNode!==q;if(Se&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=q),typeof q>"u")return fe;if(Se&&typeof fe!="boolean"&&fe.autoExpand&&(this.autoExpandDisposable=(0,W.EQ)(()=>{const gt=this.modelProvider(),Bt=gt.getNodeLocation(q);gt.isCollapsed(Bt)&&gt.setCollapsed(Bt,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof fe=="boolean"||!fe.accept||typeof fe.bubble>"u"||fe.feedback){if(!De){const gt=typeof fe=="boolean"?fe:fe.accept,Bt=typeof fe=="boolean"?void 0:fe.effect;return{accept:gt,effect:Bt,feedback:[ue]}}return fe}if(fe.bubble===1){const gt=this.modelProvider(),Bt=gt.getNodeLocation(q),_t=gt.getParentNodeLocation(Bt),ri=gt.getNode(_t),Gt=_t&&gt.getListIndex(_t);return this.onDragOver(oe,ri,Gt,J,ve,!1)}const pe=this.modelProvider(),Ae=pe.getNodeLocation(q),Xe=pe.getListIndex(Ae),dt=pe.getListRenderCount(Ae);return{...fe,feedback:(0,d.y1)(Xe,Xe+dt)}}drop(oe,q,ue,J,ve){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(G(oe),q&&q.element,ue,J,ve)}onDragEnd(oe){this.dnd.onDragEnd?.(oe)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function j(Te,oe,q){return q&&{...q,identityProvider:q.identityProvider&&{getId(ue){return q.identityProvider.getId(ue.element)},getGroupId:q.identityProvider.getGroupId?ue=>q.identityProvider.getGroupId(ue.element):void 0},dnd:q.dnd&&oe.add(new Y(Te,q.dnd)),multipleSelectionController:q.multipleSelectionController&&{isSelectionSingleChangeEvent(ue){return q.multipleSelectionController.isSelectionSingleChangeEvent({...ue,element:ue.element})},isSelectionRangeChangeEvent(ue){return q.multipleSelectionController.isSelectionRangeChangeEvent({...ue,element:ue.element})}},accessibilityProvider:q.accessibilityProvider&&{...q.accessibilityProvider,getSetSize(ue){const J=Te(),ve=J.getNodeLocation(ue),De=J.getParentNodeLocation(ve);return J.getNode(De).visibleChildrenCount},getPosInSet(ue){return ue.visibleChildIndex+1},isChecked:q.accessibilityProvider&&q.accessibilityProvider.isChecked?ue=>q.accessibilityProvider.isChecked(ue.element):void 0,getRole:q.accessibilityProvider&&q.accessibilityProvider.getRole?ue=>q.accessibilityProvider.getRole(ue.element):()=>"treeitem",getAriaLabel(ue){return q.accessibilityProvider.getAriaLabel(ue.element)}
904,getWidgetAriaLabel(){return q.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:q.accessibilityProvider&&q.accessibilityProvider.getWidgetRole?()=>q.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:q.accessibilityProvider&&q.accessibilityProvider.getAriaLevel?ue=>q.accessibilityProvider.getAriaLevel(ue.element):ue=>ue.depth,getActiveDescendantId:q.accessibilityProvider.getActiveDescendantId&&(ue=>q.accessibilityProvider.getActiveDescendantId(ue.element))},keyboardNavigationLabelProvider:q.keyboardNavigationLabelProvider&&{...q.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(ue){return q.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(ue.element)}}}}class z{constructor(oe){this.delegate=oe}getHeight(oe){return this.delegate.getHeight(oe.element)}getTemplateId(oe){return this.delegate.getTemplateId(oe.element)}hasDynamicHeight(oe){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(oe.element)}setDynamicHeight(oe,q){this.delegate.setDynamicHeight?.(oe.element,q)}}var ie;(function(Te){Te.None="none",Te.OnHover="onHover",Te.Always="always"})(ie||(ie={}));class re{get elements(){return this._elements}constructor(oe,q=[]){this._elements=q,this.disposables=new u.Cm,this.onDidChange=T.Jh.forEach(oe,ue=>this._elements=ue,this.disposables)}dispose(){this.disposables.dispose()}}const ht=class ht{constructor(oe,q,ue,J,ve,De={}){this.renderer=oe,this.model=q,this.activeNodes=J,this.renderedIndentGuides=ve,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=ht.DefaultIndent,this.defaultIndent=ht.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=u.jG.None,this.disposables=new u.Cm,this.templateId=oe.templateId,this.updateOptions(De),T.Jh.map(ue,fe=>fe.node)(this.onDidChangeNodeTwistieState,this,this.disposables),oe.onDidChangeTwistieState?.(this.onDidChangeTwistieState,this,this.disposables)}updateOptions(oe={}){if(typeof oe.defaultIndent<"u"&&(this.defaultIndent=oe.defaultIndent),typeof oe.indent<"u"||typeof oe.defaultIndent<"u"){const q=typeof oe.indent<"u"?(0,V.qE)(oe.indent,0,40):this.indent;if(q!==this.indent||typeof oe.defaultIndent<"u"){this.indent=q;for(const[J,ve]of this.renderedNodes)ve.indentSize=this.defaultIndent+(J.depth-1)*this.indent,this.renderTreeElement(J,ve)}}if(typeof oe.renderIndentGuides<"u"){const q=oe.renderIndentGuides!==ie.None;if(q!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=q;for(const[ue,J]of this.renderedNodes)this._renderIndentGuides(ue,J);if(this.indentGuidesDisposable.dispose(),q){const ue=new u.Cm;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,ue),this.indentGuidesDisposable=ue,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof oe.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=oe.hideTwistiesOfChildlessElements),typeof oe.twistieAdditionalCssClass<"u"&&(this.twistieAdditionalCssClass=oe.twistieAdditionalCssClass)}renderTemplate(oe){const q=(0,v.BC)(oe,(0,v.$)(".monaco-tl-row")),ue=(0,v.BC)(q,(0,v.$)(".monaco-tl-indent")),J=(0,v.BC)(q,(0,v.$)(".monaco-tl-twistie")),ve=(0,v.BC)(q,(0,v.$)(".monaco-tl-contents")),De=this.renderer.renderTemplate(ve);return{container:oe,indent:ue,twistie:J,indentGuidesDisposable:u.jG.None,indentSize:0,templateData:De}}renderElement(oe,q,ue,J){ue.indentSize=this.defaultIndent+(oe.depth-1)*this.indent,this.renderedNodes.set(oe,ue),this.renderedElements.set(oe.element,oe),this.renderTreeElement(oe,ue),this.renderer.renderElement(oe,q,ue.templateData,{...J,indent:ue.indentSize})}disposeElement(oe,q,ue,J){ue.indentGuidesDisposable.dispose(),this.renderer.disposeElement?.(oe,q,ue.templateData,{...J,indent:ue.indentSize}),typeof J?.height=="number"&&(this.renderedNodes.delete(oe),this.renderedElements.delete(oe.element))}disposeTemplate(oe){this.renderer.disposeTemplate(oe.templateData)}onDidChangeTwistieState(oe){const q=this.renderedElements.get(oe);q&&this.onDidChangeNodeTwistieState(q)}onDidChangeNodeTwistieState(oe){const q=this.renderedNodes.get(oe);q&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(oe,q))}renderTreeElement(oe,q){q.twistie.className=q.twistie.classList.item(0),q.twistie.style.paddingLeft=`${q.indentSize}px`,q.indent.style.width=`${q.indentSize+this.indent-16}px`,oe.collapsible?q.container.setAttribute("aria-expanded",String(!oe.collapsed)):q.container.removeAttribute("aria-expanded"),q.twistie.classList.remove(...$.L.asClassNameArray(U.W.treeItemExpanded));let ue=!1;if(this.renderer.renderTwistie&&(ue=this.renderer.renderTwistie(oe.element,q.twistie)),oe.collapsible&&(!this.hideTwistiesOfChildlessElements||oe.visibleChildrenCount>0)?(ue||q.twistie.classList.add(...$.L.asClassNameArray(U.W.treeItemExpanded)),q.twistie.classList.add("collapsible"),q.twistie.classList.toggle("collapsed",oe.collapsed)):q.twistie.classList.remove("collapsible","collapsed"),this.twistieAdditionalCssClass){const J=this.twistieAdditionalCssClass(oe.element);J&&q.twistie.classList.add(J)}this._renderIndentGuides(oe,q)}_renderIndentGuides(oe,q){if((0,v.w_)(q.indent),q.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const ue=new u.Cm;for(;;){const J=this.model.getNodeLocation(oe),ve=this.model.getParentNodeLocation(J);if(!ve)break;const De=this.model.getNode(ve),fe=(0,v.$)(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(De)&&fe.classList.add("active"),q.indent.childElementCount===0?q.indent.appendChild(fe):q.indent.insertBefore(fe,q.indent.firstElementChild),this.renderedIndentGuides.add(De,fe),ue.add((0,u.s)(()=>this.renderedIndentGuides.delete(De,fe))),oe=De}q.indentGuidesDisposable=ue}_onDidChangeActiveNodes(oe){if(!this.shouldRenderIndentGuides)return;const q=new Set;oe.forEach(ue=>{const J=this.model.getNodeLocation(ue);try{const ve=this.model.getParentNodeLocation(J);ue.collapsible&&ue.children.length>0&&!ue.collapsed?q.add(ue):ve&&q.add(this.model.getNode(ve))}catch{}}
904),this.activeIndentNodes.forEach(ue=>{q.has(ue)||this.renderedIndentGuides.forEach(ue,J=>J.classList.remove("active"))}),q.forEach(ue=>{this.activeIndentNodes.has(ue)||this.renderedIndentGuides.forEach(ue,J=>J.classList.add("active"))}),this.activeIndentNodes=q}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),(0,u.AS)(this.disposables)}};ht.DefaultIndent=8;let de=ht;function le(Te,oe){const q=oe.toLowerCase().indexOf(Te);let ue;if(q>-1){ue=[Number.MAX_SAFE_INTEGER,0];for(let J=Te.length;J>0;J--)ue.push(q+J-1)}return ue}class he{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}set findMatchType(oe){this._findMatchType=oe}get findMatchType(){return this._findMatchType}set findMode(oe){this._findMode=oe}get findMode(){return this._findMode}constructor(oe,q,ue){this._keyboardNavigationLabelProvider=oe,this._filter=q,this._defaultFindVisibility=ue,this._totalCount=0,this._matchCount=0,this._findMatchType=Be.Fuzzy,this._findMode=xe.Highlight,this._pattern="",this._lowercasePattern="",this.disposables=new u.Cm}filter(oe,q){let ue=1;if(this._filter){const De=this._filter.filter(oe,q);if(typeof De=="boolean"?ue=De?1:0:(0,k.iZ)(De)?ue=(0,k.Mn)(De.visibility):ue=De,ue===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:ne.ne.Default,visibility:ue};const J=this._keyboardNavigationLabelProvider.getKeyboardNavigationLabel(oe),ve=Array.isArray(J)?J:[J];for(const De of ve){const fe=De&&De.toString();if(typeof fe>"u")return{data:ne.ne.Default,visibility:ue};let Se;if(this._findMatchType===Be.Contiguous?Se=le(this._lowercasePattern,fe.toLowerCase()):Se=(0,ne.dt)(this._pattern,this._lowercasePattern,0,fe,fe.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0}),Se)return this._matchCount++,ve.length===1?{data:Se,visibility:ue}:{data:{label:fe,score:Se},visibility:ue}}return this._findMode===xe.Filter?typeof this._defaultFindVisibility=="number"?this._defaultFindVisibility:this._defaultFindVisibility?this._defaultFindVisibility(oe):2:{data:ne.ne.Default,visibility:ue}}reset(){this._totalCount=0,this._matchCount=0}dispose(){(0,u.AS)(this.disposables)}}class we{constructor(oe){this.stateMap=new Map(oe.map(q=>[q.id,{...q}]))}get(oe){const q=this.stateMap.get(oe);if(q===void 0)throw new Error(`No state found for toggle id ${oe}`);return q.isChecked}set(oe,q){const ue=this.stateMap.get(oe);if(ue===void 0)throw new Error(`No state found for toggle id ${oe}`);return ue.isChecked===q?!1:(ue.isChecked=q,!0)}}var xe;(function(Te){Te[Te.Highlight=0]="Highlight",Te[Te.Filter=1]="Filter"})(xe||(xe={}));var Be;(function(Te){Te[Te.Fuzzy=0]="Fuzzy",Te[Te.Contiguous=1]="Contiguous"})(Be||(Be={}));var M;(function(Te){Te.Mode="mode",Te.MatchType="matchType"})(M||(M={}));class Ve{get pattern(){return this._pattern}get placeholder(){return this._placeholder}set placeholder(oe){this._placeholder=oe,this.widget?.setPlaceHolder(oe)}constructor(oe,q,ue,J={}){this.tree=oe,this.filter=q,this.contextViewProvider=ue,this.options=J,this._pattern="",this._onDidChangePattern=new T.vl,this._onDidChangeOpenState=new T.vl,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new u.Cm,this.disposables=new u.Cm,this.toggles=new we(J.toggles??[]),this._placeholder=J.placeholder??(0,c.kg)(22,"Type to search")}isOpened(){return!!this.widget}updateToggleState(oe,q){this.toggles.set(oe,q),this.widget?.setToggleState(oe,q)}renderMessage(oe,q){oe?this.tree.options.showNotFoundMessage??!0?this.widget?.showMessage({type:2,content:q??(0,c.kg)(23,"No results found.")}):this.widget?.showMessage({type:2}):this.widget?.clearMessage()}alertResults(oe){oe?(0,p.xE)((0,c.kg)(25,"{0} results",oe)):(0,p.xE)((0,c.kg)(24,"No results"))}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class Me extends Ve{get mode(){return this.toggles.get(M.Mode)?xe.Filter:xe.Highlight}set mode(oe){if(oe===this.mode)return;const q=oe===xe.Filter;this.updateToggleState(M.Mode,q),this.placeholder=q?(0,c.kg)(26,"Type to filter"):(0,c.kg)(27,"Type to search"),this.filter.findMode=oe,this.tree.refilter(),this.render(),this._onDidChangeMode.fire(oe)}get matchType(){return this.toggles.get(M.MatchType)?Be.Fuzzy:Be.Contiguous}set matchType(oe){oe!==this.matchType&&(this.updateToggleState(M.MatchType,oe===Be.Fuzzy),this.filter.findMatchType=oe,this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(oe))}constructor(oe,q,ue,J={}){const ve=J.defaultFindMode??xe.Highlight,De=J.defaultFindMatchType??Be.Fuzzy,fe=[{id:M.Mode,icon:U.W.listFilter,title:(0,c.kg)(28,"Filter"),isChecked:ve===xe.Filter},{id:M.MatchType,icon:U.W.searchFuzzy,title:(0,c.kg)(29,"Fuzzy Match"),isChecked:De===Be.Fuzzy}];q.findMatchType=De,q.findMode=ve,super(oe,q,ue,{...J,toggles:fe}),this.filter=q,this._onDidChangeMode=new T.vl,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new T.vl,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this.disposables.add(this.tree.onDidChangeModel(()=>{this.isOpened()&&(this.pattern.length!==0&&this.tree.refilter(),this.render())})),this.disposables.add(this.tree.onWillRefilter(()=>this.filter.reset()))}updateOptions(oe={}){oe.defaultFindMode!==void 0&&(this.mode=oe.defaultFindMode),oe.defaultFindMatchType!==void 0&&(this.matchType=oe.defaultFindMatchType)}shouldAllowFocus(oe){return!this.isOpened()||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!ne.ne.isDefault(oe.filterData)}render(){const q=this.filter.matchCount===0&&this.filter.totalCount>0&&this.pattern.length>0;this.renderMessage(q),this.pattern.length&&this.alertResults(this.filter.matchCount)}}function Le(Te,oe){return Te.position===oe.position&&_e(Te,oe)}function _e(Te,oe){return Te.node.element===oe.node.element&&Te.startIndex===oe.startIndex&&Te.height===oe.height&&Te.endIndex===oe.endIndex}class Qe{constructor(oe=[]){this.stickyNodes=oe}get count(){return this.stickyNodes.length}equal(oe){return(0,d.aI)(this.stickyNodes,oe.stickyNodes,Le)}contains(oe){return this.stickyNodes.some(q=>q.node.element===oe.element)}lastNodePartiallyVisible(){if(this.count===0)return!1;const oe=this.stickyNodes[this.count-1];if(this.count===1)return oe.position!==0;const q=this.stickyNodes[this.count-2];return q.position+q.height!==oe.position}animationStateChanged(oe){if(!(0,d.aI)(this.stickyNodes,oe.stickyNodes,_e)||this.count===0)return!1;const q=this.stickyNodes[this.count-1],ue=oe.stickyNodes[oe.count-1];return q.position!==ue.position}}class je{constrainStickyScrollNodes(oe,q,ue){for(let J=0;J<oe.length;J++){const ve=oe[J];if(ve.position+ve.height>ue||J>=q)return oe.slice(0,J)}return oe}}class ae extends u.jG{constructor(oe,q,ue,J,ve,De={}){super(),this.tree=oe,this.model=q,this.view=ue,this.treeDelegate=ve,this.maxWidgetViewRatio=.4;const fe=this.validateStickySettings(De);this.stickyScrollMaxItemCount=fe.stickyScrollMaxItemCount,this.stickyScrollDelegate=De.stickyScrollDelegate??new je,this.paddingTop=De.paddingTop??0,this._widget=this._register(new Ee(ue.getScrollableElement(),ue,oe,J,ve,De.accessibilityProvi
904der)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(ue.onDidScroll(()=>this.update())),this._register(ue.onDidChangeContentHeight(()=>this.update())),this._register(oe.onDidChangeCollapseState(()=>this.update())),this._register(q.onDidSpliceRenderedNodes(Se=>{const pe=this._widget.state;if(!pe)return;if(Se.deleteCount>0&&pe.stickyNodes.some(dt=>!this.model.has(this.model.getNodeLocation(dt.node)))){this.update();return}pe.stickyNodes.some(dt=>{const gt=this.model.getListIndex(this.model.getNodeLocation(dt.node));return gt>=Se.start&&gt<Se.start+Se.deleteCount&&pe.contains(dt.node)})&&this._widget.rerender()})),this.update()}get height(){return this._widget.height}getNodeAtHeight(oe){let q;if(oe===0?q=this.view.firstVisibleIndex:q=this.view.indexAt(oe+this.view.scrollTop),!(q<0||q>=this.view.length))return this.view.element(q)}update(){const oe=this.getNodeAtHeight(this.paddingTop);if(!oe||this.tree.scrollTop<=this.paddingTop||this.view.renderHeight===0){this._widget.setState(void 0);return}const q=this.findStickyState(oe);this._widget.setState(q)}findStickyState(oe){const q=[];let ue=oe,J=0,ve=this.getNextStickyNode(ue,void 0,J);for(;ve&&(q.push(ve),J+=ve.height,!(q.length<=this.stickyScrollMaxItemCount&&(ue=this.getNextVisibleNode(ve),!ue)));)ve=this.getNextStickyNode(ue,ve.node,J);const De=this.constrainStickyNodes(q);return De.length?new Qe(De):void 0}getNextVisibleNode(oe){return this.getNodeAtHeight(oe.position+oe.height)}getNextStickyNode(oe,q,ue){const J=this.getAncestorUnderPrevious(oe,q);if(J&&!(J===oe&&(!this.nodeIsUncollapsedParent(oe)||this.nodeTopAlignsWithStickyNodesBottom(oe,ue))))return this.createStickyScrollNode(J,ue)}nodeTopAlignsWithStickyNodesBottom(oe,q){const ue=this.getNodeIndex(oe),J=this.view.getElementTop(ue),ve=q;return this.view.scrollTop===J-ve}createStickyScrollNode(oe,q){const ue=this.treeDelegate.getHeight(oe),{startIndex:J,endIndex:ve}=this.getNodeRange(oe),De=this.calculateStickyNodePosition(ve,q,ue);return{node:oe,position:De,height:ue,startIndex:J,endIndex:ve}}getAncestorUnderPrevious(oe,q=void 0){let ue=oe,J=this.getParentNode(ue);for(;J;){if(J===q)return ue;ue=J,J=this.getParentNode(ue)}if(q===void 0)return ue}calculateStickyNodePosition(oe,q,ue){let J=this.view.getRelativeTop(oe);if(J===null&&this.view.firstVisibleIndex===oe&&oe+1<this.view.length){const pe=this.treeDelegate.getHeight(this.view.element
904(oe)),Ae=this.view.getRelativeTop(oe+1);J=Ae?Ae-pe/this.view.renderHeight:null}if(J===null)return q;const ve=this.view.element(oe),De=this.treeDelegate.getHeight(ve),Se=J*this.view.renderHeight+De;return q+ue>Se&&q<=Se?Se-ue:q}constrainStickyNodes(oe){if(oe.length===0)return[];const q=this.view.renderHeight*this.maxWidgetViewRatio,ue=oe[oe.length-1];if(oe.length<=this.stickyScrollMaxItemCount&&ue.position+ue.height<=q)return oe;const J=this.stickyScrollDelegate.constrainStickyScrollNodes(oe,this.stickyScrollMaxItemCount,q);if(!J.length)return[];const ve=J[J.length-1];if(J.length>this.stickyScrollMaxItemCount||ve.position+ve.height>q)throw new Error("stickyScrollDelegate violates constraints");return J}getParentNode(oe){const q=this.model.getNodeLocation(oe),ue=this.model.getParentNodeLocation(q);return ue?this.model.getNode(ue):void 0}nodeIsUncollapsedParent(oe){const q=this.model.getNodeLocation(oe);return this.model.getListRenderCount(q)>1}getNodeIndex(oe){const q=this.model.getNodeLocation(oe);return this.model.getListIndex(q)}getNodeRange(oe){const q=this.model.getNodeLocation(oe),ue=this.model.getListIndex(q);if(ue<0)throw new Error("Node not found in tree");const J=this.model.getListRenderCount(q),ve=ue+J-1;return{startIndex:ue,endIndex:ve}}nodePositionTopBelowWidget(oe){const q=[];let ue=this.getParentNode(oe);for(;ue;)q.push(ue),ue=this.getParentNode(ue);let J=0;for(let ve=0;ve<q.length&&ve<this.stickyScrollMaxItemCount;ve++)J+=this.treeDelegate.getHeight(q[ve]);return J}domFocus(){this._widget.domFocus()}focusedLast(){return this._widget.focusedLast()}updateOptions(oe={}){if(oe.paddingTop!==void 0&&(this.paddingTop=oe.paddingTop),oe.stickyScrollMaxItemCount!==void 0){const q=this.validateStickySettings(oe);this.stickyScrollMaxItemCount!==q.stickyScrollMaxItemCount&&(this.stickyScrollMaxItemCount=q.stickyScrollMaxItemCount,this.update())}}validateStickySettings(oe){let q=7;return typeof oe.stickyScrollMaxItemCount=="number"&&(q=Math.max(oe.stickyScrollMaxItemCount,1)),{stickyScrollMaxItemCount:q}}}class Ee{get state(){return this._previousState}constructor(oe,q,ue,J,ve,De){this.view=q,this.tree=ue,this.treeRenderers=J,this.treeDelegate=ve,this.accessibilityProvider=De,this._previousElements=[],this._previousStateDisposables=new u.Cm,this._rootDomNode=(0,v.$)(".monaco-tree-sticky-container.empty"),oe.appendChild(this._rootDomNode);const fe=(0,v.$)(".monaco-tree-sticky-container-shadow");this._rootDomNode.appendChild(fe),this.stickyScrollFocus=new Ie(this._rootDomNode,q),this.onDidChangeHasFocus=this.stickyScrollFocus.onDidChangeHasFocus,this.onContextMenu=this.stickyScrollFocus.onContextMenu}get height(){if(!this._previousState)return 0;const oe=this._previousState.stickyNodes[this._previousState.count-1];return oe.position+oe.height}setState(oe){const q=!!this._previousState&&this._previousState.count>0,ue=!!oe&&oe.count>0;if(!q&&!ue||q&&ue&&this._previousState.equal(oe))return;if(q!==ue&&this.setVisible(ue),!ue){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const J=oe.stickyNodes[oe.count-1];this._previousState&&oe.animationStateChanged(this._previousState)?this._previousElements[this._previousState.count-1].style.top=`${J.position}px`:this.renderState(oe),this._previousState=oe,this._rootDomNode.style.height=`${J.position+J.height}px`}renderState(oe){this._previousStateDisposables.clear();const q=Array(oe.count);for(let ue=oe.count-1;ue>=0;ue--){const J=oe.stickyNodes[ue],{element:ve,disposable:De}=this.createElement(J,ue,oe.count);q[ue]=ve,this._rootDomNode.appendChild(ve),this._previousStateDisposables.add(De)}this.stickyScrollFocus.updateElements(q,oe),this._previousElements=q}rerender(){this._previousState&&this.renderState(this._previousState)}createElement(oe,q,ue){const J=oe.startIndex,ve=document.createElement("div");ve.style.top=`${oe.position}px`,this.tree.options.setRowHeight!==!1&&(ve.style.height=`${oe.height}px`),this.tree.options.setRowLineHeight!==!1&&(ve.style.lineHeight=`${oe.height}px`),ve.classList.add("monaco-tree-sticky-row"),ve.classList.add("monaco-list-row"),ve.setAttribute("data-index",`${J}`),ve.setAttribute("data-parity",J%2===0?"even":"odd"),ve.setAttribute("id",this.view.getElementID(J));const De=this.setAccessibilityAttributes(ve,oe.node.element,q,ue),fe=this.treeDelegate.getTemplateId(oe.node),Se=this.treeRenderers.find(dt=>dt.templateId===fe);if(!Se)throw new Error(`No renderer found for template id ${fe}`);let pe=oe.node;pe===this.tree.getNode(this.tree.getNodeLocation(oe.node))&&(pe=new Proxy(oe.node,{}));const Ae=Se.renderTemplate(ve);Se.renderElement(pe,oe.startIndex,Ae,{height:oe.height});const Xe=(0,u.s)(()=>{De.dispose(),Se.disposeElement(pe,oe.startIndex,Ae,{height:oe.height}),Se.disposeTemplate(Ae),ve.remove()});return{element:ve,disposable:Xe}}setAccessibilityAttributes(oe,q,ue,J){if(!this.accessibilityProvi
904der)return u.jG.None;this.accessibilityProvider.getSetSize&&oe.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(q,ue,J))),this.accessibilityProvider.getPosInSet&&oe.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(q,ue))),this.accessibilityProvider.getRole&&oe.setAttribute("role",this.accessibilityProvider.getRole(q)??"treeitem");const ve=this.accessibilityProvider.getAriaLabel(q),De=ve&&typeof ve!="string"?ve:(0,H.l)(ve),fe=(0,Z.fm)(pe=>{const Ae=pe.readObservable(De);Ae?oe.setAttribute("aria-label",Ae):oe.removeAttribute("aria-label")});typeof ve=="string"||ve&&oe.setAttribute("aria-label",ve.get());const Se=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(q);return typeof Se=="number"&&oe.setAttribute("aria-level",`${Se}`),oe.setAttribute("aria-selected",String(!1)),fe}setVisible(oe){this._rootDomNode.classList.toggle("empty",!oe),oe||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}}class Ie extends u.jG{get domHasFocus(){return this._domHasFocus}set domHasFocus(oe){oe!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(oe),this._domHasFocus=oe)}constructor(oe,q){super(),this.container=oe,this.view=q,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=this._register(new T.vl),this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=this._register(new T.vl),this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register((0,v.ko)(this.container,"focus",()=>this.onFocus())),this._register((0,v.ko)(this.container,"blur",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(ue=>this.onKeyDown(ue))),this._register(this.view.onMouseDown(ue=>this.onMouseDown(ue))),this._register(this.view.onContextMenu(ue=>this.handleContextMenu(ue)))}handleContextMenu(oe){const q=oe.browserEvent.target;if(!(0,h.Es)(q)&&!(0,h.xu)(q)){this.focusedLast()&&this.view.domFocus();return}if(!(0,v.kx)(oe.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const De=this.state.stickyNodes.findIndex(fe=>fe.node.element===oe.element?.element);if(De===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(De);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const J=this.state.stickyNodes[this.focusedIndex].node.element,ve=this.elements[this.focusedIndex];this._onContextMenu.fire({element:J,anchor:ve,browserEvent:oe.browserEvent,isStickyScroll:!0})}onKeyDown(oe){if(this.domHasFocus&&this.state){if(oe.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),oe.preventDefault(),oe.stopPropagation();else if(oe.key==="ArrowDown"||oe.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const q=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([q]),this.scrollNodeUnderWidget(q,this.state)}else this.setFocusedElement(this.focusedIndex+1);oe.preventDefault(),oe.stopPropagation()}}}onMouseDown(oe){const q=oe.browserEvent.target;!(0,h.Es)(q)&&!(0,h.xu)(q)||(oe.browserEvent.preventDefault(),oe.browserEvent.stopPropagation())}updateElements(oe,q){if(q&&q.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(q&&q.count!==oe.length)throw new Error("Sticky scroll focus received illigel state");const ue=this.focusedIndex;if(this.removeFocus(),this.elements=oe,this.state=q,q){const J=(0,V.qE)(ue,0,q.count-1);this.setFocus(J)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=q?0:-1}setFocusedElement(oe){const q=this.state;if(!q)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(oe),!(oe<q.count-1)&&q.lastNodePartiallyVisible()){const ue=q.stickyNodes[oe];this.scrollNodeUnderWidget(ue.endIndex+1,q)}}scrollNodeUnderWidget(oe,q){const ue=q.stickyNodes[q.count-1],J=q.count>1?q.stickyNodes[q.count-2]:void 0,ve=this.view.getElementTop(oe),De=J?J.position+J.height+ue.height:ue.height;this.view.scrollTop=ve-De}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(oe){if(0>oe)throw new Error("addFocus() can not remove focus");if(!this.state&&oe>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&oe>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const q=this.focusedIndex;q>=0&&this.toggleElementFocus(this.elements[q],!1),oe>=0&&this.toggleElementFocus(this.elements[oe],!0),this.focusedIndex=oe}toggleElementFocus(oe,q){this.toggleElementActiveFocus(oe,q&&this.domHasFocus),this.toggleElementPassiveFocus(oe,q)}toggleCurrentElementActiveFocus(oe){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],oe)}toggleElementActiveFocus(oe,q){oe.classList.toggle("focused",q)}toggleElementPassiveFocus(oe,q){oe.classList.toggle("passive-focused",q)}toggleStickyScrollFocused(oe){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",oe)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function Ue(Te){let oe=N.Lx.Unknown;return(0,v.XD)(Te.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?oe=N.Lx.Twistie:(0,v.XD)(Te.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?oe=N.Lx.Element:(0,v.XD)(Te.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(oe=N.Lx.Filter),{browserEvent:Te.browserEvent,element:Te.element?Te.element.element:null,target:oe}}function $e(Te){const oe=(0,h.Es)(Te.browserEvent.target);return{element:Te.element?Te.element.element:null,browserEvent:Te.browserEvent,anchor:Te.anchor,isStickyScroll:oe}}
904function Ye(Te,oe){oe(Te),Te.children.forEach(q=>Ye(q,oe))}class Ce{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(oe,q){this.getFirstViewElementWithTrait=oe,this.identityProvider=q,this.nodes=[],this._onDidChange=new T.vl,this.onDidChange=this._onDidChange.event}set(oe,q){!q?.__forceEvent&&(0,d.aI)(this.nodes,oe)||this._set(oe,!1,q)}_set(oe,q,ue){if(this.nodes=[...oe],this.elements=void 0,this._nodeSet=void 0,!q){const J=this;this._onDidChange.fire({get elements(){return J.get()},browserEvent:ue})}}get(){return this.elements||(this.elements=this.nodes.map(oe=>oe.element)),[...this.elements]}getNodes(){return this.nodes}has(oe){return this.nodeSet.has(oe)}onDidModelSplice({insertedNodes:oe,deletedNodes:q}){if(!this.identityProvider){const Se=this.createNodeSet(),pe=Ae=>Se.delete(Ae);q.forEach(Ae=>Ye(Ae,pe)),this.set([...Se.values()]);return}const ue=new Set,J=Se=>ue.add(this.identityProvider.getId(Se.element).toString());q.forEach(Se=>Ye(Se,J));const ve=new Map,De=Se=>ve.set(this.identityProvider.getId(Se.element).toString(),Se);oe.forEach(Se=>Ye(Se,De));const fe=[];for(const Se of this.nodes){const pe=this.identityProvider.getId(Se.element).toString();if(!ue.has(pe))fe.push(Se);else{const Xe=ve.get(pe);Xe&&Xe.visible&&fe.push(Xe)}}if(this.nodes.length>0&&fe.length===0){const Se=this.getFirstViewElementWithTrait();Se&&fe.push(Se)}this._set(fe,!0)}createNodeSet(){const oe=new Set;for(const q of this.nodes)oe.add(q);return oe}}class He extends h.MH{constructor(oe,q,ue){super(oe),this.tree=q,this.stickyScrollProvider=ue}onViewPointer(oe){if((0,h.Bm)(oe.browserEvent.target)||(0,v.yD)(oe.browserEvent.target)||(0,h.bm)(oe.browserEvent.target)||oe.browserEvent.isHandledByList)return;const q=oe.element;if(!q)return super.onViewPointer(oe);if(this.isSelectionRangeChangeEvent(oe)||this.isSelectionSingleChangeEvent(oe))return super.onViewPointer(oe);const ue=oe.browserEvent.target,J=ue.classList.contains("monaco-tl-twistie")||ue.classList.contains("monaco-icon-label")&&ue.classList.contains("folder-icon")&&oe.browserEvent.offsetX<16,ve=(0,h.xu)(oe.browserEvent.target);let De=!1;if(ve?De=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?De=this.tree.expandOnlyOnTwistieClick(q.element):De=!!this.tree.expandOnlyOnTwistieClick,ve)this.handleStickyScrollMouseEvent(oe,q);else{if(De&&!J&&oe.browserEvent.detail!==2)return super.onViewPointer(oe);if(!this.tree.expandOnDoubleClick&&oe.browserEvent.detail===2)return super.onViewPointer(oe)}if(q.collapsible&&(!ve||J)){const fe=this.tree.getNodeLocation(q),Se=oe.browserEvent.altKey;if(this.tree.setFocus([fe]),this.tree.toggleCollapsed(fe,Se),J){oe.browserEvent.isHandledByList=!0;return}}ve||super.onViewPointer(oe)}handleStickyScrollMouseEvent(oe,q){if((0,h.b$)(oe.browserEvent.target)||(0,h.W0)(oe.browserEvent.target))return;const ue=this.stickyScrollProvider();if(!ue)throw new Error("Sticky scroll controller not found");const J=this.list.indexOf(q),ve=this.list.getElementTop(J),De=ue.nodePositionTopBelowWidget(q);this.tree.scrollTop=ve-De,this.list.domFocus(),this.list.setFocus([J]),this.list.setSelection([J])}onDoubleClick(oe){oe.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||oe.browserEvent.isHandledByList||super.onDoubleClick(oe)}onMouseDown(oe){const q=oe.browserEvent.target;if(!(0,h.Es)(q)&&!(0,h.xu)(q)){super.onMouseDown(oe);return}}onContextMenu(oe){const q=oe.browserEvent.target;if(!(0,h.Es)(q)&&!(0,h.xu)(q)){super.onContextMenu(oe);return}}}class Ke extends h.B8{constructor(oe,q,ue,J,ve,De,fe,Se){super(oe,q,ue,J,Se),this.focusTrait=ve,this.selectionTrait=De,this.anchorTrait=fe}createMouseController(oe){return new He(this,oe.tree,oe.stickyScrollProvider)}splice(oe,q,ue=[]){if(super.splice(oe,q,ue),ue.length===0)return;const J=[],ve=[];let De;ue.forEach((fe,Se)=>{this.focusTrait.has(fe)&&J.push(oe+Se),this.selectionTrait.has(fe)&&ve.push(oe+Se),this.anchorTrait.has(fe)&&(De=oe+Se)}),J.length>0&&super.setFocus((0,d.dM)([...super.getFocus(),...J])),ve.length>0&&super.setSelection((0,d.dM)([...super.getSelection(),...ve])),typeof De=="number"&&super.setAnchor(De)}setFocus(oe,q,ue=!1){super.setFocus(oe,q),ue||this.focusTrait.set(oe.map(J=>
904this.element(J)),q)}setSelection(oe,q,ue=!1){super.setSelection(oe,q),ue||this.selectionTrait.set(oe.map(J=>this.element(J)),q)}setAnchor(oe,q=!1){super.setAnchor(oe),q||(typeof oe>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(oe)]))}}class qe{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return T.Jh.filter(T.Jh.map(this.view.onMouseDblClick,Ue),oe=>oe.target!==N.Lx.Filter)}get onMouseOver(){return T.Jh.map(this.view.onMouseOver,Ue)}get onMouseOut(){return T.Jh.map(this.view.onMouseOut,Ue)}get onContextMenu(){return T.Jh.any(T.Jh.filter(T.Jh.map(this.view.onContextMenu,$e),oe=>!oe.isStickyScroll),this.stickyScrollController?.onContextMenu??T.Jh.None)}get onPointer(){return T.Jh.map(this.view.onPointer,Ue)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return T.Jh.any(this.onDidChangeModelRelay.event,this.onDidSwapModel.event)}get onDidChangeCollapseState(){return this.onDidChangeCollapseStateRelay.event}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(oe,q,ue,J,ve={}){this._user=oe,this._options=ve,this.eventBufferer=new T.at,this.onDidChangeFindOpenState=T.Jh.None,this.onDidChangeStickyScrollFocused=T.Jh.None,this.disposables=new u.Cm,this.onDidSwapModel=this.disposables.add(new T.vl),this.onDidChangeModelRelay=this.disposables.add(new T.Wj),this.onDidSpliceModelRelay=this.disposables.add(new T.Wj),this.onDidChangeCollapseStateRelay=this.disposables.add(new T.Wj),this.onDidChangeRenderNodeCountRelay=this.disposables.add(new T.Wj),this.onDidChangeActiveNodesRelay=this.disposables.add(new T.Wj),this._onWillRefilter=new T.vl,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new T.vl,this.modelDisposables=new u.Cm,ve.keyboardNavigationLabelProvider&&(ve.findWidgetEnabled??!0)&&(this.findFilter=new he(ve.keyboardNavigationLabelProvider,ve.filter,ve.defaultFindVisibility),ve={...ve,filter:this.findFilter},this.disposables.add(this.findFilter)),this.model=this.createModel(oe,ve),this.treeDelegate=new z(ue);const De=this.disposables.add(new re(this.onDidChangeActiveNodesRelay.event)),fe=new te.db;this.renderers=J.map(Se=>new de(Se,this.model,this.onDidChangeCollapseStateRelay.event,De,fe,ve));for(const Se of this.renderers)this.disposables.add(Se);if(this.focus=new Ce(()=>this.view.getFocusedElements()[0],ve.identityProvider),this.selection=new Ce(()=>this.view.getSelectedElements()[0],ve.identityProvider),this.anchor=new Ce(()=>this.view.getAnchorElement(),ve.identityProvider),this.view=new Ke(oe,q,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...j(()=>this.model,this.disposables,ve),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.setupModel(this.model),ve.keyboardSupport!==!1){const Se=T.Jh.chain(this.view.onKeyDown,pe=>pe.filter(Ae=>!(0,v.yD)(Ae.target)).map(Ae=>new y.Z(Ae)));T.Jh.chain(Se,pe=>pe.filter(Ae=>Ae.keyCode===15))(this.onLeftArrow,this,this.disposables),T.Jh.chain(Se,pe=>pe.filter(Ae=>Ae.keyCode===17))(this.onRightArrow,this,this.disposables),T.Jh.chain(Se,pe=>pe.filter(Ae=>Ae.keyCode===10))(this.onSpace,this,this.disposables)}if((ve.findWidgetEnabled??!0)&&ve.keyboardNavigationLabelProvider&&ve.contextViewProvider){const Se={styles:ve.findWidgetStyles,defaultFindMode:ve.defaultFindMode,defaultFindMatchType:ve.defaultFindMatchType,showNotFoundMessage:ve.showNotFoundMessage,findWidgetContainer:ve.findWidgetContainer};this.findController=this.disposables.add(new Me(this,this.findFilter,ve.contextViewProvider,Se)),this.focusNavigationFilter=pe=>this.findController.shouldAllowFocus(pe),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=T.Jh.None,this.onDidChangeFindMatchType=T.Jh.None;ve.enableStickyScroll&&(this.stickyScrollController=new ae(this,this.model,this.view,this.renderers,this.treeDelegate,ve),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=(0,R.li)(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ie.Always)}updateOptions(oe={}){this._options={...this._options,...oe};for(const q of this.renderers)q.updateOptions(oe);this.view.updateOptions(oe),this.findController?.updateOptions(oe),this.updateStickyScroll(oe),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===ie.Always)}get options(){return this._options}updateStickyScroll(oe){!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new ae(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=T.Jh.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),this.stickyScrollController?.updateOptions(oe)}getHTMLElement(){return this.view.getHTMLElement()}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.scrollTop}set scrollTop(oe){this.view.scrollTop=oe}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(oe){this.view.ariaLabel=oe}domFocus(){this.stickyScrollController?.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}isDOMFocused(){return(0,v.X7)(this.getHTMLElement())}layout(oe,q){this.view.layout(oe,q)}style(oe){const q=`.${this.view.domId}`,ue=[];oe.treeIndentGuidesStroke&&(ue.push(`.monaco-list${q}:hover .monaco-tl-indent > .indent-guide, .monaco-list${q}.always .monaco-tl-indent > .indent-guide  { opacity: 1; border-color: ${oe.treeInactiveIndentGuidesStroke}; }`),ue.push(`.monaco-list${q} .monaco-tl-indent > .indent-guide.active { opacity: 1; border-color: ${oe.treeIndentGuidesStroke}; }`));
904const J=oe.treeStickyScrollBackground??oe.listBackground;J&&(ue.push(`.monaco-list${q} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${J}; }`),ue.push(`.monaco-list${q} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${J}; }`)),oe.treeStickyScrollBorder&&ue.push(`.monaco-list${q} .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ${oe.treeStickyScrollBorder}; }`),oe.treeStickyScrollShadow&&ue.push(`.monaco-list${q} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ${oe.treeStickyScrollShadow} 0 6px 6px -6px inset; height: 3px; }`),oe.listFocusForeground&&(ue.push(`.monaco-list${q}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ${oe.listFocusForeground}; }`),ue.push(`.monaco-list${q}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }`));const ve=(0,x.gI)(oe.listFocusAndSelectionOutline,(0,x.gI)(oe.listSelectionOutline,oe.listFocusOutline??""));ve&&(ue.push(`.monaco-list${q}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ${ve}; outline-offset: -1px;}`),ue.push(`.monaco-list${q}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}`)),oe.listFocusOutline&&(ue.push(`.monaco-list${q}.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ${oe.listFocusOutline}; outline-offset: -1px; }`),ue.push(`.monaco-list${q}:not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }`),ue.push(`.context-menu-visible .monaco-list${q}.last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ${oe.listFocusOutline}; outline-offset: -1px; }`),ue.push(`.context-menu-visible .monaco-list${q}.last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`),ue.push(`.context-menu-visible .monaco-list${q}.last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }`)),this.styleElement.textContent=ue.join(`
905`),this.view.style(oe)}getParentElement(oe){const q=this.model.getParentNodeLocation(oe);return this.model.getNode(q).element}getFirstElementChild(oe){return this.model.getFirstElementChild(oe)}getNode(oe){return this.model.getNode(oe)}getNodeLocation(oe){return this.model.getNodeLocation(oe)}collapse(oe,q=!1){return this.model.setCollapsed(oe,!0,q)}expand(oe,q=!1){return this.model.setCollapsed(oe,!1,q)}toggleCollapsed(oe,q=!1){return this.model.setCollapsed(oe,void 0,q)}isCollapsible(oe){return this.model.isCollapsible(oe)}setCollapsible(oe,q){return this.model.setCollapsible(oe,q)}isCollapsed(oe){return this.model.isCollapsed(oe)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(oe,q){this.eventBufferer.bufferEvents(()=>{const ue=oe.map(ve=>this.model.getNode(ve));this.selection.set(ue,q);const J=oe.map(ve=>this.model.getListIndex(ve)).filter(ve=>ve>-1);this.view.setSelection(J,q,!0)})}getSelection(){return this.selection.get()}setFocus(oe,q){this.eventBufferer.bufferEvents(()=>{const ue=oe.map(ve=>this.model.getNode(ve));this.focus.set(ue,q);const J=oe.map(ve=>this.model.getListIndex(ve)).filter(ve=>ve>-1);this.view.setFocus(J,q,!0)})}focusNext(oe=1,q=!1,ue,J=(0,v.kx)(ue)&&ue.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(oe,q,ue,J)}focusPrevious(oe=1,q=!1,ue,J=(0,v.kx)(ue)&&ue.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(oe,q,ue,J)}focusNextPage(oe,q=(0,v.kx)(oe)&&oe.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(oe,q)}focusPreviousPage(oe,q=(0,v.kx)(oe)&&oe.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(oe,q,()=>this.stickyScrollController?.height??0)}
905focusLast(oe,q=(0,v.kx)(oe)&&oe.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(oe,q)}focusFirst(oe,q=(0,v.kx)(oe)&&oe.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(oe,q)}getFocus(){return this.focus.get()}reveal(oe,q){this.model.expandTo(oe);const ue=this.model.getListIndex(oe);if(ue!==-1)if(!this.stickyScrollController)this.view.reveal(ue,q);else{const J=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(oe));this.view.reveal(ue,q,J)}}onLeftArrow(oe){oe.preventDefault(),oe.stopPropagation();const q=this.view.getFocusedElements();if(q.length===0)return;const ue=q[0],J=this.model.getNodeLocation(ue);if(!this.model.setCollapsed(J,!0)){const De=this.model.getParentNodeLocation(J);if(!De)return;const fe=this.model.getListIndex(De);this.view.reveal(fe),this.view.setFocus([fe])}}onRightArrow(oe){oe.preventDefault(),oe.stopPropagation();const q=this.view.getFocusedElements();if(q.length===0)return;const ue=q[0],J=this.model.getNodeLocation(ue);if(!this.model.setCollapsed(J,!1)){if(!ue.children.some(Se=>Se.visible))return;const[De]=this.view.getFocus(),fe=De+1;this.view.reveal(fe),this.view.setFocus([fe])}}onSpace(oe){oe.preventDefault(),oe.stopPropagation();const q=this.view.getFocusedElements();if(q.length===0)return;const ue=q[0],J=this.model.getNodeLocation(ue),ve=oe.browserEvent.altKey;this.model.setCollapsed(J,void 0,ve)}setupModel(oe){this.modelDisposables.clear(),this.modelDisposables.add(oe.onDidSpliceRenderedNodes(({start:ve,deleteCount:De,elements:fe})=>this.view.splice(ve,De,fe)));const q=T.Jh.forEach(oe.onDidSpliceModel,ve=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(ve),this.selection.onDidModelSplice(ve)}
905)},this.modelDisposables);q(()=>null,null,this.modelDisposables);const ue=this.modelDisposables.add(new T.vl),J=this.modelDisposables.add(new W.ve(0));this.modelDisposables.add(T.Jh.any(q,this.focus.onDidChange,this.selection.onDidChange)(()=>{J.trigger(()=>{const ve=new Set;for(const De of this.focus.getNodes())ve.add(De);for(const De of this.selection.getNodes())ve.add(De);ue.fire([...ve.values()])})})),this.onDidChangeActiveNodesRelay.input=ue.event,this.onDidChangeModelRelay.input=T.Jh.signal(oe.onDidSpliceModel),this.onDidChangeCollapseStateRelay.input=oe.onDidChangeCollapseState,this.onDidChangeRenderNodeCountRelay.input=oe.onDidChangeRenderNodeCount,this.onDidSpliceModelRelay.input=oe.onDidSpliceModel,C.zx&&this.modelDisposables.add(oe.onDidChangeCollapseState(ve=>{const{node:De,deep:fe}=ve;De.collapsible&&!fe&&this.isDOMFocused()&&(0,p.xE)(De.collapsed?(0,c.kg)(30,"collapsed"):(0,c.kg)(31,"expanded"))}))}dispose(){(0,u.AS)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose(),this.modelDisposables.dispose()}}},90540:(St,We,e)=>{var v=e(50946),R=e(16844),x=e(23877),T=e(15365);class y{constructor(i){this._selection=i,this._selectionId=null}getEditOperations(i,r){const d=A(i);d&&r.addEditOperation(d.range,d.text),this._selectionId=r.trackSelection(this._selection)}computeCursorState(i,r){return r.getTrackedSelection(this._selectionId)}}function A(u){const i=u.getLineCount(),r=u.getLineContent(i),d=(0,R.lT)(r)===-1;if(!(!i||d))return x.k.insert(new T.y(i,u.getLineMaxColumn(i)),u.getEOL())}var g=e(38122),L=e(3765);const C=class C extends v.ks{constructor(){super({id:C.ID,label:(0,L.aS)(1288,"Insert Final New Line"),precondition:g.R.writable})}run(i,r,d){const l=r.getSelection();if(l===null)return;const o=new y(l);r.pushUndoStop(),r.executeCommands(this.id,[o]),r.pushUndoStop()}};C.ID="editor.action.insertFinalNewLine";let b=C;(0,v.Fl)(b)},90695:(St,We,e)=>{e.d(We,{hW:()=>y});var v=e(50969),R=e(18146);const x=5e3,T="indent";class y{constructor(C,u,i){this.editorModel=C,this.languageConfigurationService=u,this.foldingRangesLimit=i,this.id=T}dispose(){}compute(C){const u=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=u&&!!u.offSide,r=u&&u.markers;return Promise.resolve(L(this.editorModel,i,r,this.foldingRangesLimit))}}class A{constructor(C){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=C}insertFirst(C,u,i){if(C>R.yy||u>R.yy)return;const r=this._length;this._startIndexes[r]=C,this._endIndexes[r]=u,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(C){const u=this._foldingRangesLimit.limit;if(this._length<=u){this._foldingRangesLimit.update(this._length,!1);
905const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let d=this._length-1,l=0;d>=0;d--,l++)i[l]=this._startIndexes[d],r[l]=this._endIndexes[d];return new R.tz(i,r)}else{this._foldingRangesLimit.update(this._length,u);let i=0,r=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){const a=this._indentOccurrences[c];if(a){if(a+i>u){r=c;break}i+=a}}const d=C.getOptions().tabSize,l=new Uint32Array(u),o=new Uint32Array(u);for(let c=this._length-1,a=0;c>=0;c--){const p=this._startIndexes[c],_=C.getLineContent(p),E=(0,v.G)(_,d);(E<r||E===r&&i++<u)&&(l[a]=p,o[a]=this._endIndexes[c],a++)}return new R.tz(l,o)}}}const g={limit:x,update:()=>{}};function L(b,C,u,i=g){const r=b.getOptions().tabSize,d=new A(i);let l,o,c;u&&(u.start.flags===u.end.flags?l=new RegExp(`(${u.start.source})|(?:${u.end.source})`,u.start.flags):(o=u.start,c=u.end));const a=[],p=b.getLineCount()+1;a.push({indent:-1,endAbove:p,line:p});for(let _=b.getLineCount();_>0;_--){const E=b.getLineContent(_),S=(0,v.G)(E,r);let h=a[a.length-1];if(S===-1){C&&(h.endAbove=_);continue}let D=!1,k=!1,N;if(l?(l.lastIndex=0,(N=l.exec(E))&&(D=!!N[1],k=!D)):(o&&(o.lastIndex=0,D=o.test(E)),!D&&c&&(c.lastIndex=0,k=c.test(E))),D||k)if(D){let W=a.length-1;for(;W>0&&a[W].indent!==-2;)W--;if(W>0){a.length=W+1,h=a[W],d.insertFirst(_,h.line,S),h.line=_,h.indent=S,h.endAbove=_;continue}}else{a.push({indent:-2,endAbove:_,line:_});continue}if(h.indent>S){do a.pop(),h=a[a.length-1];while(h.indent>S);const W=h.endAbove-1;W-_>=1&&d.insertFirst(_,W,S)}h.indent===S?h.endAbove=_:a.push({indent:S,endAbove:_,line:_})}return d.toIndentRanges(b)}},90840:(St,We,e)=>{e.d(We,{CS:()=>i,pc:()=>o,LP:()=>r});var v=e(65958),R=e(2106),x=e(10998),T=e(79359),y=e(50180),A;(function(p){p[p.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",p[p.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(A||(A={}));var g;(function(p){p[p.None=0]="None",p[p.Initialized=1]="Initialized",p[p.Closed=2]="Closed"})(g||(g={}));const c=class c extends x.jG{constructor(_,E=Object.create(null)){super(),this.database=_,this.options=E,this._onDidChangeStorage=this._register(new R.fV),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=g.None,this.cache=new Map,this.flushDelayer=this._register(new v.Th(c.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.pendingClose=void 0,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(_=>this.onDidChangeItemsExternal(_)))}onDidChangeItemsExternal(_){this._onDidChangeStorage.pause();try{_.changed?.forEach((E,S)=>this.acceptExternal(S,E)),_.deleted?.forEach(E=>this.acceptExternal(E,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(_,E){if(this.state===g.Closed)return;let S=!1;(0,T.z)(E)?S=this.cache.delete(_):this.cache.get(_)!==E&&(this.cache.set(_,E),S=!0),S&&this._onDidChangeStorage.fire({key:_,external:!0})}get(_,E){const S=this.cache.get(_);return(0,T.z)(S)?E:S}getBoolean(_,E){const S=this.get(_);return(0,T.z)(S)?E:S==="true"}getNumber(_,E){const S=this.get(_);return(0,T.z)(S)?E:parseInt(S,10)}async set(_,E,S=!1){if(this.state===g.Closed)return;if((0,T.z)(E))return this.delete(_,S);const h=(0,T.Gv)(E)||Array.isArray(E)?(0,y.As)(E):String(E);if(this.cache.get(_)!==h)return this.cache.set(_,h),this.pendingInserts.set(_,h),this.pendingDeletes.delete(_),this._onDidChangeStorage.fire({key:_,external:S}),this.doFlush()}async delete(_,E=!1){if(!(this.state===g.Closed||!this.cache.delete(_)))return this.pendingDeletes.has(_)||this.pendingDeletes.add(_),this.pendingInserts.delete(_),this._onDidChangeStorage.fire({key:_,external:E}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const _={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(_).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async flush(_){if(!(this.state===g.Closed||this.pendingClose))return this.doFlush(_)}async doFlush(_){return this.options.hint===A.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),_)}async whenFlushed(){if(this.hasPending)return new Promise(_=>this.whenFlushedCallbacks.push(_))}};c.DEFAULT_FLUSH_DELAY=100;let L=c;class b{constructor(){this.onDidChangeItemsExternal=R.Jh.None,this.items=new Map}async updateItems(_){_.insert?.forEach((E,S)=>this.items.set(S,E)),_.delete?.forEach(E=>this.items.delete(E))}}var C=e(82399);const u="__$__targetStorageMarker",i=(0,C.u1)("storageService");var r;(function(p){p[p.NONE=0]="NONE",p[p.SHUTDOWN=1]="SHUTDOWN"})(r||(r={}));function d(p){const _=p.get(u);if(_)try{return JSON.parse(_)}catch{}return Object.create(null)}const a=class a extends x.jG{constructor(_={flushInterval:a.DEFAULT_FLUSH_INTERVAL}){super(),this._onDidChangeValue=this._register(new R.fV),this._onDidChangeTarget=this._register(new R.fV),this._onWillSaveState=this._register(new R.vl),this.onWillSaveState=this._onWillSaveState.event,this.runFlushWhenIdle=this._register(new x.HE),this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0,this._applicationSharedKeyTargets=void 0,this.flushWhenIdleScheduler
905=this._register(new v.uC(()=>this.doFlushWhenIdle(),_.flushInterval))}onDidChangeValue(_,E,S){return R.Jh.filter(this._onDidChangeValue.event,h=>h.scope===_&&(E===void 0||h.key===E),S)}doFlushWhenIdle(){this.runFlushWhenIdle.value=(0,v.$6)(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}emitDidChangeValue(_,E){const{key:S,external:h}=E;if(S===u){switch(_){case-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:_})}else this._onDidChangeValue.fire({scope:_,key:S,target:this.getKeyTargets(_)[S],external:h})}get(_,E,S){return this.getStorage(E)?.get(_,S)}getBoolean(_,E,S){return this.getStorage(E)?.getBoolean(_,S)}getNumber(_,E,S){return this.getStorage(E)?.getNumber(_,S)}store(_,E,S,h,D=!1){if((0,T.z)(E)){this.remove(_,S,D);return}this.withPausedEmitters(()=>{this.updateKeyTarget(_,S,h),this.getStorage(S)?.set(_,E,D)})}remove(_,E,S=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(_,E,void 0),this.getStorage(E)?.delete(_,S)})}withPausedEmitters(_){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{_()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(_,E,S,h=!1){const D=this.getKeyTargets(E);typeof S=="number"?D[_]!==S&&(D[_]=S,this.getStorage(E)?.set(u,JSON.stringify(D),h)):typeof D[_]=="number"&&(delete D[_],this.getStorage(E)?.set(u,JSON.stringify(D),h))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}get applicationSharedKeyTargets(){return this._applicationSharedKeyTargets||(this._applicationSharedKeyTargets=this.loadKeyTargets(-2)),this._applicationSharedKeyTargets}getKeyTargets(_){switch(_){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(_){const E=this.getStorage(_);return E?d(E):Object.create(null)}async flush(_=r.NONE){this._onWillSaveState.fire({reason:_});const E=this.getStorage(-1),S=this.getStorage(-2),h=this.getStorage(0),D=this.getStorage(1);switch(_){case r.NONE:await v.HC.settled([E?.whenFlushed()??Promise.resolve(),S?.whenFlushed()??Promise.resolve(),h?.whenFlushed()??Promise.resolve(),D?.whenFlushed()??Promise.resolve()]);break;case r.SHUTDOWN:await v.HC.settled([E?.flush(0)??Promise.resolve(),S?.flush(0)??Promise.resolve(),h?.flush(0)??Promise.resolve(),D?.flush(0)??Promise.resolve()]);break}}};a.DEFAULT_FLUSH_INTERVAL=60*1e3;let l=a;class o extends l{constructor(){super(),this.applicationStorage=this._register(new L(new b,{hint:A.STORAGE_IN_MEMORY})),this.applicationSharedStorage=this._register(new L(new b,{hint:A.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new L(new b,{hint:A.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new L(new b,{hint:A.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(_=>this.emitDidChangeValue(1,_))),this._register(this.profileStorage.onDidChangeStorage(_=>this.emitDidChangeValue(0,_))),this._register(this.applicationStorage.onDidChangeStorage(_=>this.emitDidChangeValue(-1,_))),this._register(this.applicationSharedStorage.onDidChangeStorage(_=>this.emitDidChangeValue(-2,_)))}getStorage(_){switch(_){case-2:return this.applicationSharedStorage;case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}shouldFlushWhenIdle(){return!1}}},91064:(St,We,e)=>{var v=e(50946),R=e(27064),x=e(38122),T=e(3765);class y extends v.ks{constructor(){super({id:"expandLineSelection",label:(0,T.aS)(1289,"Expand Line Selection"),precondition:void 0,kbOpts:{weight:0,kbExpr:
905x.R.textInputFocus,primary:2090}})}run(g,L,b){if(b=b||{},!L.hasModel())return;const C=L._getViewModel();C.model.pushStackElement(),C.setCursorStates(b.source,3,R.c.expandLineSelection(C,C.getCursorStates())),C.revealAllCursors(b.source,!0)}}(0,v.Fl)(y)},91178:(St,We,e)=>{e.d(We,{L:()=>R});var v=e(3765);const R=Object.freeze({View:(0,v.aS)(1692,"View"),Help:(0,v.aS)(1693,"Help"),Test:(0,v.aS)(1694,"Test"),File:(0,v.aS)(1695,"File"),Preferences:(0,v.aS)(1696,"Preferences"),Developer:(0,v.aS)(1697,"Developer")})},91265:(St,We,e)=>{e.d(We,{K:()=>R,r:()=>v});const v="editor.semanticHighlighting";function R(x,T,y){const A=y.getValue(v,{overrideIdentifier:x.getLanguageId(),resource:x.uri})?.enabled;return typeof A=="boolean"?A:T.getColorTheme().semanticHighlighting}},91818:(St,We,e)=>{e.d(We,{n:()=>T,s:()=>y});var v=e(14333),R=e(58881);const x=new RegExp(`(\\\\)?\\$\\((${R.L.iconNameExpression}(?:${R.L.iconModifierExpression})?)\\)`,"g");function T(A,g){const L=new Array;let b,C=0,u=0;for(;(b=x.exec(A))!==null;){u=b.index||0,C<u&&L.push(A.substring(C,u)),C=(b.index||0)+b[0].length;const[,i,r]=b;L.push(i?`$(${r})`:y({id:r},g))}return C<A.length&&L.push(A.substring(C)),L}function y(A,g){const L=(0,v.$)("span"),b=R.L.asClassNameArray(A);return g&&b.push("codicon-colored"),L.classList.add(...b),L}},91860:(St,We,e)=>{e.d(We,{PD:()=>A,l0:()=>g,sV:()=>x});var v=e(63339),R=e(67167);const x={EDITORS:"CodeEditors",FILES:"CodeFiles"};class T{}const y={DragAndDropContribution:"workbench.contributions.dragAndDrop"};R.O.add(y.DragAndDropContribution,new T);const L=class L{constructor(){}static getInstance(){return L.INSTANCE}hasData(C){return C&&C===this.proto}getData(C){if(this.hasData(C))return this.data}};L.INSTANCE=new L;let A=L;function g(b){if(v.ib&&typeof globalThis.vscode?.webUtils?.getPathForFile=="function")return globalThis.vscode?.webUtils?.getPathForFile(b)}},91934:(St,We,e)=>{e.d(We,{n:()=>T});var v=e(85525),R=e(15365),x=e(28061);const y=class y{async provideSelectionRanges(g,L){const b=[];for(const C of L){const u=[];b.push(u);const i=new Map;await new Promise(r=>y._bracketsRightYield(r,0,g,C,i)),await new Promise(r=>y._bracketsLeftYield(r,0,g,C,i,u))}return b}static _bracketsRightYield(g,L,b,C,u){const i=new Map,r=Date.now();for(;;){if(L>=y._maxRounds){g();break}if(!C){g();break}const d=b.bracketPairs.findNextBracket(C);if(!d){g();break}if(Date.now()-r>y._maxDuration){setTimeout(()=>y._bracketsRightYield(g,L+1,b,C,u));break}if(d.bracketInfo.isOpeningBracket){const o=d.bracketInfo.bracketText,c=i.has(o)?i.get(o):0;i.set(o,c+1)}else{const o=d.bracketInfo.getOpeningBrackets()[0].bracketText;let c=i.has(o)?i.get(o):0;if(c-=1,i.set(o,Math.max(0,c)),c<0){let a=u.get(o);a||(a=new v.w,u.set(o,a)),a.push(d.range)}}C=d.range.getEndPosition()}}static _bracketsLeftYield(g,L,b,C,u,i){const r=new Map,d=Date.now();for(;;){if(L>=y._maxRounds&&u.size===0){g();break}if(!C){g();break}const l=b.bracketPairs.findPrevBracket(C);if(!l){g();break}if(Date.now()-d>y._maxDuration){setTimeout(()=>y._bracketsLeftYield(g,L+1,b,C,u,i));break}if(l.bracketInfo.isOpeningBracket){const c=l.bracketInfo.bracketText;let a=r.has(c)?r.get(c):0;if(a-=1,r.set(c,Math.max(0,a)),a<0){const p=u.get(c);if(p){const _=p.shift();p.size===0&&u.delete(c);const E=x.Q.fromPositions(l.range.getEndPosition(),_.getStartPosition()),S=x.Q.fromPositions(l.range.getStartPosition(),_.getEndPosition());i.push({range:E}),i.push({range:S}),y._addBracketLeading(b,S,i)}}}else{const c=l.bracketInfo.getOpeningBrackets()[0].bracketText,a=r.has(c)?r.get(c):0;r.set(c,a+1)}C=l.range.getStartPosition()}}static _addBracketLeading(g,L,b){if(L.startLineNumber===L.endLineNumber)return;const C=L.startLineNumber,u=g.getLineFirstNonWhitespaceColumn(C);u!==0&&u!==L.startColumn&&(b.push({range:x.Q.fromPositions(new R.y(C,u),L.getEndPosition())}),b.push({range:x.Q.fromPositions(new R.y(C,1),L.getEndPosition())}));const i=C-1;if(i>0){const r=g.getLineFirstNonWhitespaceColumn(i);r===L.startColumn&&r!==g.getLineLastNonWhitespaceColumn(i)&&(b.push({range:x.Q.fromPositions(new R.y(i,r),L.getEndPosition())}),b.push({range:x.Q.fromPositions(new R.y(i,1),L.getEndPosition())}))}}};y._maxDuration=30,y._maxRounds=2;let T=y},92215:(St,We,e)=>{e.d(We,{W:()=>T});var v=e(80816),R=e(15365),x=e(28061);const y=class y{static betweenPositions(g,L){return g.lineNumber===L.lineNumber?new y(0,L.column-g.column):new y(L.lineNumber-g.lineNumber,L.column-1)}static fromPosition(g){return new y(g.lineNumber-1,g.column-1)}static ofRange(g){return y.betweenPositions(g.getStartPosition(),g.getEndPosition())}static ofText(g){let L=0,b=0;for(const C of g)C===`
906`?(L++,b=0):b++;return new y(L,b)}constructor(g,L){this.lineCount=g,this.columnCount=L}isGreaterThanOrEqualTo(g){return this.lineCount!==g.lineCount?this.lineCount>g.lineCount:this.columnCount>=g.columnCount}add(g){return g.lineCount===0?new y(this.lineCount,this.columnCount+g.columnCount):new y(this.lineCount+g.lineCount,g.columnCount)}createRange(g){return this.lineCount===0?new x.Q(g.lineNumber,g.column,g.lineNumber,g.column+this.columnCount):new x.Q(g.lineNumber,g.column,g.lineNumber+this.lineCount,this.columnCount+1)}toRange(){return new x.Q(1,1,this.lineCount+1,this.columnCount+1)}toLineRange(){return v.M.ofLength(1,this.lineCount+1)}addToPosition(g){return this.lineCount===0?new R.y(g.lineNumber,g.column+this.columnCount):new R.y(g.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}};y.zero=new y(0,0);let T=y},92405:(St,We,e)=>{e.d(We,{i:()=>R});var v=e(10998);class R extends v.jG{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(T){return!1}onCompositionEnd(T){return!1}onConfigurationChanged(T){return!1}onCursorStateChanged(T){return!1}onDecorationsChanged(T){return!1}
906onFlushed(T){return!1}onFocusChanged(T){return!1}onLanguageConfigurationChanged(T){return!1}onLineMappingChanged(T){return!1}onLinesChanged(T){return!1}onLinesDeleted(T){return!1}onLinesInserted(T){return!1}onRevealRangeRequest(T){return!1}onScrollChanged(T){return!1}onThemeChanged(T){return!1}onTokensChanged(T){return!1}onTokensColorsChanged(T){return!1}onZonesChanged(T){return!1}handleEvents(T){let y=!1;for(let A=0,g=T.length;A<g;A++){const L=T[A];switch(L.type){case 0:this.onCompositionStart(L)&&(y=!0);break;case 1:this.onCompositionEnd(L)&&(y=!0);break;case 2:this.onConfigurationChanged(L)&&(y=!0);break;case 3:this.onCursorStateChanged(L)&&(y=!0);break;case 4:this.onDecorationsChanged(L)&&(y=!0);break;case 5:this.onFlushed(L)&&(y=!0);break;case 6:this.onFocusChanged(L)&&(y=!0);break;case 7:this.onLanguageConfigurationChanged(L)&&(y=!0);break;case 8:this.onLineMappingChanged(L)&&(y=!0);break;case 9:this.onLinesChanged(L)&&(y=!0);break;case 10:this.onLinesDeleted(L)&&(y=!0);break;case 11:this.onLinesInserted(L)&&(y=!0);break;case 12:this.onRevealRangeRequest(L)&&(y=!0);break;case 13:this.onScrollChanged(L)&&(y=!0);break;case 15:this.onTokensChanged(L)&&(y=!0);break;case 14:this.onThemeChanged(L)&&(y=!0);break;case 16:this.onTokensColorsChanged(L)&&(y=!0);break;case 17:this.onZonesChanged(L)&&(y=!0);break;default:console.info("View received unknown event: "),console.info(L)}}y&&(this._shouldRender=!0)}}},92557:(St,We,e)=>{e.d(We,{$:()=>Qe});var v=e(14333),R=e(77439),x=e(10998),T=e(3765),y=e(36930),A=e(76357),g=e(67159),L=e(67954),b=e(27969),C=e(78903),u=e(5915),i=e(2106),r=e(90028),d=e(63339),l=e(58881),o=e(37264),c=e(52348),a=e(56071),p=e(54435),_=e(3273),E=e(87676),S=e(18382),h=e(75962),D=e(73858),k=e(69227),N=e(82735),W=e(75712),U=e(10680),$=e(58687),te=e(94865),ne=e(74707),V=e(16085),I=e(82399),H=function(Ee,Ie,Ue,$e){var Ye=arguments.length,Ce=Ye<3?Ie:$e===null?$e=Object.getOwnPropertyDescriptor(Ie,Ue):$e,He;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ce=Reflect.decorate(Ee,Ie,Ue,$e);else for(var Ke=Ee.length-1;Ke>=0;Ke--)(He=Ee[Ke])&&(Ce=(Ye<3?He(Ce):Ye>3?He(Ie,Ue,Ce):He(Ie,Ue))||Ce);return Ye>3&&Ce&&Object.defineProperty(Ie,Ue,Ce),Ce},Z=function(Ee,Ie){return function(Ue,$e){Ie(Ue,$e,Ee)}},X;const G="acceptSelectedCodeAction",Y="previewSelectedCodeAction";class j{get templateId(){return"header"}renderTemplate(Ie){Ie.classList.add("group-header");const Ue=document.createElement("span");return Ie.append(Ue),{container:Ie,text:Ue}}renderElement(Ie,Ue,$e){$e.text.textContent=Ie.group?.title??Ie.label??""}disposeTemplate(Ie){}}class z{get templateId(){return"separator"}renderTemplate(Ie){Ie.classList.add("separator");const Ue=document.createElement("span");return Ie.append(Ue),{container:Ie,text:Ue}}renderElement(Ie,Ue,$e){$e.text.textContent=Ie.label??""}disposeTemplate(Ie){}}let ie=class{get templateId(){return"action"}constructor(Ie,Ue,$e,Ye,Ce,He,Ke,qe,ht){this._supportsPreview=Ie,this._onRemoveItem=Ue,this._onShowSubmenu=$e,this._hasAnySubmenuActions=Ye,this._groupTitleByIndex=Ce,this._linkHandler=He,this._hideDefaultKeybindingTooltip=Ke,this._keybindingService=qe,this._openerService=ht}renderTemplate(Ie){Ie.classList.add(this.templateId);const Ue=document.createElement("div");Ue.className="icon",Ie.append(Ue);const $e=document.createElement("span");$e.className="title",Ie.append($e);const Ye=document.createElement("span");Ye.className="action-item-badge",Ie.append(Ye);const Ce=document.createElement("span");Ce.className="description",Ie.append(Ce);const He=document.createElement("span");He.className="group-title",Ie.append(He);const Ke=document.createElement("span");Ke.className="detail",Ie.append(Ke);const qe=new g.x(Ie,d.OS),ht=document.createElement("div");ht.className="action-list-item-toolbar",Ie.append(ht);const Te=document.createElement("div");Te.className="action-list-submenu-indicator",Ie.append(Te);const oe=new x.Cm;return{container:Ie,icon:Ue,text:$e,detail:Ke,badge:Ye,description:Ce,groupTitle:He,keybinding:qe,toolbar:ht,submenuIndicator:Te,elementDisposables:oe}}renderElement(Ie,Ue,$e){if($e.elementDisposables.clear(),Ie.group?.icon?($e.icon.className=l.L.asClassName(Ie.group.icon),Ie.group.icon.color&&($e.icon.style.color=(0,E.Gu)(Ie.group.icon.color.id))):($e.icon.className=l.L.asClassName(u.W.lightBulb),$e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!Ie.item||!Ie.label)return;if((0,v.bo)(!Ie.hideIcon,$e.icon),Ie.isSectionToggle){const qe=Ie.group?.icon===u.W.chevronDown;$e.container.setAttribute("aria-expanded",String(qe))}else $e.container.removeAttribute("aria-expanded");if($e.previousClassName&&$e.container.classList.remove($e.previousClassName),$e.container.classList.toggle("action-list-custom",!!Ie.className),Ie.className&&$e.container.classList.add(Ie.className),$e.previousClassName=Ie.className,$e.text.textContent=xe(Ie.label),Ie.badge?($e.badge.textContent=Ie.badge,$e.badge.style.display=""):($e.badge.textContent="",$e.badge.style.display="none"),Ie.keybinding)$e.description.textContent=Ie.keybinding.getLabel(),$e.description.style.display="inline",$e.description.style.letterSpacing="0.5px";else if(Ie.description){if((0,v.w_)($e.description),typeof Ie.description=="str
906ing")$e.description.textContent=xe(Ie.description);else{const qe=(0,y.Gc)(Ie.description,{actionHandler:ht=>{const Te=o.r.parse(ht);this._linkHandler?this._linkHandler(Te,Ie):this._openerService.open(Te,{allowCommands:!0})}});$e.elementDisposables.add(qe),$e.description.appendChild(qe.element)}$e.description.style.display="inline"}else $e.description.textContent="",$e.description.style.display="none";const Ye=this._groupTitleByIndex.get(Ue);Ye?($e.groupTitle.textContent=Ye,$e.groupTitle.style.display=""):($e.groupTitle.textContent="",$e.groupTitle.style.display="none"),Ie.detail?($e.detail.textContent=xe(Ie.detail),$e.detail.style.display=""):($e.detail.textContent="",$e.detail.style.display="none");const Ce=this._keybindingService.lookupKeybinding(G)?.getLabel(),He=this._keybindingService.lookupKeybinding(Y)?.getLabel();$e.container.classList.toggle("option-disabled",!!Ie.disabled),Ie.hover!==void 0?$e.container.title="":Ie.tooltip?$e.container.title=Ie.tooltip:Ie.disabled?$e.container.title=Ie.label:this._hideDefaultKeybindingTooltip?$e.container.title="":Ce&&He?this._supportsPreview&&Ie.canPreview?$e.container.title=(0,T.kg)(1705,"{0} to Apply, {1} to Preview",Ce,He):$e.container.title=(0,T.kg)(1706,"{0} to Apply",Ce):$e.container.title="",(0,v.w_)($e.toolbar);const Ke=[...Ie.toolbarActions??[]];if(Ie.onRemove&&Ke.push((0,b.ih)({id:"actionList.remove",label:(0,T.kg)(1707,"Remove"),class:l.L.asClassName(u.W.close),run:async()=>{await Ie.onRemove(),this._onRemoveItem?.(Ie)}})),$e.container.classList.toggle("has-toolbar",Ke.length>0),Ke.length>0){const qe=new R.E($e.toolbar);$e.elementDisposables.add(qe),qe.push(Ke,{icon:!0,label:!1})}Ie.submenuActions?.length&&!Ie.hover?.content?($e.submenuIndicator.className="action-list-submenu-indicator has-submenu "+l.L.asClassName(u.W.chevronRight),$e.submenuIndicator.style.display="",$e.submenuIndicator.style.visibility="",$e.elementDisposables.add((0,v.ko)($e.submenuIndicator,v.Bx.CLICK,qe=>{qe.stopPropagation(),this._onShowSubmenu?.(Ie)}))):this._hasAnySubmenuActions?($e.submenuIndicator.className="action-list-submenu-indicator",$e.submenuIndicator.style.display="",$e.submenuIndicator.style.visibility="hidden"):($e.submenuIndicator.className="action-list-submenu-indicator",$e.submenuIndicator.style.display="none")}disposeTemplate(Ie){Ie.keybinding.dispose(),Ie.elementDisposables.dispose()}};ie=H([Z(7,a.b),Z(8,p.Cr)],ie);class re extends UIEvent{constructor(){super("acceptSelectedAction")}}class de extends UIEvent{constructor(){super("previewSelectedAction")}}function le(Ee){if(Ee.kind==="action")return Ee.label}let he=X=class extends x.jG{constructor(Ie,Ue,$e,Ye,Ce,He,Ke,qe,ht){if(super(),this._supportsPreview=Ue,this._delegate=Ye,this._options=He,this._keybindingService=Ke,this._openerService=qe,this._instantiationService=ht,this._headerLineHeight=24,this._separatorLineHeight=8,this.cts=this._register(new C.Qi),this._submenuDisposables=this._register(new x.Cm),this._collapsedSections=new Set,this._filterText="",this._suppressHover=!1,this._hasLaidOut=!1,this._filterCts=this._register(new x.HE),this._groupTitleByIndex=new Map,this._onDidRequestLayout=this._register(new i.vl),this.onDidRequestLayout=this._onDidRequestLayout.event,this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._options?.inlineDescription&&this.domNode.classList.add("inline-description"),this._options?.className){const ue=this._options.className.split(/\s+/).filter(J=>J.length>0);ue.length>0&&this.domNode.classList.add(...ue)}if(this._actionLineHeight=24,this._submenuContainer=document.createElement("div"),this._submenuContainer.className="action-list-submenu-panel action-widget",this._submenuContainer.style.display="none",this._submenuContainer.tabIndex=-1,this.domNode.append(this._submenuContainer),this._register((0,v.ko)(this._submenuContainer,"mouseenter",()=>{this._cancelSubmenuHide()})),this._register((0,v.ko)(this._submenuContainer,"mouseleave",()=>{this._scheduleSubmenuHide()})),this._register((0,x.s)(()=>{this._cancelSubmenuHide(),this._cancelSubmenuShow()})),this._options?.collapsedByDefault)for(const ue of this._options.collapsedByDefault)this._collapsedSections.add(ue);const Te={getHeight:ue=>this._getItemHeight(ue),getTemplateId:ue=>ue.kind},q=(this._options?.reserveSubmenuSpace??!0)&&$e.some(ue=>!!ue.submenuActions?.length&&!ue.hover?.content);if(this._list=this._register(new L.B8(Ie,this.domNode,Te,[new ie(this._supportsPreview,ue=>this._removeItem(ue),ue=>this._showSubmenuForItem(ue),q,this._groupTitleByIndex,this._options?.linkHandler,this._options?.hideDefaultKeybindingTooltip??!1,this._keybindingService,this._openerService),new j,new z],{keyboardSupport:!1,typeNavigationEnabled:!this._options?.showFilter,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:le}
906,accessibilityProvider:{getAriaLabel:ue=>{if(ue.kind==="action"){let J=ue.label?xe(ue?.label):"";if(ue.detail&&(J=J+", "+xe(ue.detail)),ue.ariaDescription)J=J+", "+xe(ue.ariaDescription);else if(ue.description){const ve=typeof ue.description=="string"?ue.description:ue.description.value;J=J+", "+xe(ve)}if(ue.hover?.content&&!ue.ariaDescription&&!ue.description){const ve=ue.hover.content,De=typeof ve=="string"?ve:(0,r.VS)(ve)?ve.value:(0,v.sb)(ve)?ve.textContent??void 0:void 0;De&&(!ue.detail||xe(ue.detail)!==xe(De))&&(J=J+", "+xe(De))}return ue.group?.title&&(J=J+", "+ue.group.title),ue.disabled&&(J=(0,T.kg)(1708,"{0}, Disabled Reason: {1}",J,ue.disabled)),ue.submenuActions?.length&&(J=(0,T.kg)(1709,"{0}, use right arrow to access options",J)),J}return null},getWidgetAriaLabel:()=>(0,T.kg)(1710,"Action Widget"),getRole:ue=>{switch(ue.kind){case"action":return"option";case"separator":return"separator";default:return"separator"}},getWidgetRole:()=>"listbox",...Ce}})),this._list.style(_.IN),this._register(this._list.onMouseClick(ue=>this.onListClick(ue))),this._register(this._list.onMouseOver(ue=>this.onListHover(ue))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(ue=>this.onListSelection(ue))),this._allMenuItems=[...$e],this._options?.showFilter||this._options?.secondaryHeading){this._filterContainer=document.createElement("div"),this._filterContainer.className="action-list-filter";const ue=(0,v.BC)(this._filterContainer,(0,v.$)(".action-list-filter-row"));if(this._options?.showFilter){this._filterInput=document.createElement("input"),this._filterInput.type="text",this._filterInput.className="action-list-filter-input",this._filterInput.placeholder=this._options?.filterPlaceholder??(0,T.kg)(1711,"Search..."),this._filterInput.setAttribute("aria-label",(0,T.kg)(1712,"Filter items")),ue.appendChild(this._filterInput);const J=this._options?.filterActions??[];if(J.length>0){const ve=(0,v.BC)(ue,(0,v.$)(".action-list-filter-actions"));this._register(new R.E(ve)).push(J,{icon:!0,label:!1})}this._register((0,v.ko)(this._filterInput,"input",()=>{this._filterText=this._filterInput.value,this._applyOrUpdateFilter()}))}if(this._options?.secondaryHeading){const J=(0,v.BC)(ue,(0,v.$)(".action-list-filter-label"));J.textContent=this._options.secondaryHeading}}if(this._options?.footerText&&(this._footerContainer=document.createElement("div"),this._footerContainer.className="action-list-footer",this._footerContainer.textContent=this._options.footerText),this._options?.headerText){if(this._headerContainer=document.createElement("div"),this._headerContainer.className="action-list-header",this._options.headerIcon){const J=(0,v.BC)(this._headerContainer,(0,v.$)("span.action-list-header-icon"));J.classList.add(...l.L.asClassNameArray(this._options.headerIcon)),J.setAttribute("aria-hidden","true")}const ue=(0,v.BC)(this._headerContainer,(0,v.$)("span.action-list-header-text"));ue.textContent=this._options.headerText}this._applyFilter(),this._list.length&&this._focusCheckedOrFirst(),this._register((0,v.ko)(this.domNode,"keydown",ue=>{if(ue.key==="ArrowRight"){const J=this._list.getFocus();if(J.length>0){const ve=this._list.element(J[0]);if(ve?.submenuActions?.length){v.fs.stop(ue,!0);const De=this._getRowElement(J[0]);De&&(this._showSubmenuForElement(ve,De),this._currentSubmenuWidget?.focus())}}}})),this._filterInput&&this._register((0,v.ko)(this.domNode,"keydown",ue=>{this._filterInput&&!(0,v.X7)(this._filterInput)&&ue.key.length===1&&ue.key!==" "&&!ue.ctrlKey&&!ue.metaKey&&!ue.altKey&&(this._filterInput.focus(),this._filterInput.value=ue.key,this._filterText=ue.key,this._applyOrUpdateFilter(),ue.preventDefault(),ue.stopPropagation())}))}_toggleSection(Ie){this._collapsedSections.has(Ie)?this._collapsedSections.delete(Ie):this._collapsedSections.add(Ie),this._options?.onDidToggleSection?.(Ie,this._collapsedSections.has(Ie)),this._applyFilter()}_applyOrUpdateFilter(){if(!this._delegate.onFilter){this._applyFilter();return}const Ie=this._filterText;this._filterCts.value?.cancel();const Ue=new C.Qi;this._filterCts.value=Ue,this._delegate.onFilter(Ie,Ue.token).then($e=>{Ue.token.isCancellationRequested||(this._allMenuItems=[...$e],this._applyFilter(!0))}).catch(()=>{})}_applyFilter(Ie=!1,Ue=!0){const $e=Ie?"":this._filterText.toLowerCase(),Ye=!Ie&&$e.length>0,Ce=[],He=this._list.getFocus();let Ke;if(He.length>0&&(Ke=this._list.element(He[0])),Ye){let ue,J=[],ve=!1;const De=()=>{ue&&ve&&Ce.push(ue),Ce.push(...J),ue=void 0,J=[],ve=!1},fe=Se=>{const pe=(Se.label??"").toLowerCase(),Ae=typeof Se.description=="str
906ing"?Se.description:Se.description?.value??"";return pe.includes($e)||Ae.toLowerCase().includes($e)};for(const Se of this._allMenuItems)if(Se.kind!=="header"){if(Se.kind==="separator"){De(),ue=Se.label?Se:void 0;continue}if(Se.showAlways){J.push(Se);continue}Se.isSectionToggle||fe(Se)&&(ve=!0,J.push(Se))}De()}else for(const ue of this._allMenuItems){if(ue.kind==="header"){Ce.push(ue);continue}if(ue.kind==="separator"){if(ue.section&&this._collapsedSections.has(ue.section))continue;Ce.push(ue);continue}if(ue.isSectionToggle&&ue.section){const J=this._collapsedSections.has(ue.section);Ce.push({...ue,group:{...ue.group,icon:J?u.W.chevronRight:u.W.chevronDown}});continue}ue.section&&this._collapsedSections.has(ue.section)||Ce.push(ue)}const qe=[];let ht=!1;for(let ue=0;ue<Ce.length;ue++)qe[ue]=ht,Ce[ue].kind==="action"&&(ht=!0);const Te=[];let oe=!1;for(let ue=Ce.length-1;ue>=0;ue--){if(Ce[ue].kind==="action"){oe=!0;continue}Ce[ue].kind==="separator"&&(Te[ue]=oe,oe=!1)}for(let ue=Ce.length-1;ue>=0;ue--){const J=Ce[ue];if(J.kind!=="separator")continue;const ve=Te[ue],De=!J.label&&!qe[ue];(!ve||De)&&Ce.splice(ue,1)}this._options?.showGroupTitleOnFirstItem&&this._recomputeGroupTitles(Ce);const q=this._filterInput&&(0,v.X7)(this._filterInput);if(this._list.splice(0,this._list.length,Ce),Ue&&this._onDidRequestLayout.fire(),q)this._filterInput?.focus(),this._focusCheckedOrFirst();else if(this._hasLaidOut&&Ke){const ue=Ke.item?.id;if(ue){for(let J=0;J<this._list.length;J++)if(this._list.element(J).item?.id===ue){this._list.setFocus([J]),this._list.reveal(J),this._list.domFocus();break}}}}get filterContainer(){return this._filterContainer}get footerContainer(){return this._footerContainer}get headerContainer(){return this._headerContainer}get filterInput(){return this._filterInput}focusCondition(Ie){return!Ie.disabled&&Ie.kind==="action"}focus(){if(this._filterInput&&this._options?.focusFilterOnOpen){this._filterInput.focus(),this._focusCheckedOrFirst();return}this._list.domFocus(),this._focusCheckedOrFirst()}clearFocus(){this._list.setFocus([])}getFocusedElement(){const Ie=this._list.getFocus();if(Ie.length>0)return this._list.element(Ie[0])}_focusCheckedOrFirst(){this._suppressHover=!0;try{for(let Ue=0;Ue<this._list.length;Ue++){const $e=this._list.element(Ue);if($e.kind==="action"&&$e.item?.checked){this._list.setFocus([Ue]),this._list.reveal(Ue);return}}this._list.focusFirst(void 0,this.focusCondition);const Ie=this._list.getFocus();Ie.length>0&&this._list.reveal(Ie[0])}finally{this._suppressHover=!1}}hide(Ie){this._delegate.onHide(Ie),this.cts.cancel(),this._filterCts.value?.cancel(),this._filterCts.clear(),this._hideSubmenu()}clearFilter(){return this._filterInput&&this._filterText?(this._filterInput.value="",this._filterText="",this._applyOrUpdateFilter(),!0):!1}get hasDynamicHeight(){return this._options?.showFilter?!0:this._allMenuItems.some(Ie=>Ie.isSectionToggle)}get lineHeight(){return this._actionLineHeight}_getItemHeight(Ie){switch(Ie.kind){case"header":return this._headerLineHeight;case"separator":return Ie.label?this._actionLineHeight:this._separatorLineHeight;default:return Ie.detail?this._options?.detailItemHeight??48:this._actionLineHeight}}computeFullHeight(){let Ie=0;for(const Ue of this._allMenuItems)Ie+=this._getItemHeight(Ue);return Ie}computeListHeight(){const Ie=this._list.length;let Ue=0;for(let $e=0;$e<Ie;$e++){const Ye=this._list.element($e);Ue+=this._getItemHeight(Ye)}return Ue}layout(Ie,Ue){this._hasLaidOut=!0,this._list.layout(Ie,Ue),this.domNode.style.height=`${Ie}px`,this._filterContainer&&this._filterContainer.parentElement&&this._filterContainer.parentElement.insertBefore(this._filterContainer,this.domNode)}computeMaxWidth(Ie){const Ue=this._list.length,$e=Math.max(Ie,this._options?.minWidth??0),Ye=this._options?.maxWidth??Number.POSITIVE_INFINITY,Ce=Math.max(Ye,$e),He=Te=>Math.min(Math.max(Te,$e),Ce);let Ke=$e;const qe=this._allMenuItems.length;if(qe>=50)return He(380);if(qe>Ue){const Te=[];for(let J=0;J<Ue;J++)Te.push(this._list.element(J));const oe=[...this._allMenuItems];this._list.splice(0,Ue,oe);let q=0;for(const J of oe)q+=this._getItemHeight(J);this._list.layout(q);const ue=[];for(let J=0;J<oe.length;J++){const ve=this._getRowElement(J);if(ve){ve.style.width="auto";const De=ve.getBoundingClientRect().width;ve.style.width="",ue.push(De+this._computeToolbarWidth(oe[J]))}}return Ke=He(Math.max(...ue)),this._list.splice(0,oe.length,Te),Ke}const ht=[];for(let Te=0;Te<Ue;Te++){const oe=this._getRowElement(Te);if(oe){oe.style.width="auto";const q=oe.getBoundingClientRect().width;oe.style.width="",ht.push(q+this._computeToolbarWidth(this._list.element(Te)))}}return He(Math.max(...ht))}focusPrevious(){if(this._filterInput&&(0,v.X7)(this._filterInput)){this._list.domFocus();const $e=this._list.getFocus();if($e.length>0){this._list.focusPrevious(1,!1,void 0,this.focusCondition);const Ye=this._list.getFocus();Ye.length>0&&Ye[0]>=$e[0]?this._filterInput.focus():Ye.length>0&&this._list.reveal(Ye[0])}else{this._list.focusLast(void 0,this.focusCondition);const Ye=this._list.getFocus();Ye.length>0&&this._list.reveal(Ye[0])}return}const Ie=this._list.getFocus();this._list.focusPrevious(1,!0,void 0,this.focusCondition);const Ue=this._list.getFocus();if(Ue.length>0){if(this._filterInput&&Ie.length>0&&Ue[0]>Ie[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(Ue[0])}}focusNext(){if(this._filterInput&&(0,v.X7)(this._filterInput)){if(this._list.domFocus(),this._list.getFocus().length>0){this._list.focusNext(1,!1,void 0,this.focusCondition);const Ye=this._list.getFocus();Ye.length>0&&this._list.reveal(Ye[0])}else{this._list.focusFirst(void 0,this.focusCondition);const Ye=this._list.getFocus();Ye.length>0&&this._list.reveal(Ye[0])}return}const Ie=this._list.getFocus();this._list.focusNext(1,!0,void 0,this.focusCondition);const Ue=this._list.getFocus();if(Ue.length>0){if(this._filterInput&&Ie.length>0&&Ue[0]<Ie[0]){this._list.setFocus([]),this._filterInput.focus();return}this._list.reveal(Ue[0])}}collapseFocusedSection(){const Ie=this._getFocusedSection();Ie&&!this._collapsedSections.has(Ie)&&this._toggleSection(Ie)}expandFocusedSection(){const Ie=this._getFocusedSection();Ie&&this._collapsedSections.has(Ie)&&this._toggleSection(Ie)}toggleFocusedSection(){const Ie=this._list.getFocus();if(Ie.length===0)return!1;const Ue=this._list.element(Ie[0]);return Ue.isSectionToggle&&Ue.section?(this._toggleSection(Ue.section),!0):!1}_getFocusedSection(){const Ie=this._list.getFocus();if(Ie.length===0)return;const Ue=this._list.element(Ie[0]);return Ue.isSectionToggle&&Ue.section,Ue.section}acceptSelected(Ie){const Ue=this._list.getFocus();if(Ue.length===0)return;const $e=Ue[0],Ye=this._list.element($e);if(!this.focusCondition(Ye))return;const Ce=Ie?new de:new re;this._list.setSelection([$e],Ce)}onListSelection(Ie){if(!Ie.elements.length)return;const Ue=Ie.elements[0];if(Ue.isSectionToggle&&Ue.section){this._list.setSelection([]);const $e=Ue.section;queueMicrotask(()=>{this._toggleSection($e)});return}if((0,v.Er)(Ie.browserEvent)){const $e=Ie.browserEvent.target;if((0,v.sb)($e)&&($e.closest(".action-list-item-toolbar")||$e.closest(".action-list-submenu-indicator"))){this._list.setSelection([]);return}}if(Ue.item&&this.focusCondition(Ue)){const $e=Ie.browserEvent instanceof de;this._delegate.onSelect(Ue.item,$e&&this._supportsPreview)}else this._list.setSelection([])}onFocus(){const Ie=this._list.getFocus();if(Ie.length===0)return;const Ue=Ie[0],$e=this._list.element(Ue);
906this._delegate.onFocus?.($e.item),this._suppressHover||this._showHoverForElement($e,Ue)}_removeItem(Ie){const Ue=this._allMenuItems.indexOf(Ie);Ue>=0&&(this._allMenuItems.splice(Ue,1),this._applyFilter())}_recomputeGroupTitles(Ie){this._groupTitleByIndex.clear();const Ue=new Set;for(let $e=0;$e<Ie.length;$e++){const Ye=Ie[$e];Ye.kind==="action"&&Ye.group?.title&&!Ue.has(Ye.group.title)&&(Ue.add(Ye.group.title),this._groupTitleByIndex.set($e,Ye.group.title))}}_computeToolbarWidth(Ie){let Ue=Ie.toolbarActions?.length??0;return Ie.onRemove&&Ue++,Ue===0?0:Ue*22+6}_getRowElement(Ie){return this.domNode.ownerDocument.getElementById(this._list.getElementID(Ie))}_showHoverForElement(Ie,Ue){if(this._currentSubmenuElement===Ie)return;const $e=!!Ie.hover?.content,Ye=!!Ie.submenuActions?.length;if($e||Ye){const Ce=this._getRowElement(Ue);Ce&&this._showSubmenuForElement(Ie,Ce);return}this._hideSubmenu()}_showSubmenuForItem(Ie){const Ue=this._list.indexOf(Ie);if(Ue>=0){const $e=this._getRowElement(Ue);$e&&this._showSubmenuForElement(Ie,$e)}}_showSubmenuForElement(Ie,Ue){if(this._currentSubmenuElement===Ie)return;this._submenuDisposables.clear(),this._currentSubmenuElement=Ie,this._clearSubmenuContainer();let $e;const Ye=Ie.hover?.content;if(Ye){if((0,v.sb)(Ye))$e=Ye,Ie.hover?.disposable&&this._register(Ie.hover.disposable);else{const dt=typeof Ye=="string"?new r.Bc(Ye):Ye,gt=this._options?.linkHandler,Bt=(0,y.Gc)(dt,{actionHandler:_t=>{const ri=o.r.parse(_t);gt?gt(ri,Ie):this._openerService.open(ri,{allowCommands:!0})}});this._submenuDisposables.add(Bt),$e=Bt.element}$e.classList.add("action-list-submenu-hover-header"),Ie.submenuActions?.length&&$e.classList.add("has-submenu"),this._submenuContainer.appendChild($e)}const Ce=!!Ie.submenuActions?.length;this._submenuContainer.style.display="",this._submenuContainer.style.position="absolute",this._submenuContainer.removeAttribute("role");const He=Ue.getBoundingClientRect(),Ke=this.domNode.getBoundingClientRect(),qe=(0,v.zk)(this.domNode);let ht=0,Te=$e?$e.offsetWidth:0;if(Ce){const dt=[],Bt=Ie.submenuActions.filter(ei=>ei instanceof b.YH).filter(ei=>ei.actions.length>0);for(let ei=0;ei<Bt.length;ei++){const Zt=Bt[ei];Zt.label&&dt.push({kind:"header",group:{title:Zt.label},label:Zt.label});for(let pt=0;pt<Zt.actions.length;pt++){const Fe=Zt.actions[pt],st=Fe,vt=st.icon??l.L.fromId(Fe.checked?u.W.check.id:u.W.blank.id),Yt=st.hoverContent;dt.push({item:Fe,kind:"action",label:Fe.label,description:Fe.tooltip||void 0,group:{title:"",icon:vt},hideIcon:!1,hover:Yt?{content:Yt}:{},onRemove:st.onRemove})}ei<Bt.length-1&&dt.push({kind:"separator",label:""})}for(const ei of Ie.submenuActions)if(!(ei instanceof b.YH)){const Zt=ei;dt.push({item:ei,kind:"action",label:ei.label,description:ei.tooltip||void 0,group:{title:""},hideIcon:!1,hover:{},onRemove:Zt.onRemove})}const _t={onHide:()=>{},onSelect:ei=>{ei.run();const Zt=this._currentSubmenuElement?.item;this._hideSubmenu(),Zt&&this._delegate.onSelect(Zt),this.hide()}},ri=this._submenuDisposables.add(this._instantiationService.createInstance(X,"submenu",!1,dt,_t,void 0,void 0));this._submenuContainer.appendChild(ri.domNode),this._currentSubmenuWidget=ri,ri.clearFocus(),ht=ri.computeListHeight(),ri.layout(ht);const Gt=ri.computeMaxWidth(0);Te=Math.max(Te,Gt),ri.layout(ht,Te),ri.domNode.style.width=`${Te}px`,this._submenuDisposables.add((0,v.ko)(ri.domNode,"keydown",ei=>{if(ei.key==="ArrowLeft"||ei.key==="Escape")v.fs.stop(ei,!0),this._hideSubmenu(),this._list.domFocus();else if(ei.key==="Enter"){v.fs.stop(ei,!0);const Zt=ri.getFocusedElement();if(Zt?.item){Zt.item.run();const pt=this._currentSubmenuElement?.item;this._hideSubmenu(),pt&&this._delegate.onSelect(pt),this.hide()}}else ei.key==="ArrowDown"?(v.fs.stop(ei,!0),ri.focusNext()):ei.key==="ArrowUp"&&(v.fs.stop(ei,!0),ri.focusPrevious())}))}const q=qe.innerWidth-He.right,ue=Ke.left,J=Te+10,ve=4;q>=J||q>=ue?this._submenuContainer.style.left=`${Ke.right-Ke.left+ve}px`:this._submenuContainer.style.left=`${-J-ve}px`;const De=$e?$e.offsetHeight:0,fe=ht+De,Se=qe.innerHeight,pe=He.height;let Ae=He.top-Ke.top+(pe-fe)/2;const Xe=Ke.top+Ae+fe;Xe>Se&&(Ae-=Xe-Se+8),Ke.top+Ae<0&&(Ae=-Ke.top),this._submenuContainer.style.top=`${Ae}px`}_hideSubmenu(){this._cancelSubmenuHide(),this._cancelSubmenuShow(),this._submenuDisposables.clear(),this._currentSubmenuWidget=void 0,this._currentSubmenuElement=void 0,this._clearSubmenuContainer(),this._submenuContainer.style.display="none"}_clearSubmenuContainer(){this._submenuContainer.contains((0,v.bq)())&&this._list.domFocus(),(0,v.w_)(this._submenuContainer)}_scheduleSubmenuHide(){this._cancelSubmenuHide(),this._submenuHideTimeout=setTimeout(()=>{this._hideSubmenu()},300)}_cancelSubmenuHide(){this._submenuHideTimeout!==void 0&&(clearTimeout(this._submenuHideTimeout),this._submenuHideTimeout=void 0)}_scheduleSubmenuShow(Ie,Ue){this._cancelSubmenuShow(),this._submenuShowTimeout=setTimeout(()=>{this._submenuShowTimeout=void 0;const $e=typeof Ue=="number"?this._getRowElement(Ue):null;$e&&this._showSubmenuForElement(Ie,$e)},500)}_cancelSubmenuShow(){this._submenuShowTimeout!==void 0&&(clearTimeout(this._submenuShowTimeout),this._submenuShowTimeout=void 0)}async onListHover(Ie){const Ue=Ie.element;if(Ue&&Ue.item&&this.focusCondition(Ue)){if((0,v.sb)(Ie.browserEvent.target)&&Ie.browserEvent.target.closest(".action-list-item-toolbar")!==null){Ue.submenuActions?.length||this._cancelSubmenuShow(),this._list.setFocus([]);return}const Ye=!!(Ue.submenuActions?.length||Ue.hover?.content);if(Ye&&(this._suppressHover=!0),this._list.setFocus(typeof Ie.index=="number"?[Ie.index]:[]),Ye&&(this._suppressHover=!1),Ye){this._currentSubmenuElement===Ue?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._hideSubmenu(),this._scheduleSubmenuShow(Ue,Ie.index));return}if(this._currentSubmenuElement===Ue?this._cancelSubmenuHide():(this._cancelSubmenuShow(),this._hideSubmenu()),this._delegate.onHover&&!Ue.disabled&&Ue.kind==="action"&&this._currentSubmenuElement!==Ue){const Ce=await this._delegate.onHover(Ue.item,this.cts.token),He=Ce?Ce.canPreview:void 0;He!==Ue.canPreview&&(Ue.canPreview=He,typeof Ie.index=="number"&&(this._list.splice(Ie.index,1,[Ue]),this._list.setFocus([Ie.index])))}}else Ue&&Ue.hover?.content&&typeof Ie.index=="number"&&(this._currentSubmenuElement===Ue?(this._cancelSubmenuHide(),this._cancelSubmenuShow()):(this._hideSubmenu(),this._scheduleSubmenuShow(Ue,Ie.index)))}onListClick(Ie){Ie.element&&this.focusCondition(Ie.element)&&this._list.setFocus([])}};he=X=H([Z(6,a.b),Z(7,p.Cr),Z(8,I._Y)],he);let we=class extends x.jG{get domNode(){return this._widget.domNode}get filterContainer(){return this._widget.filterContainer}get footerContainer(){return this._widget.footerContainer}get headerContainer(){return this._widget.headerContainer}get filterInput(){return this._widget.filterInput}get anchorPosition(){if(this._showAbove!==void 0)return this._showAbove?1:0}constructor(Ie,Ue,$e,Ye,Ce,He,Ke,qe,ht,Te){super(),this._contextViewService=qe,this._layoutService=ht,this._lastMinWidth=0,this._hasLaidOut=!1,this._anchor=Ke,this._widget=this._register(Te.createInstance(he,Ie,Ue,$e,Ye,Ce,He)),this._register(this._widget.onDidRequestLayout(()=>{this._hasLaidOut&&(this.layout(this._lastMinWidth),this._contextViewService.layout())}))}focus(){this._widget.focus()}hide(Ie){this._widget.hide(Ie),this._contextViewService.hideContextView()}clearFilter(){return this._widget.clearFilter()}focusPrevious(){this._widget.focusPrevious()}focusNext(){this._widget.focusNext()}collapseFocusedSection(){this._widget.collapseFocusedSection()}expandFocusedSection(){this._widget.expandFocusedSection()}toggleFocusedSection(){return this._widget.toggleFocusedSection()}acceptSelected(Ie){this._widget.acceptSelected(Ie)}hasDynamicHeight(){return this._widget.hasDynamicHeight}computeActionWidgetVerticalChromeHeight(){const Ie=this.domNode.parentElement?.closest(".action-widget");if(!Ie)return 0;const Ue=(0,v.zk)(Ie).getComputedStyle(Ie),$e=Ye=>Number.parseFloat(Ye)||0;return $e(Ue.paddingTop)+$e(Ue.paddingBottom)+$e(Ue.borderTopWidth)+$e(Ue.borderBottomWidth)}computeHeight(){const Ie=this._widget.computeListHeight(),Ue=this._widget.filterContainer?36:0,$e=this._widget.footerContainer?32:0,Ye=this._widget.headerContainer?this._widget.headerContainer.offsetHeight||36:0,Ce=Ue+$e+Ye,He=(0,v.zk)(this.domNode);let Ke;
906if(this.hasDynamicHeight()){const q=He.innerHeight,ue=(0,A.KG)(this._anchor),J=ue.top-He.pageYOffset,De=q-J-ue.height-30,fe=J;if(this._showAbove===void 0){const Se=Ce+this._widget.computeFullHeight();this._showAbove=Se>De&&fe>De}Ke=Math.max(0,(this._showAbove?fe:De)-this.computeActionWidgetVerticalChromeHeight())}else{const ue=this._layoutService.getContainer(He).clientHeight,J=this.domNode.getBoundingClientRect().top;Ke=J>0?ue-J-10:ue*.7}const qe=Math.floor(He.innerHeight*.6),ht=this._widget.lineHeight,Te=Math.min(Math.max(Ke,ht*3+Ce),qe);return Math.min(Ie+Ce,Te)-Ce}layout(Ie){this._hasLaidOut=!0,this._lastMinWidth=Ie;const Ue=this.computeHeight();this._widget.layout(Ue);const $e=this._widget.computeMaxWidth(Ie);return this._cachedMaxWidth=$e,this._widget.layout(Ue,this._cachedMaxWidth),this._cachedMaxWidth}};we=H([Z(7,c.l),Z(8,V.x),Z(9,I._Y)],we);function xe(Ee){return Ee.replace(/\r\n|\r|\n/g," ")}var Be=e(58067),M=e(31540),Ve=e(66726),Me=function(Ee,Ie,Ue,$e){var Ye=arguments.length,Ce=Ye<3?Ie:$e===null?$e=Object.getOwnPropertyDescriptor(Ie,Ue):$e,He;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ce=Reflect.decorate(Ee,Ie,Ue,$e);else for(var Ke=Ee.length-1;Ke>=0;Ke--)(He=Ee[Ke])&&(Ce=(Ye<3?He(Ce):Ye>3?He(Ie,Ue,Ce):He(Ie,Ue))||Ce);return Ye>3&&Ce&&Object.defineProperty(Ie,Ue,Ce),Ce},Le=function(Ee,Ie){return function(Ue,$e){Ie(Ue,$e,Ee)}};(0,E.x1)("actionBar.toggledBackground",k.c1,(0,T.kg)(1713,"Background color for toggled action items in action bar."));const _e={Visible:new M.N1("codeActionMenuVisible",!1,(0,T.kg)(1714,"Whether the action widget list is visible")),FilterFocused:new M.N1("codeActionMenuFilterFocused",!1,(0,T.kg)(1715,"Whether the action widget filter input is focused"))},Qe=(0,I.u1)("actionWidgetService");let je=class extends x.jG{get isVisible(){return _e.Visible.getValue(this._contextKeyService)||!1}constructor(Ie,Ue,$e){super(),this._contextViewService=Ie,this._contextKeyService=Ue,this._instantiationService=$e,this._list=this._register(new x.HE)}show(Ie,Ue,$e,Ye,Ce,He,Ke,qe,ht){const Te=_e.Visible.bindTo(this._contextKeyService),oe=this._instantiationService.createInstance(we,Ie,Ue,$e,Ye,qe,ht,Ce);this._contextViewService.showContextView({getAnchor:()=>Ce,render:q=>(Te.set(!0),this._renderWidget(q,oe,Ke??[])),onHide:q=>{Te.reset(),this._onWidgetClosed(q)},get anchorPosition(){return oe.anchorPosition}},He,!1)}acceptSelected(Ie){this._list.value?.acceptSelected(Ie)}focusPrevious(){this._list?.value?.focusPrevious()}focusNext(){this._list?.value?.focusNext()}collapseSection(){this._list?.value?.collapseFocusedSection()}expandSection(){this._list?.value?.expandFocusedSection()}toggleSection(){return this._list?.value?.toggleFocusedSection()??!1}clearFilter(){return this._list?.value?.clearFilter()??!1}hide(Ie){this._list.value?.hide(Ie),this._list.clear()}_renderWidget(Ie,Ue,$e){const Ye=document.createElement("div");if(Ye.classList.add("action-widget"),Ie.appendChild(Ye),this._list.value=Ue,this._list.value)this._list.value.headerContainer&&Ye.appendChild(this._list.value.headerContainer),this._list.value.filterContainer&&Ye.appendChild(this._list.value.filterContainer),Ye.appendChild(this._list.value.domNode),this._list.value.footerContainer&&Ye.appendChild(this._list.value.footerContainer);else throw new Error("List has no value");const Ce=new x.Cm,He=this._list.value.headerContainer;He&&Ce.add((0,v._9)(He,ve=>ve.preventDefault()));const Ke=document.createElement("div"),qe=Ie.appendChild(Ke);qe.classList.add("context-view-block"),Ce.add((0,v._9)(qe,ve=>ve.stopPropagation()));const ht=document.createElement("div"),Te=Ie.appendChild(ht);Te.classList.add("context-view-pointerBlock"),Ce.add((0,v.ko)(Te,v.Bx.POINTER_MOVE,()=>Te.remove())),Ce.add((0,v._9)(Te,()=>Te.remove()));let oe=0;if($e.length){const ve=this._createActionBar(".action-widget-action-bar",$e);ve&&(Ye.appendChild(ve.getContainer().parentElement),Ce.add(ve),oe=ve.getContainer().offsetWidth)}const q=this._list.value?.layout(oe);Ye.style.width=`${q}px`,this._list.value?.focus();const ue=_e.FilterFocused.bindTo(this._contextKeyService);if(Ce.add({dispose:()=>ue.reset()}),this._list.value?.filterInput){const ve=this._list.value.filterInput;Ce.add((0,v.ko)(ve,"focus",()=>ue.set(!0))),Ce.add((0,v.ko)(ve,"blur",()=>ue.set(!1)))}const J=Ce.add((0,v.w5)(Ie));return Ce.add(J.onDidBlur(()=>{const ve=(0,v.bq)();ve?.closest(".action-widget-hover")||ve?.closest(".action-list-submenu-panel")||this.hide(!0)})),Ce}_createActionBar(Ie,Ue){if(!Ue.length)return;const $e=(0,v.$)(Ie),Ye=new R.E($e);return Ye.push(Ue,{icon:!1,label:!0}),Ye}_onWidgetClosed(Ie){this._list.value?.hide(Ie)}};je=Me([Le(0,c.l),Le(1,M.fN),Le(2,I._Y)],je),(0,Ve.v)(Qe,je,1);const ae=1100;(0,Be.ug)(class extends Be.L{constructor(){super({id:"hideCodeActionWidget",title:(0,T.aS)(1716,"Hide action widget"),precondition:_e.Visible,keybinding:{weight:ae,primary:9,secondary:[1033]}})}run(Ee){Ee.get(Qe).hide(!0)}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"clearFilterCodeActionWidget",title:(0,T.aS)(1717,"Clear action widget filter"),precondition:M.M$.and(_e.Visible,_e.FilterFocused),keybinding:{weight:ae+1,primary:9}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&(Ie.clearFilter()||Ie.hide(!0))}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"selectPrevCodeAction",title:(0,T.aS)(1718,"Select previous action"),precondition:_e.Visible,keybinding:{weight:ae,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.focusPrevious()}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"selectNextCodeAction",title:(0,T.aS)(1719,"Select next action"),precondition:_e.Visible,keybinding:{weight:ae,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.focusNext()}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"collapseSectionCodeAction",title:(0,T.aS)(1720,"Collapse section"),precondition:M.M$.and(_e.Visible,_e.FilterFocused.negate()),keybinding:{weight:ae,primary:15}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.collapseSection()}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"expandSectionCodeAction",title:(0,T.aS)(1721,"Expand section"),precondition:M.M$.and(_e.Visible,_e.FilterFocused.negate()),keybinding:{weight:ae,primary:17}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.expandSection()}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:"toggleSectionCodeAction",title:(0,T.aS)(1722,"Toggle section"),precondition:M.M$.and(_e.Visible,_e.FilterFocused.negate()),keybinding:{weight:ae,primary:10}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&(Ie.toggleSection()||Ie.acceptSelected())}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:G,title:(0,T.aS)(1723,"Accept selected action"),precondition:_e.Visible,keybinding:{weight:ae,primary:3,secondary:[2137]}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.acceptSelected()}}),(0,Be.ug)(class extends Be.L{constructor(){super({id:Y,title:(0,T.aS)(1724,"Preview selected action"),precondition:_e.Visible,keybinding:{weight:ae,primary:2051}})}run(Ee){const Ie=Ee.get(Qe);Ie instanceof je&&Ie.acceptSelected(!0)}})},93516:(St,We,e)=>{e.d(We,{aR:()=>h,dt:()=>p,l1:()=>E,ob:()=>a,p3:()=>$,r3:()=>te});var v=e(78903),R=e(94327),x=e(1174),T=e(10998),y=e(23013),A=e(79359),g=e(37264),L=e(15365),b=e(28061),C=e(37042),u=e(47039),i=e(3765),r=e(58067),d=e(82096),l=e(31540),o=e(29849),c=e(33242);const a={Visible:c.dg,HasFocusedSuggestion:new l.N1("suggestWidgetHasFocusedSuggestion",!1,(0,i.kg)(1505,"Whether any suggestion is focused")),DetailsVisible:new l.N1("suggestWidgetDetailsVisible",!1,(0,i.kg)(1506,"Whether suggestion details are visible")),DetailsFocused:new l.N1("suggestWidgetDetailsFocused",!1,
906(0,i.kg)(1507,"Whether the details pane of the suggest widget has focus")),MultipleSuggestions:new l.N1("suggestWidgetMultipleSuggestions",!1,(0,i.kg)(1508,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new l.N1("suggestionMakesTextEdit",!0,(0,i.kg)(1509,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new l.N1("acceptSuggestionOnEnter",!0,(0,i.kg)(1510,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new l.N1("suggestionHasInsertAndReplaceRange",!1,(0,i.kg)(1511,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new l.N1("suggestionInsertMode",void 0,{type:"string",description:(0,i.kg)(1512,"Whether the default behaviour is to insert or replace")}),CanResolve:new l.N1("suggestionCanResolve",!1,(0,i.kg)(1513,"Whether the current suggestion supports to resolve further details"))},p=new r.D8("suggestWidgetStatusBar");class _{constructor(I,H,Z,X){this.position=I,this.completion=H,this.container=Z,this.provider=X,this.isInvalid=!1,this.score=x.ne.Default,this.distance=0,this.textLabel=typeof H.label=="string"?H.label:H.label?.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=H.sortText&&H.sortText.toLowerCase(),this.filterTextLow=H.filterText&&H.filterText.toLowerCase(),this.extensionId=H.extensionId,b.Q.isIRange(H.range)?(this.editStart=new L.y(H.range.startLineNumber,H.range.startColumn),this.editInsertEnd=new L.y(H.range.endLineNumber,H.range.endColumn),this.editReplaceEnd=new L.y(H.range.endLineNumber,H.range.endColumn),this.isInvalid=this.isInvalid||b.Q.spansMultipleLines(H.range)||H.range.startLineNumber!==I.lineNumber):(this.editStart=new L.y(H.range.insert.startLineNumber,H.range.insert.startColumn),this.editInsertEnd=new L.y(H.range.insert.endLineNumber,H.range.insert.endColumn),this.editReplaceEnd=new L.y(H.range.replace.endLineNumber,H.range.replace.endColumn),this.isInvalid=this.isInvalid||b.Q.spansMultipleLines(H.range.insert)||b.Q.spansMultipleLines(H.range.replace)||H.range.insert.startLineNumber!==I.lineNumber||H.range.replace.startLineNumber!==I.lineNumber||H.range.insert.startColumn!==H.range.replace.startColumn),typeof X.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(I){if(!this._resolveCache){const H=I.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),Z=new y.W(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,I)).then(X=>{Object.assign(this.completion,X),this._resolveDuration=Z.elapsed()},X=>{(0,R.MB)(X)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{H.dispose()})}return this._resolveCache}}const ne=class ne{constructor(I=2,H=new Set,Z=new Set,X=new Map,G=!0){this.snippetSortOrder=I,this.kindFilter=H,this.providerFilter=Z,this.providerItemsToReuse=X,this.showDeprecated=G}};ne.default=new ne;let E=ne;class S{constructor(I,H,Z,X){this.items=I,this.needsClipboard=H,this.durations=Z,this.disposable=X}}async function h(V,I,H,Z=E.default,X={triggerKind:0},G=v.XO.None){const Y=new y.W;H=H.clone();const j=I.getWordAtPosition(H),z=j?new b.Q(H.lineNumber,j.startColumn,H.lineNumber,j.endColumn):b.Q.fromPositions(H),ie={replace:z,insert:z.setEndPosition(H.lineNumber,H.column)},re=[],de=new T.Cm,le=[];let he=!1;const we=(Be,M,Ve)=>{let Me=!1;if(!M)return Me;for(const Le of M.suggestions)if(!Z.kindFilter.has(Le.kind)){if(!Z.showDeprecated&&Le?.tags?.includes(1))continue;Le.range||(Le.range=ie),Le.sortText||(Le.sortText=typeof Le.label=="string"?Le.label:Le.label.label),!he&&Le.insertTextRules&&Le.insertTextRules&4&&(he=u.fr.guessNeedsClipboard(Le.insertText)),re.push(new _(H,Le,M,Be)),Me=!0}return(0,T.Xm)(M)&&de.add(M),le.push({providerName:Be._debugDisplayName??"unknown_provider",elapsedProvider:M.duration??-1,elapsedOverall:Ve.elapsed()}),Me},xe=(async()=>{})();for(const Be of V.orderedGroups(I)){let M=!1;if(await Promise.all(Be.map(async Ve=>{if(Z.providerItemsToReuse.has(Ve)){const Me=Z.providerItemsToReuse.get(Ve);Me.forEach(Le=>re.push(Le)),M=M||Me.length>0;return}if(!(Z.providerFilter.size>0&&!Z.providerFilter.has(Ve)))try{const Me=new y.W,Le=await Ve.provideCompletionItems(I,H,X,G);M=we(Ve,Le,Me)||M}catch(Me){(0,R.M_)(Me)}})),M||G.isCancellationRequested)break}
906return await xe,G.isCancellationRequested?(de.dispose(),Promise.reject(new R.AL)):new S(re.sort(U(Z.snippetSortOrder)),he,{entries:le,elapsed:Y.elapsed()},de)}function D(V,I){if(V.sortTextLow&&I.sortTextLow){if(V.sortTextLow<I.sortTextLow)return-1;if(V.sortTextLow>I.sortTextLow)return 1}return V.textLabel<I.textLabel?-1:V.textLabel>I.textLabel?1:V.completion.kind-I.completion.kind}function k(V,I){if(V.completion.kind!==I.completion.kind){if(V.completion.kind===28)return-1;if(I.completion.kind===28)return 1}return D(V,I)}function N(V,I){if(V.completion.kind!==I.completion.kind){if(V.completion.kind===28)return 1;if(I.completion.kind===28)return-1}return D(V,I)}const W=new Map;W.set(0,k),W.set(2,N),W.set(1,D);function U(V){return W.get(V)}d.w.registerCommand("_executeCompletionItemProvider",async(V,...I)=>{const[H,Z,X,G]=I;(0,A.j)(g.r.isUri(H)),(0,A.j)(L.y.isIPosition(Z)),(0,A.j)(typeof X=="string"||!X),(0,A.j)(typeof G=="number"||!G);const{completionProvider:Y}=V.get(o.u),j=await V.get(C.b).createModelReference(H);try{const z={incomplete:!1,suggestions:[]},ie=[],re=j.object.textEditorModel.validatePosition(Z),de=await h(Y,j.object.textEditorModel,re,void 0,{triggerCharacter:X??void 0,triggerKind:X?1:0});for(const le of de.items)ie.length<(G??0)&&ie.push(le.resolve(v.XO.None)),z.incomplete=z.incomplete||le.container.incomplete,z.suggestions.push(le.completion);try{return await Promise.all(ie),z}finally{setTimeout(()=>de.disposable.dispose(),100)}}finally{j.dispose()}});function $(V,I){V.getContribution("editor.contrib.suggestController")?.triggerSuggest(new Set().add(I),void 0,!0)}class te{static isAllOff(I){return I.other==="off"&&I.comments==="off"&&I.strings==="off"}static isAllOn(I){return I.other==="on"&&I.comments==="on"&&I.strings==="on"}static valueFor(I,H){switch(H){case 1:return I.comments;case 2:return I.strings;default:return I.other}}}},93557:(St,We,e)=>{e.d(We,{M$:()=>b,Tf:()=>A,gI:()=>x,mG:()=>L,r$:()=>y,s7:()=>g,yj:()=>T});var v=e(13072);function R(C){return C}function x(C,u){if(C!==void 0){const i=C.match(/^\s*var\((.+)\)$/);if(i){const r=i[1].split(",",2);return r.length===2&&(u=x(r[1].trim(),u)),`var(${r[0]}, ${u})`}return C}return u}function T(C){const u=C.replaceAll(/[^_\-a-z0-9]/gi,"");return u!==C&&console.warn(`CSS ident value ${C} modified to ${u} to be safe for CSS`),u}function y(C){return`'${C.replaceAll(/'/g,"\\000027")}'`}function A(C){return C?L`url('${CSS.escape(v.zl.uriToBrowserUri(C).toString(!0))}')`:"url('')"}function g(C,u=!1){const i=CSS.escape(C);return!u&&i!==C&&console.warn(`CSS class name ${C} modified to ${i} to be safe for CSS`),i}function L(C,...u){return C.reduce((i,r,d)=>{const l=u[d]||"";return i+r+l},"")}class b{constructor(){this._parts=[]}push(...u){this._parts.push(...u)}join(u=`
907`){return this._parts.join(u)}}},93702:(St,We,e)=>{e.d(We,{L:()=>x});var v=e(15365),R=e(28061);class x extends R.Q{constructor(y,A,g,L){super(y,A,g,L),this.selectionStartLineNumber=y,this.selectionStartColumn=A,this.positionLineNumber=g,this.positionColumn=L}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(y){return x.selectionsEqual(this,y)}static selectionsEqual(y,A){return y.selectionStartLineNumber===A.selectionStartLineNumber&&y.selectionStartColumn===A.selectionStartColumn&&y.positionLineNumber===A.positionLineNumber&&y.positionColumn===A.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(y,A){return this.getDirection()===0?new x(this.startLineNumber,this.startColumn,y,A):new x(y,A,this.startLineNumber,this.startColumn)}getPosition(){return new v.y(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new v.y(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(y,A){return this.getDirection()===0?new x(y,A,this.endLineNumber,this.endColumn):new x(this.endLineNumber,this.endColumn,y,A)}static fromPositions(y,A=y){return new x(y.lineNumber,y.column,A.lineNumber,A.column)}static fromRange(y,A){return A===0?new x(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn):new x(y.endLineNumber,y.endColumn,y.startLineNumber,y.startColumn)}static liftSelection(y){return new x(y.selectionStartLineNumber,y.selectionStartColumn,y.positionLineNumber,y.positionColumn)}static selectionsArrEqual(y,A){if(y&&!A||!y&&A)return!1;if(!y&&!A)return!0;
907if(y.length!==A.length)return!1;for(let g=0,L=y.length;g<L;g++)if(!this.selectionsEqual(y[g],A[g]))return!1;return!0}static isISelection(y){return!!y&&typeof y.selectionStartLineNumber=="number"&&typeof y.selectionStartColumn=="number"&&typeof y.positionLineNumber=="number"&&typeof y.positionColumn=="number"}static createWithDirection(y,A,g,L,b){return b===0?new x(y,A,g,L):new x(g,L,y,A)}}},94184:(St,We,e)=>{var v=e(13338),R=e(73678),x=e(97965),T=e(2744),y=e(80816),A=e(29849),g=e(14583),L=e(10998),b=e(2106),C=e(96016),u=e(68541),i=e(47936),r=function(o,c,a,p){var _=arguments.length,E=_<3?c:p===null?p=Object.getOwnPropertyDescriptor(c,a):p,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(o,c,a,p);else for(var h=o.length-1;h>=0;h--)(S=o[h])&&(E=(_<3?S(E):_>3?S(c,a,E):S(c,a))||E);return _>3&&E&&Object.defineProperty(c,a,E),E},d=function(o,c){return function(a,p){c(a,p,o)}};let l=class extends L.jG{constructor(c,a,p){super(),this._textModel=c,this._languageFeaturesService=a,this._outlineModelService=p,this._currentModel=(0,C.FY)(this,void 0);const _=(0,u.y)("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),E=(0,u.y)("_textModel.onDidChangeContent",b.Jh.debounce(S=>this._textModel.onDidChangeContent(S),()=>{},100));this._register((0,i.yC)(async(S,h)=>{_.read(S),E.read(S);const D=h.add(new T.MZ),k=await this._outlineModelService.getOrCreate(this._textModel,D.token);h.isDisposed||this._currentModel.set(k,void 0)}))}getBreadcrumbItems(c,a){const p=this._currentModel.read(a);if(!p)return[];const _=p.asListOfDocumentSymbols().filter(E=>c.contains(E.range.startLineNumber)&&!c.contains(E.range.endLineNumber));return _.sort((0,v.Hw)((0,v.VE)(E=>E.range.endLineNumber-E.range.startLineNumber,v.U9))),_.map(E=>({name:E.name,kind:E.kind,startLineNumber:E.range.startLineNumber}))}getAt(c,a){const p=this._currentModel.read(a);if(!p)return[];const _=p.asListOfDocumentSymbols().filter(E=>new y.M(E.range.startLineNumber,E.range.endLineNumber).contains(c));return _.length===0?[]:(_.sort((0,v.Hw)((0,v.VE)(E=>E.range.endLineNumber-E.range.startLineNumber,v.U9))),_.map(E=>({name:E.name,kind:E.kind,startLineNumber:E.range.startLineNumber})))}};l=r([d(1,A.u),d(2,g.gW)],l),x.N.setBreadcrumbsSourceFactory((o,c)=>c.createInstance(l,o))},94327:(St,We,e)=>{e.d(We,{AL:()=>b,D7:()=>l,EM:()=>r,MB:()=>L,M_:()=>y,Qg:()=>u,aD:()=>C,cU:()=>A,dz:()=>T,iH:()=>i,y4:()=>x});class v{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(c){setTimeout(()=>{throw c.stack?d.isErrorNoTelemetry(c)?new d(c.message+`
908
909`+c.stack):new Error(c.message+`
910
911`+c.stack):c},0)}}emit(c){this.listeners.forEach(a=>{a(c)})}onUnexpectedError(c){this.unexpectedErrorHandler(c),this.emit(c)}onUnexpectedExternalError(c){this.unexpectedErrorHandler(c)}}const R=new v;function x(o){R.onUnexpectedError(o)}function T(o){L(o)||R.onUnexpectedError(o)}function y(o){L(o)||R.onUnexpectedExternalError(o)}function A(o){if(o instanceof Error){const{name:c,message:a,cause:p}=o,_=o.stacktrace||o.stack;return{$isError:!0,name:c,message:a,stack:_,noTelemetry:d.isErrorNoTelemetry(o),cause:p?A(p):void 0,code:o.code}}return o}const g="Canceled";function L(o){return o instanceof b?!0:o instanceof Error&&o.name===g&&o.message===g}class b extends Error{constructor(){super(g),this.name=this.message}}function C(){const o=new Error(g);return o.name=o.message,o}function u(o){return o?new Error(`Illegal argument: ${o}`):new Error("Illegal argument")}function i(o){return o?new Error(`Illegal state: ${o}`):new Error("Illegal state")}class r extends Error{constructor(c){super("NotSupported"),c&&(this.message=c)}}class d extends Error{constructor(c){super(c),this.name="CodeExpectedError"}static fromError(c){if(c instanceof d)return c;const a=new d;return a.message=c.message,a.stack=c.stack,a}static isErrorNoTelemetry(c){return c.name==="CodeExpectedError"}}class l extends Error{constructor(c){super(c||"An unexpected bug occurred."),Object.setPrototypeOf(this,l.prototype)}}},94513:(St,We,e)=>{e.d(We,{yE:()=>T});var v=e(2106),R=e(10998);class x{constructor(i,r,d,l,o,c,a){this._forceIntegerValues=i,this._scrollStateBrand=void 0,this._forceIntegerValues&&(r=r|0,d=d|0,l=l|0,o=o|0,c=c|0,a=a|0),this.rawScrollLeft=l,this.rawScrollTop=a,r<0&&(r=0),l+r>d&&(l=d-r),l<0&&(l=0),o<0&&(o=0),a+o>c&&(a=c-o),a<0&&(a=0),this.width=r,this.scrollWidth=d,this.scrollLeft=l,this.height=o,this.scrollHeight=c,this.scrollTop=a}equals(i){return this.rawScrollLeft===i.rawScrollLeft&&this.rawScrollTop===i.rawScrollTop&&this.width===i.width&&this.scrollWidth===i.scrollWidth&&this.scrollLeft===i.scrollLeft&&this.height===i.height&&this.scrollHeight===i.scrollHeight&&this.scrollTop===i.scrollTop}withScrollDimensions(i,r){return new x(this._forceIntegerValues,typeof i.width<"u"?i.width:this.width,typeof i.scrollWidth<"u"?i.scrollWidth:this.scrollWidth,r?this.rawScrollLeft:this.scrollLeft,typeof i.height<"u"?i.height:this.height,typeof i.scrollHeight<"u"?i.scrollHeight:this.scrollHeight,r?this.rawScrollTop:this.scrollTop)}withScrollPosition(i){return new x(this._forceIntegerValues,this.width,this.scrollWidth,typeof i.scrollLeft<"u"?i.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof i.scrollTop<"u"?i.scrollTop:this.rawScrollTop)}createScrollEvent(i,r){const d=this.width!==i.width,l=this.scrollWidth!==i.scrollWidth,o=this.scrollLeft!==i.scrollLeft,c=this.height!==i.height,a=this.scrollHeight!==i.scrollHeight,p=this.scrollTop!==i.scrollTop;return{inSmoothScrolling:r,oldWidth:i.width,oldScrollWidth:i.scrollWidth,oldScrollLeft:i.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:i.height,oldScrollHeight:i.scrollHeight,oldScrollTop:i.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:d,scrollWidthChanged:l,scrollLeftChanged:o,heightChanged:c,scrollHeightChanged:a,scrollTopChanged:p}}}class T extends R.jG{constructor(i){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new v.vl),this.onScroll=this._onScroll.event,this._smoothScrollDuration=i.smoothScrollDuration,this._scheduleAtNextAnimationFrame=i.scheduleAtNextAnimationFrame,this._state=new x(i.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(i){this._smoothScrollDuration=i}validateScrollPosition(i){return this._state.withScrollPosition(i)}getScrollDimensions(){return this._state}setScrollDimensions(i,r){const d=this._state.withScrollDimensions(i,r);this._setState(d,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(i){const r=this._state.withScrollPosition(i);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(r,!1)}setScrollPositionSmooth(i,r){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(i);if(this._smoothScrolling){i={scrollLeft:typeof i.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:i.scrollLeft,scrollTop:typeof i.scrollTop>"u"?this._smoothScrolling.to.scrollTop:i.scrollTop};const d=this._state.withScrollPosition(i);if(this._smoothScrolling.to.scrollLeft===d.scrollLeft&&this._smoothScrolling.to.scrollTop===d.scrollTop)return;let l;r?l=new L(this._smoothScrolling.from,d,this._smoothScrolling.startTime,this._smoothScrolling.duration):l=this._smoothScrolling.combine(this._state,d,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=l}else{const d=this._state.withScrollPosition(i);this._smoothScrolling=L.start(this._state,d,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const i=this._smoothScrolling.tick(),r=this._state.withScrollPosition(i);if(this._setState(r,!0),!!this._smoothScrolling){if(i.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(i,r){const d=this._state;d.equals(i)||(this._state=i,this._onScroll.fire(this._state.createScrollEvent(d,r)))}}class y{constructor(i,r,d){this.scrollLeft=i,this.scrollTop=r,this.isDone=d}}function A(u,i){const r=i-u;return function(d){return u+r*C(d)}}function g(u,i,r){return function(d){return d<r?u(d/r):i((d-r)/(1-r))}}class L{constructor(i,r,d,l){this.from=i,this.to=r,this.duration=l,this.startTime=d,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(i,r,d){if(Math.abs(i-r)>2.5*d){let o,c;return i<r?(o=i+.75*d,c=r-.75*d):(o=i-.75*d,c=r+.75*d),g(A(i,o),A(c,r),.33)}return A(i,r)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(i){this.to=i.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(i){const r=(i-this.startTime)/this.duration;if(r<1){const d=this.scrollLeft(r),l=this.scrollTop(r);return new y(d,l,!1)}return new y(this.to.scrollLeft,this.to.scrollTop,!0)}combine(i,r,d){return L.start(i,r,d)}static start(i,r,d){d=d+10;const l=Date.now()-10;return new L(i,r,l,d)}}function b(u){return Math.pow(u,3)}function C(u){return 1-b(1-u)}},94535:(St,We,e)=>{e.d(We,{X:()=>R});var v=e(82399);const R=(0,v.u1)("dialogService")},94664:(St,We,e)=>{e.d(We,{n:()=>v,r:()=>R});class v{constructor(T){this._prefix=T,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const R=new v("id#")},94806:(St,We,e)=>{var v=e(5915),R=e(10998),x=e(58881),T=e(3765),y=e(73027),A=e(66638),g=e(62549),L=e(86653);const h=class h extends L.o{constructor(){super({canAcceptInBackgroun
911d:!0})}get useZeroBasedOffset(){return this.storageService.getBoolean(h.ZERO_BASED_OFFSET_STORAGE_KEY,-1,!1)}set useZeroBasedOffset(W){this.storageService.store(h.ZERO_BASED_OFFSET_STORAGE_KEY,W,-1,0)}provideWithoutTextEditor(W){const U=(0,T.kg)(1382,"Open a text editor first to go to a line or an offset.");return W.items=[{label:U}],W.ariaLabel=U,R.jG.None}provideWithTextEditor(W,U,$){const te=W.editor,ne=new R.Cm;U.ariaLabel=(0,T.kg)(1383,"Go to line. Type a line number, optionally followed by colon and column number."),ne.add(U.onDidAccept(Z=>{const[X]=U.selectedItems;if(X){if(!X.lineNumber)return;this.gotoLocation(W,{range:this.toRange(X.lineNumber,X.column),keyMods:U.keyMods,preserveFocus:Z.inBackground}),Z.inBackground||U.hide()}}));const V={iconClass:x.L.asClassName(v.W.indexZero),tooltip:(0,T.kg)(1384,"Toggle Zero-Based Offset"),location:y.dH.Input,toggle:{checked:this.useZeroBasedOffset}},I=()=>{const Z=U.value.trim().substring(h.GO_TO_LINE_PREFIX.length),{inOffsetMode:X,lineNumber:G,column:Y,label:j}=this.parsePosition(te,Z);if(U.buttons=X?[V]:[],U.items=[{lineNumber:G,column:Y,label:j,ariaLabel:G?(0,T.kg)(1385,"Go to line {0}, column {1}. Press Enter to navigate.",G,Y||1):j}],!G){this.clearDecorations(te);return}const z=this.toRange(G,Y);te.revealRangeInCenter(z,0),this.addDecorations(te,z)};ne.add(U.onDidTriggerButton(Z=>{Z===V&&(this.useZeroBasedOffset=Z.toggle?.checked??!this.useZeroBasedOffset,I())})),I(),ne.add(U.onDidChangeValue(()=>I()));const H=(0,A.jA)(te);return H&&H.getOptions().get(76).renderType===2&&(H.updateOptions({lineNumbers:"on"}),ne.add((0,R.s)(()=>H.updateOptions({lineNumbers:"relative"})))),ne}toRange(W=1,U=1){return{startLineNumber:W,startColumn:U,endLineNumber:W,endColumn:U}}parsePosition(W,U){const $=this.getModel(W);if(!$)return{label:(0,T.kg)(1386,"Open a text editor first to go to a line or an offset.")};if(U.startsWith(":")){let te=parseInt(U.substring(1),10);const ne=$.getValueLength();if(isNaN(te))return{inOffsetMode:!0,label:this.useZeroBasedOffset?(0,T.kg)(1387,"Type a character position to go to (from 0 to {0}).",ne-1):(0,T.kg)(1388,"Type a character position to go to (from 1 to {0}).",ne)};{const V=te<0;this.useZeroBasedOffset||(te-=Math.sign(te)),V&&(te+=ne);const I=$.getPositionAt(te),H=g.A.visibleColumnFromColumn($.getLineContent(I.lineNumber),I.column,$.getOptions().tabSize)+1;return{...I,inOffsetMode:!0,label:(0,T.kg)(1389,"Press 'Enter' to go to line {0} at column {1}.",I.lineNumber,H)}}}else{const te=U.split(/,|:|#/),ne=$.getLineCount();let V=parseInt(te[0]?.trim(),10);if(te.length<1||isNaN(V))return{label:(0,T.kg)(1390,"Type a line number to go to (from 1 to {0}).",ne)};V=V>=0?V:ne+1+V,V=Math.min(Math.max(1,V),ne);const I=$.getOptions().tabSize,H=$.getLineContent(V),Z=g.A.visibleColumnFromColumn(H,$.getLineMaxColumn(V),I)+1;let X=parseInt(te[1]?.trim(),10);if(te.length<2||isNaN(X))return{lineNumber:V,column:1,label:te.length<2?(0,T.kg)(1391,"Press 'Enter' to go to line {0} or enter colon : to add a column number.",V):(0,T.kg)(1392,"Press 'Enter' to go to line {0} or enter a column number (from 1 to {1}).",V,Z)};X=X>=0?X:Z+X,X=Math.min(Math.max(1,X),Z);const G=g.A.columnFromVisibleColumn(H,X-1,I);return{lineNumber:V,column:G,label:(0,T.kg)(1393,"Press 'Enter' to go to line {0} at column {1}.",V,X)}}}};h.GO_TO_LINE_PREFIX=":",h.GO_TO_OFFSET_PREFIX="::",h.ZERO_BASED_OFFSET_STORAGE_KEY="gotoLine.useZeroBasedOffset";let b=h;var C=e(67167),u=e(19381),i=e(87301),r=e(45933),d=e(2106),l=e(50946),o=e(38122),c=e(90840),a=function(N,W,U,$){var te=arguments.length,ne=te<3?W:$===null?$=Object.getOwnPropertyDescriptor(W,U):$,V;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ne=Reflect.decorate(N,W,U,$);else for(var I=N.length-1;I>=0;I--)(V=N[I])&&(ne=(te<3?V(ne):te>3?V(W,U,ne):V(W,U))||ne);return te>3&&ne&&Object.defineProperty(W,U,ne),ne},p=function(N,W){return function(U,$){W(U,$,N)}};let _=class extends b{constructor(W,U){super(),this.editorService=W,this.storageService=U,this.onDidActiveTextEditorControlChange=d.Jh.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};_=a([p(0,i.T),p(1,c.CS)],_);const D=class D extends l.ks{constructor(){super({id:D.ID,label:r.Hw.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:o.R.focus,primary:2085,mac:{primary:293},weight:100}})}run(W){W.get(y.GK).quickAccess.show(_.GO_TO_LINE_PREFIX)}};D.ID="editor.action.gotoLine";let E=D;(0,l.Fl)(E),C.O.as(u.Fd.Quickaccess).registerQuickAccessProvider({ctor:_,prefix:_.GO_TO_LINE_PREFIX,helpEntries:[{description:r.Hw.gotoLineActionLabel,commandId:E.ID}]});const k=class k extends l.ks{constructor(){super({id:k.ID,label:r.Hw.gotoOffsetActionLabel,alias:"Go to Offset...",precondition:void 0})}run(W){W.get(y.GK).quickAccess.show(_.GO_TO_OFFSET_PREFIX)}};k.ID="editor.action.gotoOffset";let S=k;(0,l.Fl)(S),C.O.as(u.Fd.Quickaccess).registerQuickAccessProvider({ctor:_,prefix:_.GO_TO_OFFSET_PREFIX,helpEntries:[{description:r.Hw.gotoOffsetActionLabel,commandId:S.ID}]})},94865:(St,We,e)=>{e.d(We,{Al:()=>d,EL:()=>A,HJ:()=>g,NB:()=>b,c7:()=>r,er:()=>L,iw:()=>C,nH:()=>i});var v=e(3765),R=e(94901),x=e(87676),T=e(73858),y=e(82735);const A=(0,x.x1)("quickInput.background",T.Cg,(0,v.kg)(2078,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),g=(0,x.x1)("quickInput.foreground",T.Fi,(0,v.kg)(2079,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),L=(0,x.x1)("quickInputTitle.background",{dark:new R.Q1(new R.bU(255,255,255,.105)),light:new R.Q1(new R.bU(0,0,0,.06)),hcDark:"#000000",hcLight:R.Q1.white},(0,v.kg)(2080,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),b=(0,x.x1)("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:R.Q1.white,hcLight:"#0F4A85"},(0,v.kg)(2081,"Quick picker color for grouping labels.")),C=(0,x.x1)("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:R.Q1.white,hcLight:"#0F4A85"},(0,v.kg)(2082,"Quick picker color for grouping borders.")),u=(0,x.x1)("quickInput.list.focusB
911ackground",null,"",void 0,(0,v.kg)(2083,"Please use quickInputList.focusBackground instead")),i=(0,x.x1)("quickInputList.focusForeground",y.GV,(0,v.kg)(2084,"Quick picker foreground color for the focused item.")),r=(0,x.x1)("quickInputList.focusIconForeground",y.fE,(0,v.kg)(2085,"Quick picker icon foreground color for the focused item.")),d=(0,x.x1)("quickInputList.focusBackground",{dark:(0,x.yL)(u,y.Rj),light:(0,x.yL)(u,y.Rj),hcDark:null,hcLight:null},(0,v.kg)(2086,"Quick picker background color for the focused item."));(0,x.x1)("quickInputList.focusHighlightForeground",y.eM,(0,v.kg)(2087,"Quick picker foreground color of the match highlights on the focused item."))},94901:(St,We,e)=>{e.d(We,{$J:()=>T,Q1:()=>y,bU:()=>R,hB:()=>x});function v(g,L){const b=Math.pow(10,L);return Math.round(g*b)/b}class R{constructor(L,b,C,u=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,L))|0,this.g=Math.min(255,Math.max(0,b))|0,this.b=Math.min(255,Math.max(0,C))|0,this.a=v(Math.max(Math.min(1,u),0),3)}static equals(L,b){return L.r===b.r&&L.g===b.g&&L.b===b.b&&L.a===b.a}}class x{constructor(L,b,C,u){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,L),0)|0,this.s=v(Math.max(Math.min(1,b),0),3),this.l=v(Math.max(Math.min(1,C),0),3),this.a=v(Math.max(Math.min(1,u),0),3)}static equals(L,b){return L.h===b.h&&L.s===b.s&&L.l===b.l&&L.a===b.a}static fromRGBA(L){const b=L.r/255,C=L.g/255,u=L.b/255,i=L.a,r=Math.max(b,C,u),d=Math.min(b,C,u);let l=0,o=0;const c=(d+r)/2,a=r-d;if(a>0){switch(o=Math.min(c<=.5?a/(2*c):a/(2-2*c),1),r){case b:l=(C-u)/a+(C<u?6:0);break;case C:l=(u-b)/a+2;break;case u:l=(b-C)/a+4;break}l*=60,l=Math.round(l)}return new x(l,o,c,i)}static _hue2rgb(L,b,C){return C<0&&(C+=1),C>1&&(C-=1),C<1/6?L+(b-L)*6*C:C<1/2?b:C<2/3?L+(b-L)*(2/3-C)*6:L}static toRGBA(L){const b=L.h/360,{s:C,l:u,a:i}=L;let r,d,l;if(C===0)r=d=l=u;else{const o=u<.5?u*(1+C):u+C-u*C,c=2*u-o;r=x._hue2rgb(c,o,b+1/3),d=x._hue2rgb(c,o,b),l=x._hue2rgb(c,o,b-1/3)}return new R(Math.round(r*255),Math.round(d*255),Math.round(l*255),i)}}class T{constructor(L,b,C,u){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,L),0)|0,this.s=v(Math.max(Math.min(1,b),0),3),this.v=v(Math.max(Math.min(1,C),0),3),this.a=v(Math.max(Math.min(1,u),0),3)}static equals(L,b){return L.h===b.h&&L.s===b.s&&L.v===b.v&&L.a===b.a}static fromRGBA(L){const b=L.r/255,C=L.g/255,u=L.b/255,i=Math.max(b,C,u),r=Math.min(b,C,u),d=i-r,l=i===0?0:d/i;let o;return d===0?o=0:i===b?o=((C-u)/d%6+6)%6:i===C?o=(u-b)/d+2:o=(b-C)/d+4,new T(Math.round(o*60),l,i,L.a)}static toRGBA(L){const{h:b,s:C,v:u,a:i}=L,r=u*C,d=r*(1-Math.abs(b/60%2-1)),l=u-r;let[o,c,a]=[0,0,0];return b<60?(o=r,c=d):b<120?(o=d,c=r):b<180?(c=r,a=d):b<240?(c=d,a=r):b<300?(o=d,a=r):b<=360&&(o=r,a=d),o=Math.round((o+l)*255),c=Math.round((c+l)*255),a=Math.round((a+l)*255),new R(o,c,a,i)}}const A=class A{static fromHex(L){return A.Format.CSS.parseHex(L)||A.red}static equals(L,b){return!L&&!b?!0:!L||!b?!1:L.equals(b)}get hsla(){return this._hsla?this._hsla:x.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:T.fromRGBA(this.rgba)}constructor(L){if(L)if(L instanceof R)this.rgba=L;else if(L instanceof x)this._hsla=L,this.rgba=x.toRGBA(L);else if(L instanceof T)this._hsva=L,this.rgba=T.toRGBA(L);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(L){return!!L&&R.equals(this.rgba,L.rgba)&&x.equals(this.hsla,L.hsla)&&T.equals(this.hsva,L.hsva)}getRelativeLuminance(){const L=A._relativeLuminanceForComponent(this.rgba.r),b=A._relativeLuminanceForComponent(this.rgba.g),C=A._relativeLuminanceForComponent(this.rgba.b),u=.2126*L+.7152*b+.0722*C;return v(u,4)}static _relativeLuminanceForComponent(L){const b=L/255;return b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(L){const b=this.getRelativeLuminance(),C=L.getRelativeLuminance();return b>C}isDarkerThan(L){const b=this.getRelativeLuminance(),C=L.getRelativeLuminance();return b<C}lighten(L){return new A(new x(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*L,this.hsla.a))}darken(L){return new A(new x(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*L,this.hsla.a))}
911transparent(L){const{r:b,g:C,b:u,a:i}=this.rgba;return new A(new R(b,C,u,i*L))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new A(new R(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(L,b=.5){const C=Math.min(Math.max(b,0),1),u=this.rgba,i=L.rgba,r=u.r+(i.r-u.r)*C,d=u.g+(i.g-u.g)*C,l=u.b+(i.b-u.b)*C,o=u.a+(i.a-u.a)*C;return new A(new R(r,d,l,o))}makeOpaque(L){if(this.isOpaque()||L.rgba.a!==1)return this;const{r:b,g:C,b:u,a:i}=this.rgba;return new A(new R(L.rgba.r-i*(L.rgba.r-b),L.rgba.g-i*(L.rgba.g-C),L.rgba.b-i*(L.rgba.b-u),1))}toString(){return this._toString||(this._toString=A.Format.CSS.format(this)),this._toString}toNumber32Bit(){return this._toNumber32Bit||(this._toNumber32Bit=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0),this._toNumber32Bit}static getLighterColor(L,b,C){if(L.isLighterThan(b))return L;C=C||.5;const u=L.getRelativeLuminance(),i=b.getRelativeLuminance();return C=C*(i-u)/i,L.lighten(C)}static getDarkerColor(L,b,C){if(L.isDarkerThan(b))return L;C=C||.5;const u=L.getRelativeLuminance(),i=b.getRelativeLuminance();return C=C*(u-i)/u,L.darken(C)}};A.white=new A(new R(255,255,255,1)),A.black=new A(new R(0,0,0,1)),A.red=new A(new R(255,0,0,1)),A.blue=new A(new R(0,0,255,1)),A.green=new A(new R(0,255,0,1)),A.cyan=new A(new R(0,255,255,1)),A.lightgrey=new A(new R(211,211,211,1)),A.transparent=new A(new R(0,0,0,0));let y=A;(function(g){(function(L){(function(b){function C(S){return S.rgba.a===1?`rgb(${S.rgba.r}, ${S.rgba.g}, ${S.rgba.b})`:g.Format.CSS.formatRGBA(S)}b.formatRGB=C;function u(S){return`rgba(${S.rgba.r}, ${S.rgba.g}, ${S.rgba.b}, ${+S.rgba.a.toFixed(2)})`}b.formatRGBA=u;function i(S){return S.hsla.a===1?`hsl(${S.hsla.h}, ${Math.round(S.hsla.s*100)}%, ${Math.round(S.hsla.l*100)}%)`:g.Format.CSS.formatHSLA(S)}b.formatHSL=i;function r(S){return`hsla(${S.hsla.h}, ${Math.round(S.hsla.s*100)}%, ${Math.round(S.hsla.l*100)}%, ${S.hsla.a.toFixed(2)})`}b.formatHSLA=r;function d(S){const h=S.toString(16);return h.length!==2?"0"+h:h}function l(S){return`#${d(S.rgba.r)}${d(S.rgba.g)}${d(S.rgba.b)}`}b.formatHex=l;function o(S,h=!1){return h&&S.rgba.a===1?g.Format.CSS.formatHex(S):`#${d(S.rgba.r)}${d(S.rgba.g)}${d(S.rgba.b)}${d(Math.round(S.rgba.a*255))}`}b.formatHexA=o;function c(S){return S.isOpaque()?g.Format.CSS.formatHex(S):g.Format.CSS.formatRGBA(S)}b.format=c;function a(S){if(S==="transparent")return g.transparent;if(S.startsWith("#"))return _(S);if(S.startsWith("rgba(")){const h=S.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!h)throw new Error("Invalid color format "+S);const D=parseInt(h.groups?.r??"0"),k=parseInt(h.groups?.g??"0"),N=parseInt(h.groups?.b??"0"),W=parseFloat(h.groups?.a??"0");return new g(new R(D,k,N,W))}if(S.startsWith("rgb(")){const h=S.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!h)throw new Error("Invalid color format "+S);const D=parseInt(h.groups?.r??"0"),k=parseInt(h.groups?.g??"0"),N=parseInt(h.groups?.b??"0");return new g(new R(D,k,N))}return p(S)}b.parse=a;function p(S){switch(S){case"aliceblue":return new g(new R(240,248,255,1));case"antiquewhite":return new g(new R(250,235,215,1));case"aqua":return new g(new R(0,255,255,1));case"aquamarine":return new g(new R(127,255,212,1));case"azure":return new g(new R(240,255,255,1));case"beige":return new g(new R(245,245,220,1));case"bisque":return new g(new R(255,228,196,1));case"black":return new g(new R(0,0,0,1));case"blanchedalmond":return new g(new R(255,235,205,1));case"blue":return new g(new R(0,0,255,1));case"blueviolet":return new g(new R(138,43,226,1));case"brown":return new g(new R(165,42,42,1));case"burlywood":return new g(new R(222,184,135,1));case"cadetblue":return new g(new R(95,158,160,1));case"chartreuse":return new g(new R(127,255,0,1));case"chocolate":return new g(new R(210,105,30,1));case"coral":return new g(new R(255,127,80,1));case"cornflowerblue":return new g(new R(100,149,237,1));case"cornsilk":return new g(new R(255,248,220,1));case"crimson":return new g(new R(220,20,60,1));case"cyan":return new g(new R(0,255,255,1));case"darkblue":return new g(new R(0,0,139,1));case"darkcyan":return new g(new R(0,139,139,1));case"darkgoldenrod":return new g(new R(184,134,11,1));case"darkgray":return new g(new R(169,169,169,1));case"darkgreen":return new g(new R(0,100,0,1));case"darkgrey":return new g(new R(169,169,169,1));case"darkkhaki":return new g(new R(189,183,107,1));case"darkmagenta":return new g(new R(139,0,139,1));case"darkolivegreen":return new g(new R(85,107,47,1));case"darkorange":return new g(new R(255,140,0,1));case"darkorchid":return new g(new R(153,50,204,1));case"darkred":return new g(new R(139,0,0,1));case"darksalmon":return new g(new R(233,150,122,1));case"darkseagreen":return new g(new R(143,188,143,1));case"darkslateblue":return new g(new R(72,61,139,1));case"darkslategray":return new g(new R(47,79,79,1));case"darkslategrey":return new g(new R(47,79,79,1));
911case"darkturquoise":return new g(new R(0,206,209,1));case"darkviolet":return new g(new R(148,0,211,1));case"deeppink":return new g(new R(255,20,147,1));case"deepskyblue":return new g(new R(0,191,255,1));case"dimgray":return new g(new R(105,105,105,1));case"dimgrey":return new g(new R(105,105,105,1));case"dodgerblue":return new g(new R(30,144,255,1));case"firebrick":return new g(new R(178,34,34,1));case"floralwhite":return new g(new R(255,250,240,1));case"forestgreen":return new g(new R(34,139,34,1));case"fuchsia":return new g(new R(255,0,255,1));case"gainsboro":return new g(new R(220,220,220,1));case"ghostwhite":return new g(new R(248,248,255,1));case"gold":return new g(new R(255,215,0,1));case"goldenrod":return new g(new R(218,165,32,1));case"gray":return new g(new R(128,128,128,1));case"green":return new g(new R(0,128,0,1));case"greenyellow":return new g(new R(173,255,47,1));case"grey":return new g(new R(128,128,128,1));case"honeydew":return new g(new R(240,255,240,1));case"hotpink":return new g(new R(255,105,180,1));case"indianred":return new g(new R(205,92,92,1));case"indigo":return new g(new R(75,0,130,1));case"ivory":return new g(new R(255,255,240,1));case"khaki":return new g(new R(240,230,140,1));case"lavender":return new g(new R(230,230,250,1));case"lavenderblush":return new g(new R(255,240,245,1));case"lawngreen":return new g(new R(124,252,0,1));case"lemonchiffon":return new g(new R(255,250,205,1));case"lightblue":return new g(new R(173,216,230,1));case"lightcoral":return new g(new R(240,128,128,1));case"lightcyan":return new g(new R(224,255,255,1));case"lightgoldenrodyellow":return new g(new R(250,250,210,1));case"lightgray":return new g(new R(211,211,211,1));case"lightgreen":return new g(new R(144,238,144,1));case"lightgrey":return new g(new R(211,211,211,1));case"lightpink":return new g(new R(255,182,193,1));case"lightsalmon":return new g(new R(255,160,122,1));case"lightseagreen":return new g(new R(32,178,170,1));case"lightskyblue":return new g(new R(135,206,250,1));case"lightslategray":return new g(new R(119,136,153,1));case"lightslategrey":return new g(new R(119,136,153,1));case"lightsteelblue":return new g(new R(176,196,222,1));case"lightyellow":return new g(new R(255,255,224,1));case"lime":return new g(new R(0,255,0,1));case"limegreen":return new g(new R(50,205,50,1));case"linen":return new g(new R(250,240,230,1));case"magenta":return new g(new R(255,0,255,1));case"maroon":return new g(new R(128,0,0,1));case"mediumaquamarine":return new g(new R(102,205,170,1));case"mediumblue":return new g(new R(0,0,205,1));case"mediumorchid":return new g(new R(186,85,211,1));case"mediumpurple":return new g(new R(147,112,219,1));case"mediumseagreen":return new g(new R(60,179,113,1));case"mediumslateblue":return new g(new R(123,104,238,1));case"mediumspringgreen":return new g(new R(0,250,154,1));case"mediumturquoise":return new g(new R(72,209,204,1));case"mediumvioletred":return new g(new R(199,21,133,1));case"midnightblue":return new g(new R(25,25,112,1));case"mintcream":return new g(new R(245,255,250,1));case"mistyrose":return new g(new R(255,228,225,1));case"moccasin":return new g(new R(255,228,181,1));case"navajowhite":return new g(new R(255,222,173,1));case"navy":return new g(new R(0,0,128,1));case"oldlace":return new g(new R(253,245,230,1));case"olive":return new g(new R(128,128,0,1));case"olivedrab":return new g(new R(107,142,35,1));case"orange":return new g(new R(255,165,0,1));case"orangered":return new g(new R(255,69,0,1));case"orchid":return new g(new R(218,112,214,1));case"palegoldenrod":return new g(new R(238,232,170,1));case"palegreen":return new g(new R(152,251,152,1));case"paleturquoise":return new g(new R(175,238,238,1));case"palevioletred":return new g(new R(219,112,147,1));case"papayawhip":return new g(new R(255,239,213,1));case"peachpuff":return new g(new R(255,218,185,1));case"peru":return new g(new R(205,133,63,1));case"pink":return new g(new R(255,192,203,1));case"plum":return new g(new R(221,160,221,1));case"powderblue":return new g(new R(176,224,230,1));case"purple":return new g(new R(128,0,128,1));case"rebeccapurple":return new g(new R(102,51,153,1));case"red":return new g(new R(255,0,0,1));case"rosybrown":return new g(new R(188,143,143,1));case"royalblue":return new g(new R(65,105,225,1));case"saddlebrown":return new g(new R(139,69,19,1));case"salmon":return new g(new R(250,128,114,1));case"sandybrown":return new g(new R(244,164,96,1));case"seagreen":return new g(new R(46,139,87,1));case"seashell":return new g(new R(255,245,238,1));case"sienna":return new g(new R(160,82,45,1));case"silver":return new g(new R(192,192,192,1));case"skyblue":return new g(new R(135,206,235,1));case"slateblue":return new g(new R(106,90,205,1));case"slategray":return new g(new R(112,128,144,1));case"slategrey":return new g(new R(112,128,144,1));case"snow":return new g(new R(255,250,250,1));case"springgreen":return new g(new R(0,255,127,1));case"steelblue":return new g(new R(70,130,180,1));case"tan":return new g(new R(210,180,140,1));case"teal":return new g(new R(0,128,128,1));case"thistle":return new g(new R(216,191,216,1));case"tomato":return new g(new R(255,99,71,1));
911case"turquoise":return new g(new R(64,224,208,1));case"violet":return new g(new R(238,130,238,1));case"wheat":return new g(new R(245,222,179,1));case"white":return new g(new R(255,255,255,1));case"whitesmoke":return new g(new R(245,245,245,1));case"yellow":return new g(new R(255,255,0,1));case"yellowgreen":return new g(new R(154,205,50,1));default:return null}}function _(S){const h=S.length;if(h===0||S.charCodeAt(0)!==35)return null;if(h===7){const D=16*E(S.charCodeAt(1))+E(S.charCodeAt(2)),k=16*E(S.charCodeAt(3))+E(S.charCodeAt(4)),N=16*E(S.charCodeAt(5))+E(S.charCodeAt(6));return new g(new R(D,k,N,1))}if(h===9){const D=16*E(S.charCodeAt(1))+E(S.charCodeAt(2)),k=16*E(S.charCodeAt(3))+E(S.charCodeAt(4)),N=16*E(S.charCodeAt(5))+E(S.charCodeAt(6)),W=16*E(S.charCodeAt(7))+E(S.charCodeAt(8));return new g(new R(D,k,N,W/255))}if(h===4){const D=E(S.charCodeAt(1)),k=E(S.charCodeAt(2)),N=E(S.charCodeAt(3));return new g(new R(16*D+D,16*k+k,16*N+N))}if(h===5){const D=E(S.charCodeAt(1)),k=E(S.charCodeAt(2)),N=E(S.charCodeAt(3)),W=E(S.charCodeAt(4));return new g(new R(16*D+D,16*k+k,16*N+N,(16*W+W)/255))}return null}b.parseHex=_;function E(S){switch(S){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(L.CSS||(L.CSS={}))})(g.Format||(g.Format={}))})(y||(y={}))},95976:(St,We,e)=>{var Me,Le,_e,Qe,je,ae,Ee,Ie;e.d(We,{mR:()=>le,bn:()=>de,QS:()=>re});var v=e(44385),R=e(65958),x=e(68387),T=e(79359),y=e(37264),A=e(62105),g=e(66638),L=e(50946),b=e(87301),C=e(24665),u=e(15365),i=e(28061),r=e(38122),d=e(47317),l=e(15145),o=e(49990),c=e(2106),a=e(10998),p=e(22467),_=e(3765),E=e(31540),S=e(66726),h=e(82399),D=e(56071),k=e(48421),N=e(29879),W=function(Ue,$e,Ye,Ce){var He=arguments.length,Ke=He<3?$e:Ce===null?Ce=Object.getOwnPropertyDescriptor($e,Ye):Ce,qe;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ke=Reflect.decorate(Ue,$e,Ye,Ce);else for(var ht=Ue.length-1;ht>=0;ht--)(qe=Ue[ht])&&(Ke=(He<3?qe(Ke):He>3?qe($e,Ye,Ke):qe($e,Ye))||Ke);return He>3&&Ke&&Object.defineProperty($e,Ye,Ke),Ke},U=function(Ue,$e){return function(Ye,Ce){$e(Ye,Ce,Ue)}};const $=new E.N1("hasSymbols",!1,(0,_.kg)(1138,"Whether there are symbol locations that can be navigated via keyboard-only.")),te=(0,h.u1)("ISymbolNavigationService");let ne=class{constructor($e,Ye,Ce,He){this._editorService=Ye,this._notificationService=Ce,this._keybindingService=He,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=$.bindTo($e)}reset(){this._ctxHasSymbols.reset(),this._currentState?.dispose(),this._currentMessage?.close(),this._currentModel=void 0,this._currentIdx=-1}put($e){const Ye=$e.parent.parent;if(Ye.references.length<=1){this.reset();return}this._currentModel=Ye,this._currentIdx=Ye.references.indexOf($e),this._ctxHasSymbols.set(!0),this._showMessage();const Ce=new V(this._editorService),He=Ce.onDidChange(Ke=>{if(this._ignoreEditorChange)return;const qe=this._editorService.getActiveCodeEditor();if(!qe)return;const ht=qe.getModel(),Te=qe.getPosition();if(!ht||!Te)return;let oe=!1,q=!1;for(const ue of Ye.references)if((0,p.n4)(ue.uri,ht.uri))oe=!0,q=q||i.Q.containsPosition(ue.range,Te);else if(oe)break;(!oe||!q)&&this.reset()});this._currentState=(0,a.qE)(Ce,He)}revealNext($e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const Ye=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:Ye.uri,options:{selection:i.Q.collapseToStart(Ye.range),selectionRevealType:3}},$e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){this._currentMessage?.close();const $e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),Ye=$e?(0,_.kg)(1139,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,$e.getLabel()):(0,_.kg)(1140,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(Ye)}};
911ne=W([U(0,E.fN),U(1,b.T),U(2,N.Ot),U(3,D.b)],ne),(0,S.v)(te,ne,1),(0,L.E_)(new class extends L.DX{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:$,kbOpts:{weight:100,primary:70}})}runEditorCommand(Ue,$e){return Ue.get(te).revealNext($e)}}),k.f.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:$,primary:9,handler(Ue){Ue.get(te).reset()}});let V=class{constructor($e){this._listener=new Map,this._disposables=new a.Cm,this._onDidChange=new c.vl,this.onDidChange=this._onDidChange.event,this._disposables.add($e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add($e.onCodeEditorAdd(this._onDidAddEditor,this)),$e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),(0,a.AS)(this._listener.values())}_onDidAddEditor($e){this._listener.set($e,(0,a.qE)($e.onDidChangeCursorPosition(Ye=>this._onDidChange.fire({editor:$e})),$e.onDidChangeModelContent(Ye=>this._onDidChange.fire({editor:$e}))))}_onDidRemoveEditor($e){this._listener.get($e)?.dispose(),this._listener.delete($e)}};V=W([U(0,b.T)],V);var I=e(84893),H=e(70228),Z=e(58067),X=e(82096),G=e(44023),Y=e(914),j=e(29849),z=e(17954),ie=e(13034);Z.ZG.appendMenuItem(Z.D8.EditorContext,{submenu:Z.D8.EditorContextPeek,title:(0,_.kg)(1081,"Peek"),group:"navigation",order:100});class re{static is($e){return!$e||typeof $e!="object"?!1:!!($e instanceof re||u.y.isIPosition($e.position)&&$e.model)}constructor($e,Ye){this.model=$e,this.position=Ye}}const Ve=class Ve extends L.qO{static all(){return Ve._allSymbolNavigationCommands.values()}static _patchConfig($e){const Ye={...$e,f1:!0};if(Ye.menu)for(const Ce of z.f.wrap(Ye.menu))(Ce.id===Z.D8.EditorContext||Ce.id===Z.D8.EditorContextPeek)&&(Ce.when=E.M$.and($e.precondition,Ce.when));return Ye}constructor($e,Ye){super(Ve._patchConfig(Ye)),this.configuration=$e,Ve._allSymbolNavigationCommands.set(Ye.id,this)}runEditorCommand($e,Ye,Ce,He){if(!Ye.hasModel())return Promise.resolve(void 0);const Ke=$e.get(N.Ot),qe=$e.get(b.T),ht=$e.get(G.N8),Te=$e.get(te),oe=$e.get(j.u),q=$e.get(h._Y),ue=Ye.getModel(),J=Ye.getPosition(),ve=re.is(Ce)?Ce:new re(ue,J),De=new A.gI(Ye,5),fe=(0,R.PK)(this._getLocationModel(oe,ve.model,ve.position,De.token),De.token).then(async Se=>{if(!Se||De.token.isCancellationRequested)return;(0,v.xE)(Se.ariaMessage);let pe;if(Se.referenceAt(ue.uri,J)){const Xe=this._getAlternativeCommand(Ye);Xe!==void 0&&!Ve._activeAlternativeCommands.has(Xe)&&Ve._allSymbolNavigationCommands.has(Xe)&&(pe=Ve._allSymbolNavigationCommands.get(Xe))}const Ae=Se.references.length;if(Ae===0){if(!this.configuration.muteMessage){const Xe=ue.getWordAtPosition(J);I.k.get(Ye)?.showMessage(this._getNoResultFoundMessage(Xe),J)}}else if(Ae===1&&pe)Ve._activeAlternativeCommands.add(this.desc.id),q.invokeFunction(Xe=>pe.runEditorCommand(Xe,Ye,Ce,He).finally(()=>{Ve._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(qe,Te,Ye,Se,He)},Se=>{Ke.error(Se)}).finally(()=>{De.dispose()});return ht.showWhile(fe,250),fe}async _onResult($e,Ye,Ce,He,Ke){const qe=this._getGoToPreference(Ce);if(!(Ce instanceof C.t)&&(this.configuration.openInPeek||qe==="peek"&&He.references.length>1))this._openInPeek(Ce,He,Ke);else{const ht=He.firstReference(),Te=He.references.length>1&&qe==="gotoAndPeek",oe=await this._openReference(Ce,$e,ht,this.configuration.openToSide,!Te);Te&&oe?this._openInPeek(oe,He,Ke):He.dispose(),qe==="goto"&&Ye.put(ht)}}async _openReference($e,Ye,Ce,He,Ke){let qe;if((0,d.Iu)(Ce)&&(qe=Ce.targetSelectionRange),qe||(qe=Ce.range),!qe)return;const ht=await Ye.openCodeEditor({resource:Ce.uri,options:{selection:i.Q.collapseToStart(qe),selectionRevealType:3,selectionSource:"code.jump"}},$e,He);if(ht){if(Ke){const Te=ht.getModel(),oe=ht.createDecorationsCollection([{range:qe,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{ht.getModel()===Te&&oe.clear()},350)}return ht}}_openInPeek($e,Ye,Ce){const He=l.X.get($e);He&&$e.hasModel()?He.toggleWidget(Ce??$e.getSelection(),(0,R.SS)(Ke=>Promise.resolve(Ye)),this.configuration.openInPeek):Ye.dispose()}};Ve._allSymbolNavigationCommands=new Map,Ve._activeAlternativeCommands=new Set;let de=Ve;class le extends de{async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.hE)($e.definitionProvider,Ye,Ce,!1,He),(0,_.kg)(1082,"Definitions"))}_getNoResultFoundMessage($e){return $e&&$e.word?(0,_.kg)(1083,"No definition found for '{0}'",$e.word):(0,_.kg)(1084,"No definition found")}_getAlternativeCommand($e){return $e.getOption(67).alternativeDefinitionCommand}_getGoToPreference($e){return $e.getOption(67).multipleDefinitions}}(0,Z.ug)((Me=class extends le{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Me.id,title:{...(0,_.aS)(1108,"Go to Definition"),mnemonicTitle:(0,_.kg)(1085,"Go to &&Definition")},precondition:r.R.hasDefinitionProvider,keybinding:[{when:r.R.editorTextFocus,primary:70,weight:100},{when:E.M$.and(r.R.editorTextFocus,ie.W0),primary:2118,weight:100}],menu:[{id:Z.D8.EditorContext,group:"navigation",order:1.1},{id:Z.D8.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),X.w.registerCommandAlias("editor.action.goToDeclaration",Me.id)}},Me.id="editor.action.revealDefinition",Me)),(0,Z.ug)((Le=class extends le{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Le.id,title:(0,_.aS)(1109,"Open Definition to the Side"),precondition:E.M$.and(r.R.hasDefinitionProvider,r.R.isInEmbeddedEditor.toNegated()),keybinding:[{when:r.R.editorTextFocus,primary:(0,x.m5)(2089,70),weight:100},{when:E.M$.and(r.R.editorTextFocus,ie.W0),primary:(0,x.m5)(2089,2118),weight:100}]}),X.w.registerCommandAlias("editor.action.openDeclarationToTheSide",Le.id)}},Le.id="editor.action.revealDefinitionAside",Le)),(0,Z.ug)((_e=class extends le{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:_e.id,title:(0,_.aS)(1110,"Peek Definition"),precondition:E.M$.and(r.R.hasDefinitionProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),keybinding:{when:r.R.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Z.D8.EditorContextPeek,group:"peek",order:2}}),X.w.registerCommandAlias("editor.action.previewDeclaration",_e.id)}},_e.id="editor.action.peekDefinition",_e));class he extends de{async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.sv)($e.declarationProvider,Ye,Ce,!1,He),(0,_.kg)(1086,"Declarations"))}_getNoResultFoundMessage($e){return $e&&$e.word?(0,_.kg)(1087,"No declaration found for '{0}'",$e.word):(0,_.kg)(1088,"No declaration found")}_getAlternativeCommand($e){return $e.getOption(67).alternativeDeclarationCommand}_getGoToPreference($e){return $e.getOption(67).multipleDeclarations}}(0,Z.ug)((Qe=class extends he{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Qe.id,title:{...(0,_.aS)(1111,"Go to Declaration"),mnemonicTitle:(0,_.kg)(1089,"Go to &&Declaration")},precondition:E.M$.and(r.R.hasDeclarationProvider,r.R.isInEmbeddedEditor.toNegated()),menu:[{id:Z.D8.EditorContext,group:"navigation",order:1.3},{id:Z.D8.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage($e){return $e&&$e.word?(0,_.kg)(1090,"No declaration found for '{0}'",$e.word):(0,_.kg)(1091,"No declaration found")}},Qe.id="editor.action.revealDeclaration",Qe)),(0,Z.ug)(class extends he{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:(0,_.aS)(1112,"Peek Declaration"),precondition:E.M$.and(r.R.hasDeclarationProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),menu:{id:Z.D8.EditorContextPeek,group:"peek",order:3}})}});class we extends de{async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.f9)($e.typeDefinitionProvider,Ye,Ce,!1,He),(0,_.kg)(1092,"Type Definitions"))}_getNoResultFoundMessage($e){return $e&&$e.word?(0,_.kg)(1093,"No type definition found for '{0}'",$e.word):(0,_.kg)(1094,"No type definition found")}_getAlternativeCommand($e){return $e.getOption(67).alternativeTypeDefinitionCommand}_getGoToPreference($e){return $e.getOption(67).multipleTypeDefinitions}}(0,Z.ug)((je=class extends we{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:je.ID,title:{...(0,_.aS)(1113,"Go to Type Definition"),mnemonicTitle:(0,_.kg)(1095,"Go to &&Type Definition")},precondition:r.R.hasTypeDefinitionProvider,keybinding:{when:r.R.editorTextFocus,primary:0,weight:100},menu:[{id:Z.D8.EditorContext,group:"navigation",order:1.4},{id:Z.D8.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},je.ID="editor.action.goToTypeDefinition",je)),(0,Z.ug)((ae=class extends we{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ae.ID,title:(0,_.aS)(1114,"Peek Type Definition"),precondition:E.M$.and(r.R.hasTypeDefinitionProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),menu:{id:Z.D8.EditorContextPeek,group:"peek",order:4}})}},ae.ID="editor.action.peekTypeDefinition",ae));class xe extends de{async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.eS)($e.implementationProvider,Ye,Ce,!1,He),(0,_.kg)(1096,"Implementations"))}_getNoResultFoundMessage($e){return $e&&$e.word?(0,_.kg)(1097,"No implementation found for '{0}'",$e.word):(0,_.kg)(1098,"No implementation found")}_getAlternativeCommand($e){return $e.getOption(67).alternativeImplementationCommand}_getGoToPreference($e){return $e.getOption(67).multipleImplementations}}(0,Z.ug)((Ee=class extends xe{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ee.ID,title:{...(0,_.aS)(1115,"Go to Implementations"),mnemonicTitle:(0,_.kg)(1099,"Go to &&Implementations")},precondition:r.R.hasImplementationProvider,keybinding:{when:r.R.editorTextFocus,primary:2118,weight:100},menu:[{id:Z.D8.EditorContext,group:"navigation",order:1.45},{id:Z.D8.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Ee.ID="editor.action.goToImplementation",Ee)),(0,Z.ug)((Ie=class extends xe{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ie.ID,title:(0,_.aS)(1116,"Peek Implementations"),precondition:E.M$.and(r.R.hasImplementationProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),keybinding:{when:r.R.editorTextFocus,primary:3142,weight:100},menu:{id:Z.D8.EditorContextPeek,group:"peek",order:5}})}},Ie.ID="editor.action.peekImplementation",Ie));class Be extends de{_getNoResultFoundMessage($e){return $e?(0,_.kg)(1100,"No references found for '{0}'",$e.word):(0,_.kg)(1101,"No references found")}_getAlternativeCommand($e){return $e.getOption(67).alternativeReferenceCommand}_getGoToPreference($e){return $e.getOption(67).multipleReferences}}(0,Z.ug)(class extends Be{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...(0,_.aS)(1117,"Go to References"),mnemonicTitle:(0,_.kg)(1102,"Go to &&References")},precondition:E.M$.and(r.R.hasReferenceProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),keybinding:{when:r.R.editorTextFocus,primary:1094,weight:100},menu:[{id:Z.D8.EditorContext,group:"navigation",order:1.45},{id:Z.D8.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.NN)($e.referenceProvider,Ye,Ce,!0,!1,He),(0,_.kg)(1103,"References"))}}),(0,Z.ug)(class extends Be{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:(0,_.aS)(1118,"Peek References"),prec
911ondition:E.M$.and(r.R.hasReferenceProvider,H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated()),menu:{id:Z.D8.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel($e,Ye,Ce,He){return new o.y4(await(0,Y.NN)($e.referenceProvider,Ye,Ce,!1,!1,He),(0,_.kg)(1104,"References"))}});class M extends de{constructor($e,Ye,Ce){super($e,{id:"editor.action.goToLocation",title:(0,_.aS)(1119,"Go to Any Symbol"),precondition:E.M$.and(H.x2.notInPeekEditor,r.R.isInEmbeddedEditor.toNegated())}),this._references=Ye,this._gotoMultipleBehaviour=Ce}async _getLocationModel($e,Ye,Ce,He){return new o.y4(this._references,(0,_.kg)(1105,"Locations"))}_getNoResultFoundMessage($e){return $e&&(0,_.kg)(1106,"No results for '{0}'",$e.word)||""}_getGoToPreference($e){return this._gotoMultipleBehaviour??$e.getOption(67).multipleReferences}_getAlternativeCommand(){}}X.w.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:y.r},{name:"position",description:"The position at which to start",constraint:u.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(Ue,$e,Ye,Ce,He,Ke,qe)=>{(0,T.j)(y.r.isUri($e)),(0,T.j)(u.y.isIPosition(Ye)),(0,T.j)(Array.isArray(Ce)),(0,T.j)(typeof He>"u"||typeof He=="string"),(0,T.j)(typeof qe>"u"||typeof qe=="boolean");const ht=Ue.get(b.T),Te=await ht.openCodeEditor({resource:$e},ht.getFocusedCodeEditor());if((0,g.z9)(Te))return Te.setPosition(Ye),Te.revealPositionInCenterIfOutsideViewport(Ye,0),Te.invokeWithinContext(oe=>{const q=new class extends M{_getNoResultFoundMessage(ue){return Ke||super._getNoResultFoundMessage(ue)}}({muteMessage:!Ke,openInPeek:!!qe,openToSide:!1},Ce,He);oe.get(h._Y).invokeFunction(q.run.bind(q),Te)})}}),X.w.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:y.r},{name:"position",description:"The position at which to start",constraint:u.y.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(Ue,$e,Ye,Ce,He)=>{Ue.get(X.d).executeCommand("editor.action.goToLocations",$e,Ye,Ce,He,void 0,!0)}}),X.w.registerCommand({id:"editor.action.findReferences",handler:(Ue,$e,Ye)=>{(0,T.j)(y.r.isUri($e)),(0,T.j)(u.y.isIPosition(Ye));const Ce=Ue.get(j.u),He=Ue.get(b.T);return He.openCodeEditor({resource:$e},He.getFocusedCodeEditor()).then(Ke=>{if(!(0,g.z9)(Ke)||!Ke.hasModel())return;const qe=l.X.get(Ke);if(!qe)return;const ht=(0,R.SS)(oe=>(0,Y.NN)(Ce.referenceProvider,Ke.getModel(),u.y.lift(Ye),!1,!1,oe).then(q=>new o.y4(q,(0,_.kg)(1107,"References")))),Te=new i.Q(Ye.lineNumber,Ye.column,Ye.lineNumber,Ye.column);return Promise.resolve(qe.toggleWidget(Te,ht,!1))})}}),X.w.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations")},96016:(St,We,e)=>{e.d(We,{FY:()=>b,Lj:()=>C,X2:()=>u});var v=e(39084),R=e(38792),x=e(8897),T=e(2106),y=e(10998),A=e(49855),g=e(82460),L=e(57955);function b(r,d,l=L.j.ofCaller()){let o;return typeof r=="string"?o=new A.nA(void 0,r,void 0):o=new A.nA(r,void 0,void 0),new C(o,d,x.nx,l)}class C extends R.ZK{get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}constructor(d,l,o,c){super(c),this._debugNameData=d,this._equalityComparator=o,this._value=l,(0,g.t)()?.handleObservableUpdated(this,{hadValue:!1,newValue:l,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(d,l,o){if(o===void 0&&this._equalityComparator(this._value,d))return;let c;l||(l=c=new v.XL(()=>{},()=>`Setting ${this.debugName}`));try{const a=this._value;this._setValue(d),(0,g.t)()?.handleObservableUpdated(this,{oldValue:a,newValue:d,change:o,didChange:!0,hadValue:!0});for(const p of this._observers)l.updateObserver(p,this),p.handleChange(this,o)}finally{c&&c.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(d){this._value=d}debugGetState(){return{value:this._value}}debugSetValue(d){this._value=d}}function u(r,d,l=L.j.ofCaller()){let o;return typeof r=="string"?o=new A.nA(void 0,r,void 0):o=new A.nA(r,void 0,void 0),new i(o,d,x.nx,l)}class i extends C{_setValue(d){this._value!==d&&(this._value&&this._value.dispose(),this._value=d)}dispose(){this._value?.dispose()}}},96137:(St,We,e)=>{e.d(We,{T:()=>y,v:()=>A});
911var v=e(41672),R=e(6020),x=e(29895),T=e(62885);class y{static indent(L,b,C){if(b===null||C===null)return[];const u=[];for(let i=0,r=C.length;i<r;i++)u[i]=new v.Y(C[i],{isUnshift:!1,tabSize:L.tabSize,indentSize:L.indentSize,insertSpaces:L.insertSpaces,useTabStops:L.useTabStops,autoIndent:L.autoIndent},L.languageConfigurationService);return u}static outdent(L,b,C){const u=[];for(let i=0,r=C.length;i<r;i++)u[i]=new v.Y(C[i],{isUnshift:!0,tabSize:L.tabSize,indentSize:L.indentSize,insertSpaces:L.insertSpaces,useTabStops:L.useTabStops,autoIndent:L.autoIndent},L.languageConfigurationService);return u}static paste(L,b,C,u,i,r){return T.Dr.getEdits(L,b,C,u,i,r)}static tab(L,b,C){return T.h0.getCommands(L,b,C)}static compositionType(L,b,C,u,i,r,d,l){return T.YA.getEdits(L,b,C,u,i,r,d,l)}static compositionEndWithInterceptors(L,b,C,u,i,r){if(!u)return null;let d=null;for(const p of u)if(d===null)d=p.insertedText;else if(d!==p.insertedText)return null;if(!d||d.length!==1)return T.Tl.getEdits(b,u);const l=d;let o=!1;for(const p of u)if(p.deletedText.length!==0){o=!0;break}if(o){if(!(0,T.ey)(b,l)||!b.surroundingPairs.hasOwnProperty(l))return null;const p=(0,x.vG)(l);for(const S of u)if(S.deletedSelectionStart!==0||S.deletedSelectionEnd!==S.deletedText.length||/^[ \t]+$/.test(S.deletedText)||p&&(0,x.vG)(S.deletedText))return null;const _=[];for(const S of i){if(!S.isEmpty())return null;_.push(S.getPosition())}if(_.length!==u.length)return null;const E=[];for(let S=0,h=_.length;S<h;S++)E.push(new R.y(_[S],u[S].deletedText,b.surroundingPairs[l]));return new x.vY(4,E,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const c=T.K4.getEdits(b,C,i,r,l);if(c!==void 0)return c;const a=T.oi.getEdits(b,C,i,l,!0,!1);return a!==void 0?a:T.Tl.getEdits(b,u)}static typeWithInterceptors(L,b,C,u,i,r,d){const l=T.AO.getEdits(C,u,i,d,L);if(l!==void 0)return l;const o=T.dU.getEdits(C,u,i,d,L);if(o!==void 0)return o;const c=T.sx.getEdits(b,C,u,i,r,d);if(c!==void 0)return c;const a=T.oi.getEdits(C,u,i,d,!1,L);if(a!==void 0)return a;const p=T.is.getEdits(C,u,i,d,L);if(p!==void 0)return p;const _=T.kr.getEdits(b,C,u,i,d,L);return _!==void 0?_:T.Ls.getEdits(C,b,i,d,L)}static typeWithoutInterceptors(L,b,C,u,i){return T.UN.getEdits(L,u,i)}}class A{constructor(L,b,C,u,i,r,d){this.deletedText=L,this.deletedSelectionStart=b,this.deletedSelectionEnd=C,this.insertedText=u,this.insertedSelectionStart=i,this.insertedSelectionEnd=r,this.insertedTextRange=d}}},96803:(St,We,e)=>{e.d(We,{iE:()=>R,rW:()=>x});class v{constructor(y,A,g){this._colorZoneBrand=void 0,this.from=y|0,this.to=A|0,this.colorId=g|0}static compare(y,A){return y.colorId===A.colorId?y.from===A.from?y.to-A.to:y.from-A.from:y.colorId-A.colorId}}class R{constructor(y,A,g,L){this._overviewRulerZoneBrand=void 0,this.startLineNumber=y,this.endLineNumber=A,this.heightInLines=g,this.color=L,this._colorZone=null}static compare(y,A){return y.color===A.color?y.startLineNumber===A.startLineNumber?y.heightInLines===A.heightInLines?y.endLineNumber-A.endLineNumber:y.heightInLines-A.heightInLines:y.startLineNumber-A.startLineNumber:y.color<A.color?-1:1}setColorZone(y){this._colorZone=y}getColorZones(){return this._colorZone}}class x{constructor(y){this._getVerticalOffsetForLine=y,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(y){this._zones=y,this._zones.sort(R.compare)}setLineHeight(y){return this._lineHeight===y?!1:(this._lineHeight=y,this._colorZonesInvalid=!0,!0)}setPixelRatio(y){this._pixelRatio=y,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(y){return this._domWidth===y?!1:(this._domWidth=y,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(y){return this._domHeight===y?!1:(this._domHeight=y,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(y){return this._outerHeight===y?!1:(this._outerHeight=y,this._colorZonesInvalid=!0,!0)}resolveColorZones(){const y=this._colorZonesInvalid,A=Math.floor(this._lineHeight),g=Math.floor(this.getCanvasHeight()),L=Math.floor(this._outerHeight),b=g/L,C=Math.floor(4*this._pixelRatio/2),u=[];for(let i=0,r=this._zones.length;i<r;i++){const d=this._zones[i];if(!y){const D=d.getColorZones();if(D){u.push(D);continue}}const l=this._getVerticalOffsetForLine(d.startLineNumber),o=d.heightInLines===0?this._getVerticalOffsetForLine(d.endLineNumber)+A:l+d.heightInLines*A,c=Math.floor(b*l),a=Math.floor(b*o);let p=Math.floor((c+a)/2),_=a-p;
911_<C&&(_=C),p-_<0&&(p=_),p+_>g&&(p=g-_);const E=d.color;let S=this._color2Id[E];S||(S=++this._lastAssignedId,this._color2Id[E]=S,this._id2Color[S]=E);const h=new v(p-_,p+_,S);d.setColorZone(h),u.push(h)}return this._colorZonesInvalid=!1,u.sort(v.compare),u}}},97036:(St,We,e)=>{e.d(We,{$H:()=>x,Lh:()=>T,r3:()=>R});var v=e(47317);const R=new class{clone(){return this}equals(y){return this===y}};function x(y,A){return new v.$M([new v.ou(0,"",y)],A)}function T(y,A){const g=new Uint32Array(2);return g[0]=0,g[1]=(y<<0|0|0|32768|2<<24)>>>0,new v.rY(g,[],A===null?R:A)}},97083:(St,We,e)=>{e.d(We,{p:()=>x});var v=e(31540),R=e(3765);const T=class T{};T.inlineSuggestionVisible=new v.N1("inlineSuggestionVisible",!1,(0,R.kg)(1234,"Whether an inline suggestion is visible")),T.inlineSuggestionAlternativeActionVisible=new v.N1("inlineSuggestionAlternativeActionVisible",!1,(0,R.kg)(1235,"Whether an alternative action for the inline suggestion is visible.")),T.inlineSuggestionHasIndentation=new v.N1("inlineSuggestionHasIndentation",!1,(0,R.kg)(1236,"Whether the inline suggestion starts with whitespace")),T.inlineSuggestionHasIndentationLessThanTabSize=new v.N1("inlineSuggestionHasIndentationLessThanTabSize",!0,(0,R.kg)(1237,"Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),T.suppressSuggestions=new v.N1("inlineSuggestionSuppressSuggestions",void 0,(0,R.kg)(1238,"Whether suggestions should be suppressed for the current suggestion")),T.cursorBeforeGhostText=new v.N1("cursorBeforeGhostText",!1,(0,R.kg)(1239,"Whether the cursor is at ghost text")),T.cursorInIndentation=new v.N1("cursorInIndentation",!1,(0,R.kg)(1240,"Whether the cursor is in indentation")),T.hasSelection=new v.N1("editor.hasSelection",!1,(0,R.kg)(1241,"Whether the editor has a selection")),T.cursorAtInlineEdit=new v.N1("cursorAtInlineEdit",!1,(0,R.kg)(1242,"Whether the cursor is at an inline edit")),T.inlineEditVisible=new v.N1("inlineEditIsVisible",!1,(0,R.kg)(1243,"Whether an inline edit is visible")),T.tabShouldJumpToInlineEdit=new v.N1("tabShouldJumpToInlineEdit",!1,(0,R.kg)(1244,"Whether tab should jump to an inline edit.")),T.tabShouldAcceptInlineEdit=new v.N1("tabShouldAcceptInlineEdit",!1,(0,R.kg)(1245,"Whether tab should accept the inline edit.")),T.inInlineEditsPreviewEditor=new v.N1("inInlineEditsPreviewEditor",!0,(0,R.kg)(1246,"Whether the current code editor is showing an inline edits preview"));let x=T},97148:(St,We,e)=>{e.d(We,{AT:()=>p,Nk:()=>u,OI:()=>d,RP:()=>r,Rl:()=>c,ZX:()=>o,pl:()=>i});var v=e(47936),R=e(96016),x=e(8897),T=e(2106),y=e(10998),A=e(99859),g=e(46933),L=e(99429),b=e(38792),C=e(57955);function u(_){const E=(0,R.FY)("promiseValue",{});return _.then(S=>{E.set({value:S},void 0)}),E}function i(_,E,S=C.j.ofCaller()){let h=!1,D,k;return(0,g.y0)(void 0,N=>{const W=(0,v.fm)(U=>{const $=_.read(U);h?(k&&clearTimeout(k),k=setTimeout(()=>{D=$,N()},E)):(h=!0,D=$)});return{dispose(){W.dispose(),h=!1,D=void 0}}},()=>h?D:_.get(),S)}function r(_,E,S=C.j.ofCaller()){const h=(0,L.Y)("handleTimeout");let D,k;return(0,A.C)({owner:void 0,onLastObserverRemoved:()=>{D=void 0}},W=>{const U=_.read(W);if(h.read(W),U!==D){const $=typeof E=="number"?E:E(D,U);if($===0)return D=U,U;k&&clearTimeout(k),k=setTimeout(()=>{D=U,h.trigger(void 0)},$)}return D},S)}function d(_,E){const S=new l(!0,E);_.addObserver(S);try{S.beginUpdate(_)}finally{S.endUpdate(_)}return(0,y.s)(()=>{_.removeObserver(S)})}(0,b.Bm)(d);class l{constructor(E,S){this._forceRecompute=E,this._handleValue=S,this._counter=0}beginUpdate(E){this._counter++}endUpdate(E){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(E.get()):E.reportChanges()),this._counter--}handlePossibleChange(E){}handleChange(E,S){}}function o(_,E){let S;return(0,A.C)({owner:_,debugReferenceFn:E},D=>(S=E(D,S),S))}function c(_,E,S,h){let D=new a(S,h);return(0,A.C)({debugReferenceFn:S,owner:_,onLastObserverRemoved:()=>{D.dispose(),D=new a(S)}},N=>{const W=E.read(N);return D.setItems(W),D.getItems()})}class a{constructor(E,S){this._map=E,this._keySelector=S,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(E=>E.store.dispose()),this._cache.clear()}setItems(E){const S=[],h=new Set(this._cache.keys());for(const D of E){const k=this._keySelector?this._keySelector(D):D;let N=this._cache.get(k);if(N)h.delete(k);else{const W=new y.Cm;N={out:this._map(D,W),store:W},this._cache.set(k,N)}S.push(N.out)}
911for(const D of h)this._cache.get(D).store.dispose(),this._cache.delete(D);this._items=S}getItems(){return this._items}}function p(_){return!!_&&_.read!==void 0&&_.reportChanges!==void 0}},97328:(St,We,e)=>{e.d(We,{ET:()=>u,On:()=>i,bX:()=>r});var v=e(13021),R=e(25837),x=e(66476),T=e(15365),y=e(54324),A=e(45561),g=e(39723),L=e(11608),b=e(60042);const C=(0,v.H)("diffEditorWidget",{createHTML:c=>c});function u(c,a,p,_,E=!1){(0,R.M)(_,a.fontInfo);const S=p.length>0,h=new y.fe(1e4);let D=0,k=0;const N=[],W=[];for(let ne=0;ne<c.lineTokens.length;ne++){const V=ne+1,I=c.lineTokens[ne],H=c.lineBreakData[ne],Z=A.d.filter(p,V,1,Number.MAX_SAFE_INTEGER);if(H){let X=0;for(const G of H.breakOffsets){const Y=I.sliceAndInflate(X,G,0),j=o(k,Y,A.d.extractWrapped(Z,X,G),S,c.mightContainNonBasicASCII,c.mightContainRTL,a,h,E);D=Math.max(D,j.maxCharWidth),W.push(new l(j.output.characterMapping,j.output.containsForeignElements,X)),k++,X=G}N.push(H.breakOffsets.length)}else{N.push(1);const X=o(k,I,Z,S,c.mightContainNonBasicASCII,c.mightContainRTL,a,h,E);D=Math.max(D,X.maxCharWidth),W.push(new l(X.output.characterMapping,X.output.containsForeignElements,0)),k++}}D+=a.scrollBeyondLastColumn;const U=h.build(),$=C?C.createHTML(U):U;_.innerHTML=$;const te=D*a.typicalHalfwidthCharacterWidth;return new d(k,te,N,W,c)}class i{constructor(a,p=a.map(S=>null),_=!0,E=!0){this.lineTokens=a,this.lineBreakData=p,this.mightContainNonBasicASCII=_,this.mightContainRTL=E}}class r{static fromEditor(a){const p=a.getOptions(),_=p.get(59),E=p.get(165);return new r(a.getModel()?.getOptions().tabSize||0,_,p.get(40),_.typicalHalfwidthCharacterWidth,p.get(118),p.get(75),E.decorationsWidth,p.get(133),p.get(113),p.get(108),p.get(60),p.get(117).verticalScrollbarSize)}constructor(a,p,_,E,S,h,D,k,N,W,U,$,te=!0){this.tabSize=a,this.fontInfo=p,this.disableMonospaceOptimizations=_,this.typicalHalfwidthCharacterWidth=E,this.scrollBeyondLastColumn=S,this.lineHeight=h,this.lineDecorationsWidth=D,this.stopRenderingLineAfter=k,this.renderWhitespace=N,this.renderControlCharacters=W,this.fontLigatures=U,this.verticalScrollbarSize=$,this.setWidth=te}withSetWidth(a){return new r(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,a)}withScrollBeyondLastColumn(a){return new r(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,a,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}}class d{constructor(a,p,_,E,S){this.heightInLines=a,this.minWidthInPx=p,this.viewLineCounts=_,this._renderOutputs=E,this._source=S}getModelPositionAt(a,p){let _=a;for(;_&&!_.classList.contains("view-line");)_=_.parentElement;if(!_)return;const E=_.parentElement;if(!E)return;const S=E.querySelectorAll(".view-line");let h=-1;for(let U=0;U<S.length;U++)if(S[U]===_){h=U;break}if(h===-1||h>=this._renderOutputs.length)return;let D=1,k=h;for(let U=0;U<this.viewLineCounts.length;U++){if(k<this.viewLineCounts[U]){D=U+1;break}k-=this.viewLineCounts[U]}if(D>this._source.lineTokens.length)return;const N=this._renderOutputs[h];if(!N)return;const W=(0,b.r)(N.characterMapping,a,p)+N.offset;return new T.y(D,W)}}class l extends g.yf{constructor(a,p,_){super(a,p),this.offset=_}}
911function o(c,a,p,_,E,S,h,D,k){D.appendString('<div class="view-line'),!k&&!_&&D.appendString(" char-delete"),D.appendString('" style="top:'),D.appendString(String(c*h.lineHeight)),h.setWidth?D.appendString('px;width:1000000px;">'):D.appendString('px;">');const N=a.getLineContent(),W=L.qL.isBasicASCII(N,E),U=L.qL.containsRTL(N,W,S),$=(0,g.UW)(new g.zL(h.fontInfo.isMonospace&&!h.disableMonospaceOptimizations,h.fontInfo.canUseHalfwidthRightwardsArrow,N,!1,W,U,0,a,p,h.tabSize,0,h.fontInfo.spaceWidth,h.fontInfo.middotWidth,h.fontInfo.wsmiddotWidth,h.stopRenderingLineAfter,h.renderWhitespace,h.renderControlCharacters,h.fontLigatures!==x.Bc.OFF,null,null,h.verticalScrollbarSize),D);D.appendString("</div>");const te=$.characterMapping.getHorizontalOffset($.characterMapping.length);return{output:$,maxCharWidth:te}}},97393:(St,We,e)=>{e.d(We,{Cn:()=>L,TM:()=>u,Uk:()=>v,XP:()=>y,hw:()=>A,iM:()=>T,kh:()=>C,lx:()=>x,oH:()=>i,ot:()=>b,vJ:()=>g});function v(d,l,o=d.length-1){const c=R(d,l,o);if(c!==-1)return d[c]}function R(d,l,o=d.length-1){for(let c=o;c>=0;c--){const a=d[c];if(l(a,c))return c}return-1}function x(d,l){const o=T(d,l);return o===-1?void 0:d[o]}function T(d,l,o=0,c=d.length){let a=o,p=c;for(;a<p;){const _=Math.floor((a+p)/2);l(d[_])?a=_+1:p=_}return a-1}function y(d,l){const o=A(d,l);return o===d.length?void 0:d[o]}function A(d,l,o=0,c=d.length){let a=o,p=c;for(;a<p;){const _=Math.floor((a+p)/2);l(d[_])?p=_:a=_+1}return a}const r=class r{constructor(l){this._array=l,this._findLastMonotonousLastIdx=0}findLastMonotonous(l){if(r.assertInvariants){if(this._prevFindLastPredicate){for(const c of this._array)if(this._prevFindLastPredicate(c)&&!l(c))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=l}const o=T(this._array,l,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=o+1,o===-1?void 0:this._array[o]}};r.assertInvariants=!1;let g=r;function L(d,l){if(d.length===0)return;let o=d[0];for(let c=1;c<d.length;c++){const a=d[c];l(a,o)>0&&(o=a)}return o}function b(d,l){if(d.length===0)return;let o=d[0];for(let c=1;c<d.length;c++){const a=d[c];l(a,o)>=0&&(o=a)}return o}function C(d,l){return L(d,(o,c)=>-l(o,c))}function u(d,l){if(d.length===0)return-1;let o=0;for(let c=1;c<d.length;c++){const a=d[c];l(a,d[o])>0&&(o=c)}return o}function i(d,l){for(const o of d){const c=l(o);if(c!==void 0)return c}}},97563:(St,We,e)=>{var v=e(50946),R=e(14333),x=e(10998),T=e(73678),y=e(61988),A=e(67885),g=e(61343),L=e(2744),b=e(47936),C=e(96016),u=e(99859);const l=class l extends x.jG{constructor(c){super(),this._editor=c;const a=(0,y.U)(this._editor),p=a.getOption(171);this._register((0,b.fm)(_=>{if(!p.read(_))return;const E=a.domNode.read(_);if(!E)return;const S=_.store.add((0,C.X2)("scrollingSession",void 0));_.store.add(this._editor.onMouseDown(D=>{if(S.read(void 0)){S.set(void 0,void 0);return}if(!D.event.middleButton)return;D.event.stopPropagation(),D.event.preventDefault();const N=new x.Cm,W=new A.b(D.event.posx,D.event.posy),$=r((0,R.zk)(E),W,N).map(V=>V.subtract(W).withThreshold(5)),te=E.getBoundingClientRect(),ne=new A.b(W.x-te.left,W.y-te.top);S.set({mouseDeltaAfterThreshold:$,initialMousePosInEditor:ne,didScroll:!1,dispose:()=>N.dispose()},void 0),N.add(this._editor.onMouseUp(V=>{const I=S.read(void 0);I&&I.didScroll&&S.set(void 0,void 0)})),N.add(this._editor.onKeyDown(V=>{S.set(void 0,void 0)}))})),_.store.add((0,b.fm)(D=>{const k=S.read(D);if(!k)return;let N=Date.now();D.store.add((0,b.fm)(U=>{g.hF.instance.invalidateOnNextAnimationFrame(U);const $=Date.now(),te=$-N;N=$;const ne=k.mouseDeltaAfterThreshold.read(void 0),V=te/32,I=ne.scale(V),H=new A.b(this._editor.getScrollLeft(),this._editor.getScrollTop());this._editor.setScrollPosition(d(H.add(I))),I.isZero()||(k.didScroll=!0)}));const W=(0,u.un)(U=>{const $=k.mouseDeltaAfterThreshold.read(U);let te="";return te+=$.y<0?"n":$.y>0?"s":"",te+=$.x<0?"w":$.x>0?"e":"",te});D.store.add((0,b.fm)(U=>{E.setAttribute("data-scroll-direction",W.read(U))}))}));const h=_.store.add(R.n.div({class:["scroll-editor-on-middle-click-dot",S.map(D=>D?"":"hidden")],style:{left:S.map(D=>D?D.initialMousePosInEditor.x:0),top:S.map(D=>D?D.initialMousePosInEditor.y:0)}}).toDisposableLiveElement());_.store.add((0,L.rX)(E,h.element)),_.store.add((0,b.fm)(D=>{const k=S.read(D);E.classList.toggle("scroll-editor-on-middle-click-editor",!!k)}))}))}};l.ID="editor.contrib.middleScroll";let i=l;function r(o,c,a){const p=(0,C.FY)("pos",c);return a.add((0,R.ko)(o,"mousemove",_=>{p.set(new A.b(_.pageX,_.pageY),void 0)})),p}function d(o){return{scrollLeft:o.x,scrollTop:o.y}}(0,v.HW)(i.ID,i,2)},97666:(St,We,e)=>{e.d(We,{g:()=>L});var v=e(16844),R=e(66316),x=e(29895),T=e(62549),y=e(50572),A=e(28061),g=e(15365);class L{static deleteRight(C,u,i,r){const d=[];let l=C!==3;for(let o=0,c=r.length;o<c;o++){const a=r[o],p=this.getDeleteRightRange(a,i,u);if(p.isEmpty()){d[o]=null;continue}p.startLineNumber!==p.endLineNumber&&(l=!0),d[o]=new R.iu(p,"")}return[l,d]}static getDeleteRightRange(C,u,i){if(!C.isEmpty())return C;const r=C.getPosition(),d=y.I.right(i,u,r);if(i.trimWhitespaceOnDelete&&d.lineNumber!==r.lineNumber){const l=u.getLineFirstNonWhitespaceColumn(r.lineNumber)>0,o=u.getLineFirstNonWhitespaceColumn(d.lineNumber);if(l&&o>0)return new A.Q(d.lineNumber,o,r.lineNumber,r.column)}return new A.Q(d.lineNumber,d.column,r.lineNumber,r.column)}static isAutoClosingPairDelete(C,u,i,r,d,l,o){if(u==="never"&&i==="never"||C==="never")return!1;for(let c=0,a=l.length;c<a;c++){const p=l[c],_=p.getPosition();if(!p.isEmpty())return!1;const E=d.getLineContent(_.lineNumber);if(_.column<2||_.column>=E.length+1)return!1;const S=E.charAt(_.column-2),h=r.get(S);if(!h)return!1;if((0,x.vG)(S)){if(i==="never")return!1}else if(u==="never")return!1;const D=E.charAt(_.column-1);let k=!1;for(const N of h)N.open===S&&N.close===D&&(k=!0);if(!k)return!1;if(C==="auto"){let N=!1;for(let W=0,U=o.length;W<U;W++){const $=o[W];if(_.lineNumber===$.startLineNumber&&_.column===$.startColumn){N=!0;break}}if(!N)return!1}}return!0}static _runAutoClosingPairDelete(C,u,i){const r=[];for(let d=0,l=i.length;d<l;d++){const o=i[d].getPosition(),c=new A.Q(o.lineNumber,o.column-1,o.lineNumber,o.column+1);r[d]=new R.iu(c,"")}return[!0,r]}static deleteLeft(C,u,i,r,d){if(this.isAutoClosingPairDelete(u.autoClosingDelete,u.autoClosingBrackets,u.autoClosingQuotes,u.autoClosingPairs.autoClosingPairsOpenByEnd,i,r,d))return this._runAutoClosingPairDelete(u,i,r);const l=[];let o=C!==2;for(let c=0,a=r.length;c<a;c++){const p=L.getDeleteLeftRange(r[c],i,u);if(p.isEmpty()){l[c]=null;continue}p.startLineNumber!==p.endLineNumber&&(o=!0),l[c]=new R.iu(p,"")}return[o,l]}static getDeleteLeftRange(C,u,i){if(!C.isEmpty())return C;const r=C.getPosition();if(i.useTabStops&&r.column>1){const d=u.getLineContent(r.lineNumber),l=(0,v.HG)(d),o=l===-1?d.length+1:l+1;
911if(r.column<=o){const c=i.visibleColumnFromColumn(u,r),a=T.A.prevIndentTabStop(c,i.indentSize),p=i.columnFromVisibleColumn(u,r.lineNumber,a);return new A.Q(r.lineNumber,p,r.lineNumber,r.column)}}return A.Q.fromPositions(L.getPositionAfterDeleteLeft(r,u),r)}static getPositionAfterDeleteLeft(C,u){if(C.column>1){const i=(0,v.Wd)(C.column-1,u.getLineContent(C.lineNumber));return C.with(void 0,i+1)}else if(C.lineNumber>1){const i=C.lineNumber-1;return new g.y(i,u.getLineMaxColumn(i))}else return C}static cut(C,u,i){const r=[];let d=null;i.sort((l,o)=>g.y.compare(l.getStartPosition(),o.getEndPosition()));for(let l=0,o=i.length;l<o;l++){const c=i[l];if(c.isEmpty())if(C.emptySelectionClipboard){const a=c.getPosition();let p,_,E,S;a.lineNumber<u.getLineCount()?(p=a.lineNumber,_=1,E=a.lineNumber+1,S=1):a.lineNumber>1&&d?.endLineNumber!==a.lineNumber?(p=a.lineNumber-1,_=u.getLineMaxColumn(a.lineNumber-1),E=a.lineNumber,S=u.getLineMaxColumn(a.lineNumber)):(p=a.lineNumber,_=1,E=a.lineNumber,S=u.getLineMaxColumn(a.lineNumber));const h=new A.Q(p,_,E,S);d=h,h.isEmpty()?r[l]=null:r[l]=new R.iu(h,"")}else r[l]=null;else r[l]=new R.iu(c,"")}return new x.vY(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}},97757:(St,We,e)=>{e.d(We,{Lx:()=>R,Yo:()=>v,jh:()=>x,y2:()=>T});var v;(function(y){y[y.Expanded=0]="Expanded",y[y.Collapsed=1]="Collapsed",y[y.PreserveOrExpanded=2]="PreserveOrExpanded",y[y.PreserveOrCollapsed=3]="PreserveOrCollapsed"})(v||(v={}));var R;(function(y){y[y.Unknown=0]="Unknown",y[y.Twistie=1]="Twistie",y[y.Element=2]="Element",y[y.Filter=3]="Filter"})(R||(R={}));class x extends Error{constructor(A,g){super(`TreeError [${A}] ${g}`)}}class T{constructor(A){this.fn=A,this._map=new WeakMap}map(A){let g=this._map.get(A);return g||(g=this.fn(A),this._map.set(A,g)),g}}},97965:(St,We,e)=>{var W;e.d(We,{N:()=>D});var v=e(14333),R=e(91818),x=e(5915),T=e(90028),y=e(10998),A=e(73678),g=e(58881),L=e(79359),b=e(3765),C=e(82399),u=e(80816),i=e(15365),r=e(28061),d=e(47317),l=e(61988),o=e(2744),c=e(96016),a=e(99859),p=e(39084),_=e(47936),E=function(U,$,te,ne){var V=arguments.length,I=V<3?$:ne===null?ne=Object.getOwnPropertyDescriptor($,te):ne,H;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(U,$,te,ne);else for(var Z=U.length-1;Z>=0;Z--)(H=U[Z])&&(I=(V<3?H(I):V>3?H($,te,I):H($,te))||I);return V>3&&I&&Object.defineProperty($,te,I),I},S=function(U,$){return function(te,ne){$(te,ne,U)}},h;let D=(W=class extends y.jG{static setBreadcrumbsSourceFactory($){this._breadcrumbsSourceFactory.set($,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor($,te,ne,V){super(),this._editors=$,this._diffModel=te,this._options=ne,this._instantiationService=V,this._modifiedOutlineSource=(0,a.a0)(this,X=>{const G=this._editors.modifiedModel.read(X),Y=h._breadcrumbsSourceFactory.read(X);return!G||!Y?void 0:Y(G,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(X=>{if(X.reason===1)return;const G=this._diffModel.get();(0,p.Rn)(Y=>{for(const j of this._editors.original.getSelections()||[])G?.ensureOriginalLineIsVisible(j.getStartPosition().lineNumber,0,Y),G?.ensureOriginalLineIsVisible(j.getEndPosition().lineNumber,0,Y)})})),this._register(this._editors.modified.onDidChangeCursorPosition(X=>{if(X.reason===1)return;const G=this._diffModel.get();(0,p.Rn)(Y=>{for(const j of this._editors.modified.getSelections()||[])G?.ensureModifiedLineIsVisible(j.getStartPosition().lineNumber,0,Y),G?.ensureModifiedLineIsVisible(j.getEndPosition().lineNumber,0,Y)})}));const I=this._diffModel.map((X,G)=>{const Y=X?.unchangedRegions.read(G)??[];return Y.length===1&&Y[0].modifiedLineNumber===1&&Y[0].lineCount===this._editors.modifiedModel.read(G)?.getLineCount()?[]:Y});this.viewZones=(0,a.un)(this,X=>{const G=this._modifiedOutlineSource.read(X);if(!G)return{origViewZones:[],modViewZones:[]};const Y=[],j=[],z=this._options.renderSideBySide.read(X),ie=this._options.compactMode.read(X),re=I.read(X);for(let de=0;de<re.length;de++){const le=re[de];if(!le.shouldHideControls(X)&&!(ie&&(de===0||de===re.length-1)))if(ie){{const he=(0,a.un)(this,xe=>le.getHiddenOriginalRange(xe).startLineNumber-1),we=new o.D1(he,12);Y.push(we),X.store.add(new k(this._editors.original,we,le,!z))}{const he=(0,a.un)(this,xe=>le.getHiddenModifiedRange(xe).startLineNumber-1),we=new o.D1(he,12);j.push(we),X.store.add(new k(this._editors.modified,we,le))}}else{{const he=(0,a.un)(this,xe=>le.getHiddenOriginalRange(xe).startLineNumber-1),we=new o.D1(he,24);Y.push(we),X.store.add(new N(this._editors.original,we,le,le.originalUnchangedRange,!z,G,xe=>this._diffModel.get().ensureModifiedLineIsVisible(xe,2,void 0),this._options))}{const he=(0,a.un)(this,xe=>le.getHiddenModifiedRange(xe).startLineNumber-1),we=new o.D1(he,24);j.push(we),X.store.add(new N(this._editors.modified,we,le,le.modifiedUnchangedRange,!1,G,xe=>this._diffModel.get().ensureModifiedLineIsVisible(xe,2,void 0),this._options))}}}return{origViewZones:Y,modViewZones:j}});const H={description:"unchanged lines",className:"diff-unchanged-lines",
911isWholeLine:!0},Z={description:"Fold Unchanged",glyphMarginHoverMessage:new T.Bc(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown((0,b.kg)(140,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+g.L.asClassName(x.W.fold),zIndex:10001};this._register((0,o.pY)(this._editors.original,(0,a.un)(this,X=>{const G=I.read(X),Y=G.map(j=>({range:j.originalUnchangedRange.toInclusiveRange(),options:H}));for(const j of G)j.shouldHideControls(X)&&Y.push({range:r.Q.fromPositions(new i.y(j.originalLineNumber,1)),options:Z});return Y}))),this._register((0,o.pY)(this._editors.modified,(0,a.un)(this,X=>{const G=I.read(X),Y=G.map(j=>({range:j.modifiedUnchangedRange.toInclusiveRange(),options:H}));for(const j of G)j.shouldHideControls(X)&&Y.push({range:u.M.ofLength(j.modifiedLineNumber,1).toInclusiveRange(),options:Z});return Y}))),this._register((0,_.fm)(X=>{const G=I.read(X);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(G.map(Y=>Y.getHiddenOriginalRange(X).toInclusiveRange()).filter(L.O9)),this._editors.modified.setHiddenAreas(G.map(Y=>Y.getHiddenModifiedRange(X).toInclusiveRange()).filter(L.O9))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(X=>{if(!X.event.rightButton&&X.target.position&&X.target.element?.className.includes("fold-unchanged")){const G=X.target.position.lineNumber,Y=this._diffModel.get();if(!Y)return;const j=Y.unchangedRegions.get().find(z=>z.modifiedUnchangedRange.contains(G));if(!j)return;j.collapseAll(void 0),X.event.stopPropagation(),X.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(X=>{if(!X.event.rightButton&&X.target.position&&X.target.element?.className.includes("fold-unchanged")){const G=X.target.position.lineNumber,Y=this._diffModel.get();if(!Y)return;const j=Y.unchangedRegions.get().find(z=>z.originalUnchangedRange.contains(G));if(!j)return;j.collapseAll(void 0),X.event.stopPropagation(),X.event.preventDefault()}}))}},h=W,W._breadcrumbsSourceFactory=(0,c.FY)(W,()=>({dispose(){},getBreadcrumbItems($,te){return[]},getAt:()=>[]})),W);D=h=E([S(3,C._Y)],D);class k extends o.uN{constructor($,te,ne,V=!1){const I=(0,v.h)("div.diff-hidden-lines-widget");super($,te,I.root),this._unchangedRegion=ne,this._hide=V,this._nodes=(0,v.h)("div.diff-hidden-lines-compact",[(0,v.h)("div.line-left",[]),(0,v.h)("div.text@text",[]),(0,v.h)("div.line-right",[])]),I.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register((0,_.fm)(H=>{if(!this._hide){const Z=this._unchangedRegion.getHiddenModifiedRange(H).length,X=(0,b.kg)(141,"{0} hidden lines",Z);this._nodes.text.innerText=X}}))}}class N extends o.uN{constructor($,te,ne,V,I,H,Z,X){const G=(0,v.h)("div.diff-hidden-lines-widget");super($,te,G.root),this._editor=$,this._unchangedRegion=ne,this._unchangedRegionRange=V,this._hide=I,this._modifiedOutlineSource=H,this._revealModifiedHiddenLine=Z,this._options=X,this._nodes=(0,v.h)("div.diff-hidden-lines",[(0,v.h)("div.top@top",{title:(0,b.kg)(142,"Click or drag to show more above")}),(0,v.h)("div.center@content",{style:{display:"flex"}},[(0,v.h)("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[(0,v.$)("a",{title:(0,b.kg)(143,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...(0,R.n)("$(unfold)"))]),(0,v.h)("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),(0,v.h)("div.bottom@bottom",{title:(0,b.kg)(144,"Click or drag to show more below"),role:"button"})]),G.root.appendChild(this._nodes.root),this._hide?(0,v.Ln)(this._nodes.first):this._register((0,o.AV)(this._nodes.first,{width:(0,l.U)(this._editor).layoutInfoContentLeft})),this._register((0,_.fm)(j=>{const z=this._unchangedRegion.visibleLineCountTop.read(j)+this._unchangedRegion.visibleLineCountBottom.read(j)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!z),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(j)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(j)>0),this._nodes.top.classList.toggle("canMoveBottom",!z);const ie=this._unchangedRegion.isDragged.read(j),re=this._editor.getDomNode();re&&(re.classList.toggle("draggingUnchangedRegion",!!ie),ie==="top"?(re.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(j)>0),re.classList.toggle("canMoveBottom",!z)):ie==="bottom"?(re.classList.toggle("canMoveTop",!z),re.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(j)>0)):(re.classList.toggle("canMoveTop",!1),re.classList.toggle("canMoveBottom",!1)))}));const Y=this._editor;this._register((0,v.ko)(this._nodes.top,"mousedown",j=>{if(j.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),j.preventDefault();const z=j.clientY;let ie=!1;const re=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const de=(0,v.zk)(this._nodes.top),le=(0,v.ko)(de,"mousemove",we=>{const Be=we.clientY-z;ie=ie||Math.abs(Be)>2;const M=Math.round(Be/Y.getOption(75)),Ve=Math.max(0,Math.min(re+M,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(Ve,void 0)}),he=(0,v.ko)(de,"mouseup",we=>
911{ie||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),le.dispose(),he.dispose()})})),this._register((0,v.ko)(this._nodes.bottom,"mousedown",j=>{if(j.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),j.preventDefault();const z=j.clientY;let ie=!1;const re=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const de=(0,v.zk)(this._nodes.bottom),le=(0,v.ko)(de,"mousemove",we=>{const Be=we.clientY-z;ie=ie||Math.abs(Be)>2;const M=Math.round(Be/Y.getOption(75)),Ve=Math.max(0,Math.min(re-M,this._unchangedRegion.getMaxVisibleLineCountBottom())),Me=this._unchangedRegionRange.endLineNumberExclusive>Y.getModel().getLineCount()?Y.getContentHeight():Y.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(Ve,void 0);const Le=this._unchangedRegionRange.endLineNumberExclusive>Y.getModel().getLineCount()?Y.getContentHeight():Y.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);Y.setScrollTop(Y.getScrollTop()+(Le-Me))}),he=(0,v.ko)(de,"mouseup",we=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!ie){const xe=Y.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);
911this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const Be=Y.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);Y.setScrollTop(Y.getScrollTop()+(Be-xe))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),le.dispose(),he.dispose()})})),this._register((0,_.fm)(j=>{const z=[];if(!this._hide){const ie=ne.getHiddenModifiedRange(j).length,re=(0,b.kg)(145,"{0} hidden lines",ie),de=(0,v.$)("span",{title:(0,b.kg)(146,"Double click to unfold")},re);de.addEventListener("dblclick",we=>{we.button===0&&(we.preventDefault(),this._unchangedRegion.showAll(void 0))}),z.push(de);const le=this._unchangedRegion.getHiddenModifiedRange(j),he=this._modifiedOutlineSource.getBreadcrumbItems(le,j);if(he.length>0){z.push((0,v.$)("span",void 0,"\xA0\xA0|\xA0\xA0"));for(let we=0;we<he.length;we++){const xe=he[we],Be=d.gP.toIcon(xe.kind),M=(0,v.h)("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[(0,R.s)(Be),"\xA0",xe.name,...we===he.length-1?[]:[(0,R.s)(x.W.chevronRight)]]).root;z.push(M),M.onclick=()=>{this._revealModifiedHiddenLine(xe.startLineNumber)}}}}(0,v.Ln)(this._nodes.others,...z)}))}}},98315:(St,We,e)=>{e.d(We,{G$:()=>A,Of:()=>x,r0:()=>T,rr:()=>y});var v=e(3765);class R{constructor(b,C,u=C){this.modifierLabels=[null],this.modifierLabels[2]=b,this.modifierLabels[1]=C,this.modifierLabels[3]=u}toLabel(b,C,u){if(C.length===0)return null;const i=[];for(let r=0,d=C.length;r<d;r++){const l=C[r],o=u(l);if(o===null)return null;i[r]=g(l,o,this.modifierLabels[b])}return i.join(" ")}}const x=new R({ctrlKey:"\u2303",shiftKey:"\u21E7",altKey:"\u2325",metaKey:"\u2318",separator:""},{ctrlKey:(0,v.kg)(39,"Ctrl"),shiftKey:(0,v.kg)(40,"Shift"),altKey:(0,v.kg)(41,"Alt"),metaKey:(0,v.kg)(42,"Windows"),separator:"+"},{ctrlKey:(0,v.kg)(43,"Ctrl"),shiftKey:(0,v.kg)(44,"Shift"),altKey:(0,v.kg)(45,"Alt"),metaKey:(0,v.kg)(46,"Super"),separator:"+"}),T=new R({ctrlKey:(0,v.kg)(47,"Control"),shiftKey:(0,v.kg)(48,"Shift"),altKey:(0,v.kg)(49,"Option"),metaKey:(0,v.kg)(50,"Command"),separator:"+"},{ctrlKey:(0,v.kg)(51,"Control"),shiftKey:(0,v.kg)(52,"Shift"),altKey:(0,v.kg)(53,"Alt"),metaKey:(0,v.kg)(54,"Windows"),separator:"+"},{ctrlKey:(0,v.kg)(55,"Control"),shiftKey:(0,v.kg)(56,"Shift"),altKey:(0,v.kg)(57,"Alt"),metaKey:(0,v.kg)(58,"Super"),separator:"+"}),y=new R({ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Cmd",separator:"+"},{ctrlKey:"Ctrl",shiftKey:"Shift",altKey:"Alt",metaKey:"Super",separator:"+"}),A=new R({ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"cmd",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"win",separator:"+"},{ctrlKey:"ctrl",shiftKey:"shift",altKey:"alt",metaKey:"meta",separator:"+"});function g(L,b,C){if(b===null)return"";const u=[];return L.ctrlKey&&u.push(C.ctrlKey),L.shiftKey&&u.push(C.shiftKey),L.altKey&&u.push(C.altKey),L.metaKey&&u.push(C.metaKey),b!==""&&u.push(b),u.join(C.separator)}},98349:(St,We,e)=>{e.d(We,{r:()=>d});var v=e(65958),R=e(28061),x=e(98823),T=e(40865),y=e(46311),A=e(89044),g=e(3765),L=e(56449),b=e(14333),C=e(10998),u=function(l,o,c,a){var p=arguments.length,_=p<3?o:a===null?a=Object.getOwnPropertyDescriptor(o,c):a,E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")_=Reflect.decorate(l,o,c,a);else for(var S=l.length-1;S>=0;S--)(E=l[S])&&(_=(p<3?E(_):p>3?E(o,c,_):E(o,c))||_);return p>3&&_&&Object.defineProperty(o,c,_),_},i=function(l,o){return function(c,a){o(c,a,l)}};class r{constructor(o,c,a,p){this.owner=o,this.range=c,this.model=a,this.provider=p,this.forceShowAtRange=!0}isValidForHoverAnchor(o){return o.type===1&&this.range.startColumn<=o.range.startColumn&&this.range.endColumn>=o.range.endColumn}static fromBaseColor(o,c){return new r(o,c.range,c.model,c.provider)}}let d=class{constructor(o,c){this._editor=o,this._themeService=c,this.hoverOrdinal=2}computeSync(o,c,a){return[]}computeAsync(o,c,a,p){return v.PQ.fromPromise(this._computeAsync(o,c,a))}async _computeAsync(o,c,a){if(!this._editor.hasModel())return[];if(!this._isValidRequest(a))return[];const p=x.mn.get(this._editor);if(!p)return[];for(const _ of c){if(!p.isColorDecoration(_))continue;const E=p.getColorData(_.range.getStartPosition());if(E)return[r.fromBaseColor(this,await(0,L.E0)(this._editor.getModel(),E.colorInfo,E.provider))]}return[]}_isValidRequest(o){const c=this._editor.getOption(168);switch(o){case 0:return c==="hover"||c==="clickAndHover";case 1:return c==="click"||c==="clickAndHover";case 2:return!0}}renderHoverParts(o,c){const a=this._editor;if(c.length===0||!a.hasModel())return new y.Ke([]);const p=a.getOption(75)+8;o.setMinimumDimensions(new b.fg(302,p));const _=new C.Cm,E=c[0],S=a.getModel(),h=E.model;this._colorPicker=_.add(new T.K(o.fragment,h,a.getOption(163),this._themeService,"hover"));let D=!1,k=new R.Q(E.range.startLineNumber,E.range.startColumn,E.range.endLineNumber,E.range.endColumn);_.add(h.onColorFlushed(async W=>
911{await(0,L.e2)(S,h,W,k,E),D=!0,k=(0,L.gi)(a,k,h)})),_.add(h.onDidChangeColor(W=>{(0,L.e2)(S,h,W,k,E)})),_.add(a.onDidChangeModelContent(W=>{D?D=!1:(o.hide(),a.focus())}));const N={hoverPart:r.fromBaseColor(this,E),hoverElement:this._colorPicker.domNode,dispose(){_.dispose()}};return new y.Ke([N])}getAccessibleContent(o){return(0,g.kg)(923,"There is a color picker here.")}handleResize(){this._colorPicker?.layout()}handleContentsChanged(){this._colorPicker?.layout()}handleHide(){this._colorPicker?.dispose(),this._colorPicker=void 0}isColorPickerVisible(){return!!this._colorPicker}};d=u([i(1,A.Gy)],d)},98613:(St,We,e)=>{e.d(We,{HS:()=>T,qR:()=>y,xW:()=>x});var v=e(94327),R=e(10998);const x=new Float32Array([1,0,1,1,0,1,0,0,0,1,1,0]);function T(A){if(!A)throw new Error(`Value "${A}" cannot be null`);return A}function y(A,g,L){let b=new g.ResizeObserver(C=>{const u=C.find(d=>d.target===A);if(!u)return;if(!("devicePixelContentBoxSize"in u)){b?.disconnect(),b=void 0;return}const i=u.devicePixelContentBoxSize[0].inlineSize,r=u.devicePixelContentBoxSize[0].blockSize;i>0&&r>0&&L(i,r)});try{b.observe(A,{box:["device-pixel-content-box"]})}catch{throw b.disconnect(),b=void 0,new v.D7("Could not observe device pixel dimensions")}return(0,R.s)(()=>b?.disconnect())}},98690:(St,We,e)=>{var r;var v=e(10998),R=e(22467),x=e(50946),T=e(87301),y=e(3765),A=e(94535),g=function(d,l,o,c){var a=arguments.length,p=a<3?l:c===null?c=Object.getOwnPropertyDescriptor(l,o):c,_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")p=Reflect.decorate(d,l,o,c);else for(var E=d.length-1;E>=0;E--)(_=d[E])&&(p=(a<3?_(p):a>3?_(l,o,p):_(l,o))||p);return a>3&&p&&Object.defineProperty(l,o,p),p},L=function(d,l){return function(o,c){l(o,c,d)}};const b="ignoreUnusualLineTerminators";function C(d,l,o){d.setModelProperty(l.uri,b,o)}function u(d,l){return d.getModelProperty(l.uri,b)}let i=(r=class extends v.jG{constructor(l,o,c){super(),this._editor=l,this._dialogService=o,this._codeEditorService=c,this._isPresentingDialog=!1,this._config=this._editor.getOption(143),this._register(this._editor.onDidChangeConfiguration(a=>{a.hasChanged(143)&&(this._config=this._editor.getOption(143),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(a=>{a.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const l=this._editor.getModel();if(!l.mightContainUnusualLineTerminators()||u(this._codeEditorService,l)===!0||this._editor.getOption(104))return;if(this._config==="auto"){l.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let c;try{this._isPresentingDialog=!0,c=await this._dialogService.confirm({title:(0,y.kg)(1610,"Unusual Line Terminators"),message:(0,y.kg)(1611,"Detected unusual line terminators"),detail:(0,y.kg)(1612,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",(0,R.P8)(l.uri)),primaryButton:(0,y.kg)(1613,"&&Remove Unusual Line Terminators"),cancelButton:(0,y.kg)(1614,"Ignore")})}finally{this._isPresentingDialog=!1}if(!c.confirmed){C(this._codeEditorService,l,!0);return}l.removeUnusualLineTerminators(this._editor.getSelections())}},r.ID="editor.contrib.unusualLineTerminatorsDetector",r);i=g([L(1,A.X),L(2,T.T)],i),(0,x.HW)(i.ID,i,1)},98769:(St,We,e)=>{e.d(We,{cw:()=>A,jN:()=>y,nu:()=>T});var v=e(82399),R=e(37264),x=e(79359);const T=(0,v.u1)("IWorkspaceEditService");class y{constructor(b){this.metadata=b}static convert(b){return b.edits.map(C=>{if(A.is(C))return A.lift(C);if(g.is(C))return g.lift(C);throw new Error("Unsupported edit")})}}class A extends y{static is(b){return b instanceof A?!0:(0,x.Gv)(b)&&R.r.isUri(b.resource)&&(0,x.Gv)(b.textEdit)}static lift(b){return b instanceof A?b:new A(b.resource,b.textEdit,b.versionId,b.metadata)}constructor(b,C,u=void 0,i){super(i),this.resource=b,this.textEdit=C,this.versionId=u}}class g extends y{static is(b){return b instanceof g?!0:(0,x.Gv)(b)&&(!!b.newResource||!!b.oldResource)}static lift(b){return b instanceof g?b:new g(b.oldResource,b.newResource,b.options,b.metadata)}constructor(b,C,u={},i){super(i),this.oldResource=b,this.newResource=C,this.options=u}}},98823:(St,We,e)=>{var E;e.d(We,{mn:()=>p,nM:()=>a});var v=e(65958),R=e(94901),x=e(94327),T=e(2106),y=e(10998),A=e(23013),g=e(16844),L=e(58574),b=e(28061),C=e(31531),u=e(12060),i=e(29849),r=e(28654),d=e(85753),l=function(S,h,D,k){var N=arguments.length,W=N<3?h:k===null?k=Object.getOwnPropertyDescriptor(h,D):k,U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(S,h,D,k);else for(var $=S.length-1;$>=0;$--)(U=S[$])&&(W=(N<3?U(W):N>3?U(h,D,W):U(h,D))||W);return N>3&&W&&Object.defineProperty(h,D,W),W},o=function(S,h){return function(D,k){h(D,k,S)}},c;const a=Object.create({});let p=(E=class extends y.jG{constructor(h,D,k,N){super(),this._editor=h,this._configurationService=D,this._languageFeaturesService=k,this._localToDispose=this._register(new y.Cm),this._decorationsIds=[],this._colorDatas=new Map,this._decoratorLimitReporter=this._register(new _),this._colorDecorationClassRefs=this._register(new y.Cm),this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=this._register(new L.Qn(this._editor)),this._debounceInformation=N.for(k.colorProvider,"Document Colors",{min:c.RECOMPUTE_TIME}),this._register(h.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(h.onDidChangeModelLanguage(()=>this.updateColors())),this._register(k.colorProvider.onDidChange(()=>this.updateColors())),this._register(h.onDidChangeConfiguration(W=>{const U=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(167);const $=U!==this._isColorDecoratorsEnabled||W.hasChanged(27),te=W.hasChanged(167);($||te)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._defaultColorDecoratorsEnablement=this._editor.getOption(167),this.updateColors()}isEnabled(){const h=this._editor.getModel();if(!h)return!1;const D=h.getLanguageId(),k=this._configurationService.getValue(D
911);if(k&&typeof k=="object"){const N=k.colorDecorators;if(N&&N.enable!==void 0&&!N.enable)return N.enable}return this._editor.getOption(26)}static get(h){return h.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const h=this._editor.getModel();!h||!this._languageFeaturesService.colorProvider.has(h)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new v.pc,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(h)))})),this.beginCompute())}async beginCompute(){this._computePromise=(0,v.SS)(async h=>{const D=this._editor.getModel();if(!D)return[];const k=new A.W(!1),N=await(0,r.jM)(this._languageFeaturesService.colorProvider,D,h,this._defaultColorDecoratorsEnablement);return this._debounceInformation.update(D,k.elapsed()),N});try{const h=await this._computePromise;this.updateDecorations(h),this.updateColorDecorators(h),this._computePromise=null}catch(h){(0,x.dz)(h)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(h){const D=h.map(k=>({range:{startLineNumber:k.colorInfo.range.startLineNumber,startColumn:k.colorInfo.range.startColumn,endLineNumber:k.colorInfo.range.endLineNumber,endColumn:k.colorInfo.range.endColumn},options:C.kI.EMPTY}));this._editor.changeDecorations(k=>{this._decorationsIds=k.deltaDecorations(this._decorationsIds,D),this._colorDatas=new Map,this._decorationsIds.forEach((N,W)=>this._colorDatas.set(N,h[W]))})}updateColorDecorators(h){this._colorDecorationClassRefs.clear();const D=[],k=this._editor.getOption(27);for(let W=0;W<h.length&&D.length<k;W++){const{red:U,green:$,blue:te,alpha:ne}=h[W].colorInfo.color,V=new R.bU(Math.round(U*255),Math.round($*255),Math.round(te*255),ne),I=`rgba(${V.r}, ${V.g}, ${V.b}, ${V.a})`,H=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:I}));D.push({range:{startLineNumber:h[W].colorInfo.range.startLineNumber,startColumn:h[W].colorInfo.range.startColumn,endLineNumber:h[W].colorInfo.range.endLineNumber,endColumn:h[W].colorInfo.range.endColumn},options:{description:"colorDetector",before:{content:g.S8,inlineClassName:`${H.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:a}}})}const N=k<h.length?k:!1;this._decoratorLimitReporter.update(h.length,N),this._colorDecoratorIds.set(D)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(h){const D=this._editor.getModel();if(!D)return null;const k=D.getDecorationsInRange(b.Q.fromPositions(h,h)).filter(N=>this._colorDatas.has(N.id));return k.length===0?null:this._colorDatas.get(k[0].id)}isColorDecoration(h){return this._colorDecoratorIds.has(h)}},c=E,E.ID="editor.contrib.colorDetector",E.RECOMPUTE_TIME=1e3,E);p=c=l([o(1,d.pG),o(2,i.u),o(3,u.U)],p);class _ extends y.jG{constructor(){super(...arguments),this._onDidChange=this._register(new T.vl),this._computed=0,this._limited=!1}update(h,D){(h!==this._computed||D!==this._limited)&&(this._computed=h,this._limited=D,this._onDidChange.fire())}}},98826:(St,We,e)=>{e.d(We,{PE:()=>ri,aG:()=>Gt,er:()=>Rt,YD:()=>st,zL:()=>Nn,Nf:()=>$i,cH:()=>Sn});var v=e(14333),R=e(13338),x=e(78903),T=e(2106),y=e(10998),A=e(51520),g=e(67954);class L{get templateId(){return this.renderer.templateId}constructor(ge,Ze){this.renderer=ge,this.modelProvider=Ze}renderTemplate(ge){return{data:this.renderer.renderTemplate(ge),disposable:y.jG.None}}renderElement(ge,Ze,at,Et){if(at.disposable?.dispose(),!at.data)return;const Ft=this.modelProvider();if(Ft.isResolved(ge))return this.renderer.renderElement(Ft.get(ge),ge,at.data,Et);const qt=new x.Qi,Li=Ft.resolve(ge,qt.token);at.disposable={dispose:()=>qt.cancel()},this.renderer.renderPlaceholder(ge,at.data),Li.then(Ni=>this.renderer.renderElement(Ni,ge,at.data,Et))}disposeTemplate(ge){ge.disposable&&(ge.disposable.dispose(),ge.disposable=void 0),ge.data&&(this.renderer.disposeTemplate(ge.data),ge.data=void 0)}}class b{constructor(ge,Ze){this.modelProvider=ge,this.accessibilityProvi
911der=Ze}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(ge){const Ze=this.modelProvider();return Ze.isResolved(ge)?this.accessibilityProvider.getAriaLabel(Ze.get(ge)):null}}function C(ot,ge){return{...ge,accessibilityProvider:ge.accessibilityProvider&&new b(ot,ge.accessibilityProvider)}}class u{constructor(ge,Ze,at,Et,Ft={}){this.modelDisposables=new y.Cm;const qt=()=>this.model,Li=Et.map(Ni=>new L(Ni,qt));this.list=new g.B8(ge,Ze,at,Li,C(qt,Ft))}updateOptions(ge){this.list.updateOptions(ge)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return T.Jh.map(this.list.onMouseDblClick,({element:ge,index:Ze,browserEvent:at})=>({element:ge===void 0?void 0:this._model.get(ge),index:Ze,browserEvent:at}))}get onPointer(){return T.Jh.map(this.list.onPointer,({element:ge,index:Ze,browserEvent:at})=>({element:ge===void 0?void 0:this._model.get(ge),index:Ze,browserEvent:at}))}get onDidChangeSelection(){return T.Jh.map(this.list.onDidChangeSelection,({elements:ge,indexes:Ze,browserEvent:at})=>({elements:ge.map(Et=>this._model.get(Et)),indexes:Ze,browserEvent:at}))}get model(){return this._model}set model(ge){this.modelDisposables.clear(),this._model=ge,this.list.splice(0,this.list.length,(0,R.y1)(ge.length)),this.modelDisposables.add(ge.onDidIncrementLength(Ze=>this.list.splice(this.list.length,0,(0,R.y1)(this.list.length,Ze))))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(ge=>this.model.get(ge))}style(ge){this.list.style(ge)}dispose(){this.list.dispose(),this.modelDisposables.dispose()}}var i=e(83952),r=e(20396),d=e(65568),l=e(40708);const Zi=class Zi{constructor(ge,Ze,at){this.columns=ge,this.getColumnSize=at,this.templateId=Zi.TemplateId,this.renderedTemplates=new Set;const Et=new Map(Ze.map(Ft=>[Ft.templateId,Ft]));this.renderers=[];for(const Ft of ge){const qt=Et.get(Ft.templateId);if(!qt)throw new Error(`Table cell renderer for template id ${Ft.templateId} not found.`);this.renderers.push(qt)}}renderTemplate(ge){const Ze=(0,v.BC)(ge,(0,v.$)(".monaco-table-tr")),at=[],Et=[];for(let qt=0;qt<this.columns.length;qt++){const Li=this.renderers[qt],Ni=(0,v.BC)(Ze,(0,v.$)(".monaco-table-td",{"data-col-index":qt}));Ni.style.width=`${this.getColumnSize(qt)}px`,at.push(Ni),Et.push(Li.renderTemplate(Ni))}const Ft={container:ge,cellContainers:at,cellTemplateData:Et};return this.renderedTemplates.add(Ft),Ft}renderElement(ge,Ze,at,Et){for(let Ft=0;Ft<this.columns.length;Ft++){const Li=this.columns[Ft].project(ge);this.renderers[Ft].renderElement(Li,Ze,at.cellTemplateData[Ft],Et)}}disposeElement(ge,Ze,at,Et){for(let Ft=0;Ft<this.columns.length;Ft++){const qt=this.renderers[Ft];if(qt.disposeElement){const Ni=this.columns[Ft].project(ge);qt.disposeElement(Ni,Ze,at.cellTemplateData[Ft],Et)}}}disposeTemplate(ge){for(let Ze=0;Ze<this.columns.length;Ze++)this.renderers[Ze].disposeTemplate(ge.cellTemplateData[Ze]);(0,v.w_)(ge.container),this.renderedTemplates.delete(ge)}layoutColumn(ge,Ze){for(const{cellContainers:at}of this.renderedTemplates)at[ge].style.width=`${Ze}px`}};Zi.TemplateId="row";let o=Zi;function c(ot){return{getHeight(ge){return ot.getHeight(ge)},getTemplateId(){return o.TemplateId}}}class a extends y.jG{get minimumSize(){return this.column.minimumWidth??120}get maximumSize(){return this.column.maximumWidth??Number.POSITIVE_INFINITY}get onDidChange(){return this.column.onDidChangeWidthConstraints??T.Jh.None}constructor(ge,Ze){super(),this.column=ge,this.index=Ze,this._onDidLayout=this._register(new T.vl),this.onDidLayout=this._onDidLayout.event,this.element=(0,v.$)(".monaco-table-th",{"data-col-index":Ze},ge.label),ge.tooltip&&this._register((0,r.i)().setupManagedHover((0,d.nZ)("mouse"),this.element,ge.tooltip))}layout(ge){this._onDidLayout.fire([this.index,ge])}}const bi=class bi{get onDidChangeFocus(){return this.list.onDidChangeFocus}get onDidChangeSelection(){return this.list.onDidChangeSelection}get onDidScroll(){return this.list.onDidScroll}get onMouseDblClick(){return this.list.onMouseDblClick}get onPointer(){return this.list.onPointer}get onDidFocus(){return this.list.onDidFocus}get scrollTop(){return this.list.scrollTop}set scrollTop(ge){this.list.scrollTop=ge}get scrollHeight(){return this.list.scrollHeight}get renderHeight(){return this.list.renderHeight}get onDidDispose(){return this.list.onDidDispose}constructor(ge,Ze,at,Et,Ft,qt){this.virtualDelegate=at,this.columns=Et,this.domId=`table_id_${++bi.InstanceCount}`,this.disposables=new y.Cm,this.cachedWidth=0,this.cachedHeight=0,this.domNode=(0,v.BC)(Ze,(0,v.$)(`.monaco-table.${this.domId}`));const Li=Et.map((Ci,Di)=>this.disposables.add(new a(Ci,Di))),Ni={size:Li.reduce((Ci,Di)=>Ci+Di.column.weight,0),views:Li.map(Ci=>({size:Ci.column.weight,view:Ci}))};this.splitview=this.disposables.add(new l.U(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:Ni})),this.splitview.el.style.height=`${at.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${at.headerRowHeight}px`;
911const xi=new o(Et,Ft,Ci=>this.splitview.getViewSize(Ci));this.list=this.disposables.add(new g.B8(ge,this.domNode,c(at),[xi],qt)),T.Jh.any(...Li.map(Ci=>Ci.onDidLayout))(([Ci,Di])=>xi.layoutColumn(Ci,Di),null,this.disposables),this.splitview.onDidSashReset(Ci=>{const Di=Et.reduce((Gi,Xi)=>Gi+Xi.weight,0),Fi=Et[Ci].weight/Di*this.cachedWidth;this.splitview.resizeView(Ci,Fi)},null,this.disposables),this.styleElement=(0,i.li)(this.domNode),this.style(g.bG)}updateOptions(ge){this.list.updateOptions(ge)}splice(ge,Ze,at=[]){this.list.splice(ge,Ze,at)}getHTMLElement(){return this.domNode}style(ge){const Ze=[];Ze.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {
912			top: ${this.virtualDelegate.headerRowHeight+1}px;
913			height: calc(100% - ${this.virtualDelegate.headerRowHeight}px);
914		}`),this.styleElement.textContent=Ze.join(`
915`),this.list.style(ge)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};bi.InstanceCount=0;let p=bi;var _=e(90462),E=e(35264),S=e(31272),h=e(97757),D=e(17954);class k{constructor(ge,Ze={}){this.user=ge,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new S.G6(ge,null,Ze),this.onDidSpliceModel=this.model.onDidSpliceModel,this.onDidSpliceRenderedNodes=this.model.onDidSpliceRenderedNodes,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,Ze.sorter&&(this.sorter={compare(at,Et){return Ze.sorter.compare(at.element,Et.element)}}),this.identityProvider=Ze.identityProvider}setChildren(ge,Ze=D.f.empty(),at={}){const Et=this.getElementLocation(ge);this._setChildren(Et,this.preserveCollapseState(Ze),at)}_setChildren(ge,Ze=D.f.empty(),at){const Et=new Set,Ft=new Set,qt=Ni=>{if(Ni.element===null)return;const xi=Ni;if(Et.add(xi.element),this.nodes.set(xi.element,xi),this.identityProvider){const Ci=this.identityProvider.getId(xi.element).toString();Ft.add(Ci),this.nodesByIdentity.set(Ci,xi)}at.onDidCreateNode?.(xi)},Li=Ni=>{if(Ni.element===null)return;const xi=Ni;if(Et.has(xi.element)||this.nodes.delete(xi.element),this.identityProvider){const Ci=this.identityProvider.getId(xi.element).toString();Ft.has(Ci)||this.nodesByIdentity.delete(Ci)}at.onDidDeleteNode?.(xi)};this.model.splice([...ge,0],Number.MAX_VALUE,Ze,{...at,onDidCreateNode:qt,onDidDeleteNode:Li})}preserveCollapseState(ge=D.f.empty()){return this.sorter&&(ge=[...ge].sort(this.sorter.compare.bind(this.sorter))),D.f.map(ge,Ze=>{let at=this.nodes.get(Ze.element);if(!at&&this.identityProvider){const qt=this.identityProvider.getId(Ze.element).toString();at=this.nodesByIdentity.get(qt)}if(!at){let qt;return typeof Ze.collapsed>"u"?qt=void 0:Ze.collapsed===h.Yo.Collapsed||Ze.collapsed===h.Yo.PreserveOrCollapsed?qt=!0:Ze.collapsed===h.Yo.Expanded||Ze.collapsed===h.Yo.PreserveOrExpanded?qt=!1:qt=!!Ze.collapsed,{...Ze,children:this.preserveCollapseState(Ze.children),collapsed:qt}}const Et=typeof Ze.collapsible=="boolean"?Ze.collapsible:at.collapsible;let Ft;return typeof Ze.collapsed>"u"||Ze.collapsed===h.Yo.PreserveOrCollapsed||Ze.collapsed===h.Yo.PreserveOrExpanded?Ft=at.collapsed:Ze.collapsed===h.Yo.Collapsed?Ft=!0:Ze.collapsed===h.Yo.Expanded?Ft=!1:Ft=!!Ze.collapsed,{...Ze,collapsible:Et,collapsed:Ft,children:this.preserveCollapseState(Ze.children)}})}rerender(ge){const Ze=this.getElementLocation(ge);this.model.rerender(Ze)}resort(ge=null,Ze=!0){if(!this.sorter)return;const at=this.getElementLocation(ge),Et=this.model.getNode(at);this._setChildren(at,this.resortChildren(Et,Ze),{})}resortChildren(ge,Ze,at=!0){let Et=[...ge.children];return(Ze||at)&&(Et=Et.sort(this.sorter.compare.bind(this.sorter))),D.f.map(Et,Ft=>({element:Ft.element,collapsible:Ft.collapsible,collapsed:Ft.collapsed,children:this.resortChildren(Ft,Ze,!1)}))}getFirstElementChild(ge=null){const Ze=this.getElementLocation(ge);return this.model.getFirstElementChild(Ze)}has(ge){return this.nodes.has(ge)}getListIndex(ge){const Ze=this.getElementLocation(ge);return this.model.getListIndex(Ze)}getListRenderCount(ge){const Ze=this.getElementLocation(ge);return this.model.getListRenderCount(Ze)}isCollapsible(ge){const Ze=this.getElementLocation(ge);return this.model.isCollapsible(Ze)}setCollapsible(ge,Ze){const at=this.getElementLocation(ge);return this.model.setCollapsible(at,Ze)}isCollapsed(ge){const Ze=this.getElementLocation(ge);return this.model.isCollapsed(Ze)}setCollapsed(ge,Ze,at){const Et=this.getElementLocation(ge);return this.model.setCollapsed(Et,Ze,at)}expandTo(ge){const Ze=this.getElementLocation(ge);this.model.expandTo(Ze)}refilter(){this.model.refilter()}getNode(ge=null){if(ge===null)return this.model.getNode(this.model.rootRef);const Ze=this.nodes.get(ge);if(!Ze)throw new h.jh(this.user,`Tree element not found: ${ge}`);return Ze}
915getNodeLocation(ge){return ge.element}getParentNodeLocation(ge){if(ge===null)throw new h.jh(this.user,"Invalid getParentNodeLocation call");const Ze=this.nodes.get(ge);if(!Ze)throw new h.jh(this.user,`Tree element not found: ${ge}`);const at=this.model.getNodeLocation(Ze),Et=this.model.getParentNodeLocation(at);return this.model.getNode(Et).element}getElementLocation(ge){if(ge===null)return[];const Ze=this.nodes.get(ge);if(!Ze)throw new h.jh(this.user,`Tree element not found: ${ge}`);return this.model.getNodeLocation(Ze)}}function N(ot){const ge=[ot.element],Ze=ot.incompressible||!1;return{element:{elements:ge,incompressible:Ze},children:D.f.map(D.f.from(ot.children),N),collapsible:ot.collapsible,collapsed:ot.collapsed}}function W(ot){const ge=[ot.element],Ze=ot.incompressible||!1;let at,Et;for(;[Et,at]=D.f.consume(D.f.from(ot.children),2),!(Et.length!==1||Et[0].incompressible);)ot=Et[0],ge.push(ot.element);return{element:{elements:ge,incompressible:Ze},children:D.f.map(D.f.concat(Et,at),W),collapsible:ot.collapsible,collapsed:ot.collapsed}}function U(ot,ge=0){let Ze;return ge<ot.element.elements.length-1?Ze=[U(ot,ge+1)]:Ze=D.f.map(D.f.from(ot.children),at=>U(at,0)),ge===0&&ot.element.incompressible?{element:ot.element.elements[ge],children:Ze,incompressible:!0,collapsible:ot.collapsible,collapsed:ot.collapsed}:{element:ot.element.elements[ge],children:Ze,collapsible:ot.collapsible,collapsed:ot.collapsed}}function $(ot){return U(ot,0)}function te(ot,ge,Ze){return ot.element===ge?{...ot,children:Ze}:{...ot,children:D.f.map(D.f.from(ot.children),at=>te(at,ge,Ze))}}const ne=ot=>({getId(ge){return ge.elements.map(Ze=>ot.getId(Ze).toString()).join("\0")},getGroupId:ot.getGroupId?ge=>ot.getGroupId(ge.elements[ge.elements.length-1]):void 0});class V{get onDidSpliceRenderedNodes(){return this.model.onDidSpliceRenderedNodes}get onDidSpliceModel(){return this.model.onDidSpliceModel}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(ge,Ze={}){this.user=ge,this.rootRef=null,this.nodes=new Map,this.model=new k(ge,Ze),this.enabled=typeof Ze.compressionEnabled>"u"?!0:Ze.compressionEnabled,this.identityProvider=Ze.identityProvider}setChildren(ge,Ze=D.f.empty(),at){const Et=at.diffIdentityProvider&&ne(at.diffIdentityProvider);if(ge===null){const Xi=D.f.map(Ze,this.enabled?W:N);this._setChildren(null,Xi,{diffIdentityProvider:Et,diffDepth:1/0});return}const Ft=this.nodes.get(ge);if(!Ft)throw new h.jh(this.user,"Unknown compressed tree node");const qt=this.model.getNode(Ft),Li=this.model.getParentNodeLocation(Ft),Ni=this.model.getNode(Li),xi=$(qt),Ci=te(xi,ge,Ze),Di=(this.enabled?W:N)(Ci),Fi=at.diffIdentityProvider?(Xi,tn)=>at.diffIdentityProvider.getId(Xi)===at.diffIdentityProvider.getId(tn):void 0;if((0,R.aI)(Di.element.elements,qt.element.elements,Fi)){this._setChildren(Ft,Di.children||D.f.empty(),{diffIdentityProvider:Et,diffDepth:1});return}const Gi=Ni.children.map(Xi=>Xi===qt?Di:Xi);this._setChildren(Ni.element,Gi,{diffIdentityProvider:Et,diffDepth:qt.depth-Ni.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(ge){if(ge===this.enabled)return;this.enabled=ge;const at=this.model.getNode().children,Et=D.f.map(at,$),Ft=D.f.map(Et,ge?W:N);this._setChildren(null,Ft,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(ge,Ze,at){const Et=new Set,Ft=Li=>{for(const Ni of Li.element.elements)Et.add(Ni),this.nodes.set(Ni,Li.element)},qt=Li=>{for(const Ni of Li.element.elements)Et.has(Ni)||this.nodes.delete(Ni)};this.model.setChildren(ge,Ze,{...at,onDidCreateNode:Ft,onDidDeleteNode:qt})}has(ge){return this.nodes.has(ge)}getListIndex(ge){const Ze=this.getCompressedNode(ge);return this.model.getListIndex(Ze)}getListRenderCount(ge){const Ze=this.getCompressedNode(ge);return this.model.getListRenderCount(Ze)}getNode(ge){if(typeof ge>"u")return this.model.getNode();const Ze=this.getCompressedNode(ge);return this.model.getNode(Ze)}getNodeLocation(ge){const Ze=this.model.getNodeLocation(ge);return Ze===null?null:Ze.elements[Ze.elements.length-1]}getParentNodeLocation(ge){const Ze=this.getCompressedNode(ge),at=this.model.getParentNodeLocation(Ze);return at===null?null:at.elements[at.elements.length-1]}getFirstElementChild(ge){const Ze=this.getCompressedNode(ge);return this.model.getFirstElementChild(Ze)}isCollapsible(ge){const Ze=this.getCompressedNode(ge);return this.model.isCollapsible(Ze)}setCollapsible(ge,Ze){const at=this.getCompressedNode(ge);return this.model.setCollapsible(at,Ze)}isCollapsed(ge){const Ze=this.getCompressedNode(ge);return this.model.isCollapsed(Ze)}setCollapsed(ge,Ze,at){const Et=this.getCompressedNode(ge);return this.model.setCollapsed(Et,Ze,at)}expandTo(ge){const Ze=this.getCompressedNode(ge);this.model.expandTo(Ze)}rerender(ge){const Ze=this.getCompressedNode(ge);this.model.rerender(Ze)}refilter(){this.model.refilter()}resort(ge=null,Ze=!0){const at=this.getCompressedNode(ge);this.model.resort(at,Ze)}getCompressedNode(ge){if(ge===null)return null;const Ze=this.nodes.get(ge);if(!Ze)throw new h.jh(this.user,`Tree element not found: ${ge}`);return Ze}}const I=ot=>ot[ot.length-1];
915class H{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(ge=>new H(this.unwrapper,ge))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(ge,Ze){this.unwrapper=ge,this.node=Ze}}function Z(ot,ge){return{...ge,identityProvider:ge.identityProvider&&{getId(Ze){return ge.identityProvider.getId(ot(Ze))},getGroupId:ge.identityProvider.getGroupId?Ze=>ge.identityProvider.getGroupId(ot(Ze)):void 0},sorter:ge.sorter&&{compare(Ze,at){return ge.sorter.compare(Ze.elements[0],at.elements[0])}},filter:ge.filter&&{filter(Ze,at){const Et=Ze.elements;for(let Ft=0;Ft<Et.length-1;Ft++){const qt=ge.filter.filter(Et[Ft],at);at=(0,S.Mn)((0,S.iZ)(qt)?qt.visibility:qt)}return ge.filter.filter(Et[Et.length-1],at)}}}}class X{get onDidSpliceModel(){return T.Jh.map(this.model.onDidSpliceModel,({insertedNodes:ge,deletedNodes:Ze})=>({insertedNodes:ge.map(at=>this.nodeMapper.map(at)),deletedNodes:Ze.map(at=>this.nodeMapper.map(at))}))}get onDidSpliceRenderedNodes(){return T.Jh.map(this.model.onDidSpliceRenderedNodes,({start:ge,deleteCount:Ze,elements:at})=>({start:ge,deleteCount:Ze,elements:at.map(Et=>this.nodeMapper.map(Et))}))}get onDidChangeCollapseState(){return T.Jh.map(this.model.onDidChangeCollapseState,({node:ge,deep:Ze})=>({node:this.nodeMapper.map(ge),deep:Ze}))}get onDidChangeRenderNodeCount(){return T.Jh.map(this.model.onDidChangeRenderNodeCount,ge=>this.nodeMapper.map(ge))}constructor(ge,Ze={}){this.rootRef=null,this.elementMapper=Ze.elementMapper||I;const at=Et=>this.elementMapper(Et.elements);this.nodeMapper=new h.y2(Et=>new H(at,Et)),this.model=new V(ge,Z(at,Ze))}setChildren(ge,Ze=D.f.empty(),at={}){this.model.setChildren(ge,Ze,at)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(ge){this.model.setCompressionEnabled(ge)}has(ge){return this.model.has(ge)}getListIndex(ge){return this.model.getListIndex(ge)}getListRenderCount(ge){return this.model.getListRenderCount(ge)}getNode(ge){return this.nodeMapper.map(this.model.getNode(ge))}getNodeLocation(ge){return ge.element}getParentNodeLocation(ge){return this.model.getParentNodeLocation(ge)}getFirstElementChild(ge){const Ze=this.model.getFirstElementChild(ge);return Ze===null||typeof Ze>"u"?Ze:this.elementMapper(Ze.elements)}isCollapsible(ge){return this.model.isCollapsible(ge)}setCollapsible(ge,Ze){return this.model.setCollapsible(ge,Ze)}isCollapsed(ge){return this.model.isCollapsed(ge)}setCollapsed(ge,Ze,at){return this.model.setCollapsed(ge,Ze,at)}expandTo(ge){return this.model.expandTo(ge)}rerender(ge){return this.model.rerender(ge)}refilter(){return this.model.refilter()}resort(ge=null,Ze=!0){return this.model.resort(ge,Ze)}getCompressedTreeNode(ge=null){return this.model.getNode(ge)}}var G=e(88846),Y=function(ot,ge,Ze,at){var Et=arguments.length,Ft=Et<3?ge:at===null?at=Object.getOwnPropertyDescriptor(ge,Ze):at,qt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ft=Reflect.decorate(ot,ge,Ze,at);else for(var Li=ot.length-1;Li>=0;Li--)(qt=ot[Li])&&(Ft=(Et<3?qt(Ft):Et>3?qt(ge,Ze,Ft):qt(ge,Ze))||Ft);return Et>3&&Ft&&Object.defineProperty(ge,Ze,Ft),Ft};class j extends _.DO{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(ge,Ze,at,Et,Ft={}){super(ge,Ze,at,Et,Ft),this.user=ge}setChildren(ge,Ze=D.f.empty(),at){this.model.setChildren(ge,Ze,at)}rerender(ge){if(ge===void 0){this.view.rerender();return}this.model.rerender(ge)}resort(ge,Ze=!0){this.model.resort(ge,Ze)}hasElement(ge){return this.model.has(ge)}createModel(ge,Ze){return new k(ge,Ze)}}class z{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(ge,Ze,at){this._compressedTreeNodeProvider=ge,this.stickyScrollDelegate=Ze,this.renderer=at,this.templateId=at.templateId,at.onDidChangeTwistieState&&(this.onDidChangeTwistieState=at.onDidChangeTwistieState)}renderTemplate(ge){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(ge)}}renderElement(ge,Ze,at,Et){let Ft=this.stickyScrollDelegate.getCompressedNode(ge);Ft||(Ft=this.compressedTreeNodeProvider.getCompressedTreeNode(ge.element)),Ft.element.elements.length===1?(at.compressedTreeNode=void 0,this.renderer.renderElement(ge,Ze,at.data,Et)):(at.compressedTreeNode=Ft,this.renderer.renderCompressedElements(Ft,Ze,at.data,Et))}disposeElement(ge,Ze,at,Et){at.compressedTreeNode?this.renderer.disposeCompressedElements?.(at.compressedTreeNode,Ze,at.data,Et):this.renderer.disposeElement?.(ge,Ze,at.data,Et)}disposeTemplate(ge){this.renderer.disposeTemplate(ge.data)}renderTwistie(ge,Ze){return this.renderer.renderTwistie?.(ge,Ze)??!1}}Y([G.B],z.prototype,"compressedTreeNodeProvider",null);class ie{constructor(ge){this.modelProvider=ge,this.compressedStickyNodes=new Map}getCompressedNode(ge){return this.compressedStickyNodes.get(ge)}constrainStickyScrollNodes(ge,Ze,at){if(this.compressedStickyNodes.clear(),ge.length===0)return[];for(let Et=0;Et<ge.length;Et++){const Ft=ge[Et],qt=Ft.position+Ft.height;if(Et+1<ge.length&&qt+ge[Et+1].height>at||Et>=Ze-1&&Ze<ge.length){const Ni=ge.slice(0,Et),xi=ge.slice(Et),Ci=this.compressStickyNodes(xi);return[...Ni,Ci]}}return ge}compressStickyNodes(ge){if(ge.length===0)throw new Error("Can't compress empty sticky nodes");const Ze=this.modelProvider();if(!Ze.isCompressionEnabled())return ge[0];const at=[];for(let xi=0;xi<ge.length;xi++){const Ci=ge[xi],Di=Ze.getCompressedTreeNode(Ci.node.element);if(Di.element){if(xi!==0&&Di.element.incompressible)break;at.push(...Di.element.elements)}}
915if(at.length<2)return ge[0];const Et=ge[ge.length-1],Ft={elements:at,incompressible:!1},qt={...Et.node,children:[],element:Ft},Li=new Proxy(ge[0].node,{}),Ni={node:Li,startIndex:ge[0].startIndex,endIndex:Et.endIndex,position:ge[0].position,height:ge[0].height};return this.compressedStickyNodes.set(Li,qt),Ni}}function re(ot,ge){return ge&&{...ge,keyboardNavigationLabelProvider:ge.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(Ze){let at;try{at=ot().getCompressedTreeNode(Ze)}catch{return ge.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Ze)}return at.element.elements.length===1?ge.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(Ze):ge.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(at.element.elements)}}}}class de extends j{constructor(ge,Ze,at,Et,Ft={}){const qt=()=>this,Li=new ie(()=>this.model),Ni=Et.map(xi=>new z(qt,Li,xi));super(ge,Ze,at,Ni,{...re(qt,Ft),stickyScrollDelegate:Li})}setChildren(ge,Ze=D.f.empty(),at){this.model.setChildren(ge,Ze,at)}createModel(ge,Ze){return new X(ge,Ze)}updateOptions(ge={}){super.updateOptions(ge),typeof ge.compressionEnabled<"u"&&this.model.setCompressionEnabled(ge.compressionEnabled)}getCompressedTreeNode(ge=null){return this.model.getCompressedTreeNode(ge)}}var le=e(65958),he=e(5915),we=e(58881),xe=e(94327),Be=e(79359),M=e(1174);function Ve(ot){return{...ot,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Me(ot,ge){return ge.parent?ge.parent===ot?!0:Me(ot,ge.parent):!1}function Le(ot,ge){return ot===ge||Me(ot,ge)||Me(ge,ot)}class _e{get element(){return this.node.element.element}get children(){return this.node.children.map(ge=>new _e(ge))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(ge){this.node=ge}}class Qe{constructor(ge,Ze,at){this.renderer=ge,this.nodeMapper=Ze,this.onDidChangeTwistieState=at,this.renderedNodes=new Map,this.templateId=ge.templateId}renderTemplate(ge){return{templateData:this.renderer.renderTemplate(ge)}}renderElement(ge,Ze,at,Et){this.renderer.renderElement(this.nodeMapper.map(ge),Ze,at.templateData,Et)}renderTwistie(ge,Ze){return ge.slow?(Ze.classList.add(...we.L.asClassNameArray(he.W.treeItemLoading)),!0):(Ze.classList.remove(...we.L.asClassNameArray(he.W.treeItemLoading)),!1)}disposeElement(ge,Ze,at,Et){this.renderer.disposeElement?.(this.nodeMapper.map(ge),Ze,at.templateData,Et)}disposeTemplate(ge){this.renderer.disposeTemplate(ge.templateData)}dispose(){this.renderedNodes.clear()}}function je(ot){return{browserEvent:ot.browserEvent,elements:ot.elements.map(ge=>ge.element)}}function ae(ot){return{browserEvent:ot.browserEvent,element:ot.element&&ot.element.element,target:ot.target}}class Ee extends E.ur{constructor(ge){super(ge.elements.map(Ze=>Ze.element)),this.data=ge}}function Ie(ot){return ot instanceof E.ur?new Ee(ot):ot}class Ue{constructor(ge){this.dnd=ge}getDragURI(ge){return this.dnd.getDragURI(ge.element)}getDragLabel(ge,Ze){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(ge.map(at=>at.element),Ze)}onDragStart(ge,Ze){this.dnd.onDragStart?.(Ie(ge),Ze)}onDragOver(ge,Ze,at,Et,Ft,qt=!0){return this.dnd.onDragOver(Ie(ge),Ze&&Ze.element,at,Et,Ft)}drop(ge,Ze,at,Et,Ft){this.dnd.drop(Ie(ge),Ze&&Ze.element,at,Et,Ft)}onDragEnd(ge){this.dnd.onDragEnd?.(ge)}dispose(){this.dnd.dispose()}}class $e extends _.cp{constructor(ge,Ze,at){super(Ze,at),this.findProvider=ge,this.isFindSessionActive=!1}filter(ge,Ze){const at=super.filter(ge,Ze);if(!this.isFindSessionActive||this.findMode===_.vD.Highlight||!this.findProvider.isVisible)return at;const Et=(0,S.iZ)(at)?at.visibility:at;return(0,S.Mn)(Et)===0?0:this.findProvider.isVisible(ge)?at:0}}class Ye extends _.eR{constructor(ge,Ze,at,Et,Ft){super(ge,at,Et,Ft),this.findProvider=Ze,this.filter=at,this.activeSession=!1,this.asyncWorkInProgress=!1,this.disposables.add((0,y.s)(async()=>{this.activeSession&&await this.findProvider.endSession?.()}))}
915render(){if(this.asyncWorkInProgress||!this.activeFindMetadata)return;const ge=this.activeFindMetadata.matchCount===0&&this.pattern.length>0;this.renderMessage(ge),this.pattern.length&&this.alertResults(this.activeFindMetadata.matchCount)}shouldAllowFocus(ge){return this.shouldFocusWhenNavigating(ge)}shouldFocusWhenNavigating(ge){if(!this.activeSession||!this.activeFindMetadata)return!0;const Ze=ge.element?.element;return Ze&&this.activeFindMetadata.isMatch(Ze)?!0:!M.ne.isDefault(ge.filterData)}}function Ce(ot){return ot&&{...ot,collapseByDefault:!0,identityProvider:ot.identityProvider&&{getId(ge){return ot.identityProvider.getId(ge.element)},getGroupId:ot.identityProvider.getGroupId?ge=>ot.identityProvider.getGroupId(ge.element):void 0},dnd:ot.dnd&&new Ue(ot.dnd),multipleSelectionController:ot.multipleSelectionController&&{isSelectionSingleChangeEvent(ge){return ot.multipleSelectionController.isSelectionSingleChangeEvent({...ge,element:ge.element})},isSelectionRangeChangeEvent(ge){return ot.multipleSelectionController.isSelectionRangeChangeEvent({...ge,element:ge.element})}},accessibilityProvider:ot.accessibilityProvider&&{...ot.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:ot.accessibilityProvider.getRole?ge=>ot.accessibilityProvider.getRole(ge.element):()=>"treeitem",isChecked:ot.accessibilityProvider.isChecked?ge=>!!ot.accessibilityProvider?.isChecked(ge.element):void 0,getAriaLabel(ge){return ot.accessibilityProvider.getAriaLabel(ge.element)},getWidgetAriaLabel(){return ot.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:ot.accessibilityProvider.getWidgetRole?()=>ot.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:ot.accessibilityProvider.getAriaLevel&&(ge=>ot.accessibilityProvider.getAriaLevel(ge.element)),getActiveDescendantId:ot.accessibilityProvider.getActiveDescendantId&&(ge=>ot.accessibilityProvider.getActiveDescendantId(ge.element))},filter:ot.filter&&{filter(ge,Ze){return ot.filter.filter(ge.element,Ze)}},keyboardNavigationLabelProvider:ot.keyboardNavigationLabelProvider&&{...ot.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(ge){return ot.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(ge.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof ot.expandOnlyOnTwistieClick>"u"?void 0:typeof ot.expandOnlyOnTwistieClick!="function"?ot.expandOnlyOnTwistieClick:ge=>ot.expandOnlyOnTwistieClick(ge.element),twistieAdditionalCssClass:typeof ot.twistieAdditionalCssClass>"u"?void 0:ge=>ot.twistieAdditionalCssClass(ge.element),defaultFindVisibility:ge=>ge.hasChildren&&ge.stale?1:typeof ot.defaultFindVisibility=="number"?ot.defaultFindVisibility:typeof ot.defaultFindVisibility>"u"?2:ot.defaultFindVisibility(ge.element),stickyScrollDelegate:ot.stickyScrollDelegate}}function He(ot,ge){ge(ot),ot.children.forEach(Ze=>He(Ze,ge))}class Ke{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return T.Jh.map(this.tree.onDidChangeFocus,je)}get onDidChangeSelection(){return T.Jh.map(this.tree.onDidChangeSelection,je)}get onMouseDblClick(){return T.Jh.map(this.tree.onMouseDblClick,ae)}get onPointer(){return T.Jh.map(this.tree.onPointer,ae)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(ge,Ze,at,Et,Ft,qt={}){this.user=ge,this.dataSource=Ft,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new T.vl,this._onDidChangeNodeSlowState=new T.vl,this.nodeMapper=new h.y2(xi=>new _e(xi)),this.disposables=new y.Cm,this.identityProvider=qt.identityProvider,this.autoExpandSingleChildren=typeof qt.autoExpandSingleChildren>"u"?!1:qt.autoExpandSingleChildren,this.sorter=qt.sorter,this.getDefaultCollapseState=xi=>qt.collapseByDefault?qt.collapseByDefault(xi)?h.Yo.PreserveOrCollapsed:h.Yo.PreserveOrExpanded:void 0;let Li=!1,Ni;if(qt.findProvider&&(qt.findWidgetEnabled??!0)&&qt.keyboardNavigationLabelProvider&&qt.contextViewProvider&&(Li=!0,Ni=new $e(qt.findProvider,qt.keyboardNavigationLabelProvider,qt.filter)),this.tree=this.createTree(ge,Ze,at,Et,{...qt,findWidgetEnabled:!Li,filter:Ni??qt.filter}),this.root=Ve({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}
915),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables),Li){const xi={styles:qt.findWidgetStyles,showNotFoundMessage:qt.showNotFoundMessage,defaultFindMatchType:qt.defaultFindMatchType,defaultFindMode:qt.defaultFindMode};this.findController=this.disposables.add(new Ye(this.tree,qt.findProvider,Ni,this.tree.options.contextViewProvider,xi)),this.focusNavigationFilter=Ci=>this.findController.shouldFocusWhenNavigating(Ci),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindOpenState=this.tree.onDidChangeFindOpenState,this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType}createTree(ge,Ze,at,Et,Ft){const qt=new _.w0(at),Li=Et.map(xi=>new Qe(xi,this.nodeMapper,this._onDidChangeNodeSlowState.event)),Ni=Ce(Ft)||{};return new j(ge,Ze,qt,Li,Ni)}updateOptions(ge={}){this.findController&&(ge.defaultFindMode!==void 0&&(this.findController.mode=ge.defaultFindMode),ge.defaultFindMatchType!==void 0&&(this.findController.matchType=ge.defaultFindMatchType)),this.tree.updateOptions(ge)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(ge){this.tree.scrollTop=ge}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(ge,Ze){this.tree.layout(ge,Ze)}style(ge){this.tree.style(ge)}getInput(){return this.root.element}async setInput(ge,Ze){this.cancelAllRefreshPromises(),this.root.element=ge;const at=Ze&&{viewState:Ze,focus:[],selection:[]};await this._updateChildren(ge,!0,!1,at),at&&(this.tree.setFocus(at.focus),this.tree.setSelection(at.selection)),Ze&&typeof Ze.scrollTop=="number"&&(this.scrollTop=Ze.scrollTop)}cancelAllRefreshPromises(ge=!1){this.refreshPromises.forEach(Ze=>Ze.cancel()),this.refreshPromises.clear(),ge&&(this.subTreeRefreshPromises.forEach(Ze=>Ze.cancel()),this.subTreeRefreshPromises.clear())}async _updateChildren(ge=this.root.element,Ze=!0,at=!1,Et,Ft){if(typeof this.root.element>"u")throw new h.jh(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await T.Jh.toPromise(this._onDidRender.event));const qt=this.getDataNode(ge);if(await this.refreshAndRenderNode(qt,Ze,Et,Ft),at)try{this.tree.rerender(qt)}catch{}}rerender(ge){if(ge===void 0||ge===this.root.element){this.tree.rerender();return}const Ze=this.getDataNode(ge);this.tree.rerender(Ze)}getNode(ge=this.root.element){const Ze=this.getDataNode(ge),at=this.tree.getNode(Ze===this.root?null:Ze);return this.nodeMapper.map(at)}collapse(ge,Ze=!1){const at=this.getDataNode(ge);return this.tree.collapse(at===this.root?null:at,Ze)}async expand(ge,Ze=!1){if(typeof this.root.element>"u")throw new h.jh(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await T.Jh.toPromise(this._onDidRender.event));const at=this.getDataNode(ge);if(this.tree.hasElement(at)&&!this.tree.isCollapsible(at)||(at.refreshPromise&&(await at.refreshPromise,await T.Jh.toPromise(this._onDidRender.event)),at!==this.root&&!at.refreshPromise&&!this.tree.isCollapsed(at)))return!1;const Et=this.tree.expand(at===this.root?null:at,Ze);return at.refreshPromise&&(await at.refreshPromise,await T.Jh.toPromise(this._onDidRender.event)),Et}setSelection(ge,Ze){const at=ge.map(Et=>this.getDataNode(Et));this.tree.setSelection(at,Ze)}getSelection(){return this.tree.getSelection().map(Ze=>Ze.element)}setFocus(ge,Ze){const at=ge.map(Et=>this.getDataNode(Et));this.tree.setFocus(at,Ze)}getFocus(){return this.tree.getFocus().map(Ze=>Ze.element)}reveal(ge,Ze){this.tree.reveal(this.getDataNode(ge),Ze)}getParentElement(ge){const Ze=this.tree.getParentElement(this.getDataNode(ge));return Ze&&Ze.element}getFirstElementChild(ge=this.root.element){const Ze=this.getDataNode(ge),at=this.tree.getFirstElementChild(Ze===this.root?null:Ze);return at&&at.element}getDataNode(ge){const Ze=this.nodes.get(ge===this.root.element?null:ge);
915if(!Ze){const at=this.identityProvider?.getId(ge).toString();throw new h.jh(this.user,`Data tree node not found${at?`: ${at}`:""}`)}return Ze}async refreshAndRenderNode(ge,Ze,at,Et){this.disposables.isDisposed||(await this.refreshNode(ge,Ze,at),!this.disposables.isDisposed&&this.render(ge,at,Et))}async refreshNode(ge,Ze,at){let Et;if(this.subTreeRefreshPromises.forEach((Ft,qt)=>{!Et&&Le(qt,ge)&&(Et=Ft.then(()=>this.refreshNode(ge,Ze,at)))}),Et)return Et;if(ge!==this.root&&this.tree.getNode(ge).collapsed){ge.hasChildren=!!this.dataSource.hasChildren(ge.element),ge.stale=!0,this.setChildren(ge,[],Ze,at);return}return this.doRefreshSubTree(ge,Ze,at)}async doRefreshSubTree(ge,Ze,at){const Et=(0,le.SS)(async()=>{const Ft=await this.doRefreshNode(ge,Ze,at);ge.stale=!1,await le.HC.settled(Ft.map(qt=>this.doRefreshSubTree(qt,Ze,at)))});return ge.refreshPromise=Et,this.subTreeRefreshPromises.set(ge,Et),Et.finally(()=>{ge.refreshPromise=void 0,this.subTreeRefreshPromises.delete(ge)}),Et}async doRefreshNode(ge,Ze,at){ge.hasChildren=!!this.dataSource.hasChildren(ge.element);let Et;if(!ge.hasChildren)Et=Promise.resolve(D.f.empty());else{const Ft=this.doGetChildren(ge);if((0,Be.xZ)(Ft))Et=Promise.resolve(Ft);else{const qt=(0,le.wR)(800);qt.then(()=>{ge.slow=!0,this._onDidChangeNodeSlowState.fire(ge)},Li=>null),Et=Ft.finally(()=>qt.cancel())}}try{const Ft=await Et;return this.setChildren(ge,Ft,Ze,at)}catch(Ft){if(ge!==this.root&&this.tree.hasElement(ge)&&this.tree.collapse(ge),(0,xe.MB)(Ft))return[];throw Ft}finally{ge.slow&&(ge.slow=!1,this._onDidChangeNodeSlowState.fire(ge))}}doGetChildren(ge){let Ze=this.refreshPromises.get(ge);if(Ze)return Ze;const at=this.dataSource.getChildren(ge.element);return(0,Be.xZ)(at)?this.processChildren(at):(Ze=(0,le.SS)(async()=>this.processChildren(await at)),this.refreshPromises.set(ge,Ze),Ze.finally(()=>{this.refreshPromises.delete(ge)}))}_onDidChangeCollapseState({node:ge,deep:Ze}){ge.element!==null&&!ge.collapsed&&ge.element.stale&&(Ze?this.collapse(ge.element.element):this.refreshAndRenderNode(ge.element,!1).catch(xe.dz))}setChildren(ge,Ze,at,Et){const Ft=[...Ze];if(ge.children.length===0&&Ft.length===0)return[];const qt=new Map,Li=new Map;for(const Ci of ge.children)qt.set(Ci.element,Ci),this.identityProvider&&Li.set(Ci.id,{node:Ci,collapsed:this.tree.hasElement(Ci)&&this.tree.isCollapsed(Ci)});const Ni=[],xi=Ft.map(Ci=>{const Di=!!this.dataSource.hasChildren(Ci);if(!this.identityProvider){const tn=Ve({element:Ci,parent:ge,hasChildren:Di,defaultCollapseState:this.getDefaultCollapseState(Ci)});return Di&&tn.defaultCollapseState===h.Yo.PreserveOrExpanded&&Ni.push(tn),tn}const Fi=this.identityProvider.getId(Ci).toString(),Gi=Li.get(Fi);if(Gi){const tn=Gi.node;return qt.delete(tn.element),this.nodes.delete(tn.element),this.nodes.set(Ci,tn),tn.element=Ci,tn.hasChildren=Di,at?Gi.collapsed?(tn.children.forEach(yn=>He(yn,Gn=>this.nodes.delete(Gn.element))),tn.children.splice(0,tn.children.length),tn.stale=!0):Ni.push(tn):Di&&!Gi.collapsed&&Ni.push(tn),tn}const Xi=Ve({element:Ci,parent:ge,id:Fi,hasChildren:Di,defaultCollapseState:this.getDefaultCollapseState(Ci)});return Et&&Et.viewState.focus&&Et.viewState.focus.indexOf(Fi)>-1&&Et.focus.push(Xi),Et&&Et.viewState.selection&&Et.viewState.selection.indexOf(Fi)>-1&&Et.selection.push(Xi),(Et&&Et.viewState.expanded&&Et.viewState.expanded.indexOf(Fi)>
915-1||Di&&Xi.defaultCollapseState===h.Yo.PreserveOrExpanded)&&Ni.push(Xi),Xi});for(const Ci of qt.values())He(Ci,Di=>this.nodes.delete(Di.element));for(const Ci of xi)this.nodes.set(Ci.element,Ci);return(0,R.V4)(ge.children,0,ge.children.length,xi),ge!==this.root&&this.autoExpandSingleChildren&&xi.length===1&&Ni.length===0&&(xi[0].forceExpanded=!0,Ni.push(xi[0])),Ni}render(ge,Ze,at){const Et=ge.children.map(qt=>this.asTreeElement(qt,Ze)),Ft=at&&{...at,diffIdentityProvider:at.diffIdentityProvider&&{getId(qt){return at.diffIdentityProvider.getId(qt.element)},getGroupId:at.diffIdentityProvider.getGroupId?qt=>at.diffIdentityProvider.getGroupId(qt.element):void 0}};this.tree.setChildren(ge===this.root?null:ge,Et,Ft),ge!==this.root&&this.tree.setCollapsible(ge,ge.hasChildren),this._onDidRender.fire()}asTreeElement(ge,Ze){if(ge.stale)return{element:ge,collapsible:ge.hasChildren,collapsed:!0};let at;return Ze&&Ze.viewState.expanded&&ge.id&&Ze.viewState.expanded.indexOf(ge.id)>-1?at=!1:ge.forceExpanded?(at=!1,ge.forceExpanded=!1):at=ge.defaultCollapseState,{element:ge,children:ge.hasChildren?D.f.map(ge.children,Et=>this.asTreeElement(Et,Ze)):[],collapsible:ge.hasChildren,collapsed:at}}processChildren(ge){return this.sorter&&(ge=[...ge].sort(this.sorter.compare.bind(this.sorter))),ge}dispose(){this._onDidRender.dispose(),this._onDidChangeNodeSlowState.dispose(),this.disposables.dispose(),this.tree.dispose()}}class qe{get element(){return{elements:this.node.element.elements.map(ge=>ge.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(ge=>new qe(ge))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(ge){this.node=ge}}class ht{constructor(ge,Ze,at,Et){this.renderer=ge,this.nodeMapper=Ze,this.compressibleNodeMapperProvider=at,this.onDidChangeTwistieState=Et,this.renderedNodes=new Map,this.disposables=[],this.templateId=ge.templateId}renderTemplate(ge){return{templateData:this.renderer.renderTemplate(ge)}}renderElement(ge,Ze,at,Et){this.renderer.renderElement(this.nodeMapper.map(ge),Ze,at.templateData,Et)}renderCompressedElements(ge,Ze,at,Et){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(ge),Ze,at.templateData,Et)}renderTwistie(ge,Ze){return ge.slow?(Ze.classList.add(...we.L.asClassNameArray(he.W.treeItemLoading)),!0):(Ze.classList.remove(...we.L.asClassNameArray(he.W.treeItemLoading)),!1)}disposeElement(ge,Ze,at,Et){this.renderer.disposeElement?.(this.nodeMapper.map(ge),Ze,at.templateData,Et)}disposeCompressedElements(ge,Ze,at,Et){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(ge),Ze,at.templateData,Et)}disposeTemplate(ge){this.renderer.disposeTemplate(ge.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,y.AS)(this.disposables)}}function Te(ot){const ge=ot&&Ce(ot);return ge&&{...ge,keyboardNavigationLabelProvider:ge.keyboardNavigationLabelProvider&&{...ge.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(Ze){return ot.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(Ze.map(at=>at.element))}},stickyScrollDelegate:ge.stickyScrollDelegate}}class oe extends Ke{constructor(ge,Ze,at,Et,Ft,qt,Li={}){super(ge,Ze,at,Ft,qt,Li),this.compressionDelegate=Et,this.compressibleNodeMapper=new h.y2(Ni=>new qe(Ni)),this.filter=Li.filter}createTree(ge,Ze,at,Et,Ft){const qt=new _.w0(at),Li=Et.map(xi=>new ht(xi,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),Ni=Te(Ft)||{};return new de(ge,Ze,qt,Li,Ni)}asTreeElement(ge,Ze){return{incompressible:this.compressionDelegate.isIncompressible(ge.element),...super.asTreeElement(ge,Ze)}}render(ge,Ze,at){if(!this.identityProvider)return super.render(ge,Ze);const Et=Gi=>this.identityProvider.getId(Gi).toString(),Ft=Gi=>{const Xi=new Set;for(const tn of Gi){const yn=this.tree.getCompressedTreeNode(tn===this.root?null:tn);if(yn.element)for(const Gn of yn.element.elements)Xi.add(Et(Gn.element))}return Xi},qt=Ft(this.tree.getSelection()),Li=Ft(this.tree.getFocus());super.render(ge,Ze,at);const Ni=this.getSelection();let xi=!1;const Ci=this.getFocus();let Di=!1;const Fi=Gi=>{const Xi=Gi.element;if(Xi)for(let tn=0;tn<Xi.elements.length;tn++){const yn=Et(Xi.elements[tn].element),Gn=Xi.elements[Xi.elements.length-1].element;qt.has(yn)&&Ni.indexOf(Gn)===-1&&(Ni.push(Gn),xi=!0),Li.has(yn)&&Ci.indexOf(Gn)===-1&&(Ci.push(Gn),Di=!0)}
915Gi.children.forEach(Fi)};Fi(this.tree.getCompressedTreeNode(ge===this.root?null:ge)),xi&&this.setSelection(Ni),Di&&this.setFocus(Ci)}processChildren(ge){return this.filter&&(ge=D.f.filter(ge,Ze=>{const at=this.filter.filter(Ze,1),Et=q(at);if(Et===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return Et===1})),super.processChildren(ge)}}function q(ot){return typeof ot=="boolean"?ot?1:0:(0,S.iZ)(ot)?(0,S.Mn)(ot.visibility):(0,S.Mn)(ot)}class ue extends _.DO{constructor(ge,Ze,at,Et,Ft,qt={}){super(ge,Ze,at,Et,qt),this.user=ge,this.dataSource=Ft,this.identityProvider=qt.identityProvider}createModel(ge,Ze){return new k(ge,Ze)}}var J=e(3765),ve=e(85753),De=e(4761),fe=e(31540),Se=e(13034),pe=e(52348),Ae=e(82399),Xe=e(56071),dt=e(67167),gt=e(3273),Bt=function(ot,ge,Ze,at){var Et=arguments.length,Ft=Et<3?ge:at===null?at=Object.getOwnPropertyDescriptor(ge,Ze):at,qt;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Ft=Reflect.decorate(ot,ge,Ze,at);else for(var Li=ot.length-1;Li>=0;Li--)(qt=ot[Li])&&(Ft=(Et<3?qt(Ft):Et>3?qt(ge,Ze,Ft):qt(ge,Ze))||Ft);return Et>3&&Ft&&Object.defineProperty(ge,Ze,Ft),Ft},_t=function(ot,ge){return function(Ze,at){ge(Ze,at,ot)}};const ri=(0,Ae.u1)("listService");class Gt{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new y.Cm,this.lists=[],this._lastFocusedWidget=void 0}setLastFocusedList(ge){ge!==this._lastFocusedWidget&&(this._lastFocusedWidget?.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=ge,this._lastFocusedWidget?.getHTMLElement().classList.add("last-focused"))}register(ge,Ze){if(this.lists.some(Et=>Et.widget===ge))throw new Error("Cannot register the same widget multiple times");const at={widget:ge,extraContextKeys:Ze};return this.lists.push(at),(0,v.X7)(ge.getHTMLElement())&&this.setLastFocusedList(ge),(0,y.qE)(ge.onDidFocus(()=>this.setLastFocusedList(ge)),(0,y.s)(()=>this.lists.splice(this.lists.indexOf(at),1)),ge.onDidDispose(()=>{this.lists=this.lists.filter(Et=>Et!==at),this._lastFocusedWidget===ge&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const ei=new fe.N1("listScrollAtBoundary","none");fe.M$.or(ei.isEqualTo("top"),ei.isEqualTo("both")),fe.M$.or(ei.isEqualTo("bottom"),ei.isEqualTo("both"));const Zt=new fe.N1("listFocus",!0),pt=new fe.N1("treestickyScrollFocused",!1),Fe=new fe.N1("listSupportsMultiselect",!0),st=fe.M$.and(Zt,fe.M$.not(Se.aV),pt.negate()),vt=new fe.N1("listHasSelectionOrFocus",!1),Yt=new fe.N1("listDoubleSelection",!1),Si=new fe.N1("listMultiSelection",!1),Bi=new fe.N1("listSelectionNavigation",!1),pi=new fe.N1("listSupportsFind",!0),$i=new fe.N1("treeElementCanCollapse",!1),fn=new fe.N1("treeElementHasParent",!1),Sn=new fe.N1("treeElementCanExpand",!1),On=new fe.N1("treeElementHasChild",!1),Dn=new fe.N1("treeFindOpen",!1),Qn="listTypeNavigationMode",rs="listAutomaticKeyboardNavigation";function us(ot,ge){const Ze=ot.createScoped(ge.getHTMLElement());return Zt.bindTo(Ze),Ze}function Zn(ot,ge){const Ze=ei.bindTo(ot),at=()=>{const Et=ge.scrollTop===0,Ft=ge.scrollHeight-ge.renderHeight-ge.scrollTop<1;Et&&Ft?Ze.set("both"):Et?Ze.set("top"):Ft?Ze.set("bottom"):Ze.set("none")};return at(),ge.onDidScroll(at)}const zn="workbench.list.multiSelectModifier",ms="workbench.list.openMode",es="workbench.list.horizontalScrolling",Xn="workbench.list.defaultFindMode",Ts="workbench.list.typeNavigationMode",ps="workbench.list.keyboardNavigation",Yn="workbench.list.scrollByPage",zs="workbench.list.defaultFindMatchType",Kn="workbench.tree.indent",jt="workbench.tree.renderIndentGuides",$t="workbench.list.smoothScrolling",Ei="workbench.list.mouseWheelScrollSensitivity",zi="workbench.list.fastScrollSensitivity",hn="workbench.tree.expandMode",wn="workbench.tree.enableStickyScroll",en="workbench.tree.stickyScrollMaxItemCount";function In(ot){return ot.getValue(zn)==="alt"}class Bn extends y.jG{constructor(ge){super(),this.configurationService=ge,this.useAltAsMultipleSelectionModifier=In(ge),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(ge=>{ge.affectsConfiguration(zn)&&(this.useAltAsMultipleSelectionModifier=In(this.configurationService))}))}isSelectionSingleChangeEvent(ge){return this.useAltAsMultipleSelectionModifier?ge.browserEvent.altKey:(0,g.tX)(ge)}isSelectionRangeChangeEvent(ge){return(0,g.mh)(ge)}}
915function Wi(ot,ge){const Ze=ot.get(ve.pG),at=ot.get(Xe.b),Et=new y.Cm;return[{...ge,keyboardNavigationDelegate:{mightProducePrintableCharacter(qt){return at.mightProducePrintableCharacter(qt)}},smoothScrolling:!!Ze.getValue($t),mouseWheelScrollSensitivity:Ze.getValue(Ei),fastScrollSensitivity:Ze.getValue(zi),multipleSelectionController:ge.multipleSelectionController??Et.add(new Bn(Ze)),keyboardNavigationEventFilter:Wt(at),scrollByPage:!!Ze.getValue(Yn)},Et]}let At=class extends g.B8{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi){const Ci=typeof Ft.horizontalScrolling<"u"?Ft.horizontalScrolling:!!Ni.getValue(es),[Di,Fi]=xi.invokeFunction(Wi,Ft);super(ge,Ze,at,Et,{keyboardSupport:!1,...Di,horizontalScrolling:Ci}),this.disposables.add(Fi),this.contextKeyService=us(qt,this),this.disposables.add(Zn(this.contextKeyService,this)),this.listSupportsMultiSelect=Fe.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ft.multipleSelectionSupport!==!1),Bi.bindTo(this.contextKeyService).set(!!Ft.selectionNavigation),this.listHasSelectionOrFocus=vt.bindTo(this.contextKeyService),this.listDoubleSelection=Yt.bindTo(this.contextKeyService),this.listMultiSelection=Si.bindTo(this.contextKeyService),this.horizontalScrolling=Ft.horizontalScrolling,this._useAltAsMultipleSelectionModifier=In(Ni),this.disposables.add(this.contextKeyService),this.disposables.add(Li.register(this)),this.updateStyles(Ft.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const Xi=this.getSelection(),tn=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(Xi.length>0||tn.length>0),this.listMultiSelection.set(Xi.length>1),this.listDoubleSelection.set(Xi.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const Xi=this.getSelection(),tn=this.getFocus();this.listHasSelectionOrFocus.set(Xi.length>0||tn.length>0)})),this.disposables.add(Ni.onDidChangeConfiguration(Xi=>{Xi.affectsConfiguration(zn)&&(this._useAltAsMultipleSelectionModifier=In(Ni));let tn={};if(Xi.affectsConfiguration(es)&&this.horizontalScrolling===void 0){const yn=!!Ni.getValue(es);tn={...tn,horizontalScrolling:yn}}if(Xi.affectsConfiguration(Yn)){const yn=!!Ni.getValue(Yn);tn={...tn,scrollByPage:yn}}if(Xi.affectsConfiguration($t)){const yn=!!Ni.getValue($t);tn={...tn,smoothScrolling:yn}}if(Xi.affectsConfiguration(Ei)){const yn=Ni.getValue(Ei);tn={...tn,mouseWheelScrollSensitivity:yn}}if(Xi.affectsConfiguration(zi)){const yn=Ni.getValue(zi);tn={...tn,fastScrollSensitivity:yn}}Object.keys(tn).length>0&&this.updateOptions(tn)})),this.navigator=new vi(this,{configurationService:Ni,...Ft}),this.disposables.add(this.navigator)}updateOptions(ge){super.updateOptions(ge),ge.overrideStyles!==void 0&&this.updateStyles(ge.overrideStyles),ge.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!ge.multipleSelectionSupport)}updateStyles(ge){this.style(ge?(0,gt.t8)(ge):gt.IN)}};At=Bt([_t(5,fe.fN),_t(6,ri),_t(7,ve.pG),_t(8,Ae._Y)],At);let Xt=class extends u{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi){const Ci=typeof Ft.horizontalScrolling<"u"?Ft.horizontalScrolling:!!Ni.getValue(es),[Di,Fi]=xi.invokeFunction(Wi,Ft);super(ge,Ze,at,Et,{keyboardSupport:!1,...Di,horizontalScrolling:Ci}),this.disposables=new y.Cm,this.disposables.add(Fi),this.contextKeyService=us(qt,this),this.disposables.add(Zn(this.contextKeyService,this.widget)),this.horizontalScrolling=Ft.horizontalScrolling,this.listSupportsMultiSelect=Fe.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ft.multipleSelectionSupport!==!1),Bi.bindTo(this.contextKeyService).set(!!Ft.selectionNavigation),this._useAltAsMultipleSelectionModifier=In(Ni),this.disposables.add(this.contextKeyService),this.disposables.add(Li.register(this)),this.updateStyles(Ft.overrideStyles),this.disposables.add(Ni.onDidChangeConfiguration(Xi=>{Xi.affectsConfiguration(zn)&&(this._useAltAsMultipleSelectionModifier=In(Ni));let tn={};if(Xi.affectsConfiguration(es)&&this.horizontalScrolling===void 0){const yn=!!Ni.getValue(es);tn={...tn,horizontalScrolling:yn}}if(Xi.affectsConfiguration(Yn)){const yn=!!Ni.getValue(Yn);tn={...tn,scrollByPage:yn}}if(Xi.affectsConfiguration($t)){const yn=!!Ni.getValue($t);tn={...tn,smoothScrolling:yn}}if(Xi.affectsConfiguration(Ei)){const yn=Ni.getValue(Ei);tn={...tn,mouseWheelScrollSensitivity:yn}}
915if(Xi.affectsConfiguration(zi)){const yn=Ni.getValue(zi);tn={...tn,fastScrollSensitivity:yn}}Object.keys(tn).length>0&&this.updateOptions(tn)})),this.navigator=new vi(this,{configurationService:Ni,...Ft}),this.disposables.add(this.navigator)}updateOptions(ge){super.updateOptions(ge),ge.overrideStyles!==void 0&&this.updateStyles(ge.overrideStyles),ge.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!ge.multipleSelectionSupport)}updateStyles(ge){this.style(ge?(0,gt.t8)(ge):gt.IN)}dispose(){this.disposables.dispose(),super.dispose()}};Xt=Bt([_t(5,fe.fN),_t(6,ri),_t(7,ve.pG),_t(8,Ae._Y)],Xt);let li=class extends p{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi,Ci){const Di=typeof qt.horizontalScrolling<"u"?qt.horizontalScrolling:!!xi.getValue(es),[Fi,Gi]=Ci.invokeFunction(Wi,qt);super(ge,Ze,at,Et,Ft,{keyboardSupport:!1,...Fi,horizontalScrolling:Di}),this.disposables.add(Gi),this.contextKeyService=us(Li,this),this.disposables.add(Zn(this.contextKeyService,this)),this.listSupportsMultiSelect=Fe.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(qt.multipleSelectionSupport!==!1),Bi.bindTo(this.contextKeyService).set(!!qt.selectionNavigation),this.listHasSelectionOrFocus=vt.bindTo(this.contextKeyService),this.listDoubleSelection=Yt.bindTo(this.contextKeyService),this.listMultiSelection=Si.bindTo(this.contextKeyService),this.horizontalScrolling=qt.horizontalScrolling,this._useAltAsMultipleSelectionModifier=In(xi),this.disposables.add(this.contextKeyService),this.disposables.add(Ni.register(this)),this.updateStyles(qt.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const tn=this.getSelection(),yn=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(tn.length>0||yn.length>0),this.listMultiSelection.set(tn.length>1),this.listDoubleSelection.set(tn.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const tn=this.getSelection(),yn=this.getFocus();this.listHasSelectionOrFocus.set(tn.length>0||yn.length>0)})),this.disposables.add(xi.onDidChangeConfiguration(tn=>{tn.affectsConfiguration(zn)&&(this._useAltAsMultipleSelectionModifier=In(xi));let yn={};if(tn.affectsConfiguration(es)&&this.horizontalScrolling===void 0){const Gn=!!xi.getValue(es);yn={...yn,horizontalScrolling:Gn}}if(tn.affectsConfiguration(Yn)){const Gn=!!xi.getValue(Yn);yn={...yn,scrollByPage:Gn}}if(tn.affectsConfiguration($t)){const Gn=!!xi.getValue($t);yn={...yn,smoothScrolling:Gn}}if(tn.affectsConfiguration(Ei)){const Gn=xi.getValue(Ei);yn={...yn,mouseWheelScrollSensitivity:Gn}}if(tn.affectsConfiguration(zi)){const Gn=xi.getValue(zi);yn={...yn,fastScrollSensitivity:Gn}}Object.keys(yn).length>0&&this.updateOptions(yn)})),this.navigator=new Vi(this,{configurationService:xi,...qt}),this.disposables.add(this.navigator)}updateOptions(ge){super.updateOptions(ge),ge.overrideStyles!==void 0&&this.updateStyles(ge.overrideStyles),ge.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!ge.multipleSelectionSupport)}updateStyles(ge){this.style(ge?(0,gt.t8)(ge):gt.IN)}dispose(){this.disposables.dispose(),super.dispose()}};li=Bt([_t(6,fe.fN),_t(7,ri),_t(8,ve.pG),_t(9,Ae._Y)],li);class Mi extends y.jG{constructor(ge,Ze){super(),this.widget=ge,this._onDidOpen=this._register(new T.vl),this.onDidOpen=this._onDidOpen.event,this._register(T.Jh.filter(this.widget.onDidChangeSelection,at=>(0,v.kx)(at.browserEvent))(at=>this.onSelectionFromKeyboard(at))),this._register(this.widget.onPointer(at=>this.onPointer(at.element,at.browserEvent))),this._register(this.widget.onMouseDblClick(at=>this.onMouseDblClick(at.element,at.browserEvent))),typeof Ze?.openOnSingleClick!="boolean"&&Ze?.configurationService?(this.openOnSingleClick=Ze?.configurationService.getValue(ms)!=="doubleClick",this._register(Ze?.configurationService.onDidChangeConfiguration(at=>{at.affectsConfiguration(ms)&&(this.openOnSingleClick=Ze?.configurationService.getValue(ms)!=="doubleClick")}))):this.openOnSingleClick=Ze?.openOnSingleClick??!0}onSelectionFromKeyboard(ge){if(ge.elements.length!==1)return;const Ze=ge.browserEvent,at=typeof Ze.preserveFocus=="boolean"?Ze.preserveFocus:!0,Et=typeof Ze.pinned=="boolean"?Ze.pinned:!at;this._open(this.getSelectedElement(),at,Et,!1,ge.browserEvent)}onPointer(ge,Ze){if(!this.openOnSingleClick||Ze.detail===2)return;const Et=Ze.button===1,Ft=!0,qt=Et,Li=Ze.ctrlKey||Ze.metaKey||Ze.altKey;this._open(ge,Ft,qt,Li,Ze)}onMouseDblClick(ge,Ze){if(!Ze)return;const at=Ze.target;if(at.classList.contains("monaco-tl-twistie")||at.classList.contains("monaco-icon-label")&&at.classList.contains("folder-icon")&&Ze.offsetX<16)return;const Ft=!1,qt=!0,Li=Ze.ctrlKey||Ze.metaKey||Ze.altKey;this._open(ge,Ft,qt,Li,Ze)}_open(ge,Ze,at,Et,Ft){ge&&this._onDidOpen.fire({editorOptions:{preserveFocus:Ze,pinned:at,revealIfVisible:!0},sideBySide:Et,element:ge,browserEvent:Ft})}}class vi extends Mi{constructor(ge,Ze){super(ge,Ze),this.widget=ge}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class Vi extends Mi{constructor(ge,Ze){super(ge,Ze)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class ui extends Mi{constructor(ge,Ze){super(ge,Ze)}getSelectedElement(){return this.widget.getSelection()[0]??void 0}}function Wt(ot){let ge=!1;return Ze=>{if(Ze.toKeyCodeChord().isModifierKey())return!1;if(ge)return ge=!1,!1;const at=ot.softDispatch(Ze,Ze.target);return at.kind===1?(ge=!0,!1):(ge=!1,at.kind===0)}}let Nn=class extends j{get onDidOpen(){return this.internals.onDidOpen}constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi){const{options:Ci,getTypeNavigationMode:Di,disposable:Fi}=qt.invokeFunction(ai,Ft);super(ge,Ze,at,Et,Ci),this.disposables.add(Fi),this.internals=new gi(this,Ft,Di,Ft.overrideStyles,Li,Ni,xi),this.disposables.add(this.internals)}updateOptions(ge={}){super.updateOptions(ge),ge.overrideStyles&&this.internals.updateStyleOverrides(ge.overrideStyles),this.internals.updateOptions(ge)}};Nn=Bt([_t(5,Ae._Y),_t(6,fe.fN),_t(7,ri),_t(8,ve.pG)],Nn);let ci=class extends de{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi){const{options:Ci,getTypeNavigationMode:Di,disposable:Fi}=qt.invokeFunction(ai,Ft);super(ge,Ze,at,Et,Ci),this.disposables.add(Fi),this.internals=new gi(this,Ft,Di,Ft.overrideStyles,Li,Ni,xi),this.disposables.add(this.internals)}updateOptions(ge={}){super.updateOptions(ge),ge.overrideStyles&&this.internals.updateStyleOverrides(ge.overrideStyles),this.internals.updateOptions(ge)}};ci=Bt([_t(5,Ae._Y),_t(6,fe.fN),_t(7,ri),_t(8,ve.pG)],ci);let ut=class extends ue{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi,Ci){const{options:Di,getTypeNavigationMode:Fi,disposable:Gi}=Li.invokeFunction(ai,qt);super(ge,Ze,at,Et,Ft,Di),this.disposables.add(Gi),this.internals=new gi(this,qt,Fi,qt.overrideStyles,Ni,xi,Ci),this.disposables.add(this.internals)}updateOptions(ge={}){super.updateOptions(ge),ge.overrideStyles!==void 0&&this.internals.updateStyleOverrides(ge.overrideStyles),this.internals.updateOptions(ge)}};
915ut=Bt([_t(6,Ae._Y),_t(7,fe.fN),_t(8,ri),_t(9,ve.pG)],ut);let Rt=class extends Ke{get onDidOpen(){return this.internals.onDidOpen}constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi,Ci){const{options:Di,getTypeNavigationMode:Fi,disposable:Gi}=Li.invokeFunction(ai,qt);super(ge,Ze,at,Et,Ft,Di),this.disposables.add(Gi),this.internals=new gi(this,qt,Fi,qt.overrideStyles,Ni,xi,Ci),this.disposables.add(this.internals)}updateOptions(ge={}){super.updateOptions(ge),ge.overrideStyles&&this.internals.updateStyleOverrides(ge.overrideStyles),this.internals.updateOptions(ge)}};Rt=Bt([_t(6,Ae._Y),_t(7,fe.fN),_t(8,ri),_t(9,ve.pG)],Rt);let xt=class extends oe{constructor(ge,Ze,at,Et,Ft,qt,Li,Ni,xi,Ci,Di){const{options:Fi,getTypeNavigationMode:Gi,disposable:Xi}=Ni.invokeFunction(ai,Li);super(ge,Ze,at,Et,Ft,qt,Fi),this.disposables.add(Xi),this.internals=new gi(this,Li,Gi,Li.overrideStyles,xi,Ci,Di),this.disposables.add(this.internals)}updateOptions(ge){super.updateOptions(ge),this.internals.updateOptions(ge)}};xt=Bt([_t(7,Ae._Y),_t(8,fe.fN),_t(9,ri),_t(10,ve.pG)],xt);function Ot(ot){const ge=ot.getValue(Xn);if(ge==="highlight")return _.vD.Highlight;if(ge==="filter")return _.vD.Filter;const Ze=ot.getValue(ps);if(Ze==="simple"||Ze==="highlight")return _.vD.Highlight;if(Ze==="filter")return _.vD.Filter}function Qt(ot){const ge=ot.getValue(zs);if(ge==="fuzzy")return _.RD.Fuzzy;if(ge==="contiguous")return _.RD.Contiguous}function ai(ot,ge){const Ze=ot.get(ve.pG),at=ot.get(pe.l),Et=ot.get(fe.fN),Ft=ot.get(Ae._Y),qt=()=>{const Fi=Et.getContextKeyValue(Qn);if(Fi==="automatic")return g._C.Automatic;if(Fi==="trigger"||Et.getContextKeyValue(rs)===!1)return g._C.Trigger;const Xi=Ze.getValue(Ts);if(Xi==="automatic")return g._C.Automatic;if(Xi==="trigger")return g._C.Trigger},Li=ge.horizontalScrolling!==void 0?ge.horizontalScrolling:!!Ze.getValue(es),[Ni,xi]=Ft.invokeFunction(Wi,ge),Ci=ge.paddingBottom,Di=ge.renderIndentGuides!==void 0?ge.renderIndentGuides:Ze.getValue(jt);return{getTypeNavigationMode:qt,disposable:xi,options:{keyboardSupport:!1,...Ni,indent:typeof Ze.getValue(Kn)=="number"?Ze.getValue(Kn):void 0,renderIndentGuides:Di,smoothScrolling:!!Ze.getValue($t),defaultFindMode:ge.defaultFindMode??Ot(Ze),defaultFindMatchType:ge.defaultFindMatchType??Qt(Ze),horizontalScrolling:Li,scrollByPage:!!Ze.getValue(Yn),paddingBottom:Ci,hideTwistiesOfChildlessElements:ge.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:ge.expandOnlyOnTwistieClick??Ze.getValue(hn)==="doubleClick",contextViewProvider:at,findWidgetStyles:gt.Dk,enableStickyScroll:!!Ze.getValue(wn),stickyScrollMaxItemCount:Number(Ze.getValue(en))}}}let gi=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(ge,Ze,at,Et,Ft,qt,Li){this.tree=ge,this.disposables=[],this.contextKeyService=us(Ft,ge),this.disposables.push(Zn(this.contextKeyService,ge)),this.listSupportsMultiSelect=Fe.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(Ze.multipleSelectionSupport!==!1),Bi.bindTo(this.contextKeyService).set(!!Ze.selectionNavigation),this.listSupportFindWidget=pi.bindTo(this.contextKeyService),this.listSupportFindWidget.set(Ze.findWidgetEnabled??!0),this.hasSelectionOrFocus=vt.bindTo(this.contextKeyService),this.hasDoubleSelection=Yt.bindTo(this.contextKeyService),this.hasMultiSelection=Si.bindTo(this.contextKeyService),this.treeElementCanCollapse=$i.bindTo(this.contextKeyService),this.treeElementHasParent=fn.bindTo(this.contextKeyService),this.treeElementCanExpand=Sn.bindTo(this.contextKeyService),this.treeElementHasChild=On.bindTo(this.contextKeyService),this.treeFindOpen=Dn.bindTo(this.contextKeyService),this.treeStickyScrollFocused=pt.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=In(Li),this.updateStyleOverrides(Et);const xi=()=>{const Di=ge.getFocus()[0];if(!Di)return;const Fi=ge.getNode(Di);this.treeElementCanCollapse.set(Fi.collapsible&&!Fi.collapsed),this.treeElementHasParent.set(!!ge.getParentElement(Di)),this.treeElementCanExpand.set(Fi.collapsible&&Fi.collapsed),this.treeElementHasChild.set(!!ge.getFirstElementChild(Di))},Ci=new Set;Ci.add(Qn),Ci.add(rs),this.disposables.push(this.contextKeyService,qt.register(ge),ge.onDidChangeSelection(()=>{const Di=ge.getSelection(),Fi=ge.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(Di.length>0||Fi.length>0),this.hasMultiSelection.set(Di.length>1),this.hasDoubleSelection.set(Di.length===2)})}),ge.onDidChangeFocus(()=>{const Di=ge.getSelection(),Fi=ge.getFocus();this.hasSelectionOrFocus.set(Di.length>0||Fi.length>0),xi()}),ge.onDidChangeCollapseState(xi),ge.onDidChangeModel(xi),ge.onDidChangeFindOpenState(Di=>this.treeFindOpen.set(Di)),ge.onDidChangeStickyScrollFocused(Di=>this.treeStickyScrollFocused.set(Di)),Li.onDidChangeConfiguration(Di=>{let Fi={};if(Di.affectsConfiguration(zn)&&(this._useAltAsMultipleSelectionModifier=In(Li)),Di.affectsConfiguration(Kn)){const Gi=Li.getValue(Kn);Fi={...Fi,indent:Gi}}if(Di.affectsConfiguration(jt)&&Ze.renderIndentGuides===void 0){const Gi=Li.getValue(jt);Fi={...Fi,renderIndentGuides:Gi}}if(Di.affectsConfiguration($t)){const Gi=!!Li.getValue($t);Fi={...Fi,smoothScrolling:Gi}}if(Di.affectsConfiguration(Xn)||Di.affectsConfiguration(ps)){const Gi=Ot(Li);Fi={...Fi,defaultFindMode:Gi}}if(Di.affectsConfiguration(Ts)||Di.affectsConfiguration(ps)){const Gi=at();Fi={...Fi,typeNavigationMode:Gi}}if(Di.affectsConfiguration(zs)){const Gi=Qt(Li);Fi={...Fi,defaultFindMatchType:Gi}}if(Di.affectsConfiguration(es)&&Ze.horizontalScrolling===void 0){const Gi=!!Li.getValue(es);Fi={...Fi,horizontalScrolling:Gi}}if(Di.affectsConfiguration(Yn)){const Gi=!!Li.getValue(Yn);Fi={...Fi,scrollByPage:Gi}}if(Di.affectsConfiguration(hn)&&Ze.expandOnlyOnTwistieClick===void 0&&(Fi={...Fi,expandOnlyOnTwistieClick:Li.getValue(hn)==="doubleClick"}),Di.affectsConfiguration(wn)){const Gi=Li.getValue(wn);Fi={...Fi,enableStickyScroll:Gi}}if(Di.affectsConfiguration(en)){const Gi=Math.max(1,Li.getValue(en));Fi={...Fi,stickyScrollMaxItemCount:Gi}}if(Di.affectsConfiguration(Ei)){const Gi=Li.getValue(Ei);Fi={...Fi,mouseWheelScrollSensitivity:Gi}}
915if(Di.affectsConfiguration(zi)){const Gi=Li.getValue(zi);Fi={...Fi,fastScrollSensitivity:Gi}}Object.keys(Fi).length>0&&ge.updateOptions(Fi)}),this.contextKeyService.onDidChangeContext(Di=>{Di.affectsSome(Ci)&&ge.updateOptions({typeNavigationMode:at()})})),this.navigator=new ui(ge,{configurationService:Li,...Ze}),this.disposables.push(this.navigator)}updateOptions(ge){ge.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!ge.multipleSelectionSupport)}updateStyleOverrides(ge){this.tree.style(ge?(0,gt.t8)(ge):gt.IN)}dispose(){this.disposables=(0,y.AS)(this.disposables)}};gi=Bt([_t(4,fe.fN),_t(5,ri),_t(6,ve.pG)],gi),dt.O.as(De.Fd.Configuration).registerConfiguration({id:"workbench",order:7,title:(0,J.kg)(1768,"Workbench"),type:"object",properties:{[zn]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[(0,J.kg)(1769,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),(0,J.kg)(1770,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:(0,J.kg)(1771,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[ms]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,J.kg)(1772,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[es]:{type:"boolean",default:!1,description:(0,J.kg)(1773,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[Yn]:{type:"boolean",default:!1,description:(0,J.kg)(1774,"Controls whether clicks in the scrollbar scroll page by page.")},[Kn]:{type:"number",default:8,minimum:4,maximum:40,description:(0,J.kg)(1775,"Controls tree indentation in pixels.")},[jt]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:(0,J.kg)(1776,"Controls whether the tree should render indent guides.")},[$t]:{type:"boolean",default:!1,description:(0,J.kg)(1777,"Controls whether lists and trees have smooth scrolling.")},[Ei]:{type:"number",default:1,markdownDescription:(0,J.kg)(1778,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[zi]:{type:"number",default:5,markdownDescription:(0,J.kg)(1779,"Scrolling speed multiplier when pressing `Alt`.")},[Xn]:{type:"string",enum:["highlight","filter"],enumDescriptions:[(0,J.kg)(1780,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),(0,J.kg)(1781,"Filter elements when searching.")],default:"highlight",description:(0,J.kg)(1782,"Controls the default find mode for lists and trees in the workbench.")},[ps]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[(0,J.kg)(1783,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),(0,J.kg)(1784,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),(0,J.kg)(1785,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:(0,J.kg)(1786,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:(0,J.kg)(1787,"Please use 'workbench.list.defaultFindMode' and	'workbench.list.typeNavigationMode' instead.")},[zs]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[(0,J.kg)(1788,"Use fuzzy matching when searching."),(0,J.kg)(1789,"Use contiguous matching when searching.")],default:"fuzzy",description:(0,J.kg)(1790,"Controls the type of matching used when searching lists and trees in the workbench.")},[hn]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:(0,J.kg)(1791,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might cho
915ose to ignore this setting if it is not applicable.")},[wn]:{type:"boolean",default:!0,description:(0,J.kg)(1792,"Controls whether sticky scrolling is enabled in trees.")},[en]:{type:"number",minimum:1,default:7,markdownDescription:(0,J.kg)(1793,"Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[Ts]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:(0,J.kg)(1794,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}})},99039:(St,We,e)=>{e.d(We,{AI:()=>u,GR:()=>C,JX:()=>d,W8:()=>L,bC:()=>y,cL:()=>i,dN:()=>g,kK:()=>r,pN:()=>T,pr:()=>l,sO:()=>b,uV:()=>A});var v=e(2106),R=e(18146),x=e(22344);class T{get regions(){return this._regions}get textModel(){return this._textModel}constructor(c,a){this._updateEventEmitter=new v.vl,this.onDidChange=this._updateEventEmitter.event,this._textModel=c,this._decorationProvider=a,this._regions=new R.tz(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(c){if(!c.length)return;c=c.sort((p,_)=>p.regionIndex-_.regionIndex);const a={};this._decorationProvider.changeDecorations(p=>{let _=0,E=-1,S=-1;const h=D=>{for(;_<D;){const k=this._regions.getEndLineNumber(_),N=this._regions.isCollapsed(_);if(k<=E){const W=this.regions.getSource(_)!==0;p.changeDecorationOptions(this._editorDecorationIds[_],this._decorationProvider.getDecorationOption(N,k<=S,W))}N&&k>S&&(S=k),_++}};for(const D of c){const k=D.regionIndex,N=this._editorDecorationIds[k];if(N&&!a[N]){a[N]=!0,h(k);const W=!this._regions.isCollapsed(k);this._regions.setCollapsed(k,W),E=Math.max(E,this._regions.getEndLineNumber(k))}}h(this._regions.length)}
915),this._updateEventEmitter.fire({model:this,collapseStateChanged:c})}removeManualRanges(c){const a=new Array,p=_=>{for(const E of c)if(!(E.startLineNumber>_.endLineNumber||_.startLineNumber>E.endLineNumber))return!0;return!1};for(let _=0;_<this._regions.length;_++){const E=this._regions.toFoldRange(_);(E.source===0||!p(E))&&a.push(E)}this.updatePost(R.tz.fromFoldRanges(a))}update(c,a){const p=this._currentFoldedOrManualRanges(a),_=R.tz.sanitizeAndMerge(c,p,this._textModel.getLineCount(),a);this.updatePost(R.tz.fromFoldRanges(_))}updatePost(c){const a=[];let p=-1;for(let _=0,E=c.length;_<E;_++){const S=c.getStartLineNumber(_),h=c.getEndLineNumber(_),D=c.isCollapsed(_),k=c.getSource(_)!==0,N={startLineNumber:S,startColumn:this._textModel.getLineMaxColumn(S),endLineNumber:h,endColumn:this._textModel.getLineMaxColumn(h)+1};a.push({range:N,options:this._decorationProvider.getDecorationOption(D,h<=p,k)}),D&&h>p&&(p=h)}this._decorationProvider.changeDecorations(_=>this._editorDecorationIds=_.deltaDecorations(this._editorDecorationIds,a)),this._regions=c,this._updateEventEmitter.f
915ire({model:this})}_currentFoldedOrManualRanges(c){const a=[];for(let p=0,_=this._regions.length;p<_;p++){let E=this.regions.isCollapsed(p);const S=this.regions.getSource(p);if(E||S!==0){const h=this._regions.toFoldRange(p),D=this._textModel.getDecorationRange(this._editorDecorationIds[p]);D&&(E&&c?.startsInside(D.startLineNumber+1,D.endLineNumber)&&(E=!1),a.push({startLineNumber:D.startLineNumber,endLineNumber:D.endLineNumber,type:h.type,isCollapsed:E,source:S}))}}return a}getMemento(){const c=this._currentFoldedOrManualRanges(),a=[],p=this._textModel.getLineCount();for(let _=0,E=c.length;_<E;_++){const S=c[_];if(S.startLineNumber>=S.endLineNumber||S.startLineNumber<1||S.endLineNumber>p)continue;const h=this._getLinesChecksum(S.startLineNumber+1,S.endLineNumber);a.push({startLineNumber:S.startLineNumber,endLineNumber:S.endLineNumber,isCollapsed:S.isCollapsed,source:S.source,checksum:h})}return a.length>0?a:void 0}applyMemento(c){if(!Array.isArray(c))return;const a=[],p=this._textModel.getLineCount();for(const E of c){if(E.startLineNumber>=E.endLineNumber||E.startLineNumber<1||E.endLineNumber>p)continue;const S=this._getLinesChecksum(E.startLineNumber+1,E.endLineNumber);(!E.checksum||S===E.checksum)&&a.push({startLineNumber:E.startLineNumber,endLineNumber:E.endLineNumber,type:void 0,isCollapsed:E.isCollapsed??!0,source:E.source??0})}const _=R.tz.sanitizeAndMerge(this._regions,a,p);this.updatePost(R.tz.fromFoldRanges(_))}_getLinesChecksum(c,a){return(0,x.tW)(this._textModel.getLineContent(c)+this._textModel.getLineContent(a))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds),this._updateEventEmitter.dispose()}getAllRegionsAtLine(c,a){const p=[];if(this._regions){let _=this._regions.findRange(c),E=1;for(;_>=0;){const S=this._regions.toRegion(_);(!a||a(S,E))&&p.push(S),E++,_=S.parentIndex}}return p}getRegionAtLine(c){if(this._regions){const a=this._regions.findRange(c);if(a>=0)return this._regions.toRegion(a)}return null}getRegionsInside(c,a){const p=[],_=c?c.regionIndex+1:0,E=c?c.endLineNumber:Number.MAX_VALUE;if(a&&a.length===2){const S=[];for(let h=_,D=this._regions.length;h<D;h++){const k=this._regions.toRegion(h);if(this._regions.getStartLineNumber(h)<E){for(;S.length>0&&!k.containedBy(S[S.length-1]);)S.pop();S.push(k),a(k,S.length)&&p.push(k)}else break}}else for(let S=_,h=this._regions.length;S<h;S++){const D=this._regions.toRegion(S);if(this._regions.getStartLineNumber(S)<E)(!a||a(D))&&p.push(D);else break}return p}}function y(o,c,a){const p=[];for(const _ of a){const E=o.getRegionAtLine(_);if(E){const S=!E.isCollapsed;if(p.push(E),c>1){const h=o.getRegionsInside(E,(D,k)=>D.isCollapsed!==S&&k<c);p.push(...h)}}}o.toggleCollapseState(p)}function A(o,c,a=Number.MAX_VALUE,p){const _=[];if(p&&p.length>0)for(const E of p){const S=o.getRegionAtLine(E);if(S&&(S.isCollapsed!==c&&_.push(S),a>1)){const h=o.getRegionsInside(S,(D,k)=>D.isCollapsed!==c&&k<a);_.push(...h)}}else{const E=o.getRegionsInside(null,(S,h)=>S.isCollapsed!==c&&h<a);_.push(...E)}o.toggleCollapseState(_)}function g(o,c,a,p){const _=[];for(const E of p){const S=o.getAllRegionsAtLine(E,(h,D)=>h.isCollapsed!==c&&D<=a);_.push(...S)}o.toggleCollapseState(_)}function L(o,c,a){const p=[];for(const _ of a){const E=o.getAllRegionsAtLine(_,S=>S.isCollapsed!==c);E.length>0&&p.push(E[0])}o.toggleCollapseState(p)}function b(o,c,a,p){const _=(S,h)=>h===c&&S.isCollapsed!==a&&!p.some(D=>S.containsLine(D)),E=o.getRegionsInside(null,_);o.toggleCollapseState(E)}function C(o,c,a){const p=[];for(const S of a){const h=o.getAllRegionsAtLine(S,void 0);h.length>0&&p.push(h[0])}const _=S=>p.every(h=>!h.containedBy(S)&&!S.containedBy(h))&&S.isCollapsed!==c,E=o.getRegionsInside(null,_);o.toggleCollapseState(E)}function u(o,c,a){const p=o.textModel,_=o.regions,E=[];for(let S=_.length-1;S>=0;S--)if(a!==_.isCollapsed(S)){const h=_.getStartLineNumber(S);c.test(p.getLineContent(h))&&E.push(_.toRegion(S))}o.toggleCollapseState(E)}function i(o,c,a){const p=o.regions,_=[];for(let E=p.length-1;E>=0;E--)a!==p.isCollapsed(E)&&c===p.getType(E)&&_.push(p.toRegion(E));o.toggleCollapseState(_)}function r(o,c){let a=null;const p=c.getRegionAtLine(o);if(p!==null&&(a=p.startLineNumber,o===a)){const _=p.parentIndex;_!==-1?a=c.regions.getStartLineNumber(_):a=null}return a}function d(o,c){let a=c.getRegionAtLine(o);if(a!==null&&a.startLineNumber===o){if(o!==a.startLineNumber)return a.startLineNumber;{const p=a.parentIndex;let _=0;for(p!==-1&&(_=c.regions.getStartLineNumber(a.parentIndex));a!==null;)if(a.regionIndex>0){if(a=c.regions.toRegion(a.regionIndex-1),a.startLineNumber<=_)return null;if(a.parentIndex===p)return a.startLineNumber}else return null}}else if(c.regions.length>0)for(a=c.regions.toRegion(c.regions.length-1);a!==null;){if(a.startLineNumber<o)return a.startLineNumber;a.regionIndex>0?a=c.regions.toRegion(a.regionIndex-1):a=null}return null}function l(o,c){let a=c.getRegionAtLine(o);if(a!==null&&a.startLineNumber===o){const p=a.parentIndex;let _=0;if(p!==-1)_=c.regions.getEndLineNumber(a.parentIndex);else{if(c.regions.length===0)return null;_=c.regions.getEndLineNumber(c.regions.length-1)}for(;a!==null;)if(a.regionIndex<c.regions.length){if(a=c.regions.toRegion(a.regionIndex+1),a.startLineNumber>=_)return null;if(a.parentIndex===p)return a.startLineNumber}else return null}else if(c.regions.length>0)for(a=c.regions.toRegion(0);a!==null;){if(a.startLineNumber>o)return a.startLineNumber;a.regionIndex<c.regions.length?a=c.regions.toRegion(a.regionIndex+1):a=null}return null}},99207:(St,We,e)=>{e.d(We,{I:()=>d});var v=e(14333),R=e(65958),x=e(5915),T=e(10998),y=e(16844),A=e(58881
915),g=e(28061),L=e(31531),b=e(82399),C=function(o,c,a,p){var _=arguments.length,E=_<3?c:p===null?p=Object.getOwnPropertyDescriptor(c,a):p,S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(o,c,a,p);else for(var h=o.length-1;h>=0;h--)(S=o[h])&&(E=(_<3?S(E):_>3?S(c,a,E):S(c,a))||E);return _>3&&E&&Object.defineProperty(c,a,E),E},u=function(o,c){return function(a,p){c(a,p,o)}};const i=L.kI.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:y.S8,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),l=class l extends T.jG{constructor(c,a,p,_,E){super(),this.typeId=c,this.editor=a,this.range=p,this.delegate=E,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(_),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(c){this.domNode=(0,v.$)(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=c;const a=(0,v.$)("span.icon");this.domNode.append(a),a.classList.add(...A.L.asClassNameArray(x.W.loading),"codicon-modifier-spin");const p=()=>{const _=this.editor.getOption(75);this.domNode.style.height=`${_}px`,this.domNode.style.width=`${Math.ceil(.8*_)}px`};p(),this._register(this.editor.onDidChangeConfiguration(_=>
915{(_.hasChanged(61)||_.hasChanged(75))&&p()})),this._register((0,v.ko)(this.domNode,v.Bx.CLICK,_=>{this.delegate.cancel()}))}getId(){return l.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};l.baseId="editor.widget.inlineProgressWidget";let r=l,d=class extends T.jG{constructor(c,a,p){super(),this.id=c,this._editor=a,this._instantiationService=p,this._showDelay=500,this._showPromise=this._register(new T.HE),this._currentWidget=this._register(new T.HE),this._operationIdPool=0,this._currentDecorations=a.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(c,a,p,_,E){const S=this._operationIdPool++;this._currentOperation=S,this.clear(),this._showPromise.value=(0,R.EQ)(()=>{const h=g.Q.fromPositions(c);this._currentDecorations.set([{range:h,options:i}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(r,this.id,this._editor,h,a,_))},E??this._showDelay);try{return await p}finally{this._currentOperation===S&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};d=C([u(2,b._Y)],d)},99429:(St,We,e)=>{e.d(We,{Y:()=>y});var v=e(39084),R=e(49855),x=e(38792),T=e(57955);function y(g,L=T.j.ofCaller()){return typeof g=="string"?new A(g,void 0,L):new A(void 0,g,L)}class A extends x.ZK{get debugName(){return new R.nA(this._owner,this._debugName,void 0).getDebugName(this)??"Observable Signal"}toString(){return this.debugName}constructor(L,b,C){super(C),this._debugName=L,this._owner=b}trigger(L,b){if(!L){(0,v.Rn)(C=>{this.trigger(C,b)},()=>`Trigger signal ${this.debugName}`);return}for(const C of this._observers)L.updateObserver(C,this),C.handleChange(this,b)}get(){}}},99788:(St,We,e)=>{e.d(We,{Sc:()=>d,lM:()=>i,kk:()=>l,Om:()=>o});var v=e(5915),R=e(2106),x=e(90028),T=e(24594),y=e(58881),A=e(14333),g=e(23473),L=e(20396),b=e(45222);const C={inputActiveOptionBorder:"#007ACC00",inputActiveOptionForeground:"#FFFFFF",inputActiveOptionBackground:"#0E639C50"};class u extends g.EH{constructor(p,_,E){super(p,_,E);const S=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle=this._register(new i({actionClassName:this._action.class,isChecked:!!this._action.checked,title:S,notFocusable:!0,inputActiveOptionBackground:E.toggleStyles?.inputActiveOptionBackground,inputActiveOptionBorder:E.toggleStyles?.inputActiveOptionBorder,inputActiveOptionForeground:E.toggleStyles?.inputActiveOptionForeground})),this._register(this.toggle.onChange(()=>{this._action.checked=!!this.toggle&&this.toggle.checked}))}render(p){this.element=p,this.element.appendChild(this.toggle.domNode),this.updateChecked(),this.updateEnabled()}updateEnabled(){this.toggle&&(this.isEnabled()?(this.toggle.enable(),this.element?.classList.remove("disabled")):(this.toggle.disable(),this.element?.classList.add("disabled")))}updateChecked(){this.toggle.checked=!!this._action.checked}updateLabel(){const p=this.options.keybinding?`${this._action.label} (${this.options.keybinding})`:this._action.label;this.toggle.setTitle(p)}focus(){this.toggle.domNode.tabIndex=0,this.toggle.focus()}blur(){this.toggle.domNode.tabIndex=-1,this.toggle.domNode.blur()}setFocusable(p){this.toggle.domNode.tabIndex=p?0:-1}}class i extends b.x{get onChange(){return this._onChange.event}get onKeyDown(){return this._onKeyDown.event}constructor(p){super(),this._onChange=this._register(new R.vl),this._onKeyDown=this._register(new R.vl),this._opts=p,this._title=this._opts.title,this._checked=this._opts.isChecked;const _=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,_.push(...y.L.asClassNameArray(this._icon))),this._opts.actionClassName&&_.push(...this._opts.actionClassName.split(" ")),this._checked&&_.push("checked"),this.domNode=document.createElement("div"),this._register((0,L.i)().setupDelayedHover(this.domNode,()=>({content:!(0,x.VS)(this._title)&&!(0,A.sb)(this._title)?(0,T.pS)(this._title):this._title,style:1}),this._opts.hoverLifecycleOptions)),this.domNode.classList.add(..._),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.setTitle(this._opts.title),this.applyStyles(),this.onclick(this.domNode,E=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),E.preventDefault(),E.stopPropagation())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,E=>{if(this.enabled){if(E.keyCode===10||E.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),E.preventDefault(),E.stopPropagation();return}this._onKeyDown.fire(E)}})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(p){this._checked=p,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}setIcon(p){this._icon&&this.domNode.classList.remove(...y.L.asClassNameArray(this._icon)),this._icon=p,this._icon&&this.domNode.classList.add(...y.L.asClassNameArray(this._icon))}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackgroun
915d||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1)),this.domNode.classList.remove("disabled"),this._opts.notFocusable||(this.domNode.tabIndex=0)}disable(){this.domNode.setAttribute("aria-disabled",String(!0)),this.domNode.classList.add("disabled"),this._opts.notFocusable||(this.domNode.tabIndex=-1)}setTitle(p){this._title=p;const _=typeof p=="string"?p:(0,x.VS)(p)?p.value:p.textContent;this.domNode.setAttribute("aria-label",(0,T.R$)(_))}}const c=class c extends b.x{constructor(p,_,E){super(),this.checkbox=p,this.domNode=_,this.styles=E,this._onChange=this._register(new R.vl),this.onChange=this._onChange.event,this.applyStyles()}get enabled(){return this.checkbox.enabled}enable(){this.checkbox.enable(),this.applyStyles(!0)}disable(){this.checkbox.disable(),this.applyStyles(!1)}setTitle(p){this.checkbox.setTitle(p)}applyStyles(p=this.enabled){this.domNode.style.color=(p?this.styles.checkboxForeground:this.styles.checkboxDisabledForeground)||"",this.domNode.style.backgroundColor=(p?this.styles.checkboxBackground:this.styles.checkboxDisabledBackground)||"",this.domNode.style.borderColor=(p?this.styles.checkboxBorder:this.styles.checkboxDisabledBackground)||"";const _=this.styles.size||18;this.domNode.style.width=this.domNode.style.height=this.domNode.style.fontSize=`${_}px`,this.domNode.style.fontSize=`${_-2}px`}};c.CLASS_NAME="monaco-checkbox";let r=c;class d extends r{constructor(p,_,E){const S=new i({title:p,isChecked:_,icon:v.W.check,actionClassName:r.CLASS_NAME,hoverLifecycleOptions:E.hoverLifecycleOptions,...C});super(S,S.domNode,E),this._register(S),this._register(this.checkbox.onChange(h=>{this.applyStyles(),this._onChange.fire(h)}))}get checked(){return this.checkbox.checked}set checked(p){this.checkbox.checked=p,this.applyStyles()}applyStyles(p){this.checkbox.checked?this.checkbox.setIcon(v.W.check):this.checkbox.setIcon(void 0),super.applyStyles(p)}}class l extends r{constructor(p,_,E){let S;switch(_){case!0:S=v.W.check;break;case"mixed":S=v.W.dash;break;case!1:S=void 0;break}const h=new i({title:p,isChecked:_===!0,icon:S,actionClassName:d.CLASS_NAME,hoverLifecycleOptions:E.hoverLifecycleOptions,...C});super(h,h.domNode,E),this._state=_,this._register(h),this._register(this.checkbox.onChange(D=>{this._state=this.checkbox.checked,this.applyStyles(),this._onChange.fire(D)}))}get checked(){return this._state}set checked(p){this._state!==p&&(this._state=p,this.checkbox.checked=p===!0,this.applyStyles())}applyStyles(p){switch(this._state){case!0:this.checkbox.setIcon(v.W.check);break;case"mixed":this.checkbox.setIcon(v.W.dash);break;case!1:this.checkbox.setIcon(void 0);break}super.applyStyles(p)}}function o(a){return(p,_)=>{if(p.checked!==void 0)return new u(null,p,{..._,toggleStyles:a})}}},99859:(St,We,e)=>{e.d(We,{C:()=>C,a0:()=>i,dQ:()=>b,nb:()=>u,un:()=>L});var v=e(8897),R=e(2106),x=e(10998),T=e(57955),y=e(49855),A=e(38792),g=e(77917);function L(r,d,l=T.j.ofCaller()){return d!==void 0?new g.w(new y.nA(r,void 0,d),d,void 0,void 0,v.nx,l):new g.w(new y.nA(void 0,void 0,r),r,void 0,void 0,v.nx,l)}function b(r,d,l,o=T.j.ofCaller()){return new g.P(new y.nA(r,void 0,d),d,void 0,void 0,v.nx,l,o)}function C(r,d,l=T.j.ofCaller()){return new g.w(new y.nA(r.owner,r.debugName,r.debugReferenceFn),d,void 0,r.onLastObserverRemoved,r.equalsFn??v.nx,l)}(0,A.N2)(C);function u(r,d,l=T.j.ofCaller()){return new g.w(new y.nA(r.owner,r.debugName,void 0),d,r.changeTracker,void 0,r.equalityComparer??v.nx,l)}function i(r,d,l=T.j.ofCaller()){let o,c;d===void 0?(o=r,c=void 0):(c=r,o=d);let a;return new g.w(new y.nA(c,void 0,o),p=>{a?a.clear():a=new x.Cm;const _=o(p);return _&&a.add(_),_},void 0,()=>{a&&(a.dispose(),a=void 0)},v.nx,l)}}}]);})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.