-
Notifications
You must be signed in to change notification settings - Fork 0
/
monaco.json.worker.js
9 lines (8 loc) · 395 KB
/
monaco.json.worker.js
1
2
3
4
5
6
7
8
9
var m5=((J)=>typeof require!=="undefined"?require:typeof Proxy!=="undefined"?new Proxy(J,{get:(Q,Z)=>(typeof require!=="undefined"?require:Q)[Z]}):J)(function(J){if(typeof require!=="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+J+'" is not supported')});function c0(J){if(!qZ(J))wZ.onUnexpectedError(J);return}function U8(J){if(J instanceof Error){const{name:Q,message:Z}=J,$=J.stacktrace||J.stack;return{$isError:!0,name:Q,message:Z,stack:$,noTelemetry:A1.isErrorNoTelemetry(J)}}return J}function qZ(J){if(J instanceof G8)return!0;return J instanceof Error&&J.name===z8&&J.message===z8}class g5{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(J){setTimeout(()=>{if(J.stack){if(A1.isErrorNoTelemetry(J))throw new A1(J.message+"\n\n"+J.stack);throw new Error(J.message+"\n\n"+J.stack)}throw J},0)}}emit(J){this.listeners.forEach((Q)=>{Q(J)})}onUnexpectedError(J){this.unexpectedErrorHandler(J),this.emit(J)}onUnexpectedExternalError(J){this.unexpectedErrorHandler(J)}}var wZ=new g5,z8="Canceled";class G8 extends Error{constructor(){super(z8);this.name=this.message}}class A1 extends Error{constructor(J){super(J);this.name="CodeExpectedError"}static fromError(J){if(J instanceof A1)return J;const Q=new A1;return Q.message=J.message,Q.stack=J.stack,Q}static isErrorNoTelemetry(J){return J.name==="CodeExpectedError"}}class $0 extends Error{constructor(J){super(J||"An unexpected bug occurred.");Object.setPrototypeOf(this,$0.prototype)}}function V8(J,Q){const Z=this;let $=!1,X;return function(){if($)return X;if($=!0,Q)try{X=J.apply(Z,arguments)}finally{Q()}else X=J.apply(Z,arguments);return X}}var T1;(function(J){function Q(N){return N&&typeof N==="object"&&typeof N[Symbol.iterator]==="function"}J.is=Q;const Z=Object.freeze([]);function $(){return Z}J.empty=$;function*X(N){yield N}J.single=X;function Y(N){if(Q(N))return N;else return X(N)}J.wrap=Y;function z(N){return N||Z}J.from=z;function*U(N){for(let P=N.length-1;P>=0;P--)yield N[P]}J.reverse=U;function G(N){return!N||N[Symbol.iterator]().next().done===!0}J.isEmpty=G;function V(N){return N[Symbol.iterator]().next().value}J.first=V;function F(N,P){let R=0;for(let T of N)if(P(T,R++))return!0;return!1}J.some=F;function _(N,P){for(let R of N)if(P(R))return R;return}J.find=_;function*B(N,P){for(let R of N)if(P(R))yield R}J.filter=B;function*H(N,P){let R=0;for(let T of N)yield P(T,R++)}J.map=H;function*w(N,P){let R=0;for(let T of N)yield*P(T,R++)}J.flatMap=w;function*q(...N){for(let P of N)yield*P}J.concat=q;function j(N,P,R){let T=R;for(let x of N)T=P(T,x);return T}J.reduce=j;function*k(N,P,R=N.length){if(P<0)P+=N.length;if(R<0)R+=N.length;else if(R>N.length)R=N.length;for(;P<R;P++)yield N[P]}J.slice=k;function D(N,P=Number.POSITIVE_INFINITY){const R=[];if(P===0)return[R,N];const T=N[Symbol.iterator]();for(let x=0;x<P;x++){const b=T.next();if(b.done)return[R,J.empty()];R.push(b.value)}return[R,{[Symbol.iterator](){return T}}]}J.consume=D;async function M(N){const P=[];for await(let R of N)P.push(R);return Promise.resolve(P)}J.asyncToArray=M})(T1||(T1={}));function PZ(J){R1=J}function F8(J){return R1?.trackDisposable(J),J}function _8(J){R1?.markAsDisposed(J)}function W8(J,Q){R1?.setParent(J,Q)}function MZ(J,Q){if(!R1)return;for(let Z of J)R1.setParent(Z,Q)}function B8(J){if(T1.is(J)){const Q=[];for(let Z of J)if(Z)try{Z.dispose()}catch($){Q.push($)}if(Q.length===1)throw Q[0];else if(Q.length>1)throw new AggregateError(Q,"Encountered errors while disposing of store");return Array.isArray(J)?[]:J}else if(J)return J.dispose(),J}function l5(...J){const Q=n0(()=>B8(J));return MZ(J,Q),Q}function n0(J){const Q=F8({dispose:V8(()=>{_8(Q),J()})});return Q}var jZ=!1,R1=null;if(jZ)PZ(new class{trackDisposable(Q){const Z=new Error("Potentially leaked disposable").stack;setTimeout(()=>{if(!Q.__is_disposable_tracked__)console.log(Z)},3000)}setParent(Q,Z){if(Q&&Q!==O0.None)try{Q.__is_disposable_tracked__=!0}catch{}}markAsDisposed(Q){if(Q&&Q!==O0.None)try{Q.__is_disposable_tracked__=!0}catch{}}markAsSingleton(Q){}});class G1{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1,F8(this)}dispose(){if(this._isDisposed)return;_8(this),this._isDisposed=!0,this.clear()}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size===0)return;try{B8(this._toDispose)}finally{this._toDispose.clear()}}add(J){if(!J)return J;if(J===this)throw new Error("Cannot register a disposable on itself!");if(W8(J,this),this._isDisposed){if(!G1.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)}else this._toDispose.add(J);return J}deleteAndLeak(J){if(!J)return;if(this._toDispose.has(J))this._toDispose.delete(J),W8(J,null)}}class O0{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new G1,F8(this),W8(this._store,this)}dispose(){_8(this),this._store.dispose()}_register(J){if(J===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(J)}}class n{static{this.Undefined=new n(void 0)}constructor(J){this.element=J,this.next=n.Undefined,this.prev=n.Undefined}}class A6{constructor(){this._first=n.Undefined,this._last=n.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===n.Undefined}clear(){let J=this._first;while(J!==n.Undefined){const Q=J.next;J.prev=n.Undefined,J.next=n.Undefined,J=Q}this._first=n.Undefined,this._last=n.Undefined,this._size=0}unshift(J){return this._insert(J,!1)}push(J){return this._insert(J,!0)}_insert(J,Q){const Z=new n(J);if(this._first===n.Undefined)this._first=Z,this._last=Z;else if(Q){const X=this._last;this._last=Z,Z.prev=X,X.next=Z}else{const X=this._first;this._first=Z,Z.next=X,X.prev=Z}this._size+=1;let $=!1;return()=>{if(!$)$=!0,this._remove(Z)}}shift(){if(this._first===n.Undefined)return;else{const J=this._first.element;return this._remove(this._first),J}}pop(){if(this._last===n.Undefined)return;else{const J=this._last.element;return this._remove(this._last),J}}_remove(J){if(J.prev!==n.Undefined&&J.next!==n.Undefined){const Q=J.prev;Q.next=J.next,J.next.prev=Q}else if(J.prev===n.Undefined&&J.next===n.Undefined)this._first=n.Undefined,this._last=n.Undefined;else if(J.next===n.Undefined)this._last=this._last.prev,this._last.next=n.Undefined;else if(J.prev===n.Undefined)this._first=this._first.next,this._first.prev=n.Undefined;this._size-=1}*[Symbol.iterator](){let J=this._first;while(J!==n.Undefined)yield J.element,J=J.next}}var DZ=globalThis.performance&&typeof globalThis.performance.now==="function";class K1{static create(J){return new K1(J)}constructor(J){this._now=DZ&&J===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){if(this._stopTime!==-1)return this._stopTime-this._startTime;return this._now()-this._startTime}}var kZ=!1,d5=!1,AZ=!1,I1;(function(J){J.None=()=>O0.None;function Q(I){if(AZ){const{onDidAddListener:v}=I,S=a1.create();let E=0;I.onDidAddListener=()=>{if(++E===2)console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),S.print();v?.()}}}function Z(I,v){return H(I,()=>{return},0,void 0,!0,void 0,v)}J.defer=Z;function $(I){return(v,S=null,E)=>{let h=!1,l=void 0;if(l=I((u)=>{if(h)return;else if(l)l.dispose();else h=!0;return v.call(S,u)},null,E),h)l.dispose();return l}}J.once=$;function X(I,v){return J.once(J.filter(I,v))}J.onceIf=X;function Y(I,v,S){return _((E,h=null,l)=>I((u)=>E.call(h,v(u)),null,l),S)}J.map=Y;function z(I,v,S){return _((E,h=null,l)=>I((u)=>{v(u),E.call(h,u)},null,l),S)}J.forEach=z;function U(I,v,S){return _((E,h=null,l)=>I((u)=>v(u)&&E.call(h,u),null,l),S)}J.filter=U;function G(I){return I}J.signal=G;function V(...I){return(v,S=null,E)=>{const h=l5(...I.map((l)=>l((u)=>v.call(S,u))));return B(h,E)}}J.any=V;function F(I,v,S,E){let h=S;return Y(I,(l)=>{return h=v(h,l),h},E)}J.reduce=F;function _(I,v){let S;const E={onWillAddFirstListener(){S=I(h.fire,h)},onDidRemoveLastListener(){S?.dispose()}};if(!v)Q(E);const h=new U0(E);return v?.add(h),h.event}function B(I,v){if(v instanceof Array)v.push(I);else if(v)v.add(I);return I}function H(I,v,S=100,E=!1,h=!1,l,u){let e,B0=void 0,k1=void 0,D6=0,d1;const c5={leakWarningThreshold:l,onWillAddFirstListener(){e=I((BZ)=>{if(D6++,B0=v(B0,BZ),E&&!k1)k6.fire(B0),B0=void 0;if(d1=()=>{const HZ=B0;if(B0=void 0,k1=void 0,!E||D6>1)k6.fire(HZ);D6=0},typeof S==="number")clearTimeout(k1),k1=setTimeout(d1,S);else if(k1===void 0)k1=0,queueMicrotask(d1)})},onWillRemoveListener(){if(h&&D6>0)d1?.()},onDidRemoveLastListener(){d1=void 0,e.dispose()}};if(!u)Q(c5);const k6=new U0(c5);return u?.add(k6),k6.event}J.debounce=H;function w(I,v=0,S){return J.debounce(I,(E,h)=>{if(!E)return[h];return E.push(h),E},v,void 0,!0,void 0,S)}J.accumulate=w;function q(I,v=(E,h)=>E===h,S){let E=!0,h;return U(I,(l)=>{const u=E||!v(l,h);return E=!1,h=l,u},S)}J.latch=q;function j(I,v,S){return[J.filter(I,v,S),J.filter(I,(E)=>!v(E),S)]}J.split=j;function k(I,v=!1,S=[],E){let h=S.slice(),l=I((B0)=>{if(h)h.push(B0);else e.fire(B0)});if(E)E.add(l);const u=()=>{h?.forEach((B0)=>e.fire(B0)),h=null},e=new U0({onWillAddFirstListener(){if(!l){if(l=I((B0)=>e.fire(B0)),E)E.add(l)}},onDidAddFirstListener(){if(h)if(v)setTimeout(u);else u()},onDidRemoveLastListener(){if(l)l.dispose();l=null}});if(E)E.add(e);return e.event}J.buffer=k;function D(I,v){return(E,h,l)=>{const u=v(new N);return I(function(e){const B0=u.evaluate(e);if(B0!==M)E.call(h,B0)},void 0,l)}}J.chain=D;const M=Symbol("HaltChainable");class N{constructor(){this.steps=[]}map(I){return this.steps.push(I),this}forEach(I){return this.steps.push((v)=>{return I(v),v}),this}filter(I){return this.steps.push((v)=>I(v)?v:M),this}reduce(I,v){let S=v;return this.steps.push((E)=>{return S=I(S,E),S}),this}latch(I=(v,S)=>v===S){let v=!0,S;return this.steps.push((E)=>{const h=v||!I(E,S);return v=!1,S=E,h?E:M}),this}evaluate(I){for(let v of this.steps)if(I=v(I),I===M)break;return I}}function P(I,v,S=(E)=>E){const E=(...e)=>u.fire(S(...e)),u=new U0({onWillAddFirstListener:()=>I.on(v,E),onDidRemoveLastListener:()=>I.removeListener(v,E)});return u.event}J.fromNodeEventEmitter=P;function R(I,v,S=(E)=>E){const E=(...e)=>u.fire(S(...e)),u=new U0({onWillAddFirstListener:()=>I.addEventListener(v,E),onDidRemoveLastListener:()=>I.removeEventListener(v,E)});return u.event}J.fromDOMEventEmitter=R;function T(I){return new Promise((v)=>$(I)(v))}J.toPromise=T;function x(I){const v=new U0;return I.then((S)=>{v.fire(S)},()=>{v.fire(void 0)}).finally(()=>{v.dispose()}),v.event}J.fromPromise=x;function b(I,v){return I((S)=>v.fire(S))}J.forward=b;function C(I,v,S){return v(S),I((E)=>v(E))}J.runAndSubscribe=C;class A{constructor(I,v){this._observable=I,this._counter=0,this._hasChanged=!1;const S={onWillAddFirstListener:()=>{I.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{I.removeObserver(this)}};if(!v)Q(S);if(this.emitter=new U0(S),v)v.add(this.emitter)}beginUpdate(I){this._counter++}handlePossibleChange(I){}handleChange(I,v){this._hasChanged=!0}endUpdate(I){if(this._counter--,this._counter===0){if(this._observable.reportChanges(),this._hasChanged)this._hasChanged=!1,this.emitter.fire(this._observable.get())}}}function L(I,v){return new A(I,v).emitter.event}J.fromObservable=L;function y(I){return(v,S,E)=>{let h=0,l=!1;const u={beginUpdate(){h++},endUpdate(){if(h--,h===0){if(I.reportChanges(),l)l=!1,v.call(S)}},handlePossibleChange(){},handleChange(){l=!0}};I.addObserver(u),I.reportChanges();const e={dispose(){I.removeObserver(u)}};if(E instanceof G1)E.add(e);else if(Array.isArray(E))E.push(e);return e}}J.fromObservableLight=y})(I1||(I1={}));class R6{static{this.all=new Set}static{this._idPool=0}constructor(J){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${J}_${R6._idPool++}`,R6.all.add(this)}start(J){this._stopWatch=new K1,this.listenerCount=J}stop(){if(this._stopWatch){const J=this._stopWatch.elapsed();this.durations.push(J),this.elapsedOverall+=J,this.invocationCount+=1,this._stopWatch=void 0}}}var s5=-1;class H8{static{this._idPool=1}constructor(J,Q,Z=(H8._idPool++).toString(16).padStart(3,"0")){this._errorHandler=J,this.threshold=Q,this.name=Z,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(J,Q){const Z=this.threshold;if(Z<=0||Q<Z)return;if(!this._stacks)this._stacks=new Map;const $=this._stacks.get(J.value)||0;if(this._stacks.set(J.value,$+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=Z*0.5;const[X,Y]=this.getMostFrequentStack(),z=`[${this.name}] potential listener LEAK detected, having ${Q} listeners already. MOST frequent listener (${Y}):`;console.warn(z),console.warn(X);const U=new a5(z,X);this._errorHandler(U)}return()=>{const X=this._stacks.get(J.value)||0;this._stacks.set(J.value,X-1)}}getMostFrequentStack(){if(!this._stacks)return;let J,Q=0;for(let[Z,$]of this._stacks)if(!J||Q<$)J=[Z,$],Q=$;return J}}class a1{static create(){const J=new Error;return new a1(J.stack??"")}constructor(J){this.value=J}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class a5 extends Error{constructor(J,Q){super(J);this.name="ListenerLeakError",this.stack=Q}}class o5 extends Error{constructor(J,Q){super(J);this.name="ListenerRefusalError",this.stack=Q}}class s1{constructor(J){this.value=J}}var TZ=2,RZ=(J,Q)=>{if(J instanceof s1)Q(J);else for(let Z=0;Z<J.length;Z++){const $=J[Z];if($)Q($)}},T6;if(kZ){const J=[];setInterval(()=>{if(J.length===0)return;console.warn("[LEAKING LISTENERS] GC\'ed these listeners that were NOT yet disposed:"),console.warn(J.join("\n")),J.length=0},3000),T6=new FinalizationRegistry((Q)=>{if(typeof Q==="string")J.push(Q)})}class U0{constructor(J){this._size=0,this._options=J,this._leakageMon=s5>0||this._options?.leakWarningThreshold?new H8(J?.onListenerError??c0,this._options?.leakWarningThreshold??s5):void 0,this._perfMon=this._options?._profName?new R6(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this)this._deliveryQueue.reset();if(this._listeners){if(d5){const J=this._listeners;queueMicrotask(()=>{RZ(J,(Q)=>Q.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(J,Q,Z)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const U=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(U);const G=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],V=new o5(`${U}. HINT: Stack shows most frequent listener (${G[1]}-times)`,G[0]);return(this._options?.onListenerError||c0)(V),O0.None}if(this._disposed)return O0.None;if(Q)J=J.bind(Q);const $=new s1(J);let X,Y;if(this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*0.2))$.stack=a1.create(),X=this._leakageMon.check($.stack,this._size+1);if(d5)$.stack=Y??a1.create();if(!this._listeners)this._options?.onWillAddFirstListener?.(this),this._listeners=$,this._options?.onDidAddFirstListener?.(this);else if(this._listeners instanceof s1)this._deliveryQueue??=new n5,this._listeners=[this._listeners,$];else this._listeners.push($);this._size++;const z=n0(()=>{T6?.unregister(z),X?.(),this._removeListener($)});if(Z instanceof G1)Z.add(z);else if(Array.isArray(Z))Z.push(z);if(T6){const U=new Error().stack.split("\n").slice(2,3).join("\n").trim(),G=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(U);T6.register(z,G?.[2]??U,z)}return z},this._event}_removeListener(J){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 Q=this._listeners,Z=Q.indexOf(J);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--,Q[Z]=void 0;const $=this._deliveryQueue.current===this;if(this._size*TZ<=Q.length){let X=0;for(let Y=0;Y<Q.length;Y++)if(Q[Y])Q[X++]=Q[Y];else if($){if(this._deliveryQueue.end--,X<this._deliveryQueue.i)this._deliveryQueue.i--}Q.length=X}}_deliver(J,Q){if(!J)return;const Z=this._options?.onListenerError||c0;if(!Z){J.value(Q);return}try{J.value(Q)}catch($){Z($)}}_deliverQueue(J){const Q=J.current._listeners;while(J.i<J.end)this._deliver(Q[J.i++],J.value);J.reset()}fire(J){if(this._deliveryQueue?.current)this._deliverQueue(this._deliveryQueue),this._perfMon?.stop();if(this._perfMon?.start(this._size),!this._listeners);else if(this._listeners instanceof s1)this._deliver(this._listeners,J);else{const Q=this._deliveryQueue;Q.enqueue(this,J,this._listeners.length),this._deliverQueue(Q)}this._perfMon?.stop()}hasListeners(){return this._size>0}}class n5{constructor(){this.i=-1,this.end=0}enqueue(J,Q,Z){this.i=0,this.end=Z,this.current=J,this.value=Q}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}function w8(){return globalThis._VSCODE_NLS_MESSAGES}function o1(){return globalThis._VSCODE_NLS_LANGUAGE}function i5(J,Q){let Z;if(Q.length===0)Z=J;else Z=J.replace(/\{(\d+)\}/g,($,X)=>{const Y=X[0],z=Q[Y];let U=$;if(typeof z==="string")U=z;else if(typeof z==="number"||typeof z==="boolean"||z===void 0||z===null)U=String(z);return U});if(KZ)Z="\uFF3B"+Z.replace(/[aouei]/g,"$&$&")+"\uFF3D";return Z}function i(J,Q,...Z){if(typeof J==="number")return i5(IZ(J,Q),Z);return i5(Q,Z)}function IZ(J,Q){const Z=w8()?.[J];if(typeof Z!=="string"){if(typeof Q==="string")return Q;throw new Error(`!!! NLS MISSING: ${J} !!!`)}return Z}var KZ=o1()==="pseudo"||typeof document!=="undefined"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;var O1="en",O6=!1,L6=!1,I6=!1,LZ=!1,r5=!1,j8=!1,vZ=!1,EZ=!1,xZ=!1,SZ=!1,K6=void 0,q8=O1,t5=O1,yZ=void 0,m0=void 0,g0=globalThis,M0=void 0;if(typeof g0.vscode!=="undefined"&&typeof g0.vscode.process!=="undefined")M0=g0.vscode.process;else if(typeof process!=="undefined"&&typeof process?.versions?.node==="string")M0=process;var e5=typeof M0?.versions?.electron==="string",bZ=e5&&M0?.type==="renderer";if(typeof M0==="object"){O6=M0.platform==="win32",L6=M0.platform==="darwin",I6=M0.platform==="linux",LZ=I6&&!!M0.env.SNAP&&!!M0.env.SNAP_REVISION,vZ=e5,xZ=!!M0.env.CI||!!M0.env.BUILD_ARTIFACTSTAGINGDIRECTORY,K6=O1,q8=O1;const J=M0.env.VSCODE_NLS_CONFIG;if(J)try{const Q=JSON.parse(J);K6=Q.userLocale,t5=Q.osLocale,q8=Q.resolvedLanguage||O1,yZ=Q.languagePack?.translationsConfigFile}catch(Q){}r5=!0}else if(typeof navigator==="object"&&!bZ)m0=navigator.userAgent,O6=m0.indexOf("Windows")>=0,L6=m0.indexOf("Macintosh")>=0,EZ=(m0.indexOf("Macintosh")>=0||m0.indexOf("iPad")>=0||m0.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,I6=m0.indexOf("Linux")>=0,SZ=m0?.indexOf("Mobi")>=0,j8=!0,q8=o1()||O1,K6=navigator.language.toLowerCase(),t5=K6;else console.error("Unable to resolve platform.");var N8=0;if(L6)N8=1;else if(O6)N8=3;else if(I6)N8=2;var V1=O6,J7=L6;var Q7=r5,P8=j8,CZ=j8&&typeof g0.importScripts==="function",Z7=CZ?g0.origin:void 0;var C0=m0;var fZ=typeof g0.postMessage==="function"&&!g0.importScripts,$7=(()=>{if(fZ){const J=[];g0.addEventListener("message",(Z)=>{if(Z.data&&Z.data.vscodeScheduleAsyncWork)for(let $=0,X=J.length;$<X;$++){const Y=J[$];if(Y.id===Z.data.vscodeScheduleAsyncWork){J.splice($,1),Y.callback();return}}});let Q=0;return(Z)=>{const $=++Q;J.push({id:$,callback:Z}),g0.postMessage({vscodeScheduleAsyncWork:$},"*")}}return(J)=>setTimeout(J)})();var hZ=!!(C0&&C0.indexOf("Chrome")>=0),IY=!!(C0&&C0.indexOf("Firefox")>=0),OY=!!(!hZ&&(C0&&C0.indexOf("Safari")>=0)),LY=!!(C0&&C0.indexOf("Edg/")>=0),vY=!!(C0&&C0.indexOf("Android")>=0);function uZ(J){return J}class M8{constructor(J,Q){if(this.lastCache=void 0,this.lastArgKey=void 0,typeof J==="function")this._fn=J,this._computeKey=uZ;else this._fn=Q,this._computeKey=J.getCacheKey}get(J){const Q=this._computeKey(J);if(this.lastArgKey!==Q)this.lastArgKey=Q,this.lastCache=this._fn(J);return this.lastCache}}class v6{constructor(J){this.executor=J,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(J){this._error=J}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}function X7(J){return J.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Y7(J){return J.split(/\r\n|\r|\n/)}function z7(J){for(let Q=0,Z=J.length;Q<Z;Q++){const $=J.charCodeAt(Q);if($!==32&&$!==9)return Q}return-1}function U7(J,Q=J.length-1){for(let Z=Q;Z>=0;Z--){const $=J.charCodeAt(Z);if($!==32&&$!==9)return Z}return-1}function D8(J){return J>=65&&J<=90}function L1(J){return 55296<=J&&J<=56319}function E6(J){return 56320<=J&&J<=57343}function k8(J,Q){return(J-55296<<10)+(Q-56320)+65536}function G7(J,Q,Z){const $=J.charCodeAt(Z);if(L1($)&&Z+1<Q){const X=J.charCodeAt(Z+1);if(E6(X))return k8($,X)}return $}function V7(J){return cZ.test(J)}function mZ(){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,8505,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,70502,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,12,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,2362,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,46496,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,54168,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]")}var cZ=/^[\t\n\r\x20-\x7E]*$/;var bY=String.fromCharCode(65279);class n1{static{this._INSTANCE=null}static getInstance(){if(!n1._INSTANCE)n1._INSTANCE=new n1;return n1._INSTANCE}constructor(){this._data=mZ()}getGraphemeBreakType(J){if(J<32){if(J===10)return 3;if(J===13)return 2;return 4}if(J<127)return 0;const Q=this._data,Z=Q.length/3;let $=1;while($<=Z)if(J<Q[3*$])$=2*$;else if(J>Q[3*$+1])$=2*$+1;else return Q[3*$+2];return 0}}class l0{static{this.ambiguousCharacterData=new v6(()=>{return 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,8218,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,8242,96,1370,96,1523,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,5836,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,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,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,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,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,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,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,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,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,71922,67,71913,67,65315,67,8557,67,8450,67,8493,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,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,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,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,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,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,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,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,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,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,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,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,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,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,120368,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,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,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,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,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,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,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,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,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,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,71919,87,71910,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,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,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,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,66293,90,71909,90,65338,90,8484,90,8488,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,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65297,49,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"cs\":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"de\":[65374,126,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,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"es\":[8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"fr\":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"it\":[160,32,8211,45,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ja\":[8211,45,65306,58,65281,33,8216,96,8217,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,65283,35,65292,44,65307,59],\"ko\":[8211,45,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,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pl\":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"pt-BR\":[65374,126,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"qps-ploc\":[160,32,8211,45,65374,126,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,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"ru\":[65374,126,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"tr\":[160,32,8211,45,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,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,65283,35,65288,40,65289,41,65292,44,65307,59,65311,63],\"zh-hans\":[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,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41],\"zh-hant\":[8211,45,65374,126,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,65283,35,65307,59]}")})}static{this.cache=new M8({getCacheKey:JSON.stringify},(J)=>{function Q(V){const F=new Map;for(let _=0;_<V.length;_+=2)F.set(V[_],V[_+1]);return F}function Z(V,F){const _=new Map(V);for(let[B,H]of F)_.set(B,H);return _}function $(V,F){if(!V)return F;const _=new Map;for(let[B,H]of V)if(F.has(B))_.set(B,H);return _}const X=this.ambiguousCharacterData.value;let Y=J.filter((V)=>!V.startsWith("_")&&(V in X));if(Y.length===0)Y=["_default"];let z=void 0;for(let V of Y){const F=Q(X[V]);z=$(z,F)}const U=Q(X._common),G=Z(U,z);return new l0(G)})}static getInstance(J){return l0.cache.get(Array.from(J))}static{this._locales=new v6(()=>Object.keys(l0.ambiguousCharacterData.value).filter((J)=>!J.startsWith("_")))}static getLocales(){return l0._locales.value}constructor(J){this.confusableDictionary=J}isAmbiguous(J){return this.confusableDictionary.has(J)}getPrimaryConfusable(J){return this.confusableDictionary.get(J)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}class i0{static getRawData(){return JSON.parse("[9,10,11,12,13,32,127,160,173,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,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,12288,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]")}static{this._data=void 0}static getData(){if(!this._data)this._data=new Set(i0.getRawData());return this._data}static isInvisibleCharacter(J){return i0.getData().has(J)}static get codePoints(){return i0.getData()}}var v1,A8=globalThis.vscode;if(typeof A8!=="undefined"&&typeof A8.process!=="undefined"){const J=A8.process;v1={get platform(){return J.platform},get arch(){return J.arch},get env(){return J.env},cwd(){return J.cwd()}}}else if(typeof process!=="undefined"&&typeof process?.versions?.node==="string")v1={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}};else v1={get platform(){return V1?"win32":J7?"darwin":"linux"},get arch(){return},get env(){return{}},cwd(){return"/"}};var{cwd:t1,env:W7,platform:F7}=v1;function nZ(J,Q){if(J===null||typeof J!=="object")throw new R8(Q,"Object",J)}function Q0(J,Q){if(typeof J!=="string")throw new R8(Q,"string",J)}function g(J){return J===G0||J===q0}function T8(J){return J===G0}function r0(J){return J>=lZ&&J<=sZ||J>=dZ&&J<=aZ}function x6(J,Q,Z,$){let X="",Y=0,z=-1,U=0,G=0;for(let V=0;V<=J.length;++V){if(V<J.length)G=J.charCodeAt(V);else if($(G))break;else G=G0;if($(G)){if(z===V-1||U===1);else if(U===2){if(X.length<2||Y!==2||X.charCodeAt(X.length-1)!==e0||X.charCodeAt(X.length-2)!==e0){if(X.length>2){const F=X.lastIndexOf(Z);if(F===-1)X="",Y=0;else X=X.slice(0,F),Y=X.length-1-X.lastIndexOf(Z);z=V,U=0;continue}else if(X.length!==0){X="",Y=0,z=V,U=0;continue}}if(Q)X+=X.length>0?`${Z}..`:"..",Y=2}else{if(X.length>0)X+=`${Z}${J.slice(z+1,V)}`;else X=J.slice(z+1,V);Y=V-z-1}z=V,U=0}else if(G===e0&&U!==-1)++U;else U=-1}return X}function iZ(J){return J?`${J[0]==="."?"":"."}${J}`:""}function _7(J,Q){nZ(Q,"pathObject");const Z=Q.dir||Q.root,$=Q.base||`${Q.name||""}${iZ(Q.ext)}`;if(!Z)return $;return Z===Q.root?`${Z}${$}`:`${Z}${J}${$}`}var lZ=65,dZ=97,sZ=90,aZ=122,e0=46,G0=47,q0=92,t0=58,oZ=63;class R8 extends Error{constructor(J,Q,Z){let $;if(typeof Q==="string"&&Q.indexOf("not ")===0)$="must not be",Q=Q.replace(/^not /,"");else $="must be";const X=J.indexOf(".")!==-1?"property":"argument";let Y=`The "${J}" ${X} ${$} of type ${Q}`;Y+=`. Received type ${typeof Z}`;super(Y);this.code="ERR_INVALID_ARG_TYPE"}}var d0=F7==="win32",_0={resolve(...J){let Q="",Z="",$=!1;for(let X=J.length-1;X>=-1;X--){let Y;if(X>=0){if(Y=J[X],Q0(Y,`paths[${X}]`),Y.length===0)continue}else if(Q.length===0)Y=t1();else if(Y=W7[`=${Q}`]||t1(),Y===void 0||Y.slice(0,2).toLowerCase()!==Q.toLowerCase()&&Y.charCodeAt(2)===q0)Y=`${Q}\\`;const z=Y.length;let U=0,G="",V=!1;const F=Y.charCodeAt(0);if(z===1){if(g(F))U=1,V=!0}else if(g(F))if(V=!0,g(Y.charCodeAt(1))){let _=2,B=_;while(_<z&&!g(Y.charCodeAt(_)))_++;if(_<z&&_!==B){const H=Y.slice(B,_);B=_;while(_<z&&g(Y.charCodeAt(_)))_++;if(_<z&&_!==B){B=_;while(_<z&&!g(Y.charCodeAt(_)))_++;if(_===z||_!==B)G=`\\\\${H}\\${Y.slice(B,_)}`,U=_}}}else U=1;else if(r0(F)&&Y.charCodeAt(1)===t0){if(G=Y.slice(0,2),U=2,z>2&&g(Y.charCodeAt(2)))V=!0,U=3}if(G.length>0)if(Q.length>0){if(G.toLowerCase()!==Q.toLowerCase())continue}else Q=G;if($){if(Q.length>0)break}else if(Z=`${Y.slice(U)}\\${Z}`,$=V,V&&Q.length>0)break}return Z=x6(Z,!$,"\\",g),$?`${Q}\\${Z}`:`${Q}${Z}`||"."},normalize(J){Q0(J,"path");const Q=J.length;if(Q===0)return".";let Z=0,$,X=!1;const Y=J.charCodeAt(0);if(Q===1)return T8(Y)?"\\":J;if(g(Y))if(X=!0,g(J.charCodeAt(1))){let U=2,G=U;while(U<Q&&!g(J.charCodeAt(U)))U++;if(U<Q&&U!==G){const V=J.slice(G,U);G=U;while(U<Q&&g(J.charCodeAt(U)))U++;if(U<Q&&U!==G){G=U;while(U<Q&&!g(J.charCodeAt(U)))U++;if(U===Q)return`\\\\${V}\\${J.slice(G)}\\`;if(U!==G)$=`\\\\${V}\\${J.slice(G,U)}`,Z=U}}}else Z=1;else if(r0(Y)&&J.charCodeAt(1)===t0){if($=J.slice(0,2),Z=2,Q>2&&g(J.charCodeAt(2)))X=!0,Z=3}let z=Z<Q?x6(J.slice(Z),!X,"\\",g):"";if(z.length===0&&!X)z=".";if(z.length>0&&g(J.charCodeAt(Q-1)))z+="\\";if($===void 0)return X?`\\${z}`:z;return X?`${$}\\${z}`:`${$}${z}`},isAbsolute(J){Q0(J,"path");const Q=J.length;if(Q===0)return!1;const Z=J.charCodeAt(0);return g(Z)||Q>2&&r0(Z)&&J.charCodeAt(1)===t0&&g(J.charCodeAt(2))},join(...J){if(J.length===0)return".";let Q,Z;for(let Y=0;Y<J.length;++Y){const z=J[Y];if(Q0(z,"path"),z.length>0)if(Q===void 0)Q=Z=z;else Q+=`\\${z}`}if(Q===void 0)return".";let $=!0,X=0;if(typeof Z==="string"&&g(Z.charCodeAt(0))){++X;const Y=Z.length;if(Y>1&&g(Z.charCodeAt(1))){if(++X,Y>2)if(g(Z.charCodeAt(2)))++X;else $=!1}}if($){while(X<Q.length&&g(Q.charCodeAt(X)))X++;if(X>=2)Q=`\\${Q.slice(X)}`}return _0.normalize(Q)},relative(J,Q){if(Q0(J,"from"),Q0(Q,"to"),J===Q)return"";const Z=_0.resolve(J),$=_0.resolve(Q);if(Z===$)return"";if(J=Z.toLowerCase(),Q=$.toLowerCase(),J===Q)return"";let X=0;while(X<J.length&&J.charCodeAt(X)===q0)X++;let Y=J.length;while(Y-1>X&&J.charCodeAt(Y-1)===q0)Y--;const z=Y-X;let U=0;while(U<Q.length&&Q.charCodeAt(U)===q0)U++;let G=Q.length;while(G-1>U&&Q.charCodeAt(G-1)===q0)G--;const V=G-U,F=z<V?z:V;let _=-1,B=0;for(;B<F;B++){const w=J.charCodeAt(X+B);if(w!==Q.charCodeAt(U+B))break;else if(w===q0)_=B}if(B!==F){if(_===-1)return $}else{if(V>F){if(Q.charCodeAt(U+B)===q0)return $.slice(U+B+1);if(B===2)return $.slice(U+B)}if(z>F){if(J.charCodeAt(X+B)===q0)_=B;else if(B===2)_=3}if(_===-1)_=0}let H="";for(B=X+_+1;B<=Y;++B)if(B===Y||J.charCodeAt(B)===q0)H+=H.length===0?"..":"\\..";if(U+=_,H.length>0)return`${H}${$.slice(U,G)}`;if($.charCodeAt(U)===q0)++U;return $.slice(U,G)},toNamespacedPath(J){if(typeof J!=="string"||J.length===0)return J;const Q=_0.resolve(J);if(Q.length<=2)return J;if(Q.charCodeAt(0)===q0){if(Q.charCodeAt(1)===q0){const Z=Q.charCodeAt(2);if(Z!==oZ&&Z!==e0)return`\\\\?\\UNC\\${Q.slice(2)}`}}else if(r0(Q.charCodeAt(0))&&Q.charCodeAt(1)===t0&&Q.charCodeAt(2)===q0)return`\\\\?\\${Q}`;return J},dirname(J){Q0(J,"path");const Q=J.length;if(Q===0)return".";let Z=-1,$=0;const X=J.charCodeAt(0);if(Q===1)return g(X)?J:".";if(g(X)){if(Z=$=1,g(J.charCodeAt(1))){let U=2,G=U;while(U<Q&&!g(J.charCodeAt(U)))U++;if(U<Q&&U!==G){G=U;while(U<Q&&g(J.charCodeAt(U)))U++;if(U<Q&&U!==G){G=U;while(U<Q&&!g(J.charCodeAt(U)))U++;if(U===Q)return J;if(U!==G)Z=$=U+1}}}}else if(r0(X)&&J.charCodeAt(1)===t0)Z=Q>2&&g(J.charCodeAt(2))?3:2,$=Z;let Y=-1,z=!0;for(let U=Q-1;U>=$;--U)if(g(J.charCodeAt(U))){if(!z){Y=U;break}}else z=!1;if(Y===-1){if(Z===-1)return".";Y=Z}return J.slice(0,Y)},basename(J,Q){if(Q!==void 0)Q0(Q,"suffix");Q0(J,"path");let Z=0,$=-1,X=!0,Y;if(J.length>=2&&r0(J.charCodeAt(0))&&J.charCodeAt(1)===t0)Z=2;if(Q!==void 0&&Q.length>0&&Q.length<=J.length){if(Q===J)return"";let z=Q.length-1,U=-1;for(Y=J.length-1;Y>=Z;--Y){const G=J.charCodeAt(Y);if(g(G)){if(!X){Z=Y+1;break}}else{if(U===-1)X=!1,U=Y+1;if(z>=0)if(G===Q.charCodeAt(z)){if(--z===-1)$=Y}else z=-1,$=U}}if(Z===$)$=U;else if($===-1)$=J.length;return J.slice(Z,$)}for(Y=J.length-1;Y>=Z;--Y)if(g(J.charCodeAt(Y))){if(!X){Z=Y+1;break}}else if($===-1)X=!1,$=Y+1;if($===-1)return"";return J.slice(Z,$)},extname(J){Q0(J,"path");let Q=0,Z=-1,$=0,X=-1,Y=!0,z=0;if(J.length>=2&&J.charCodeAt(1)===t0&&r0(J.charCodeAt(0)))Q=$=2;for(let U=J.length-1;U>=Q;--U){const G=J.charCodeAt(U);if(g(G)){if(!Y){$=U+1;break}continue}if(X===-1)Y=!1,X=U+1;if(G===e0){if(Z===-1)Z=U;else if(z!==1)z=1}else if(Z!==-1)z=-1}if(Z===-1||X===-1||z===0||z===1&&Z===X-1&&Z===$+1)return"";return J.slice(Z,X)},format:_7.bind(null,"\\"),parse(J){Q0(J,"path");const Q={root:"",dir:"",base:"",ext:"",name:""};if(J.length===0)return Q;const Z=J.length;let $=0,X=J.charCodeAt(0);if(Z===1){if(g(X))return Q.root=Q.dir=J,Q;return Q.base=Q.name=J,Q}if(g(X)){if($=1,g(J.charCodeAt(1))){let _=2,B=_;while(_<Z&&!g(J.charCodeAt(_)))_++;if(_<Z&&_!==B){B=_;while(_<Z&&g(J.charCodeAt(_)))_++;if(_<Z&&_!==B){B=_;while(_<Z&&!g(J.charCodeAt(_)))_++;if(_===Z)$=_;else if(_!==B)$=_+1}}}}else if(r0(X)&&J.charCodeAt(1)===t0){if(Z<=2)return Q.root=Q.dir=J,Q;if($=2,g(J.charCodeAt(2))){if(Z===3)return Q.root=Q.dir=J,Q;$=3}}if($>0)Q.root=J.slice(0,$);let Y=-1,z=$,U=-1,G=!0,V=J.length-1,F=0;for(;V>=$;--V){if(X=J.charCodeAt(V),g(X)){if(!G){z=V+1;break}continue}if(U===-1)G=!1,U=V+1;if(X===e0){if(Y===-1)Y=V;else if(F!==1)F=1}else if(Y!==-1)F=-1}if(U!==-1)if(Y===-1||F===0||F===1&&Y===U-1&&Y===z+1)Q.base=Q.name=J.slice(z,U);else Q.name=J.slice(z,Y),Q.base=J.slice(z,U),Q.ext=J.slice(Y,U);if(z>0&&z!==$)Q.dir=J.slice(0,z-1);else Q.dir=Q.root;return Q},sep:"\\",delimiter:";",win32:null,posix:null},tZ=(()=>{if(d0){const J=/\\/g;return()=>{const Q=t1().replace(J,"/");return Q.slice(Q.indexOf("/"))}}return()=>t1()})(),V0={resolve(...J){let Q="",Z=!1;for(let $=J.length-1;$>=-1&&!Z;$--){const X=$>=0?J[$]:tZ();if(Q0(X,`paths[${$}]`),X.length===0)continue;Q=`${X}/${Q}`,Z=X.charCodeAt(0)===G0}if(Q=x6(Q,!Z,"/",T8),Z)return`/${Q}`;return Q.length>0?Q:"."},normalize(J){if(Q0(J,"path"),J.length===0)return".";const Q=J.charCodeAt(0)===G0,Z=J.charCodeAt(J.length-1)===G0;if(J=x6(J,!Q,"/",T8),J.length===0){if(Q)return"/";return Z?"./":"."}if(Z)J+="/";return Q?`/${J}`:J},isAbsolute(J){return Q0(J,"path"),J.length>0&&J.charCodeAt(0)===G0},join(...J){if(J.length===0)return".";let Q;for(let Z=0;Z<J.length;++Z){const $=J[Z];if(Q0($,"path"),$.length>0)if(Q===void 0)Q=$;else Q+=`/${$}`}if(Q===void 0)return".";return V0.normalize(Q)},relative(J,Q){if(Q0(J,"from"),Q0(Q,"to"),J===Q)return"";if(J=V0.resolve(J),Q=V0.resolve(Q),J===Q)return"";const Z=1,$=J.length,X=$-Z,Y=1,z=Q.length-Y,U=X<z?X:z;let G=-1,V=0;for(;V<U;V++){const _=J.charCodeAt(Z+V);if(_!==Q.charCodeAt(Y+V))break;else if(_===G0)G=V}if(V===U){if(z>U){if(Q.charCodeAt(Y+V)===G0)return Q.slice(Y+V+1);if(V===0)return Q.slice(Y+V)}else if(X>U){if(J.charCodeAt(Z+V)===G0)G=V;else if(V===0)G=0}}let F="";for(V=Z+G+1;V<=$;++V)if(V===$||J.charCodeAt(V)===G0)F+=F.length===0?"..":"/..";return`${F}${Q.slice(Y+G)}`},toNamespacedPath(J){return J},dirname(J){if(Q0(J,"path"),J.length===0)return".";const Q=J.charCodeAt(0)===G0;let Z=-1,$=!0;for(let X=J.length-1;X>=1;--X)if(J.charCodeAt(X)===G0){if(!$){Z=X;break}}else $=!1;if(Z===-1)return Q?"/":".";if(Q&&Z===1)return"//";return J.slice(0,Z)},basename(J,Q){if(Q!==void 0)Q0(Q,"ext");Q0(J,"path");let Z=0,$=-1,X=!0,Y;if(Q!==void 0&&Q.length>0&&Q.length<=J.length){if(Q===J)return"";let z=Q.length-1,U=-1;for(Y=J.length-1;Y>=0;--Y){const G=J.charCodeAt(Y);if(G===G0){if(!X){Z=Y+1;break}}else{if(U===-1)X=!1,U=Y+1;if(z>=0)if(G===Q.charCodeAt(z)){if(--z===-1)$=Y}else z=-1,$=U}}if(Z===$)$=U;else if($===-1)$=J.length;return J.slice(Z,$)}for(Y=J.length-1;Y>=0;--Y)if(J.charCodeAt(Y)===G0){if(!X){Z=Y+1;break}}else if($===-1)X=!1,$=Y+1;if($===-1)return"";return J.slice(Z,$)},extname(J){Q0(J,"path");let Q=-1,Z=0,$=-1,X=!0,Y=0;for(let z=J.length-1;z>=0;--z){const U=J.charCodeAt(z);if(U===G0){if(!X){Z=z+1;break}continue}if($===-1)X=!1,$=z+1;if(U===e0){if(Q===-1)Q=z;else if(Y!==1)Y=1}else if(Q!==-1)Y=-1}if(Q===-1||$===-1||Y===0||Y===1&&Q===$-1&&Q===Z+1)return"";return J.slice(Q,$)},format:_7.bind(null,"/"),parse(J){Q0(J,"path");const Q={root:"",dir:"",base:"",ext:"",name:""};if(J.length===0)return Q;const Z=J.charCodeAt(0)===G0;let $;if(Z)Q.root="/",$=1;else $=0;let X=-1,Y=0,z=-1,U=!0,G=J.length-1,V=0;for(;G>=$;--G){const F=J.charCodeAt(G);if(F===G0){if(!U){Y=G+1;break}continue}if(z===-1)U=!1,z=G+1;if(F===e0){if(X===-1)X=G;else if(V!==1)V=1}else if(X!==-1)V=-1}if(z!==-1){const F=Y===0&&Z?1:Y;if(X===-1||V===0||V===1&&X===z-1&&X===Y+1)Q.base=Q.name=J.slice(F,z);else Q.name=J.slice(F,X),Q.base=J.slice(F,z),Q.ext=J.slice(X,z)}if(Y>0)Q.dir=J.slice(0,Y-1);else if(Z)Q.dir="/";return Q},sep:"/",delimiter:":",win32:null,posix:null};V0.win32=_0.win32=_0;V0.posix=_0.posix=V0;var fY=d0?_0.normalize:V0.normalize,B7=d0?_0.join:V0.join,hY=d0?_0.resolve:V0.resolve,pY=d0?_0.relative:V0.relative,uY=d0?_0.dirname:V0.dirname,cY=d0?_0.basename:V0.basename,mY=d0?_0.extname:V0.extname,gY=d0?_0.sep:V0.sep;function Q$(J,Q){if(!J.scheme&&Q)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${J.authority}", path: "${J.path}", query: "${J.query}", fragment: "${J.fragment}"}`);if(J.scheme&&!rZ.test(J.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(J.path){if(J.authority){if(!eZ.test(J.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(J$.test(J.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Z$(J,Q){if(!J&&!Q)return"file";return J}function $$(J,Q){switch(J){case"https":case"http":case"file":if(!Q)Q=L0;else if(Q[0]!==L0)Q=L0+Q;break}return Q}function w7(J,Q,Z){let $=void 0,X=-1;for(let Y=0;Y<J.length;Y++){const z=J.charCodeAt(Y);if(z>=97&&z<=122||z>=65&&z<=90||z>=48&&z<=57||z===45||z===46||z===95||z===126||Q&&z===47||Z&&z===91||Z&&z===93||Z&&z===58){if(X!==-1)$+=encodeURIComponent(J.substring(X,Y)),X=-1;if($!==void 0)$+=J.charAt(Y)}else{if($===void 0)$=J.substr(0,Y);const U=j7[z];if(U!==void 0){if(X!==-1)$+=encodeURIComponent(J.substring(X,Y)),X=-1;$+=U}else if(X===-1)X=Y}}if(X!==-1)$+=encodeURIComponent(J.substring(X));return $!==void 0?$:J}function Y$(J){let Q=void 0;for(let Z=0;Z<J.length;Z++){const $=J.charCodeAt(Z);if($===35||$===63){if(Q===void 0)Q=J.substr(0,Z);Q+=j7[$]}else if(Q!==void 0)Q+=J[Z]}return Q!==void 0?Q:J}function K8(J,Q){let Z;if(J.authority&&J.path.length>1&&J.scheme==="file")Z=`//${J.authority}${J.path}`;else if(J.path.charCodeAt(0)===47&&(J.path.charCodeAt(1)>=65&&J.path.charCodeAt(1)<=90||J.path.charCodeAt(1)>=97&&J.path.charCodeAt(1)<=122)&&J.path.charCodeAt(2)===58)if(!Q)Z=J.path[1].toLowerCase()+J.path.substr(2);else Z=J.path.substr(1);else Z=J.path;if(V1)Z=Z.replace(/\//g,"\\");return Z}function I8(J,Q){const Z=!Q?w7:Y$;let $="",{scheme:X,authority:Y,path:z,query:U,fragment:G}=J;if(X)$+=X,$+=":";if(Y||X==="file")$+=L0,$+=L0;if(Y){let V=Y.indexOf("@");if(V!==-1){const F=Y.substr(0,V);if(Y=Y.substr(V+1),V=F.lastIndexOf(":"),V===-1)$+=Z(F,!1,!1);else $+=Z(F.substr(0,V),!1,!1),$+=":",$+=Z(F.substr(V+1),!1,!0);$+="@"}if(Y=Y.toLowerCase(),V=Y.lastIndexOf(":"),V===-1)$+=Z(Y,!1,!0);else $+=Z(Y.substr(0,V),!1,!0),$+=Y.substr(V)}if(z){if(z.length>=3&&z.charCodeAt(0)===47&&z.charCodeAt(2)===58){const V=z.charCodeAt(1);if(V>=65&&V<=90)z=`/${String.fromCharCode(V+32)}:${z.substr(3)}`}else if(z.length>=2&&z.charCodeAt(1)===58){const V=z.charCodeAt(0);if(V>=65&&V<=90)z=`${String.fromCharCode(V+32)}:${z.substr(2)}`}$+=Z(z,!0,!1)}if(U)$+="?",$+=Z(U,!1,!1);if(G)$+="#",$+=!Q?w7(G,!1,!1):G;return $}function P7(J){try{return decodeURIComponent(J)}catch{if(J.length>3)return J.substr(0,3)+P7(J.substr(3));else return J}}function S6(J){if(!J.match(q7))return J;return J.replace(q7,(Q)=>P7(Q))}var rZ=/^\w[\w\d+.-]*$/,eZ=/^\//,J$=/^\/\//,t="",L0="/",X$=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class W0{static isUri(J){if(J instanceof W0)return!0;if(!J)return!1;return typeof J.authority==="string"&&typeof J.fragment==="string"&&typeof J.path==="string"&&typeof J.query==="string"&&typeof J.scheme==="string"&&typeof J.fsPath==="string"&&typeof J.with==="function"&&typeof J.toString==="function"}constructor(J,Q,Z,$,X,Y=!1){if(typeof J==="object")this.scheme=J.scheme||t,this.authority=J.authority||t,this.path=J.path||t,this.query=J.query||t,this.fragment=J.fragment||t;else this.scheme=Z$(J,Y),this.authority=Q||t,this.path=$$(this.scheme,Z||t),this.query=$||t,this.fragment=X||t,Q$(this,Y)}get fsPath(){return K8(this,!1)}with(J){if(!J)return this;let{scheme:Q,authority:Z,path:$,query:X,fragment:Y}=J;if(Q===void 0)Q=this.scheme;else if(Q===null)Q=t;if(Z===void 0)Z=this.authority;else if(Z===null)Z=t;if($===void 0)$=this.path;else if($===null)$=t;if(X===void 0)X=this.query;else if(X===null)X=t;if(Y===void 0)Y=this.fragment;else if(Y===null)Y=t;if(Q===this.scheme&&Z===this.authority&&$===this.path&&X===this.query&&Y===this.fragment)return this;return new W1(Q,Z,$,X,Y)}static parse(J,Q=!1){const Z=X$.exec(J);if(!Z)return new W1(t,t,t,t,t);return new W1(Z[2]||t,S6(Z[4]||t),S6(Z[5]||t),S6(Z[7]||t),S6(Z[9]||t),Q)}static file(J){let Q=t;if(V1)J=J.replace(/\\/g,L0);if(J[0]===L0&&J[1]===L0){const Z=J.indexOf(L0,2);if(Z===-1)Q=J.substring(2),J=L0;else Q=J.substring(2,Z),J=J.substring(Z)||L0}return new W1("file",Q,J,t,t)}static from(J,Q){return new W1(J.scheme,J.authority,J.path,J.query,J.fragment,Q)}static joinPath(J,...Q){if(!J.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let Z;if(V1&&J.scheme==="file")Z=W0.file(_0.join(K8(J,!0),...Q)).path;else Z=V0.join(J.path,...Q);return J.with({path:Z})}toString(J=!1){return I8(this,J)}toJSON(){return this}static revive(J){if(!J)return J;else if(J instanceof W0)return J;else{const Q=new W1(J);return Q._formatted=J.external??null,Q._fsPath=J._sep===N7?J.fsPath??null:null,Q}}}var N7=V1?1:void 0;class W1 extends W0{constructor(){super(...arguments);this._formatted=null,this._fsPath=null}get fsPath(){if(!this._fsPath)this._fsPath=K8(this,!1);return this._fsPath}toString(J=!1){if(!J){if(!this._formatted)this._formatted=I8(this,!1);return this._formatted}else return I8(this,!0)}toJSON(){const J={$mid:1};if(this._fsPath)J.fsPath=this._fsPath,J._sep=N7;if(this._formatted)J.external=this._formatted;if(this.path)J.path=this.path;if(this.scheme)J.scheme=this.scheme;if(this.authority)J.authority=this.authority;if(this.query)J.query=this.query;if(this.fragment)J.fragment=this.fragment;return J}}var j7={[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"},q7=/(%[0-9A-Za-z][0-9A-Za-z])+/g;var J1;(function(J){J.inMemory="inmemory",J.vscode="vscode",J.internal="private",J.walkThrough="walkThrough",J.walkThroughSnippet="walkThroughSnippet",J.http="http",J.https="https",J.file="file",J.mailto="mailto",J.untitled="untitled",J.data="data",J.command="command",J.vscodeRemote="vscode-remote",J.vscodeRemoteResource="vscode-remote-resource",J.vscodeManagedRemoteResource="vscode-managed-remote-resource",J.vscodeUserData="vscode-userdata",J.vscodeCustomEditor="vscode-custom-editor",J.vscodeNotebookCell="vscode-notebook-cell",J.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",J.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",J.vscodeNotebookCellOutput="vscode-notebook-cell-output",J.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",J.vscodeNotebookMetadata="vscode-notebook-metadata",J.vscodeInteractiveInput="vscode-interactive-input",J.vscodeSettings="vscode-settings",J.vscodeWorkspaceTrust="vscode-workspace-trust",J.vscodeTerminal="vscode-terminal",J.vscodeChatCodeBlock="vscode-chat-code-block",J.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",J.vscodeChatSesssion="vscode-chat-editor",J.webviewPanel="webview-panel",J.vscodeWebview="vscode-webview",J.extension="extension",J.vscodeFileResource="vscode-file",J.tmp="tmp",J.vsls="vsls",J.vscodeSourceControl="vscode-scm",J.commentsInput="comment",J.codeSetting="code-setting",J.outputChannel="output"})(J1||(J1={}));var z$="tkn";class D7{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(J){this._preferredWebSchema=J}get _remoteResourcesPath(){return V0.join(this._serverRootPath,J1.vscodeRemoteResource)}rewrite(J){if(this._delegate)try{return this._delegate(J)}catch(z){return c0(z),J}const Q=J.authority;let Z=this._hosts[Q];if(Z&&Z.indexOf(":")!==-1&&Z.indexOf("[")===-1)Z=`[${Z}]`;const $=this._ports[Q],X=this._connectionTokens[Q];let Y=`path=${encodeURIComponent(J.path)}`;if(typeof X==="string")Y+=`&${z$}=${encodeURIComponent(X)}`;return W0.from({scheme:P8?this._preferredWebSchema:J1.vscodeRemoteResource,authority:`${Z}:${$}`,path:this._remoteResourcesPath,query:Y})}}var U$=new D7,G$="vscode-app";class y6{static{this.FALLBACK_AUTHORITY=G$}asBrowserUri(J){const Q=this.toUri(J);return this.uriToBrowserUri(Q)}uriToBrowserUri(J){if(J.scheme===J1.vscodeRemote)return U$.rewrite(J);if(J.scheme===J1.file&&(Q7||Z7===`${J1.vscodeFileResource}://${y6.FALLBACK_AUTHORITY}`))return J.with({scheme:J1.vscodeFileResource,authority:J.authority||y6.FALLBACK_AUTHORITY,query:null,fragment:null});return J}toUri(J,Q){if(W0.isUri(J))return J;if(globalThis._VSCODE_FILE_ROOT){const Z=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(Z))return W0.joinPath(W0.parse(Z,!0),J);const $=B7(Z,J);return W0.file($)}return W0.parse(Q.toUrl(J))}}var b6=new y6,M7;(function(J){const Q=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"}]]);J.CoopAndCoep=Object.freeze(Q.get("3"));const Z="vscode-coi";function $(Y){let z;if(typeof Y==="string")z=new URL(Y).searchParams;else if(Y instanceof URL)z=Y.searchParams;else if(W0.isUri(Y))z=new URL(Y.toString(!0)).searchParams;const U=z?.get(Z);if(!U)return;return Q.get(U)}J.getHeadersFromQuery=$;function X(Y,z,U){if(!globalThis.crossOriginIsolated)return;const G=z&&U?"3":U?"2":"1";if(Y instanceof URLSearchParams)Y.set(Z,G);else Y[Z]=G}J.addSearchParam=X})(M7||(M7={}));function I7(J){return J[0]==="o"&&J[1]==="n"&&D8(J.charCodeAt(2))}function O7(J){return/^onDynamic/.test(J)&&D8(J.charCodeAt(9))}var V$=!0,O8="default",W$="$initialize";class k7{constructor(J,Q,Z,$,X){this.vsWorker=J,this.req=Q,this.channel=Z,this.method=$,this.args=X,this.type=0}}class L8{constructor(J,Q,Z,$){this.vsWorker=J,this.seq=Q,this.res=Z,this.err=$,this.type=1}}class A7{constructor(J,Q,Z,$,X){this.vsWorker=J,this.req=Q,this.channel=Z,this.eventName=$,this.arg=X,this.type=2}}class T7{constructor(J,Q,Z){this.vsWorker=J,this.req=Q,this.event=Z,this.type=3}}class R7{constructor(J,Q){this.vsWorker=J,this.req=Q,this.type=4}}class K7{constructor(J){this._workerId=-1,this._handler=J,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(J){this._workerId=J}sendMessage(J,Q,Z){const $=String(++this._lastSentReq);return new Promise((X,Y)=>{this._pendingReplies[$]={resolve:X,reject:Y},this._send(new k7(this._workerId,$,J,Q,Z))})}listen(J,Q,Z){let $=null;const X=new U0({onWillAddFirstListener:()=>{$=String(++this._lastSentReq),this._pendingEmitters.set($,X),this._send(new A7(this._workerId,$,J,Q,Z))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete($),this._send(new R7(this._workerId,$)),$=null}});return X.event}handleMessage(J){if(!J||!J.vsWorker)return;if(this._workerId!==-1&&J.vsWorker!==this._workerId)return;this._handleMessage(J)}createProxyToRemoteChannel(J,Q){const Z={get:($,X)=>{if(typeof X==="string"&&!$[X]){if(O7(X))$[X]=(Y)=>{return this.listen(J,X,Y)};else if(I7(X))$[X]=this.listen(J,X,void 0);else if(X.charCodeAt(0)===36)$[X]=async(...Y)=>{return await Q?.(),this.sendMessage(J,X,Y)}}return $[X]}};return new Proxy(Object.create(null),Z)}_handleMessage(J){switch(J.type){case 1:return this._handleReplyMessage(J);case 0:return this._handleRequestMessage(J);case 2:return this._handleSubscribeEventMessage(J);case 3:return this._handleEventMessage(J);case 4:return this._handleUnsubscribeEventMessage(J)}}_handleReplyMessage(J){if(!this._pendingReplies[J.seq]){console.warn("Got reply to unknown seq");return}const Q=this._pendingReplies[J.seq];if(delete this._pendingReplies[J.seq],J.err){let Z=J.err;if(J.err.$isError)Z=new Error,Z.name=J.err.name,Z.message=J.err.message,Z.stack=J.err.stack;Q.reject(Z);return}Q.resolve(J.res)}_handleRequestMessage(J){const Q=J.req;this._handler.handleMessage(J.channel,J.method,J.args).then(($)=>{this._send(new L8(this._workerId,Q,$,void 0))},($)=>{if($.detail instanceof Error)$.detail=U8($.detail);this._send(new L8(this._workerId,Q,void 0,U8($)))})}_handleSubscribeEventMessage(J){const Q=J.req,Z=this._handler.handleEvent(J.channel,J.eventName,J.arg)(($)=>{this._send(new T7(this._workerId,Q,$))});this._pendingEvents.set(Q,Z)}_handleEventMessage(J){if(!this._pendingEmitters.has(J.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(J.req).fire(J.event)}_handleUnsubscribeEventMessage(J){if(!this._pendingEvents.has(J.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(J.req).dispose(),this._pendingEvents.delete(J.req)}_send(J){const Q=[];if(J.type===0){for(let Z=0;Z<J.args.length;Z++)if(J.args[Z]instanceof ArrayBuffer)Q.push(J.args[Z])}else if(J.type===1){if(J.res instanceof ArrayBuffer)Q.push(J.res)}this._handler.sendMessage(J,Q)}}class v8{constructor(J,Q){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=Q,this._requestHandler=null,this._protocol=new K7({sendMessage:(Z,$)=>{J(Z,$)},handleMessage:(Z,$,X)=>this._handleMessage(Z,$,X),handleEvent:(Z,$,X)=>this._handleEvent(Z,$,X)})}onmessage(J){this._protocol.handleMessage(J)}_handleMessage(J,Q,Z){if(J===O8&&Q===W$)return this.initialize(Z[0],Z[1],Z[2]);const $=J===O8?this._requestHandler:this._localChannels.get(J);if(!$)return Promise.reject(new Error(`Missing channel ${J} on worker thread`));if(typeof $[Q]!=="function")return Promise.reject(new Error(`Missing method ${Q} on worker thread channel ${J}`));try{return Promise.resolve($[Q].apply($,Z))}catch(X){return Promise.reject(X)}}_handleEvent(J,Q,Z){const $=J===O8?this._requestHandler:this._localChannels.get(J);if(!$)throw new Error(`Missing channel ${J} on worker thread`);if(O7(Q)){const X=$[Q].call($,Z);if(typeof X!=="function")throw new Error(`Missing dynamic event ${Q} on request handler.`);return X}if(I7(Q)){const X=$[Q];if(typeof X!=="function")throw new Error(`Missing event ${Q} on request handler.`);return X}throw new Error(`Malformed event name ${Q}`)}getChannel(J){if(!this._remoteChannels.has(J)){const Q=this._protocol.createProxyToRemoteChannel(J);this._remoteChannels.set(J,Q)}return this._remoteChannels.get(J)}async initialize(J,Q,Z){if(this._protocol.setWorkerId(J),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(Q){if(typeof Q.baseUrl!=="undefined")delete Q.baseUrl;if(typeof Q.paths!=="undefined"){if(typeof Q.paths.vs!=="undefined")delete Q.paths.vs}if(typeof Q.trustedTypesPolicy!=="undefined")delete Q.trustedTypesPolicy;Q.catchError=!0,globalThis.require.config(Q)}if(V$)return import(`${b6.asBrowserUri(`${Z}.js`).toString(!0)}`).then((X)=>{if(this._requestHandler=X.create(this),!this._requestHandler)throw new Error("No RequestHandler!")});return new Promise(($,X)=>{const Y=globalThis.require;Y([Z],(z)=>{if(this._requestHandler=z.create(this),!this._requestHandler){X(new Error("No RequestHandler!"));return}$()},X)})}}class f0{constructor(J,Q,Z,$){this.originalStart=J,this.originalLength=Q,this.modifiedStart=Z,this.modifiedLength=$}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}function L7(J,Q){return(Q<<5)-Q+J|0}function E7(J,Q){Q=L7(149417,Q);for(let Z=0,$=J.length;Z<$;Z++)Q=L7(J.charCodeAt(Z),Q);return Q}function E8(J,Q,Z=32){const $=Z-Q,X=~((1<<$)-1);return(J<<Q|(X&J)>>>$)>>>0}function v7(J,Q=0,Z=J.byteLength,$=0){for(let X=0;X<Z;X++)J[Q+X]=$}function F$(J,Q,Z="0"){while(J.length<Q)J=Z+J;return J}function r1(J,Q=32){if(J instanceof ArrayBuffer)return Array.from(new Uint8Array(J)).map((Z)=>Z.toString(16).padStart(2,"0")).join("");return F$((J>>>0).toString(16),Q/4)}class x7{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}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(J){const Q=J.length;if(Q===0)return;const Z=this._buff;let $=this._buffLen,X=this._leftoverHighSurrogate,Y,z;if(X!==0)Y=X,z=-1,X=0;else Y=J.charCodeAt(0),z=0;while(!0){let U=Y;if(L1(Y))if(z+1<Q){const G=J.charCodeAt(z+1);if(E6(G))z++,U=k8(Y,G);else U=65533}else{X=Y;break}else if(E6(Y))U=65533;if($=this._push(Z,$,U),z++,z<Q)Y=J.charCodeAt(z);else break}this._buffLen=$,this._leftoverHighSurrogate=X}_push(J,Q,Z){if(Z<128)J[Q++]=Z;else if(Z<2048)J[Q++]=192|(Z&1984)>>>6,J[Q++]=128|(Z&63)>>>0;else if(Z<65536)J[Q++]=224|(Z&61440)>>>12,J[Q++]=128|(Z&4032)>>>6,J[Q++]=128|(Z&63)>>>0;else J[Q++]=240|(Z&1835008)>>>18,J[Q++]=128|(Z&258048)>>>12,J[Q++]=128|(Z&4032)>>>6,J[Q++]=128|(Z&63)>>>0;if(Q>=64)this._step(),Q-=64,this._totalLen+=64,J[0]=J[64],J[1]=J[65],J[2]=J[66];return Q}digest(){if(!this._finished){if(this._finished=!0,this._leftoverHighSurrogate)this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533);this._totalLen+=this._buffLen,this._wrapUp()}return r1(this._h0)+r1(this._h1)+r1(this._h2)+r1(this._h3)+r1(this._h4)}_wrapUp(){if(this._buff[this._buffLen++]=128,v7(this._buff,this._buffLen),this._buffLen>56)this._step(),v7(this._buff);const J=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(J/4294967296),!1),this._buffDV.setUint32(60,J%4294967296,!1),this._step()}_step(){const J=x7._bigBlock32,Q=this._buffDV;for(let F=0;F<64;F+=4)J.setUint32(F,Q.getUint32(F,!1),!1);for(let F=64;F<320;F+=4)J.setUint32(F,E8(J.getUint32(F-12,!1)^J.getUint32(F-32,!1)^J.getUint32(F-56,!1)^J.getUint32(F-64,!1),1),!1);let Z=this._h0,$=this._h1,X=this._h2,Y=this._h3,z=this._h4,U,G,V;for(let F=0;F<80;F++){if(F<20)U=$&X|~$&Y,G=1518500249;else if(F<40)U=$^X^Y,G=1859775393;else if(F<60)U=$&X|$&Y|X&Y,G=2400959708;else U=$^X^Y,G=3395469782;V=E8(Z,5)+U+z+G+J.getUint32(F*4,!1)&4294967295,z=Y,Y=X,X=E8($,30),$=Z,Z=V}this._h0=this._h0+Z&4294967295,this._h1=this._h1+$&4294967295,this._h2=this._h2+X&4294967295,this._h3=this._h3+Y&4294967295,this._h4=this._h4+z&4294967295}}function S7(J,Q,Z){return new s0(new x8(J),new x8(Q)).ComputeDiff(Z).changes}class x8{constructor(J){this.source=J}getElements(){const J=this.source,Q=new Int32Array(J.length);for(let Z=0,$=J.length;Z<$;Z++)Q[Z]=J.charCodeAt(Z);return Q}}class F1{static Assert(J,Q){if(!J)throw new Error(Q)}}class _1{static Copy(J,Q,Z,$,X){for(let Y=0;Y<X;Y++)Z[$+Y]=J[Q+Y]}static Copy2(J,Q,Z,$,X){for(let Y=0;Y<X;Y++)Z[$+Y]=J[Q+Y]}}class S8{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.m_changes.push(new f0(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(J,Q){this.m_originalStart=Math.min(this.m_originalStart,J),this.m_modifiedStart=Math.min(this.m_modifiedStart,Q),this.m_originalCount++}AddModifiedElement(J,Q){this.m_originalStart=Math.min(this.m_originalStart,J),this.m_modifiedStart=Math.min(this.m_modifiedStart,Q),this.m_modifiedCount++}getChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.MarkNextChange();return this.m_changes}getReverseChanges(){if(this.m_originalCount>0||this.m_modifiedCount>0)this.MarkNextChange();return this.m_changes.reverse(),this.m_changes}}class s0{constructor(J,Q,Z=null){this.ContinueProcessingPredicate=Z,this._originalSequence=J,this._modifiedSequence=Q;const[$,X,Y]=s0._getElements(J),[z,U,G]=s0._getElements(Q);this._hasStrings=Y&&G,this._originalStringElements=$,this._originalElementsOrHash=X,this._modifiedStringElements=z,this._modifiedElementsOrHash=U,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(J){return J.length>0&&typeof J[0]==="string"}static _getElements(J){const Q=J.getElements();if(s0._isStringArray(Q)){const Z=new Int32Array(Q.length);for(let $=0,X=Q.length;$<X;$++)Z[$]=E7(Q[$],0);return[Q,Z,!0]}if(Q instanceof Int32Array)return[[],Q,!1];return[[],new Int32Array(Q),!1]}ElementsAreEqual(J,Q){if(this._originalElementsOrHash[J]!==this._modifiedElementsOrHash[Q])return!1;return this._hasStrings?this._originalStringElements[J]===this._modifiedStringElements[Q]:!0}ElementsAreStrictEqual(J,Q){if(!this.ElementsAreEqual(J,Q))return!1;const Z=s0._getStrictElement(this._originalSequence,J),$=s0._getStrictElement(this._modifiedSequence,Q);return Z===$}static _getStrictElement(J,Q){if(typeof J.getStrictElement==="function")return J.getStrictElement(Q);return null}OriginalElementsAreEqual(J,Q){if(this._originalElementsOrHash[J]!==this._originalElementsOrHash[Q])return!1;return this._hasStrings?this._originalStringElements[J]===this._originalStringElements[Q]:!0}ModifiedElementsAreEqual(J,Q){if(this._modifiedElementsOrHash[J]!==this._modifiedElementsOrHash[Q])return!1;return this._hasStrings?this._modifiedStringElements[J]===this._modifiedStringElements[Q]:!0}ComputeDiff(J){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,J)}_ComputeDiff(J,Q,Z,$,X){const Y=[!1];let z=this.ComputeDiffRecursive(J,Q,Z,$,Y);if(X)z=this.PrettifyChanges(z);return{quitEarly:Y[0],changes:z}}ComputeDiffRecursive(J,Q,Z,$,X){X[0]=!1;while(J<=Q&&Z<=$&&this.ElementsAreEqual(J,Z))J++,Z++;while(Q>=J&&$>=Z&&this.ElementsAreEqual(Q,$))Q--,$--;if(J>Q||Z>$){let F;if(Z<=$)F1.Assert(J===Q+1,"originalStart should only be one more than originalEnd"),F=[new f0(J,0,Z,$-Z+1)];else if(J<=Q)F1.Assert(Z===$+1,"modifiedStart should only be one more than modifiedEnd"),F=[new f0(J,Q-J+1,Z,0)];else F1.Assert(J===Q+1,"originalStart should only be one more than originalEnd"),F1.Assert(Z===$+1,"modifiedStart should only be one more than modifiedEnd"),F=[];return F}const Y=[0],z=[0],U=this.ComputeRecursionPoint(J,Q,Z,$,Y,z,X),G=Y[0],V=z[0];if(U!==null)return U;else if(!X[0]){const F=this.ComputeDiffRecursive(J,G,Z,V,X);let _=[];if(!X[0])_=this.ComputeDiffRecursive(G+1,Q,V+1,$,X);else _=[new f0(G+1,Q-(G+1)+1,V+1,$-(V+1)+1)];return this.ConcatenateChanges(F,_)}return[new f0(J,Q-J+1,Z,$-Z+1)]}WALKTRACE(J,Q,Z,$,X,Y,z,U,G,V,F,_,B,H,w,q,j,k){let D=null,M=null,N=new S8,P=Q,R=Z,T=B[0]-q[0]-$,x=-1073741824,b=this.m_forwardHistory.length-1;do{const C=T+J;if(C===P||C<R&&G[C-1]<G[C+1]){if(F=G[C+1],H=F-T-$,F<x)N.MarkNextChange();x=F,N.AddModifiedElement(F+1,H),T=C+1-J}else{if(F=G[C-1]+1,H=F-T-$,F<x)N.MarkNextChange();x=F-1,N.AddOriginalElement(F,H+1),T=C-1-J}if(b>=0)G=this.m_forwardHistory[b],J=G[0],P=1,R=G.length-1}while(--b>=-1);if(D=N.getReverseChanges(),k[0]){let C=B[0]+1,A=q[0]+1;if(D!==null&&D.length>0){const L=D[D.length-1];C=Math.max(C,L.getOriginalEnd()),A=Math.max(A,L.getModifiedEnd())}M=[new f0(C,_-C+1,A,w-A+1)]}else{N=new S8,P=Y,R=z,T=B[0]-q[0]-U,x=1073741824,b=j?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const C=T+X;if(C===P||C<R&&V[C-1]>=V[C+1]){if(F=V[C+1]-1,H=F-T-U,F>x)N.MarkNextChange();x=F+1,N.AddOriginalElement(F+1,H+1),T=C+1-X}else{if(F=V[C-1],H=F-T-U,F>x)N.MarkNextChange();x=F,N.AddModifiedElement(F+1,H+1),T=C-1-X}if(b>=0)V=this.m_reverseHistory[b],X=V[0],P=1,R=V.length-1}while(--b>=-1);M=N.getChanges()}return this.ConcatenateChanges(D,M)}ComputeRecursionPoint(J,Q,Z,$,X,Y,z){let U=0,G=0,V=0,F=0,_=0,B=0;J--,Z--,X[0]=0,Y[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const H=Q-J+($-Z),w=H+1,q=new Int32Array(w),j=new Int32Array(w),k=$-Z,D=Q-J,M=J-Z,N=Q-$,R=(D-k)%2===0;q[k]=J,j[D]=Q,z[0]=!1;for(let T=1;T<=H/2+1;T++){let x=0,b=0;V=this.ClipDiagonalBound(k-T,T,k,w),F=this.ClipDiagonalBound(k+T,T,k,w);for(let A=V;A<=F;A+=2){if(A===V||A<F&&q[A-1]<q[A+1])U=q[A+1];else U=q[A-1]+1;G=U-(A-k)-M;const L=U;while(U<Q&&G<$&&this.ElementsAreEqual(U+1,G+1))U++,G++;if(q[A]=U,U+G>x+b)x=U,b=G;if(!R&&Math.abs(A-D)<=T-1){if(U>=j[A])if(X[0]=U,Y[0]=G,L<=j[A]&&1447>0&&T<=1448)return this.WALKTRACE(k,V,F,M,D,_,B,N,q,j,U,Q,X,G,$,Y,R,z);else return null}}const C=(x-J+(b-Z)-T)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(x,C))if(z[0]=!0,X[0]=x,Y[0]=b,C>0&&1447>0&&T<=1448)return this.WALKTRACE(k,V,F,M,D,_,B,N,q,j,U,Q,X,G,$,Y,R,z);else return J++,Z++,[new f0(J,Q-J+1,Z,$-Z+1)];_=this.ClipDiagonalBound(D-T,T,D,w),B=this.ClipDiagonalBound(D+T,T,D,w);for(let A=_;A<=B;A+=2){if(A===_||A<B&&j[A-1]>=j[A+1])U=j[A+1]-1;else U=j[A-1];G=U-(A-D)-N;const L=U;while(U>J&&G>Z&&this.ElementsAreEqual(U,G))U--,G--;if(j[A]=U,R&&Math.abs(A-k)<=T){if(U<=q[A])if(X[0]=U,Y[0]=G,L>=q[A]&&1447>0&&T<=1448)return this.WALKTRACE(k,V,F,M,D,_,B,N,q,j,U,Q,X,G,$,Y,R,z);else return null}}if(T<=1447){let A=new Int32Array(F-V+2);A[0]=k-V+1,_1.Copy2(q,V,A,1,F-V+1),this.m_forwardHistory.push(A),A=new Int32Array(B-_+2),A[0]=D-_+1,_1.Copy2(j,_,A,1,B-_+1),this.m_reverseHistory.push(A)}}return this.WALKTRACE(k,V,F,M,D,_,B,N,q,j,U,Q,X,G,$,Y,R,z)}PrettifyChanges(J){for(let Q=0;Q<J.length;Q++){const Z=J[Q],$=Q<J.length-1?J[Q+1].originalStart:this._originalElementsOrHash.length,X=Q<J.length-1?J[Q+1].modifiedStart:this._modifiedElementsOrHash.length,Y=Z.originalLength>0,z=Z.modifiedLength>0;while(Z.originalStart+Z.originalLength<$&&Z.modifiedStart+Z.modifiedLength<X&&(!Y||this.OriginalElementsAreEqual(Z.originalStart,Z.originalStart+Z.originalLength))&&(!z||this.ModifiedElementsAreEqual(Z.modifiedStart,Z.modifiedStart+Z.modifiedLength))){const G=this.ElementsAreStrictEqual(Z.originalStart,Z.modifiedStart);if(this.ElementsAreStrictEqual(Z.originalStart+Z.originalLength,Z.modifiedStart+Z.modifiedLength)&&!G)break;Z.originalStart++,Z.modifiedStart++}const U=[null];if(Q<J.length-1&&this.ChangesOverlap(J[Q],J[Q+1],U)){J[Q]=U[0],J.splice(Q+1,1),Q--;continue}}for(let Q=J.length-1;Q>=0;Q--){const Z=J[Q];let $=0,X=0;if(Q>0){const F=J[Q-1];$=F.originalStart+F.originalLength,X=F.modifiedStart+F.modifiedLength}const Y=Z.originalLength>0,z=Z.modifiedLength>0;let U=0,G=this._boundaryScore(Z.originalStart,Z.originalLength,Z.modifiedStart,Z.modifiedLength);for(let F=1;;F++){const _=Z.originalStart-F,B=Z.modifiedStart-F;if(_<$||B<X)break;if(Y&&!this.OriginalElementsAreEqual(_,_+Z.originalLength))break;if(z&&!this.ModifiedElementsAreEqual(B,B+Z.modifiedLength))break;const w=(_===$&&B===X?5:0)+this._boundaryScore(_,Z.originalLength,B,Z.modifiedLength);if(w>G)G=w,U=F}Z.originalStart-=U,Z.modifiedStart-=U;const V=[null];if(Q>0&&this.ChangesOverlap(J[Q-1],J[Q],V)){J[Q-1]=V[0],J.splice(Q,1),Q++;continue}}if(this._hasStrings)for(let Q=1,Z=J.length;Q<Z;Q++){const $=J[Q-1],X=J[Q],Y=X.originalStart-$.originalStart-$.originalLength,z=$.originalStart,U=X.originalStart+X.originalLength,G=U-z,V=$.modifiedStart,F=X.modifiedStart+X.modifiedLength,_=F-V;if(Y<5&&G<20&&_<20){const B=this._findBetterContiguousSequence(z,G,V,_,Y);if(B){const[H,w]=B;if(H!==$.originalStart+$.originalLength||w!==$.modifiedStart+$.modifiedLength)$.originalLength=H-$.originalStart,$.modifiedLength=w-$.modifiedStart,X.originalStart=H+Y,X.modifiedStart=w+Y,X.originalLength=U-X.originalStart,X.modifiedLength=F-X.modifiedStart}}}return J}_findBetterContiguousSequence(J,Q,Z,$,X){if(Q<X||$<X)return null;const Y=J+Q-X+1,z=Z+$-X+1;let U=0,G=0,V=0;for(let F=J;F<Y;F++)for(let _=Z;_<z;_++){const B=this._contiguousSequenceScore(F,_,X);if(B>0&&B>U)U=B,G=F,V=_}if(U>0)return[G,V];return null}_contiguousSequenceScore(J,Q,Z){let $=0;for(let X=0;X<Z;X++){if(!this.ElementsAreEqual(J+X,Q+X))return 0;$+=this._originalStringElements[J+X].length}return $}_OriginalIsBoundary(J){if(J<=0||J>=this._originalElementsOrHash.length-1)return!0;return this._hasStrings&&/^\s*$/.test(this._originalStringElements[J])}_OriginalRegionIsBoundary(J,Q){if(this._OriginalIsBoundary(J)||this._OriginalIsBoundary(J-1))return!0;if(Q>0){const Z=J+Q;if(this._OriginalIsBoundary(Z-1)||this._OriginalIsBoundary(Z))return!0}return!1}_ModifiedIsBoundary(J){if(J<=0||J>=this._modifiedElementsOrHash.length-1)return!0;return this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[J])}_ModifiedRegionIsBoundary(J,Q){if(this._ModifiedIsBoundary(J)||this._ModifiedIsBoundary(J-1))return!0;if(Q>0){const Z=J+Q;if(this._ModifiedIsBoundary(Z-1)||this._ModifiedIsBoundary(Z))return!0}return!1}_boundaryScore(J,Q,Z,$){const X=this._OriginalRegionIsBoundary(J,Q)?1:0,Y=this._ModifiedRegionIsBoundary(Z,$)?1:0;return X+Y}ConcatenateChanges(J,Q){const Z=[];if(J.length===0||Q.length===0)return Q.length>0?Q:J;else if(this.ChangesOverlap(J[J.length-1],Q[0],Z)){const $=new Array(J.length+Q.length-1);return _1.Copy(J,0,$,0,J.length-1),$[J.length-1]=Z[0],_1.Copy(Q,1,$,J.length,Q.length-1),$}else{const $=new Array(J.length+Q.length);return _1.Copy(J,0,$,0,J.length),_1.Copy(Q,0,$,J.length,Q.length),$}}ChangesOverlap(J,Q,Z){if(F1.Assert(J.originalStart<=Q.originalStart,"Left change is not less than or equal to right change"),F1.Assert(J.modifiedStart<=Q.modifiedStart,"Left change is not less than or equal to right change"),J.originalStart+J.originalLength>=Q.originalStart||J.modifiedStart+J.modifiedLength>=Q.modifiedStart){const $=J.originalStart;let X=J.originalLength;const Y=J.modifiedStart;let z=J.modifiedLength;if(J.originalStart+J.originalLength>=Q.originalStart)X=Q.originalStart+Q.originalLength-J.originalStart;if(J.modifiedStart+J.modifiedLength>=Q.modifiedStart)z=Q.modifiedStart+Q.modifiedLength-J.modifiedStart;return Z[0]=new f0($,X,Y,z),!0}else return Z[0]=null,!1}ClipDiagonalBound(J,Q,Z,$){if(J>=0&&J<$)return J;const X=Z,Y=$-Z-1,z=Q%2===0;if(J<0){const U=X%2===0;return z===U?0:1}else{const U=Y%2===0;return z===U?$-1:$-2}}}class s{constructor(J,Q){this.lineNumber=J,this.column=Q}with(J=this.lineNumber,Q=this.column){if(J===this.lineNumber&&Q===this.column)return this;else return new s(J,Q)}delta(J=0,Q=0){return this.with(this.lineNumber+J,this.column+Q)}equals(J){return s.equals(this,J)}static equals(J,Q){if(!J&&!Q)return!0;return!!J&&!!Q&&J.lineNumber===Q.lineNumber&&J.column===Q.column}isBefore(J){return s.isBefore(this,J)}static isBefore(J,Q){if(J.lineNumber<Q.lineNumber)return!0;if(Q.lineNumber<J.lineNumber)return!1;return J.column<Q.column}isBeforeOrEqual(J){return s.isBeforeOrEqual(this,J)}static isBeforeOrEqual(J,Q){if(J.lineNumber<Q.lineNumber)return!0;if(Q.lineNumber<J.lineNumber)return!1;return J.column<=Q.column}static compare(J,Q){const Z=J.lineNumber|0,$=Q.lineNumber|0;if(Z===$){const X=J.column|0,Y=Q.column|0;return X-Y}return Z-$}clone(){return new s(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(J){return new s(J.lineNumber,J.column)}static isIPosition(J){return J&&typeof J.lineNumber==="number"&&typeof J.column==="number"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}class f{constructor(J,Q,Z,$){if(J>Z||J===Z&&Q>$)this.startLineNumber=Z,this.startColumn=$,this.endLineNumber=J,this.endColumn=Q;else this.startLineNumber=J,this.startColumn=Q,this.endLineNumber=Z,this.endColumn=$}isEmpty(){return f.isEmpty(this)}static isEmpty(J){return J.startLineNumber===J.endLineNumber&&J.startColumn===J.endColumn}containsPosition(J){return f.containsPosition(this,J)}static containsPosition(J,Q){if(Q.lineNumber<J.startLineNumber||Q.lineNumber>J.endLineNumber)return!1;if(Q.lineNumber===J.startLineNumber&&Q.column<J.startColumn)return!1;if(Q.lineNumber===J.endLineNumber&&Q.column>J.endColumn)return!1;return!0}static strictContainsPosition(J,Q){if(Q.lineNumber<J.startLineNumber||Q.lineNumber>J.endLineNumber)return!1;if(Q.lineNumber===J.startLineNumber&&Q.column<=J.startColumn)return!1;if(Q.lineNumber===J.endLineNumber&&Q.column>=J.endColumn)return!1;return!0}containsRange(J){return f.containsRange(this,J)}static containsRange(J,Q){if(Q.startLineNumber<J.startLineNumber||Q.endLineNumber<J.startLineNumber)return!1;if(Q.startLineNumber>J.endLineNumber||Q.endLineNumber>J.endLineNumber)return!1;if(Q.startLineNumber===J.startLineNumber&&Q.startColumn<J.startColumn)return!1;if(Q.endLineNumber===J.endLineNumber&&Q.endColumn>J.endColumn)return!1;return!0}strictContainsRange(J){return f.strictContainsRange(this,J)}static strictContainsRange(J,Q){if(Q.startLineNumber<J.startLineNumber||Q.endLineNumber<J.startLineNumber)return!1;if(Q.startLineNumber>J.endLineNumber||Q.endLineNumber>J.endLineNumber)return!1;if(Q.startLineNumber===J.startLineNumber&&Q.startColumn<=J.startColumn)return!1;if(Q.endLineNumber===J.endLineNumber&&Q.endColumn>=J.endColumn)return!1;return!0}plusRange(J){return f.plusRange(this,J)}static plusRange(J,Q){let Z,$,X,Y;if(Q.startLineNumber<J.startLineNumber)Z=Q.startLineNumber,$=Q.startColumn;else if(Q.startLineNumber===J.startLineNumber)Z=Q.startLineNumber,$=Math.min(Q.startColumn,J.startColumn);else Z=J.startLineNumber,$=J.startColumn;if(Q.endLineNumber>J.endLineNumber)X=Q.endLineNumber,Y=Q.endColumn;else if(Q.endLineNumber===J.endLineNumber)X=Q.endLineNumber,Y=Math.max(Q.endColumn,J.endColumn);else X=J.endLineNumber,Y=J.endColumn;return new f(Z,$,X,Y)}intersectRanges(J){return f.intersectRanges(this,J)}static intersectRanges(J,Q){let{startLineNumber:Z,startColumn:$,endLineNumber:X,endColumn:Y}=J;const{startLineNumber:z,startColumn:U,endLineNumber:G,endColumn:V}=Q;if(Z<z)Z=z,$=U;else if(Z===z)$=Math.max($,U);if(X>G)X=G,Y=V;else if(X===G)Y=Math.min(Y,V);if(Z>X)return null;if(Z===X&&$>Y)return null;return new f(Z,$,X,Y)}equalsRange(J){return f.equalsRange(this,J)}static equalsRange(J,Q){if(!J&&!Q)return!0;return!!J&&!!Q&&J.startLineNumber===Q.startLineNumber&&J.startColumn===Q.startColumn&&J.endLineNumber===Q.endLineNumber&&J.endColumn===Q.endColumn}getEndPosition(){return f.getEndPosition(this)}static getEndPosition(J){return new s(J.endLineNumber,J.endColumn)}getStartPosition(){return f.getStartPosition(this)}static getStartPosition(J){return new s(J.startLineNumber,J.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(J,Q){return new f(this.startLineNumber,this.startColumn,J,Q)}setStartPosition(J,Q){return new f(J,Q,this.endLineNumber,this.endColumn)}collapseToStart(){return f.collapseToStart(this)}static collapseToStart(J){return new f(J.startLineNumber,J.startColumn,J.startLineNumber,J.startColumn)}collapseToEnd(){return f.collapseToEnd(this)}static collapseToEnd(J){return new f(J.endLineNumber,J.endColumn,J.endLineNumber,J.endColumn)}delta(J){return new f(this.startLineNumber+J,this.startColumn,this.endLineNumber+J,this.endColumn)}static fromPositions(J,Q=J){return new f(J.lineNumber,J.column,Q.lineNumber,Q.column)}static lift(J){if(!J)return null;return new f(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn)}static isIRange(J){return J&&typeof J.startLineNumber==="number"&&typeof J.startColumn==="number"&&typeof J.endLineNumber==="number"&&typeof J.endColumn==="number"}static areIntersectingOrTouching(J,Q){if(J.endLineNumber<Q.startLineNumber||J.endLineNumber===Q.startLineNumber&&J.endColumn<Q.startColumn)return!1;if(Q.endLineNumber<J.startLineNumber||Q.endLineNumber===J.startLineNumber&&Q.endColumn<J.startColumn)return!1;return!0}static areIntersecting(J,Q){if(J.endLineNumber<Q.startLineNumber||J.endLineNumber===Q.startLineNumber&&J.endColumn<=Q.startColumn)return!1;if(Q.endLineNumber<J.startLineNumber||Q.endLineNumber===J.startLineNumber&&Q.endColumn<=J.startColumn)return!1;return!0}static compareRangesUsingStarts(J,Q){if(J&&Q){const X=J.startLineNumber|0,Y=Q.startLineNumber|0;if(X===Y){const z=J.startColumn|0,U=Q.startColumn|0;if(z===U){const G=J.endLineNumber|0,V=Q.endLineNumber|0;if(G===V){const F=J.endColumn|0,_=Q.endColumn|0;return F-_}return G-V}return z-U}return X-Y}return(J?1:0)-(Q?1:0)}static compareRangesUsingEnds(J,Q){if(J.endLineNumber===Q.endLineNumber){if(J.endColumn===Q.endColumn){if(J.startLineNumber===Q.startLineNumber)return J.startColumn-Q.startColumn;return J.startLineNumber-Q.startLineNumber}return J.endColumn-Q.endColumn}return J.endLineNumber-Q.endLineNumber}static spansMultipleLines(J){return J.endLineNumber>J.startLineNumber}toJSON(){return this}}function y8(J){if(J<0)return 0;if(J>255)return 255;return J|0}function B1(J){if(J<0)return 0;if(J>4294967295)return 4294967295;return J|0}class e1{constructor(J){const Q=y8(J);this._defaultValue=Q,this._asciiMap=e1._createAsciiMap(Q),this._map=new Map}static _createAsciiMap(J){const Q=new Uint8Array(256);return Q.fill(J),Q}set(J,Q){const Z=y8(Q);if(J>=0&&J<256)this._asciiMap[J]=Z;else this._map.set(J,Z)}get(J){if(J>=0&&J<256)return this._asciiMap[J];else return this._map.get(J)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}function _$(){if(b8===null)b8=new b7([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]]);return b8}function B$(){if(J6===null){J6=new e1(0);const J=` <>'"\u3001\u3002\uFF61\uFF64\uFF0C\uFF0E\uFF1A\uFF1B\u2018\u3008\u300C\u300E\u3014\uFF08\uFF3B\uFF5B\uFF62\uFF63\uFF5D\uFF3D\uFF09\u3015\u300F\u300D\u3009\u2019\uFF40\uFF5E\u2026`;for(let Z=0;Z<J.length;Z++)J6.set(J.charCodeAt(Z),1);const Q=".,;:";for(let Z=0;Z<Q.length;Z++)J6.set(Q.charCodeAt(Z),2)}return J6}function C7(J){if(!J||typeof J.getLineCount!=="function"||typeof J.getLineContent!=="function")return[];return C6.computeLinks(J)}class y7{constructor(J,Q,Z){const $=new Uint8Array(J*Q);for(let X=0,Y=J*Q;X<Y;X++)$[X]=Z;this._data=$,this.rows=J,this.cols=Q}get(J,Q){return this._data[J*this.cols+Q]}set(J,Q,Z){this._data[J*this.cols+Q]=Z}}class b7{constructor(J){let Q=0,Z=0;for(let X=0,Y=J.length;X<Y;X++){const[z,U,G]=J[X];if(U>Q)Q=U;if(z>Z)Z=z;if(G>Z)Z=G}Q++,Z++;const $=new y7(Z,Q,0);for(let X=0,Y=J.length;X<Y;X++){const[z,U,G]=J[X];$.set(z,U,G)}this._states=$,this._maxCharCode=Q}nextState(J,Q){if(Q<0||Q>=this._maxCharCode)return 0;return this._states.get(J,Q)}}var b8=null,J6=null;class C6{static _createLink(J,Q,Z,$,X){let Y=X-1;do{const z=Q.charCodeAt(Y);if(J.get(z)!==2)break;Y--}while(Y>$);if($>0){const z=Q.charCodeAt($-1),U=Q.charCodeAt(Y);if(z===40&&U===41||z===91&&U===93||z===123&&U===125)Y--}return{range:{startLineNumber:Z,startColumn:$+1,endLineNumber:Z,endColumn:Y+2},url:Q.substring($,Y+1)}}static computeLinks(J,Q=_$()){const Z=B$(),$=[];for(let X=1,Y=J.getLineCount();X<=Y;X++){const z=J.getLineContent(X),U=z.length;let G=0,V=0,F=0,_=1,B=!1,H=!1,w=!1,q=!1;while(G<U){let j=!1;const k=z.charCodeAt(G);if(_===13){let D;switch(k){case 40:B=!0,D=0;break;case 41:D=B?0:1;break;case 91:w=!0,H=!0,D=0;break;case 93:w=!1,D=H?0:1;break;case 123:q=!0,D=0;break;case 125:D=q?0:1;break;case 39:case 34:case 96:if(F===k)D=1;else if(F===39||F===34||F===96)D=0;else D=1;break;case 42:D=F===42?1:0;break;case 124:D=F===124?1:0;break;case 32:D=w?0:1;break;default:D=Z.get(k)}if(D===1)$.push(C6._createLink(Z,z,X,V,G)),j=!0}else if(_===12){let D;if(k===91)H=!0,D=0;else D=Z.get(k);if(D===1)j=!0;else _=13}else if(_=Q.nextState(_,k),_===0)j=!0;if(j)_=1,B=!1,H=!1,q=!1,V=G+1,F=k;G++}if(_===13)$.push(C6._createLink(Z,z,X,V,U))}return $}}class f6{constructor(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}static{this.INSTANCE=new f6}navigateValueSet(J,Q,Z,$,X){if(J&&Q){const Y=this.doNavigateValueSet(Q,X);if(Y)return{range:J,value:Y}}if(Z&&$){const Y=this.doNavigateValueSet($,X);if(Y)return{range:Z,value:Y}}return null}doNavigateValueSet(J,Q){const Z=this.numberReplace(J,Q);if(Z!==null)return Z;return this.textReplace(J,Q)}numberReplace(J,Q){const Z=Math.pow(10,J.length-(J.lastIndexOf(".")+1));let $=Number(J);const X=parseFloat(J);if(!isNaN($)&&!isNaN(X)&&$===X)if($===0&&!Q)return null;else return $=Math.floor($*Z),$+=Q?Z:-Z,String($/Z);return null}textReplace(J,Q){return this.valueSetsReplace(this._defaultValueSet,J,Q)}valueSetsReplace(J,Q,Z){let $=null;for(let X=0,Y=J.length;$===null&&X<Y;X++)$=this.valueSetReplace(J[X],Q,Z);return $}valueSetReplace(J,Q,Z){let $=J.indexOf(Q);if($>=0){if($+=Z?1:-1,$<0)$=J.length-1;else $%=J.length;return J[$]}return null}}var f7=Object.freeze(function(J,Q){const Z=setTimeout(J.bind(Q),0);return{dispose(){clearTimeout(Z)}}}),h6;(function(J){function Q(Z){if(Z===J.None||Z===J.Cancelled)return!0;if(Z instanceof Q6)return!0;if(!Z||typeof Z!=="object")return!1;return typeof Z.isCancellationRequested==="boolean"&&typeof Z.onCancellationRequested==="function"}J.isCancellationToken=Q,J.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:I1.None}),J.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:f7})})(h6||(h6={}));class Q6{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){if(!this._isCancelled){if(this._isCancelled=!0,this._emitter)this._emitter.fire(void 0),this.dispose()}}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){if(this._isCancelled)return f7;if(!this._emitter)this._emitter=new U0;return this._emitter.event}dispose(){if(this._emitter)this._emitter.dispose(),this._emitter=null}}class p6{constructor(J){this._token=void 0,this._parentListener=void 0,this._parentListener=J&&J.onCancellationRequested(this.cancel,this)}get token(){if(!this._token)this._token=new Q6;return this._token}cancel(){if(!this._token)this._token=h6.Cancelled;else if(this._token instanceof Q6)this._token.cancel()}dispose(J=!1){if(J)this.cancel();if(this._parentListener?.dispose(),!this._token)this._token=h6.None;else if(this._token instanceof Q6)this._token.dispose()}}function u7(J,Q){const Z=(Q&65535)<<16>>>0;return(J|Z)>>>0}class c6{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(J,Q){this._keyCodeToStr[J]=Q,this._strToKeyCode[Q.toLowerCase()]=J}keyCodeToStr(J){return this._keyCodeToStr[J]}strToKeyCode(J){return this._strToKeyCode[J.toLowerCase()]||0}}var u6=new c6,C8=new c6,f8=new c6,H$=new Array(230),w$={},q$=[],N$=Object.create(null),j$=Object.create(null),p7=[],h8=[];for(let J=0;J<=193;J++)p7[J]=-1;for(let J=0;J<=132;J++)h8[J]=-1;(function(){const Q=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN","",""],[1,1,"Hyper",0,"",0,"","",""],[1,2,"Super",0,"",0,"","",""],[1,3,"Fn",0,"",0,"","",""],[1,4,"FnLock",0,"",0,"","",""],[1,5,"Suspend",0,"",0,"","",""],[1,6,"Resume",0,"",0,"","",""],[1,7,"Turbo",0,"",0,"","",""],[1,8,"Sleep",0,"",0,"VK_SLEEP","",""],[1,9,"WakeUp",0,"",0,"","",""],[0,10,"KeyA",31,"A",65,"VK_A","",""],[0,11,"KeyB",32,"B",66,"VK_B","",""],[0,12,"KeyC",33,"C",67,"VK_C","",""],[0,13,"KeyD",34,"D",68,"VK_D","",""],[0,14,"KeyE",35,"E",69,"VK_E","",""],[0,15,"KeyF",36,"F",70,"VK_F","",""],[0,16,"KeyG",37,"G",71,"VK_G","",""],[0,17,"KeyH",38,"H",72,"VK_H","",""],[0,18,"KeyI",39,"I",73,"VK_I","",""],[0,19,"KeyJ",40,"J",74,"VK_J","",""],[0,20,"KeyK",41,"K",75,"VK_K","",""],[0,21,"KeyL",42,"L",76,"VK_L","",""],[0,22,"KeyM",43,"M",77,"VK_M","",""],[0,23,"KeyN",44,"N",78,"VK_N","",""],[0,24,"KeyO",45,"O",79,"VK_O","",""],[0,25,"KeyP",46,"P",80,"VK_P","",""],[0,26,"KeyQ",47,"Q",81,"VK_Q","",""],[0,27,"KeyR",48,"R",82,"VK_R","",""],[0,28,"KeyS",49,"S",83,"VK_S","",""],[0,29,"KeyT",50,"T",84,"VK_T","",""],[0,30,"KeyU",51,"U",85,"VK_U","",""],[0,31,"KeyV",52,"V",86,"VK_V","",""],[0,32,"KeyW",53,"W",87,"VK_W","",""],[0,33,"KeyX",54,"X",88,"VK_X","",""],[0,34,"KeyY",55,"Y",89,"VK_Y","",""],[0,35,"KeyZ",56,"Z",90,"VK_Z","",""],[0,36,"Digit1",22,"1",49,"VK_1","",""],[0,37,"Digit2",23,"2",50,"VK_2","",""],[0,38,"Digit3",24,"3",51,"VK_3","",""],[0,39,"Digit4",25,"4",52,"VK_4","",""],[0,40,"Digit5",26,"5",53,"VK_5","",""],[0,41,"Digit6",27,"6",54,"VK_6","",""],[0,42,"Digit7",28,"7",55,"VK_7","",""],[0,43,"Digit8",29,"8",56,"VK_8","",""],[0,44,"Digit9",30,"9",57,"VK_9","",""],[0,45,"Digit0",21,"0",48,"VK_0","",""],[1,46,"Enter",3,"Enter",13,"VK_RETURN","",""],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE","",""],[1,48,"Backspace",1,"Backspace",8,"VK_BACK","",""],[1,49,"Tab",2,"Tab",9,"VK_TAB","",""],[1,50,"Space",10,"Space",32,"VK_SPACE","",""],[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,"",0,"","",""],[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","",""],[1,64,"F1",59,"F1",112,"VK_F1","",""],[1,65,"F2",60,"F2",113,"VK_F2","",""],[1,66,"F3",61,"F3",114,"VK_F3","",""],[1,67,"F4",62,"F4",115,"VK_F4","",""],[1,68,"F5",63,"F5",116,"VK_F5","",""],[1,69,"F6",64,"F6",117,"VK_F6","",""],[1,70,"F7",65,"F7",118,"VK_F7","",""],[1,71,"F8",66,"F8",119,"VK_F8","",""],[1,72,"F9",67,"F9",120,"VK_F9","",""],[1,73,"F10",68,"F10",121,"VK_F10","",""],[1,74,"F11",69,"F11",122,"VK_F11","",""],[1,75,"F12",70,"F12",123,"VK_F12","",""],[1,76,"PrintScreen",0,"",0,"","",""],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL","",""],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE","",""],[1,79,"Insert",19,"Insert",45,"VK_INSERT","",""],[1,80,"Home",14,"Home",36,"VK_HOME","",""],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR","",""],[1,82,"Delete",20,"Delete",46,"VK_DELETE","",""],[1,83,"End",13,"End",35,"VK_END","",""],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT","",""],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",""],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",""],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",""],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",""],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK","",""],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE","",""],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY","",""],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT","",""],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD","",""],[1,94,"NumpadEnter",3,"",0,"","",""],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1","",""],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2","",""],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3","",""],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4","",""],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5","",""],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6","",""],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7","",""],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8","",""],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9","",""],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0","",""],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL","",""],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102","",""],[1,107,"ContextMenu",58,"ContextMenu",93,"","",""],[1,108,"Power",0,"",0,"","",""],[1,109,"NumpadEqual",0,"",0,"","",""],[1,110,"F13",71,"F13",124,"VK_F13","",""],[1,111,"F14",72,"F14",125,"VK_F14","",""],[1,112,"F15",73,"F15",126,"VK_F15","",""],[1,113,"F16",74,"F16",127,"VK_F16","",""],[1,114,"F17",75,"F17",128,"VK_F17","",""],[1,115,"F18",76,"F18",129,"VK_F18","",""],[1,116,"F19",77,"F19",130,"VK_F19","",""],[1,117,"F20",78,"F20",131,"VK_F20","",""],[1,118,"F21",79,"F21",132,"VK_F21","",""],[1,119,"F22",80,"F22",133,"VK_F22","",""],[1,120,"F23",81,"F23",134,"VK_F23","",""],[1,121,"F24",82,"F24",135,"VK_F24","",""],[1,122,"Open",0,"",0,"","",""],[1,123,"Help",0,"",0,"","",""],[1,124,"Select",0,"",0,"","",""],[1,125,"Again",0,"",0,"","",""],[1,126,"Undo",0,"",0,"","",""],[1,127,"Cut",0,"",0,"","",""],[1,128,"Copy",0,"",0,"","",""],[1,129,"Paste",0,"",0,"","",""],[1,130,"Find",0,"",0,"","",""],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE","",""],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP","",""],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN","",""],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR","",""],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1","",""],[1,136,"KanaMode",0,"",0,"","",""],[0,137,"IntlYen",0,"",0,"","",""],[1,138,"Convert",0,"",0,"","",""],[1,139,"NonConvert",0,"",0,"","",""],[1,140,"Lang1",0,"",0,"","",""],[1,141,"Lang2",0,"",0,"","",""],[1,142,"Lang3",0,"",0,"","",""],[1,143,"Lang4",0,"",0,"","",""],[1,144,"Lang5",0,"",0,"","",""],[1,145,"Abort",0,"",0,"","",""],[1,146,"Props",0,"",0,"","",""],[1,147,"NumpadParenLeft",0,"",0,"","",""],[1,148,"NumpadParenRight",0,"",0,"","",""],[1,149,"NumpadBackspace",0,"",0,"","",""],[1,150,"NumpadMemoryStore",0,"",0,"","",""],[1,151,"NumpadMemoryRecall",0,"",0,"","",""],[1,152,"NumpadMemoryClear",0,"",0,"","",""],[1,153,"NumpadMemoryAdd",0,"",0,"","",""],[1,154,"NumpadMemorySubtract",0,"",0,"","",""],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR","",""],[1,156,"NumpadClearEntry",0,"",0,"","",""],[1,0,"",5,"Ctrl",17,"VK_CONTROL","",""],[1,0,"",4,"Shift",16,"VK_SHIFT","",""],[1,0,"",6,"Alt",18,"VK_MENU","",""],[1,0,"",57,"Meta",91,"VK_COMMAND","",""],[1,157,"ControlLeft",5,"",0,"VK_LCONTROL","",""],[1,158,"ShiftLeft",4,"",0,"VK_LSHIFT","",""],[1,159,"AltLeft",6,"",0,"VK_LMENU","",""],[1,160,"MetaLeft",57,"",0,"VK_LWIN","",""],[1,161,"ControlRight",5,"",0,"VK_RCONTROL","",""],[1,162,"ShiftRight",4,"",0,"VK_RSHIFT","",""],[1,163,"AltRight",6,"",0,"VK_RMENU","",""],[1,164,"MetaRight",57,"",0,"VK_RWIN","",""],[1,165,"BrightnessUp",0,"",0,"","",""],[1,166,"BrightnessDown",0,"",0,"","",""],[1,167,"MediaPlay",0,"",0,"","",""],[1,168,"MediaRecord",0,"",0,"","",""],[1,169,"MediaFastForward",0,"",0,"","",""],[1,170,"MediaRewind",0,"",0,"","",""],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK","",""],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK","",""],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP","",""],[1,174,"Eject",0,"",0,"","",""],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE","",""],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT","",""],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL","",""],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2","",""],[1,179,"LaunchApp1",0,"",0,"VK_MEDIA_LAUNCH_APP1","",""],[1,180,"SelectTask",0,"",0,"","",""],[1,181,"LaunchScreenSaver",0,"",0,"","",""],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH","",""],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME","",""],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK","",""],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD","",""],[1,186,"BrowserStop",0,"",0,"VK_BROWSER_STOP","",""],[1,187,"BrowserRefresh",0,"",0,"VK_BROWSER_REFRESH","",""],[1,188,"BrowserFavorites",0,"",0,"VK_BROWSER_FAVORITES","",""],[1,189,"ZoomToggle",0,"",0,"","",""],[1,190,"MailReply",0,"",0,"","",""],[1,191,"MailForward",0,"",0,"","",""],[1,192,"MailSend",0,"",0,"","",""],[1,0,"",114,"KeyInComposition",229,"","",""],[1,0,"",116,"ABNT_C2",194,"VK_ABNT_C2","",""],[1,0,"",96,"OEM_8",223,"VK_OEM_8","",""],[1,0,"",0,"",0,"VK_KANA","",""],[1,0,"",0,"",0,"VK_HANGUL","",""],[1,0,"",0,"",0,"VK_JUNJA","",""],[1,0,"",0,"",0,"VK_FINAL","",""],[1,0,"",0,"",0,"VK_HANJA","",""],[1,0,"",0,"",0,"VK_KANJI","",""],[1,0,"",0,"",0,"VK_CONVERT","",""],[1,0,"",0,"",0,"VK_NONCONVERT","",""],[1,0,"",0,"",0,"VK_ACCEPT","",""],[1,0,"",0,"",0,"VK_MODECHANGE","",""],[1,0,"",0,"",0,"VK_SELECT","",""],[1,0,"",0,"",0,"VK_PRINT","",""],[1,0,"",0,"",0,"VK_EXECUTE","",""],[1,0,"",0,"",0,"VK_SNAPSHOT","",""],[1,0,"",0,"",0,"VK_HELP","",""],[1,0,"",0,"",0,"VK_APPS","",""],[1,0,"",0,"",0,"VK_PROCESSKEY","",""],[1,0,"",0,"",0,"VK_PACKET","",""],[1,0,"",0,"",0,"VK_DBE_SBCSCHAR","",""],[1,0,"",0,"",0,"VK_DBE_DBCSCHAR","",""],[1,0,"",0,"",0,"VK_ATTN","",""],[1,0,"",0,"",0,"VK_CRSEL","",""],[1,0,"",0,"",0,"VK_EXSEL","",""],[1,0,"",0,"",0,"VK_EREOF","",""],[1,0,"",0,"",0,"VK_PLAY","",""],[1,0,"",0,"",0,"VK_ZOOM","",""],[1,0,"",0,"",0,"VK_NONAME","",""],[1,0,"",0,"",0,"VK_PA1","",""],[1,0,"",0,"",0,"VK_OEM_CLEAR","",""]],Z=[],$=[];for(let X of Q){const[Y,z,U,G,V,F,_,B,H]=X;if(!$[z]){if($[z]=!0,q$[z]=U,N$[U]=z,j$[U.toLowerCase()]=z,Y){if(p7[z]=G,G!==0&&G!==3&&G!==5&&G!==4&&G!==6&&G!==57)h8[G]=z}}if(!Z[G]){if(Z[G]=!0,!V)throw new Error(`String representation missing for key code ${G} around scan code ${U}`);u6.define(G,V),C8.define(G,B||V),f8.define(G,H||B||V)}if(F)H$[F]=G;if(_)w$[_]=G}h8[3]=46})();var h7;(function(J){function Q(U){return u6.keyCodeToStr(U)}J.toString=Q;function Z(U){return u6.strToKeyCode(U)}J.fromString=Z;function $(U){return C8.keyCodeToStr(U)}J.toUserSettingsUS=$;function X(U){return f8.keyCodeToStr(U)}J.toUserSettingsGeneral=X;function Y(U){return C8.strToKeyCode(U)||f8.strToKeyCode(U)}J.fromUserSettings=Y;function z(U){if(U>=98&&U<=113)return null;switch(U){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return u6.keyCodeToStr(U)}J.toElectronAccelerator=z})(h7||(h7={}));class N0 extends f{constructor(J,Q,Z,$){super(J,Q,Z,$);this.selectionStartLineNumber=J,this.selectionStartColumn=Q,this.positionLineNumber=Z,this.positionColumn=$}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(J){return N0.selectionsEqual(this,J)}static selectionsEqual(J,Q){return J.selectionStartLineNumber===Q.selectionStartLineNumber&&J.selectionStartColumn===Q.selectionStartColumn&&J.positionLineNumber===Q.positionLineNumber&&J.positionColumn===Q.positionColumn}getDirection(){if(this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn)return 0;return 1}setEndPosition(J,Q){if(this.getDirection()===0)return new N0(this.startLineNumber,this.startColumn,J,Q);return new N0(J,Q,this.startLineNumber,this.startColumn)}getPosition(){return new s(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new s(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(J,Q){if(this.getDirection()===0)return new N0(J,Q,this.endLineNumber,this.endColumn);return new N0(this.endLineNumber,this.endColumn,J,Q)}static fromPositions(J,Q=J){return new N0(J.lineNumber,J.column,Q.lineNumber,Q.column)}static fromRange(J,Q){if(Q===0)return new N0(J.startLineNumber,J.startColumn,J.endLineNumber,J.endColumn);else return new N0(J.endLineNumber,J.endColumn,J.startLineNumber,J.startColumn)}static liftSelection(J){return new N0(J.selectionStartLineNumber,J.selectionStartColumn,J.positionLineNumber,J.positionColumn)}static selectionsArrEqual(J,Q){if(J&&!Q||!J&&Q)return!1;if(!J&&!Q)return!0;if(J.length!==Q.length)return!1;for(let Z=0,$=J.length;Z<$;Z++)if(!this.selectionsEqual(J[Z],Q[Z]))return!1;return!0}static isISelection(J){return J&&typeof J.selectionStartLineNumber==="number"&&typeof J.selectionStartColumn==="number"&&typeof J.positionLineNumber==="number"&&typeof J.positionColumn==="number"}static createWithDirection(J,Q,Z,$,X){if(X===0)return new N0(J,Q,Z,$);return new N0(Z,$,J,Q)}}function c7(J){return typeof J==="string"}function W(J,Q){if(c7(Q)){const Z=m7[Q];if(Z===void 0)throw new Error(`${J} references an unknown codicon: ${Q}`);Q=Z}return m7[J]=Q,{id:J}}var m7=Object.create(null);var g7={add:W("add",60000),plus:W("plus",60000),gistNew:W("gist-new",60000),repoCreate:W("repo-create",60000),lightbulb:W("lightbulb",60001),lightBulb:W("light-bulb",60001),repo:W("repo",60002),repoDelete:W("repo-delete",60002),gistFork:W("gist-fork",60003),repoForked:W("repo-forked",60003),gitPullRequest:W("git-pull-request",60004),gitPullRequestAbandoned:W("git-pull-request-abandoned",60004),recordKeys:W("record-keys",60005),keyboard:W("keyboard",60005),tag:W("tag",60006),gitPullRequestLabel:W("git-pull-request-label",60006),tagAdd:W("tag-add",60006),tagRemove:W("tag-remove",60006),person:W("person",60007),personFollow:W("person-follow",60007),personOutline:W("person-outline",60007),personFilled:W("person-filled",60007),gitBranch:W("git-branch",60008),gitBranchCreate:W("git-branch-create",60008),gitBranchDelete:W("git-branch-delete",60008),sourceControl:W("source-control",60008),mirror:W("mirror",60009),mirrorPublic:W("mirror-public",60009),star:W("star",60010),starAdd:W("star-add",60010),starDelete:W("star-delete",60010),starEmpty:W("star-empty",60010),comment:W("comment",60011),commentAdd:W("comment-add",60011),alert:W("alert",60012),warning:W("warning",60012),search:W("search",60013),searchSave:W("search-save",60013),logOut:W("log-out",60014),signOut:W("sign-out",60014),logIn:W("log-in",60015),signIn:W("sign-in",60015),eye:W("eye",60016),eyeUnwatch:W("eye-unwatch",60016),eyeWatch:W("eye-watch",60016),circleFilled:W("circle-filled",60017),primitiveDot:W("primitive-dot",60017),closeDirty:W("close-dirty",60017),debugBreakpoint:W("debug-breakpoint",60017),debugBreakpointDisabled:W("debug-breakpoint-disabled",60017),debugHint:W("debug-hint",60017),terminalDecorationSuccess:W("terminal-decoration-success",60017),primitiveSquare:W("primitive-square",60018),edit:W("edit",60019),pencil:W("pencil",60019),info:W("info",60020),issueOpened:W("issue-opened",60020),gistPrivate:W("gist-private",60021),gitForkPrivate:W("git-fork-private",60021),lock:W("lock",60021),mirrorPrivate:W("mirror-private",60021),close:W("close",60022),removeClose:W("remove-close",60022),x:W("x",60022),repoSync:W("repo-sync",60023),sync:W("sync",60023),clone:W("clone",60024),desktopDownload:W("desktop-download",60024),beaker:W("beaker",60025),microscope:W("microscope",60025),vm:W("vm",60026),deviceDesktop:W("device-desktop",60026),file:W("file",60027),fileText:W("file-text",60027),more:W("more",60028),ellipsis:W("ellipsis",60028),kebabHorizontal:W("kebab-horizontal",60028),mailReply:W("mail-reply",60029),reply:W("reply",60029),organization:W("organization",60030),organizationFilled:W("organization-filled",60030),organizationOutline:W("organization-outline",60030),newFile:W("new-file",60031),fileAdd:W("file-add",60031),newFolder:W("new-folder",60032),fileDirectoryCreate:W("file-directory-create",60032),trash:W("trash",60033),trashcan:W("trashcan",60033),history:W("history",60034),clock:W("clock",60034),folder:W("folder",60035),fileDirectory:W("file-directory",60035),symbolFolder:W("symbol-folder",60035),logoGithub:W("logo-github",60036),markGithub:W("mark-github",60036),github:W("github",60036),terminal:W("terminal",60037),console:W("console",60037),repl:W("repl",60037),zap:W("zap",60038),symbolEvent:W("symbol-event",60038),error:W("error",60039),stop:W("stop",60039),variable:W("variable",60040),symbolVariable:W("symbol-variable",60040),array:W("array",60042),symbolArray:W("symbol-array",60042),symbolModule:W("symbol-module",60043),symbolPackage:W("symbol-package",60043),symbolNamespace:W("symbol-namespace",60043),symbolObject:W("symbol-object",60043),symbolMethod:W("symbol-method",60044),symbolFunction:W("symbol-function",60044),symbolConstructor:W("symbol-constructor",60044),symbolBoolean:W("symbol-boolean",60047),symbolNull:W("symbol-null",60047),symbolNumeric:W("symbol-numeric",60048),symbolNumber:W("symbol-number",60048),symbolStructure:W("symbol-structure",60049),symbolStruct:W("symbol-struct",60049),symbolParameter:W("symbol-parameter",60050),symbolTypeParameter:W("symbol-type-parameter",60050),symbolKey:W("symbol-key",60051),symbolText:W("symbol-text",60051),symbolReference:W("symbol-reference",60052),goToFile:W("go-to-file",60052),symbolEnum:W("symbol-enum",60053),symbolValue:W("symbol-value",60053),symbolRuler:W("symbol-ruler",60054),symbolUnit:W("symbol-unit",60054),activateBreakpoints:W("activate-breakpoints",60055),archive:W("archive",60056),arrowBoth:W("arrow-both",60057),arrowDown:W("arrow-down",60058),arrowLeft:W("arrow-left",60059),arrowRight:W("arrow-right",60060),arrowSmallDown:W("arrow-small-down",60061),arrowSmallLeft:W("arrow-small-left",60062),arrowSmallRight:W("arrow-small-right",60063),arrowSmallUp:W("arrow-small-up",60064),arrowUp:W("arrow-up",60065),bell:W("bell",60066),bold:W("bold",60067),book:W("book",60068),bookmark:W("bookmark",60069),debugBreakpointConditionalUnverified:W("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:W("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:W("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:W("debug-breakpoint-data-unverified",60072),debugBreakpointData:W("debug-breakpoint-data",60073),debugBreakpointDataDisabled:W("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:W("debug-breakpoint-log-unverified",60074),debugBreakpointLog:W("debug-breakpoint-log",60075),debugBreakpointLogDisabled:W("debug-breakpoint-log-disabled",60075),briefcase:W("briefcase",60076),broadcast:W("broadcast",60077),browser:W("browser",60078),bug:W("bug",60079),calendar:W("calendar",60080),caseSensitive:W("case-sensitive",60081),check:W("check",60082),checklist:W("checklist",60083),chevronDown:W("chevron-down",60084),chevronLeft:W("chevron-left",60085),chevronRight:W("chevron-right",60086),chevronUp:W("chevron-up",60087),chromeClose:W("chrome-close",60088),chromeMaximize:W("chrome-maximize",60089),chromeMinimize:W("chrome-minimize",60090),chromeRestore:W("chrome-restore",60091),circleOutline:W("circle-outline",60092),circle:W("circle",60092),debugBreakpointUnverified:W("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:W("terminal-decoration-incomplete",60092),circleSlash:W("circle-slash",60093),circuitBoard:W("circuit-board",60094),clearAll:W("clear-all",60095),clippy:W("clippy",60096),closeAll:W("close-all",60097),cloudDownload:W("cloud-download",60098),cloudUpload:W("cloud-upload",60099),code:W("code",60100),collapseAll:W("collapse-all",60101),colorMode:W("color-mode",60102),commentDiscussion:W("comment-discussion",60103),creditCard:W("credit-card",60105),dash:W("dash",60108),dashboard:W("dashboard",60109),database:W("database",60110),debugContinue:W("debug-continue",60111),debugDisconnect:W("debug-disconnect",60112),debugPause:W("debug-pause",60113),debugRestart:W("debug-restart",60114),debugStart:W("debug-start",60115),debugStepInto:W("debug-step-into",60116),debugStepOut:W("debug-step-out",60117),debugStepOver:W("debug-step-over",60118),debugStop:W("debug-stop",60119),debug:W("debug",60120),deviceCameraVideo:W("device-camera-video",60121),deviceCamera:W("device-camera",60122),deviceMobile:W("device-mobile",60123),diffAdded:W("diff-added",60124),diffIgnored:W("diff-ignored",60125),diffModified:W("diff-modified",60126),diffRemoved:W("diff-removed",60127),diffRenamed:W("diff-renamed",60128),diff:W("diff",60129),diffSidebyside:W("diff-sidebyside",60129),discard:W("discard",60130),editorLayout:W("editor-layout",60131),emptyWindow:W("empty-window",60132),exclude:W("exclude",60133),extensions:W("extensions",60134),eyeClosed:W("eye-closed",60135),fileBinary:W("file-binary",60136),fileCode:W("file-code",60137),fileMedia:W("file-media",60138),filePdf:W("file-pdf",60139),fileSubmodule:W("file-submodule",60140),fileSymlinkDirectory:W("file-symlink-directory",60141),fileSymlinkFile:W("file-symlink-file",60142),fileZip:W("file-zip",60143),files:W("files",60144),filter:W("filter",60145),flame:W("flame",60146),foldDown:W("fold-down",60147),foldUp:W("fold-up",60148),fold:W("fold",60149),folderActive:W("folder-active",60150),folderOpened:W("folder-opened",60151),gear:W("gear",60152),gift:W("gift",60153),gistSecret:W("gist-secret",60154),gist:W("gist",60155),gitCommit:W("git-commit",60156),gitCompare:W("git-compare",60157),compareChanges:W("compare-changes",60157),gitMerge:W("git-merge",60158),githubAction:W("github-action",60159),githubAlt:W("github-alt",60160),globe:W("globe",60161),grabber:W("grabber",60162),graph:W("graph",60163),gripper:W("gripper",60164),heart:W("heart",60165),home:W("home",60166),horizontalRule:W("horizontal-rule",60167),hubot:W("hubot",60168),inbox:W("inbox",60169),issueReopened:W("issue-reopened",60171),issues:W("issues",60172),italic:W("italic",60173),jersey:W("jersey",60174),json:W("json",60175),kebabVertical:W("kebab-vertical",60176),key:W("key",60177),law:W("law",60178),lightbulbAutofix:W("lightbulb-autofix",60179),linkExternal:W("link-external",60180),link:W("link",60181),listOrdered:W("list-ordered",60182),listUnordered:W("list-unordered",60183),liveShare:W("live-share",60184),loading:W("loading",60185),location:W("location",60186),mailRead:W("mail-read",60187),mail:W("mail",60188),markdown:W("markdown",60189),megaphone:W("megaphone",60190),mention:W("mention",60191),milestone:W("milestone",60192),gitPullRequestMilestone:W("git-pull-request-milestone",60192),mortarBoard:W("mortar-board",60193),move:W("move",60194),multipleWindows:W("multiple-windows",60195),mute:W("mute",60196),noNewline:W("no-newline",60197),note:W("note",60198),octoface:W("octoface",60199),openPreview:W("open-preview",60200),package:W("package",60201),paintcan:W("paintcan",60202),pin:W("pin",60203),play:W("play",60204),run:W("run",60204),plug:W("plug",60205),preserveCase:W("preserve-case",60206),preview:W("preview",60207),project:W("project",60208),pulse:W("pulse",60209),question:W("question",60210),quote:W("quote",60211),radioTower:W("radio-tower",60212),reactions:W("reactions",60213),references:W("references",60214),refresh:W("refresh",60215),regex:W("regex",60216),remoteExplorer:W("remote-explorer",60217),remote:W("remote",60218),remove:W("remove",60219),replaceAll:W("replace-all",60220),replace:W("replace",60221),repoClone:W("repo-clone",60222),repoForcePush:W("repo-force-push",60223),repoPull:W("repo-pull",60224),repoPush:W("repo-push",60225),report:W("report",60226),requestChanges:W("request-changes",60227),rocket:W("rocket",60228),rootFolderOpened:W("root-folder-opened",60229),rootFolder:W("root-folder",60230),rss:W("rss",60231),ruby:W("ruby",60232),saveAll:W("save-all",60233),saveAs:W("save-as",60234),save:W("save",60235),screenFull:W("screen-full",60236),screenNormal:W("screen-normal",60237),searchStop:W("search-stop",60238),server:W("server",60240),settingsGear:W("settings-gear",60241),settings:W("settings",60242),shield:W("shield",60243),smiley:W("smiley",60244),sortPrecedence:W("sort-precedence",60245),splitHorizontal:W("split-horizontal",60246),splitVertical:W("split-vertical",60247),squirrel:W("squirrel",60248),starFull:W("star-full",60249),starHalf:W("star-half",60250),symbolClass:W("symbol-class",60251),symbolColor:W("symbol-color",60252),symbolConstant:W("symbol-constant",60253),symbolEnumMember:W("symbol-enum-member",60254),symbolField:W("symbol-field",60255),symbolFile:W("symbol-file",60256),symbolInterface:W("symbol-interface",60257),symbolKeyword:W("symbol-keyword",60258),symbolMisc:W("symbol-misc",60259),symbolOperator:W("symbol-operator",60260),symbolProperty:W("symbol-property",60261),wrench:W("wrench",60261),wrenchSubaction:W("wrench-subaction",60261),symbolSnippet:W("symbol-snippet",60262),tasklist:W("tasklist",60263),telescope:W("telescope",60264),textSize:W("text-size",60265),threeBars:W("three-bars",60266),thumbsdown:W("thumbsdown",60267),thumbsup:W("thumbsup",60268),tools:W("tools",60269),triangleDown:W("triangle-down",60270),triangleLeft:W("triangle-left",60271),triangleRight:W("triangle-right",60272),triangleUp:W("triangle-up",60273),twitter:W("twitter",60274),unfold:W("unfold",60275),unlock:W("unlock",60276),unmute:W("unmute",60277),unverified:W("unverified",60278),verified:W("verified",60279),versions:W("versions",60280),vmActive:W("vm-active",60281),vmOutline:W("vm-outline",60282),vmRunning:W("vm-running",60283),watch:W("watch",60284),whitespace:W("whitespace",60285),wholeWord:W("whole-word",60286),window:W("window",60287),wordWrap:W("word-wrap",60288),zoomIn:W("zoom-in",60289),zoomOut:W("zoom-out",60290),listFilter:W("list-filter",60291),listFlat:W("list-flat",60292),listSelection:W("list-selection",60293),selection:W("selection",60293),listTree:W("list-tree",60294),debugBreakpointFunctionUnverified:W("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:W("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:W("debug-breakpoint-function-disabled",60296),debugStackframeActive:W("debug-stackframe-active",60297),circleSmallFilled:W("circle-small-filled",60298),debugStackframeDot:W("debug-stackframe-dot",60298),terminalDecorationMark:W("terminal-decoration-mark",60298),debugStackframe:W("debug-stackframe",60299),debugStackframeFocused:W("debug-stackframe-focused",60299),debugBreakpointUnsupported:W("debug-breakpoint-unsupported",60300),symbolString:W("symbol-string",60301),debugReverseContinue:W("debug-reverse-continue",60302),debugStepBack:W("debug-step-back",60303),debugRestartFrame:W("debug-restart-frame",60304),debugAlt:W("debug-alt",60305),callIncoming:W("call-incoming",60306),callOutgoing:W("call-outgoing",60307),menu:W("menu",60308),expandAll:W("expand-all",60309),feedback:W("feedback",60310),gitPullRequestReviewer:W("git-pull-request-reviewer",60310),groupByRefType:W("group-by-ref-type",60311),ungroupByRefType:W("ungroup-by-ref-type",60312),account:W("account",60313),gitPullRequestAssignee:W("git-pull-request-assignee",60313),bellDot:W("bell-dot",60314),debugConsole:W("debug-console",60315),library:W("library",60316),output:W("output",60317),runAll:W("run-all",60318),syncIgnored:W("sync-ignored",60319),pinned:W("pinned",60320),githubInverted:W("github-inverted",60321),serverProcess:W("server-process",60322),serverEnvironment:W("server-environment",60323),pass:W("pass",60324),issueClosed:W("issue-closed",60324),stopCircle:W("stop-circle",60325),playCircle:W("play-circle",60326),record:W("record",60327),debugAltSmall:W("debug-alt-small",60328),vmConnect:W("vm-connect",60329),cloud:W("cloud",60330),merge:W("merge",60331),export:W("export",60332),graphLeft:W("graph-left",60333),magnet:W("magnet",60334),notebook:W("notebook",60335),redo:W("redo",60336),checkAll:W("check-all",60337),pinnedDirty:W("pinned-dirty",60338),passFilled:W("pass-filled",60339),circleLargeFilled:W("circle-large-filled",60340),circleLarge:W("circle-large",60341),circleLargeOutline:W("circle-large-outline",60341),combine:W("combine",60342),gather:W("gather",60342),table:W("table",60343),variableGroup:W("variable-group",60344),typeHierarchy:W("type-hierarchy",60345),typeHierarchySub:W("type-hierarchy-sub",60346),typeHierarchySuper:W("type-hierarchy-super",60347),gitPullRequestCreate:W("git-pull-request-create",60348),runAbove:W("run-above",60349),runBelow:W("run-below",60350),notebookTemplate:W("notebook-template",60351),debugRerun:W("debug-rerun",60352),workspaceTrusted:W("workspace-trusted",60353),workspaceUntrusted:W("workspace-untrusted",60354),workspaceUnknown:W("workspace-unknown",60355),terminalCmd:W("terminal-cmd",60356),terminalDebian:W("terminal-debian",60357),terminalLinux:W("terminal-linux",60358),terminalPowershell:W("terminal-powershell",60359),terminalTmux:W("terminal-tmux",60360),terminalUbuntu:W("terminal-ubuntu",60361),terminalBash:W("terminal-bash",60362),arrowSwap:W("arrow-swap",60363),copy:W("copy",60364),personAdd:W("person-add",60365),filterFilled:W("filter-filled",60366),wand:W("wand",60367),debugLineByLine:W("debug-line-by-line",60368),inspect:W("inspect",60369),layers:W("layers",60370),layersDot:W("layers-dot",60371),layersActive:W("layers-active",60372),compass:W("compass",60373),compassDot:W("compass-dot",60374),compassActive:W("compass-active",60375),azure:W("azure",60376),issueDraft:W("issue-draft",60377),gitPullRequestClosed:W("git-pull-request-closed",60378),gitPullRequestDraft:W("git-pull-request-draft",60379),debugAll:W("debug-all",60380),debugCoverage:W("debug-coverage",60381),runErrors:W("run-errors",60382),folderLibrary:W("folder-library",60383),debugContinueSmall:W("debug-continue-small",60384),beakerStop:W("beaker-stop",60385),graphLine:W("graph-line",60386),graphScatter:W("graph-scatter",60387),pieChart:W("pie-chart",60388),bracket:W("bracket",60175),bracketDot:W("bracket-dot",60389),bracketError:W("bracket-error",60390),lockSmall:W("lock-small",60391),azureDevops:W("azure-devops",60392),verifiedFilled:W("verified-filled",60393),newline:W("newline",60394),layout:W("layout",60395),layoutActivitybarLeft:W("layout-activitybar-left",60396),layoutActivitybarRight:W("layout-activitybar-right",60397),layoutPanelLeft:W("layout-panel-left",60398),layoutPanelCenter:W("layout-panel-center",60399),layoutPanelJustify:W("layout-panel-justify",60400),layoutPanelRight:W("layout-panel-right",60401),layoutPanel:W("layout-panel",60402),layoutSidebarLeft:W("layout-sidebar-left",60403),layoutSidebarRight:W("layout-sidebar-right",60404),layoutStatusbar:W("layout-statusbar",60405),layoutMenubar:W("layout-menubar",60406),layoutCentered:W("layout-centered",60407),target:W("target",60408),indent:W("indent",60409),recordSmall:W("record-small",60410),errorSmall:W("error-small",60411),terminalDecorationError:W("terminal-decoration-error",60411),arrowCircleDown:W("arrow-circle-down",60412),arrowCircleLeft:W("arrow-circle-left",60413),arrowCircleRight:W("arrow-circle-right",60414),arrowCircleUp:W("arrow-circle-up",60415),layoutSidebarRightOff:W("layout-sidebar-right-off",60416),layoutPanelOff:W("layout-panel-off",60417),layoutSidebarLeftOff:W("layout-sidebar-left-off",60418),blank:W("blank",60419),heartFilled:W("heart-filled",60420),map:W("map",60421),mapHorizontal:W("map-horizontal",60421),foldHorizontal:W("fold-horizontal",60421),mapFilled:W("map-filled",60422),mapHorizontalFilled:W("map-horizontal-filled",60422),foldHorizontalFilled:W("fold-horizontal-filled",60422),circleSmall:W("circle-small",60423),bellSlash:W("bell-slash",60424),bellSlashDot:W("bell-slash-dot",60425),commentUnresolved:W("comment-unresolved",60426),gitPullRequestGoToChanges:W("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:W("git-pull-request-new-changes",60428),searchFuzzy:W("search-fuzzy",60429),commentDraft:W("comment-draft",60430),send:W("send",60431),sparkle:W("sparkle",60432),insert:W("insert",60433),mic:W("mic",60434),thumbsdownFilled:W("thumbsdown-filled",60435),thumbsupFilled:W("thumbsup-filled",60436),coffee:W("coffee",60437),snake:W("snake",60438),game:W("game",60439),vr:W("vr",60440),chip:W("chip",60441),piano:W("piano",60442),music:W("music",60443),micFilled:W("mic-filled",60444),repoFetch:W("repo-fetch",60445),copilot:W("copilot",60446),lightbulbSparkle:W("lightbulb-sparkle",60447),robot:W("robot",60448),sparkleFilled:W("sparkle-filled",60449),diffSingle:W("diff-single",60450),diffMultiple:W("diff-multiple",60451),surroundWith:W("surround-with",60452),share:W("share",60453),gitStash:W("git-stash",60454),gitStashApply:W("git-stash-apply",60455),gitStashPop:W("git-stash-pop",60456),vscode:W("vscode",60457),vscodeInsiders:W("vscode-insiders",60458),codeOss:W("code-oss",60459),runCoverage:W("run-coverage",60460),runAllCoverage:W("run-all-coverage",60461),coverage:W("coverage",60462),githubProject:W("github-project",60463),mapVertical:W("map-vertical",60464),foldVertical:W("fold-vertical",60464),mapVerticalFilled:W("map-vertical-filled",60465),foldVerticalFilled:W("fold-vertical-filled",60465),goToSearch:W("go-to-search",60466),percentage:W("percentage",60467),sortPercentage:W("sort-percentage",60467),attach:W("attach",60468)};var P$={dialogError:W("dialog-error","error"),dialogWarning:W("dialog-warning","warning"),dialogInfo:W("dialog-info","info"),dialogClose:W("dialog-close","close"),treeItemExpanded:W("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:W("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:W("tree-filter-on-type-off","list-selection"),treeFilterClear:W("tree-filter-clear","close"),treeItemLoading:W("tree-item-loading","loading"),menuSelection:W("menu-selection","check"),menuSubmenu:W("menu-submenu","chevron-right"),menuBarMore:W("menubar-more","more"),scrollbarButtonLeft:W("scrollbar-button-left","triangle-left"),scrollbarButtonRight:W("scrollbar-button-right","triangle-right"),scrollbarButtonUp:W("scrollbar-button-up","triangle-up"),scrollbarButtonDown:W("scrollbar-button-down","triangle-down"),toolBarMore:W("toolbar-more","more"),quickInputBack:W("quick-input-back","arrow-left"),dropDownButton:W("drop-down-button",60084),symbolCustomColor:W("symbol-customcolor",60252),exportIcon:W("export",60332),workspaceUnspecified:W("workspace-unspecified",60355),newLine:W("newline",60394),thumbsDownFilled:W("thumbsdown-filled",60435),thumbsUpFilled:W("thumbsup-filled",60436),gitFetch:W("git-fetch",60445),lightbulbSparkleAutofix:W("lightbulb-sparkle-autofix",60447),debugBreakpointPending:W("debug-breakpoint-pending",60377)},p={...g7,...P$};class m6{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new U0,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(J){this._onDidChange.fire({changedLanguages:J,changedColorMap:!1})}register(J,Q){return this._tokenizationSupports.set(J,Q),this.handleChange([J]),n0(()=>{if(this._tokenizationSupports.get(J)!==Q)return;this._tokenizationSupports.delete(J),this.handleChange([J])})}get(J){return this._tokenizationSupports.get(J)||null}registerFactory(J,Q){this._factories.get(J)?.dispose();const Z=new l7(this,J,Q);return this._factories.set(J,Z),n0(()=>{const $=this._factories.get(J);if(!$||$!==Z)return;this._factories.delete(J),$.dispose()})}async getOrCreate(J){const Q=this.get(J);if(Q)return Q;const Z=this._factories.get(J);if(!Z||Z.isResolved)return null;return await Z.resolve(),this.get(J)}isResolved(J){if(this.get(J))return!0;const Z=this._factories.get(J);if(!Z||Z.isResolved)return!0;return!1}setColorMap(J){this._colorMap=J,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){if(this._colorMap&&this._colorMap.length>2)return this._colorMap[2];return null}}class l7 extends O0{get isResolved(){return this._isResolved}constructor(J,Q,Z){super();this._registry=J,this._languageId=Q,this._factory=Z,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){if(!this._resolvePromise)this._resolvePromise=this._create();return this._resolvePromise}async _create(){const J=await this._factory.tokenizationSupport;if(this._isResolved=!0,J&&!this._isDisposed)this._register(this._registry.register(this._languageId,J))}}class p8{constructor(J,Q,Z){this.offset=J,this.type=Q,this.language=Z,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}var d7;(function(J){J[J.Increase=0]="Increase",J[J.Decrease=1]="Decrease"})(d7||(d7={}));var s7;(function(J){const Q=new Map;Q.set(0,p.symbolMethod),Q.set(1,p.symbolFunction),Q.set(2,p.symbolConstructor),Q.set(3,p.symbolField),Q.set(4,p.symbolVariable),Q.set(5,p.symbolClass),Q.set(6,p.symbolStruct),Q.set(7,p.symbolInterface),Q.set(8,p.symbolModule),Q.set(9,p.symbolProperty),Q.set(10,p.symbolEvent),Q.set(11,p.symbolOperator),Q.set(12,p.symbolUnit),Q.set(13,p.symbolValue),Q.set(15,p.symbolEnum),Q.set(14,p.symbolConstant),Q.set(15,p.symbolEnum),Q.set(16,p.symbolEnumMember),Q.set(17,p.symbolKeyword),Q.set(27,p.symbolSnippet),Q.set(18,p.symbolText),Q.set(19,p.symbolColor),Q.set(20,p.symbolFile),Q.set(21,p.symbolReference),Q.set(22,p.symbolCustomColor),Q.set(23,p.symbolFolder),Q.set(24,p.symbolTypeParameter),Q.set(25,p.account),Q.set(26,p.issues);function Z(Y){let z=Q.get(Y);if(!z)console.info("No codicon found for CompletionItemKind "+Y),z=p.symbolProperty;return z}J.toIcon=Z;const $=new Map;$.set("method",0),$.set("function",1),$.set("constructor",2),$.set("field",3),$.set("variable",4),$.set("class",5),$.set("struct",6),$.set("interface",7),$.set("module",8),$.set("property",9),$.set("event",10),$.set("operator",11),$.set("unit",12),$.set("value",13),$.set("constant",14),$.set("enum",15),$.set("enum-member",16),$.set("enumMember",16),$.set("keyword",17),$.set("snippet",27),$.set("text",18),$.set("color",19),$.set("file",20),$.set("reference",21),$.set("customcolor",22),$.set("folder",23),$.set("type-parameter",24),$.set("typeParameter",24),$.set("account",25),$.set("issue",26);function X(Y,z){let U=$.get(Y);if(typeof U==="undefined"&&!z)U=9;return U}J.fromString=X})(s7||(s7={}));var a7;(function(J){J[J.Automatic=0]="Automatic",J[J.Explicit=1]="Explicit"})(a7||(a7={}));var o7;(function(J){J[J.Automatic=0]="Automatic",J[J.PasteAs=1]="PasteAs"})(o7||(o7={}));var n7;(function(J){J[J.Invoke=1]="Invoke",J[J.TriggerCharacter=2]="TriggerCharacter",J[J.ContentChange=3]="ContentChange"})(n7||(n7={}));var i7;(function(J){J[J.Text=0]="Text",J[J.Read=1]="Read",J[J.Write=2]="Write"})(i7||(i7={}));var p4={[17]:i("Array","array"),[16]:i("Boolean","boolean"),[4]:i("Class","class"),[13]:i("Constant","constant"),[8]:i("Constructor","constructor"),[9]:i("Enum","enumeration"),[21]:i("EnumMember","enumeration member"),[23]:i("Event","event"),[7]:i("Field","field"),[0]:i("File","file"),[11]:i("Function","function"),[10]:i("Interface","interface"),[19]:i("Key","key"),[5]:i("Method","method"),[1]:i("Module","module"),[2]:i("Namespace","namespace"),[20]:i("Null","null"),[15]:i("Number","number"),[18]:i("Object","object"),[24]:i("Operator","operator"),[3]:i("Package","package"),[6]:i("Property","property"),[14]:i("String","string"),[22]:i("Struct","struct"),[25]:i("TypeParameter","type parameter"),[12]:i("Variable","variable")},t7;(function(J){const Q=new Map;Q.set(0,p.symbolFile),Q.set(1,p.symbolModule),Q.set(2,p.symbolNamespace),Q.set(3,p.symbolPackage),Q.set(4,p.symbolClass),Q.set(5,p.symbolMethod),Q.set(6,p.symbolProperty),Q.set(7,p.symbolField),Q.set(8,p.symbolConstructor),Q.set(9,p.symbolEnum),Q.set(10,p.symbolInterface),Q.set(11,p.symbolFunction),Q.set(12,p.symbolVariable),Q.set(13,p.symbolConstant),Q.set(14,p.symbolString),Q.set(15,p.symbolNumber),Q.set(16,p.symbolBoolean),Q.set(17,p.symbolArray),Q.set(18,p.symbolObject),Q.set(19,p.symbolKey),Q.set(20,p.symbolNull),Q.set(21,p.symbolEnumMember),Q.set(22,p.symbolStruct),Q.set(23,p.symbolEvent),Q.set(24,p.symbolOperator),Q.set(25,p.symbolTypeParameter);function Z($){let X=Q.get($);if(!X)console.info("No codicon found for SymbolKind "+$),X=p.symbolProperty;return X}J.toIcon=Z})(t7||(t7={}));class Q1{static{this.Comment=new Q1("comment")}static{this.Imports=new Q1("imports")}static{this.Region=new Q1("region")}static fromValue(J){switch(J){case"comment":return Q1.Comment;case"imports":return Q1.Imports;case"region":return Q1.Region}return new Q1(J)}constructor(J){this.value=J}}var r7;(function(J){J[J.AIGenerated=1]="AIGenerated"})(r7||(r7={}));var e7;(function(J){J[J.Invoke=0]="Invoke",J[J.Automatic=1]="Automatic"})(e7||(e7={}));var J9;(function(J){function Q(Z){if(!Z||typeof Z!=="object")return!1;return typeof Z.id==="string"&&typeof Z.title==="string"}J.is=Q})(J9||(J9={}));var Q9;(function(J){J[J.Type=1]="Type",J[J.Parameter=2]="Parameter"})(Q9||(Q9={}));var u4=new m6,c4=new m6,Z9;(function(J){J[J.Invoke=0]="Invoke",J[J.Automatic=1]="Automatic"})(Z9||(Z9={}));var $9;(function(J){J[J.Unknown=0]="Unknown",J[J.Disabled=1]="Disabled",J[J.Enabled=2]="Enabled"})($9||($9={}));var X9;(function(J){J[J.Invoke=1]="Invoke",J[J.Auto=2]="Auto"})(X9||(X9={}));var Y9;(function(J){J[J.None=0]="None",J[J.KeepWhitespace=1]="KeepWhitespace",J[J.InsertAsSnippet=4]="InsertAsSnippet"})(Y9||(Y9={}));var z9;(function(J){J[J.Method=0]="Method",J[J.Function=1]="Function",J[J.Constructor=2]="Constructor",J[J.Field=3]="Field",J[J.Variable=4]="Variable",J[J.Class=5]="Class",J[J.Struct=6]="Struct",J[J.Interface=7]="Interface",J[J.Module=8]="Module",J[J.Property=9]="Property",J[J.Event=10]="Event",J[J.Operator=11]="Operator",J[J.Unit=12]="Unit",J[J.Value=13]="Value",J[J.Constant=14]="Constant",J[J.Enum=15]="Enum",J[J.EnumMember=16]="EnumMember",J[J.Keyword=17]="Keyword",J[J.Text=18]="Text",J[J.Color=19]="Color",J[J.File=20]="File",J[J.Reference=21]="Reference",J[J.Customcolor=22]="Customcolor",J[J.Folder=23]="Folder",J[J.TypeParameter=24]="TypeParameter",J[J.User=25]="User",J[J.Issue=26]="Issue",J[J.Snippet=27]="Snippet"})(z9||(z9={}));var U9;(function(J){J[J.Deprecated=1]="Deprecated"})(U9||(U9={}));var G9;(function(J){J[J.Invoke=0]="Invoke",J[J.TriggerCharacter=1]="TriggerCharacter",J[J.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(G9||(G9={}));var V9;(function(J){J[J.EXACT=0]="EXACT",J[J.ABOVE=1]="ABOVE",J[J.BELOW=2]="BELOW"})(V9||(V9={}));var W9;(function(J){J[J.NotSet=0]="NotSet",J[J.ContentFlush=1]="ContentFlush",J[J.RecoverFromMarkers=2]="RecoverFromMarkers",J[J.Explicit=3]="Explicit",J[J.Paste=4]="Paste",J[J.Undo=5]="Undo",J[J.Redo=6]="Redo"})(W9||(W9={}));var F9;(function(J){J[J.LF=1]="LF",J[J.CRLF=2]="CRLF"})(F9||(F9={}));var _9;(function(J){J[J.Text=0]="Text",J[J.Read=1]="Read",J[J.Write=2]="Write"})(_9||(_9={}));var B9;(function(J){J[J.None=0]="None",J[J.Keep=1]="Keep",J[J.Brackets=2]="Brackets",J[J.Advanced=3]="Advanced",J[J.Full=4]="Full"})(B9||(B9={}));var H9;(function(J){J[J.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",J[J.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",J[J.accessibilitySupport=2]="accessibilitySupport",J[J.accessibilityPageSize=3]="accessibilityPageSize",J[J.ariaLabel=4]="ariaLabel",J[J.ariaRequired=5]="ariaRequired",J[J.autoClosingBrackets=6]="autoClosingBrackets",J[J.autoClosingComments=7]="autoClosingComments",J[J.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",J[J.autoClosingDelete=9]="autoClosingDelete",J[J.autoClosingOvertype=10]="autoClosingOvertype",J[J.autoClosingQuotes=11]="autoClosingQuotes",J[J.autoIndent=12]="autoIndent",J[J.automaticLayout=13]="automaticLayout",J[J.autoSurround=14]="autoSurround",J[J.bracketPairColorization=15]="bracketPairColorization",J[J.guides=16]="guides",J[J.codeLens=17]="codeLens",J[J.codeLensFontFamily=18]="codeLensFontFamily",J[J.codeLensFontSize=19]="codeLensFontSize",J[J.colorDecorators=20]="colorDecorators",J[J.colorDecoratorsLimit=21]="colorDecoratorsLimit",J[J.columnSelection=22]="columnSelection",J[J.comments=23]="comments",J[J.contextmenu=24]="contextmenu",J[J.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",J[J.cursorBlinking=26]="cursorBlinking",J[J.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",J[J.cursorStyle=28]="cursorStyle",J[J.cursorSurroundingLines=29]="cursorSurroundingLines",J[J.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",J[J.cursorWidth=31]="cursorWidth",J[J.disableLayerHinting=32]="disableLayerHinting",J[J.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",J[J.domReadOnly=34]="domReadOnly",J[J.dragAndDrop=35]="dragAndDrop",J[J.dropIntoEditor=36]="dropIntoEditor",J[J.emptySelectionClipboard=37]="emptySelectionClipboard",J[J.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",J[J.extraEditorClassName=39]="extraEditorClassName",J[J.fastScrollSensitivity=40]="fastScrollSensitivity",J[J.find=41]="find",J[J.fixedOverflowWidgets=42]="fixedOverflowWidgets",J[J.folding=43]="folding",J[J.foldingStrategy=44]="foldingStrategy",J[J.foldingHighlight=45]="foldingHighlight",J[J.foldingImportsByDefault=46]="foldingImportsByDefault",J[J.foldingMaximumRegions=47]="foldingMaximumRegions",J[J.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",J[J.fontFamily=49]="fontFamily",J[J.fontInfo=50]="fontInfo",J[J.fontLigatures=51]="fontLigatures",J[J.fontSize=52]="fontSize",J[J.fontWeight=53]="fontWeight",J[J.fontVariations=54]="fontVariations",J[J.formatOnPaste=55]="formatOnPaste",J[J.formatOnType=56]="formatOnType",J[J.glyphMargin=57]="glyphMargin",J[J.gotoLocation=58]="gotoLocation",J[J.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",J[J.hover=60]="hover",J[J.inDiffEditor=61]="inDiffEditor",J[J.inlineSuggest=62]="inlineSuggest",J[J.inlineEdit=63]="inlineEdit",J[J.letterSpacing=64]="letterSpacing",J[J.lightbulb=65]="lightbulb",J[J.lineDecorationsWidth=66]="lineDecorationsWidth",J[J.lineHeight=67]="lineHeight",J[J.lineNumbers=68]="lineNumbers",J[J.lineNumbersMinChars=69]="lineNumbersMinChars",J[J.linkedEditing=70]="linkedEditing",J[J.links=71]="links",J[J.matchBrackets=72]="matchBrackets",J[J.minimap=73]="minimap",J[J.mouseStyle=74]="mouseStyle",J[J.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",J[J.mouseWheelZoom=76]="mouseWheelZoom",J[J.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",J[J.multiCursorModifier=78]="multiCursorModifier",J[J.multiCursorPaste=79]="multiCursorPaste",J[J.multiCursorLimit=80]="multiCursorLimit",J[J.occurrencesHighlight=81]="occurrencesHighlight",J[J.overviewRulerBorder=82]="overviewRulerBorder",J[J.overviewRulerLanes=83]="overviewRulerLanes",J[J.padding=84]="padding",J[J.pasteAs=85]="pasteAs",J[J.parameterHints=86]="parameterHints",J[J.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",J[J.placeholder=88]="placeholder",J[J.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",J[J.quickSuggestions=90]="quickSuggestions",J[J.quickSuggestionsDelay=91]="quickSuggestionsDelay",J[J.readOnly=92]="readOnly",J[J.readOnlyMessage=93]="readOnlyMessage",J[J.renameOnType=94]="renameOnType",J[J.renderControlCharacters=95]="renderControlCharacters",J[J.renderFinalNewline=96]="renderFinalNewline",J[J.renderLineHighlight=97]="renderLineHighlight",J[J.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",J[J.renderValidationDecorations=99]="renderValidationDecorations",J[J.renderWhitespace=100]="renderWhitespace",J[J.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",J[J.roundedSelection=102]="roundedSelection",J[J.rulers=103]="rulers",J[J.scrollbar=104]="scrollbar",J[J.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",J[J.scrollBeyondLastLine=106]="scrollBeyondLastLine",J[J.scrollPredominantAxis=107]="scrollPredominantAxis",J[J.selectionClipboard=108]="selectionClipboard",J[J.selectionHighlight=109]="selectionHighlight",J[J.selectOnLineNumbers=110]="selectOnLineNumbers",J[J.showFoldingControls=111]="showFoldingControls",J[J.showUnused=112]="showUnused",J[J.snippetSuggestions=113]="snippetSuggestions",J[J.smartSelect=114]="smartSelect",J[J.smoothScrolling=115]="smoothScrolling",J[J.stickyScroll=116]="stickyScroll",J[J.stickyTabStops=117]="stickyTabStops",J[J.stopRenderingLineAfter=118]="stopRenderingLineAfter",J[J.suggest=119]="suggest",J[J.suggestFontSize=120]="suggestFontSize",J[J.suggestLineHeight=121]="suggestLineHeight",J[J.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",J[J.suggestSelection=123]="suggestSelection",J[J.tabCompletion=124]="tabCompletion",J[J.tabIndex=125]="tabIndex",J[J.unicodeHighlighting=126]="unicodeHighlighting",J[J.unusualLineTerminators=127]="unusualLineTerminators",J[J.useShadowDOM=128]="useShadowDOM",J[J.useTabStops=129]="useTabStops",J[J.wordBreak=130]="wordBreak",J[J.wordSegmenterLocales=131]="wordSegmenterLocales",J[J.wordSeparators=132]="wordSeparators",J[J.wordWrap=133]="wordWrap",J[J.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",J[J.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",J[J.wordWrapColumn=136]="wordWrapColumn",J[J.wordWrapOverride1=137]="wordWrapOverride1",J[J.wordWrapOverride2=138]="wordWrapOverride2",J[J.wrappingIndent=139]="wrappingIndent",J[J.wrappingStrategy=140]="wrappingStrategy",J[J.showDeprecated=141]="showDeprecated",J[J.inlayHints=142]="inlayHints",J[J.editorClassName=143]="editorClassName",J[J.pixelRatio=144]="pixelRatio",J[J.tabFocusMode=145]="tabFocusMode",J[J.layoutInfo=146]="layoutInfo",J[J.wrappingInfo=147]="wrappingInfo",J[J.defaultColorDecorators=148]="defaultColorDecorators",J[J.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",J[J.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"})(H9||(H9={}));var w9;(function(J){J[J.TextDefined=0]="TextDefined",J[J.LF=1]="LF",J[J.CRLF=2]="CRLF"})(w9||(w9={}));var q9;(function(J){J[J.LF=0]="LF",J[J.CRLF=1]="CRLF"})(q9||(q9={}));var N9;(function(J){J[J.Left=1]="Left",J[J.Center=2]="Center",J[J.Right=3]="Right"})(N9||(N9={}));var j9;(function(J){J[J.Increase=0]="Increase",J[J.Decrease=1]="Decrease"})(j9||(j9={}));var P9;(function(J){J[J.None=0]="None",J[J.Indent=1]="Indent",J[J.IndentOutdent=2]="IndentOutdent",J[J.Outdent=3]="Outdent"})(P9||(P9={}));var M9;(function(J){J[J.Both=0]="Both",J[J.Right=1]="Right",J[J.Left=2]="Left",J[J.None=3]="None"})(M9||(M9={}));var D9;(function(J){J[J.Type=1]="Type",J[J.Parameter=2]="Parameter"})(D9||(D9={}));var k9;(function(J){J[J.Automatic=0]="Automatic",J[J.Explicit=1]="Explicit"})(k9||(k9={}));var A9;(function(J){J[J.Invoke=0]="Invoke",J[J.Automatic=1]="Automatic"})(A9||(A9={}));var g6;(function(J){J[J.DependsOnKbLayout=-1]="DependsOnKbLayout",J[J.Unknown=0]="Unknown",J[J.Backspace=1]="Backspace",J[J.Tab=2]="Tab",J[J.Enter=3]="Enter",J[J.Shift=4]="Shift",J[J.Ctrl=5]="Ctrl",J[J.Alt=6]="Alt",J[J.PauseBreak=7]="PauseBreak",J[J.CapsLock=8]="CapsLock",J[J.Escape=9]="Escape",J[J.Space=10]="Space",J[J.PageUp=11]="PageUp",J[J.PageDown=12]="PageDown",J[J.End=13]="End",J[J.Home=14]="Home",J[J.LeftArrow=15]="LeftArrow",J[J.UpArrow=16]="UpArrow",J[J.RightArrow=17]="RightArrow",J[J.DownArrow=18]="DownArrow",J[J.Insert=19]="Insert",J[J.Delete=20]="Delete",J[J.Digit0=21]="Digit0",J[J.Digit1=22]="Digit1",J[J.Digit2=23]="Digit2",J[J.Digit3=24]="Digit3",J[J.Digit4=25]="Digit4",J[J.Digit5=26]="Digit5",J[J.Digit6=27]="Digit6",J[J.Digit7=28]="Digit7",J[J.Digit8=29]="Digit8",J[J.Digit9=30]="Digit9",J[J.KeyA=31]="KeyA",J[J.KeyB=32]="KeyB",J[J.KeyC=33]="KeyC",J[J.KeyD=34]="KeyD",J[J.KeyE=35]="KeyE",J[J.KeyF=36]="KeyF",J[J.KeyG=37]="KeyG",J[J.KeyH=38]="KeyH",J[J.KeyI=39]="KeyI",J[J.KeyJ=40]="KeyJ",J[J.KeyK=41]="KeyK",J[J.KeyL=42]="KeyL",J[J.KeyM=43]="KeyM",J[J.KeyN=44]="KeyN",J[J.KeyO=45]="KeyO",J[J.KeyP=46]="KeyP",J[J.KeyQ=47]="KeyQ",J[J.KeyR=48]="KeyR",J[J.KeyS=49]="KeyS",J[J.KeyT=50]="KeyT",J[J.KeyU=51]="KeyU",J[J.KeyV=52]="KeyV",J[J.KeyW=53]="KeyW",J[J.KeyX=54]="KeyX",J[J.KeyY=55]="KeyY",J[J.KeyZ=56]="KeyZ",J[J.Meta=57]="Meta",J[J.ContextMenu=58]="ContextMenu",J[J.F1=59]="F1",J[J.F2=60]="F2",J[J.F3=61]="F3",J[J.F4=62]="F4",J[J.F5=63]="F5",J[J.F6=64]="F6",J[J.F7=65]="F7",J[J.F8=66]="F8",J[J.F9=67]="F9",J[J.F10=68]="F10",J[J.F11=69]="F11",J[J.F12=70]="F12",J[J.F13=71]="F13",J[J.F14=72]="F14",J[J.F15=73]="F15",J[J.F16=74]="F16",J[J.F17=75]="F17",J[J.F18=76]="F18",J[J.F19=77]="F19",J[J.F20=78]="F20",J[J.F21=79]="F21",J[J.F22=80]="F22",J[J.F23=81]="F23",J[J.F24=82]="F24",J[J.NumLock=83]="NumLock",J[J.ScrollLock=84]="ScrollLock",J[J.Semicolon=85]="Semicolon",J[J.Equal=86]="Equal",J[J.Comma=87]="Comma",J[J.Minus=88]="Minus",J[J.Period=89]="Period",J[J.Slash=90]="Slash",J[J.Backquote=91]="Backquote",J[J.BracketLeft=92]="BracketLeft",J[J.Backslash=93]="Backslash",J[J.BracketRight=94]="BracketRight",J[J.Quote=95]="Quote",J[J.OEM_8=96]="OEM_8",J[J.IntlBackslash=97]="IntlBackslash",J[J.Numpad0=98]="Numpad0",J[J.Numpad1=99]="Numpad1",J[J.Numpad2=100]="Numpad2",J[J.Numpad3=101]="Numpad3",J[J.Numpad4=102]="Numpad4",J[J.Numpad5=103]="Numpad5",J[J.Numpad6=104]="Numpad6",J[J.Numpad7=105]="Numpad7",J[J.Numpad8=106]="Numpad8",J[J.Numpad9=107]="Numpad9",J[J.NumpadMultiply=108]="NumpadMultiply",J[J.NumpadAdd=109]="NumpadAdd",J[J.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",J[J.NumpadSubtract=111]="NumpadSubtract",J[J.NumpadDecimal=112]="NumpadDecimal",J[J.NumpadDivide=113]="NumpadDivide",J[J.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",J[J.ABNT_C1=115]="ABNT_C1",J[J.ABNT_C2=116]="ABNT_C2",J[J.AudioVolumeMute=117]="AudioVolumeMute",J[J.AudioVolumeUp=118]="AudioVolumeUp",J[J.AudioVolumeDown=119]="AudioVolumeDown",J[J.BrowserSearch=120]="BrowserSearch",J[J.BrowserHome=121]="BrowserHome",J[J.BrowserBack=122]="BrowserBack",J[J.BrowserForward=123]="BrowserForward",J[J.MediaTrackNext=124]="MediaTrackNext",J[J.MediaTrackPrevious=125]="MediaTrackPrevious",J[J.MediaStop=126]="MediaStop",J[J.MediaPlayPause=127]="MediaPlayPause",J[J.LaunchMediaPlayer=128]="LaunchMediaPlayer",J[J.LaunchMail=129]="LaunchMail",J[J.LaunchApp2=130]="LaunchApp2",J[J.Clear=131]="Clear",J[J.MAX_VALUE=132]="MAX_VALUE"})(g6||(g6={}));var l6;(function(J){J[J.Hint=1]="Hint",J[J.Info=2]="Info",J[J.Warning=4]="Warning",J[J.Error=8]="Error"})(l6||(l6={}));var d6;(function(J){J[J.Unnecessary=1]="Unnecessary",J[J.Deprecated=2]="Deprecated"})(d6||(d6={}));var T9;(function(J){J[J.Inline=1]="Inline",J[J.Gutter=2]="Gutter"})(T9||(T9={}));var R9;(function(J){J[J.Normal=1]="Normal",J[J.Underlined=2]="Underlined"})(R9||(R9={}));var K9;(function(J){J[J.UNKNOWN=0]="UNKNOWN",J[J.TEXTAREA=1]="TEXTAREA",J[J.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",J[J.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",J[J.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",J[J.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",J[J.CONTENT_TEXT=6]="CONTENT_TEXT",J[J.CONTENT_EMPTY=7]="CONTENT_EMPTY",J[J.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",J[J.CONTENT_WIDGET=9]="CONTENT_WIDGET",J[J.OVERVIEW_RULER=10]="OVERVIEW_RULER",J[J.SCROLLBAR=11]="SCROLLBAR",J[J.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",J[J.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(K9||(K9={}));var I9;(function(J){J[J.AIGenerated=1]="AIGenerated"})(I9||(I9={}));var O9;(function(J){J[J.Invoke=0]="Invoke",J[J.Automatic=1]="Automatic"})(O9||(O9={}));var L9;(function(J){J[J.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",J[J.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",J[J.TOP_CENTER=2]="TOP_CENTER"})(L9||(L9={}));var v9;(function(J){J[J.Left=1]="Left",J[J.Center=2]="Center",J[J.Right=4]="Right",J[J.Full=7]="Full"})(v9||(v9={}));var E9;(function(J){J[J.Word=0]="Word",J[J.Line=1]="Line",J[J.Suggest=2]="Suggest"})(E9||(E9={}));var x9;(function(J){J[J.Left=0]="Left",J[J.Right=1]="Right",J[J.None=2]="None",J[J.LeftOfInjectedText=3]="LeftOfInjectedText",J[J.RightOfInjectedText=4]="RightOfInjectedText"})(x9||(x9={}));var S9;(function(J){J[J.Off=0]="Off",J[J.On=1]="On",J[J.Relative=2]="Relative",J[J.Interval=3]="Interval",J[J.Custom=4]="Custom"})(S9||(S9={}));var y9;(function(J){J[J.None=0]="None",J[J.Text=1]="Text",J[J.Blocks=2]="Blocks"})(y9||(y9={}));var b9;(function(J){J[J.Smooth=0]="Smooth",J[J.Immediate=1]="Immediate"})(b9||(b9={}));var C9;(function(J){J[J.Auto=1]="Auto",J[J.Hidden=2]="Hidden",J[J.Visible=3]="Visible"})(C9||(C9={}));var s6;(function(J){J[J.LTR=0]="LTR",J[J.RTL=1]="RTL"})(s6||(s6={}));var f9;(function(J){J.Off="off",J.OnCode="onCode",J.On="on"})(f9||(f9={}));var h9;(function(J){J[J.Invoke=1]="Invoke",J[J.TriggerCharacter=2]="TriggerCharacter",J[J.ContentChange=3]="ContentChange"})(h9||(h9={}));var p9;(function(J){J[J.File=0]="File",J[J.Module=1]="Module",J[J.Namespace=2]="Namespace",J[J.Package=3]="Package",J[J.Class=4]="Class",J[J.Method=5]="Method",J[J.Property=6]="Property",J[J.Field=7]="Field",J[J.Constructor=8]="Constructor",J[J.Enum=9]="Enum",J[J.Interface=10]="Interface",J[J.Function=11]="Function",J[J.Variable=12]="Variable",J[J.Constant=13]="Constant",J[J.String=14]="String",J[J.Number=15]="Number",J[J.Boolean=16]="Boolean",J[J.Array=17]="Array",J[J.Object=18]="Object",J[J.Key=19]="Key",J[J.Null=20]="Null",J[J.EnumMember=21]="EnumMember",J[J.Struct=22]="Struct",J[J.Event=23]="Event",J[J.Operator=24]="Operator",J[J.TypeParameter=25]="TypeParameter"})(p9||(p9={}));var u9;(function(J){J[J.Deprecated=1]="Deprecated"})(u9||(u9={}));var c9;(function(J){J[J.Hidden=0]="Hidden",J[J.Blink=1]="Blink",J[J.Smooth=2]="Smooth",J[J.Phase=3]="Phase",J[J.Expand=4]="Expand",J[J.Solid=5]="Solid"})(c9||(c9={}));var m9;(function(J){J[J.Line=1]="Line",J[J.Block=2]="Block",J[J.Underline=3]="Underline",J[J.LineThin=4]="LineThin",J[J.BlockOutline=5]="BlockOutline",J[J.UnderlineThin=6]="UnderlineThin"})(m9||(m9={}));var g9;(function(J){J[J.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",J[J.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",J[J.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",J[J.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(g9||(g9={}));var l9;(function(J){J[J.None=0]="None",J[J.Same=1]="Same",J[J.Indent=2]="Indent",J[J.DeepIndent=3]="DeepIndent"})(l9||(l9={}));function s9(){return{editor:void 0,languages:void 0,CancellationTokenSource:p6,Emitter:U0,KeyCode:g6,KeyMod:d9,Position:s,Range:f,Selection:N0,SelectionDirection:s6,MarkerSeverity:l6,MarkerTag:d6,Uri:W0,Token:p8}}class d9{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(J,Q){return u7(J,Q)}}class E1{static{this.CHANNEL_NAME="editorWorkerHost"}static getChannel(J){return J.getChannel(E1.CHANNEL_NAME)}static setChannel(J,Q){J.setChannel(E1.CHANNEL_NAME,Q)}}function D$(J){return Array.isArray(J)}var a9,o9;class n9{constructor(J,Q){this.uri=J,this.value=Q}}class Z6{static{this.defaultToKey=(J)=>J.toString()}constructor(J,Q){if(this[a9]="ResourceMap",J instanceof Z6)this.map=new Map(J.map),this.toKey=Q??Z6.defaultToKey;else if(D$(J)){this.map=new Map,this.toKey=Q??Z6.defaultToKey;for(let[Z,$]of J)this.set(Z,$)}else this.map=new Map,this.toKey=J??Z6.defaultToKey}set(J,Q){return this.map.set(this.toKey(J),new n9(J,Q)),this}get(J){return this.map.get(this.toKey(J))?.value}has(J){return this.map.has(this.toKey(J))}get size(){return this.map.size}clear(){this.map.clear()}delete(J){return this.map.delete(this.toKey(J))}forEach(J,Q){if(typeof Q!=="undefined")J=J.bind(Q);for(let[Z,$]of this.map)J($.value,$.uri,this)}*values(){for(let J of this.map.values())yield J.value}*keys(){for(let J of this.map.values())yield J.uri}*entries(){for(let J of this.map.values())yield[J.uri,J.value]}*[(a9=Symbol.toStringTag,Symbol.iterator)](){for(let[,J]of this.map)yield[J.uri,J.value]}}class i9{constructor(){this[o9]="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(J){return this._map.has(J)}get(J,Q=0){const Z=this._map.get(J);if(!Z)return;if(Q!==0)this.touch(Z,Q);return Z.value}set(J,Q,Z=0){let $=this._map.get(J);if($){if($.value=Q,Z!==0)this.touch($,Z)}else{switch($={key:J,value:Q,next:void 0,previous:void 0},Z){case 0:this.addItemLast($);break;case 1:this.addItemFirst($);break;case 2:this.addItemLast($);break;default:this.addItemLast($);break}this._map.set(J,$),this._size++}return this}delete(J){return!!this.remove(J)}remove(J){const Q=this._map.get(J);if(!Q)return;return this._map.delete(J),this.removeItem(Q),this._size--,Q.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const J=this._head;return this._map.delete(J.key),this.removeItem(J),this._size--,J.value}forEach(J,Q){const Z=this._state;let $=this._head;while($){if(Q)J.bind(Q)($.value,$.key,this);else J($.value,$.key,this);if(this._state!==Z)throw new Error("LinkedMap got modified during iteration.");$=$.next}}keys(){const J=this,Q=this._state;let Z=this._head;const $={[Symbol.iterator](){return $},next(){if(J._state!==Q)throw new Error("LinkedMap got modified during iteration.");if(Z){const X={value:Z.key,done:!1};return Z=Z.next,X}else return{value:void 0,done:!0}}};return $}values(){const J=this,Q=this._state;let Z=this._head;const $={[Symbol.iterator](){return $},next(){if(J._state!==Q)throw new Error("LinkedMap got modified during iteration.");if(Z){const X={value:Z.value,done:!1};return Z=Z.next,X}else return{value:void 0,done:!0}}};return $}entries(){const J=this,Q=this._state;let Z=this._head;const $={[Symbol.iterator](){return $},next(){if(J._state!==Q)throw new Error("LinkedMap got modified during iteration.");if(Z){const X={value:[Z.key,Z.value],done:!1};return Z=Z.next,X}else return{value:void 0,done:!0}}};return $}[(o9=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(J){if(J>=this.size)return;if(J===0){this.clear();return}let Q=this._head,Z=this.size;while(Q&&Z>J)this._map.delete(Q.key),Q=Q.next,Z--;if(this._head=Q,this._size=Z,Q)Q.previous=void 0;this._state++}trimNew(J){if(J>=this.size)return;if(J===0){this.clear();return}let Q=this._tail,Z=this.size;while(Q&&Z>J)this._map.delete(Q.key),Q=Q.previous,Z--;if(this._tail=Q,this._size=Z,Q)Q.next=void 0;this._state++}addItemFirst(J){if(!this._head&&!this._tail)this._tail=J;else if(!this._head)throw new Error("Invalid list");else J.next=this._head,this._head.previous=J;this._head=J,this._state++}addItemLast(J){if(!this._head&&!this._tail)this._head=J;else if(!this._tail)throw new Error("Invalid list");else J.previous=this._tail,this._tail.next=J;this._tail=J,this._state++}removeItem(J){if(J===this._head&&J===this._tail)this._head=void 0,this._tail=void 0;else if(J===this._head){if(!J.next)throw new Error("Invalid list");J.next.previous=void 0,this._head=J.next}else if(J===this._tail){if(!J.previous)throw new Error("Invalid list");J.previous.next=void 0,this._tail=J.previous}else{const{next:Q,previous:Z}=J;if(!Q||!Z)throw new Error("Invalid list");Q.previous=Z,Z.next=Q}J.next=void 0,J.previous=void 0,this._state++}touch(J,Q){if(!this._head||!this._tail)throw new Error("Invalid list");if(Q!==1&&Q!==2)return;if(Q===1){if(J===this._head)return;const{next:Z,previous:$}=J;if(J===this._tail)$.next=void 0,this._tail=$;else Z.previous=$,$.next=Z;J.previous=void 0,J.next=this._head,this._head.previous=J,this._head=J,this._state++}else if(Q===2){if(J===this._tail)return;const{next:Z,previous:$}=J;if(J===this._head)Z.previous=void 0,this._head=Z;else Z.previous=$,$.next=Z;J.next=void 0,J.previous=this._tail,this._tail.next=J,this._tail=J,this._state++}}toJSON(){const J=[];return this.forEach((Q,Z)=>{J.push([Z,Q])}),J}fromJSON(J){this.clear();for(let[Q,Z]of J)this.set(Q,Z)}}class t9 extends i9{constructor(J,Q=1){super();this._limit=J,this._ratio=Math.min(Math.max(0,Q),1)}get limit(){return this._limit}set limit(J){this._limit=J,this.checkTrim()}get(J,Q=2){return super.get(J,Q)}peek(J){return super.get(J,0)}set(J,Q){return super.set(J,Q,2),this}checkTrim(){if(this.size>this._limit)this.trim(Math.round(this._limit*this._ratio))}}class u8 extends t9{constructor(J,Q=1){super(J,Q)}trim(J){this.trimOld(J)}set(J,Q){return super.set(J,Q),this.checkTrim(),this}}class c8{constructor(){this.map=new Map}add(J,Q){let Z=this.map.get(J);if(!Z)Z=new Set,this.map.set(J,Z);Z.add(Q)}delete(J,Q){const Z=this.map.get(J);if(!Z)return;if(Z.delete(Q),Z.size===0)this.map.delete(J)}forEach(J,Q){const Z=this.map.get(J);if(!Z)return;Z.forEach(Q)}get(J){const Q=this.map.get(J);if(!Q)return new Set;return Q}}var Zz=new u8(10);function k$(J){let Q=[];while(Object.prototype!==J)Q=Q.concat(Object.getOwnPropertyNames(J)),J=Object.getPrototypeOf(J);return Q}function m8(J){const Q=[];for(let Z of k$(J))if(typeof J[Z]==="function")Q.push(Z);return Q}function r9(J,Q){const Z=(X)=>{return function(){const Y=Array.prototype.slice.call(arguments,0);return Q(X,Y)}},$={};for(let X of J)$[X]=Z(X);return $}var e9;(function(J){J[J.Left=1]="Left",J[J.Center=2]="Center",J[J.Right=4]="Right",J[J.Full=7]="Full"})(e9||(e9={}));var JJ;(function(J){J[J.Left=1]="Left",J[J.Center=2]="Center",J[J.Right=3]="Right"})(JJ||(JJ={}));var QJ;(function(J){J[J.Both=0]="Both",J[J.Right=1]="Right",J[J.Left=2]="Left",J[J.None=3]="None"})(QJ||(QJ={}));function A$(J,Q,Z,$,X){if($===0)return!0;const Y=Q.charCodeAt($-1);if(J.get(Y)!==0)return!0;if(Y===13||Y===10)return!0;if(X>0){const z=Q.charCodeAt($);if(J.get(z)!==0)return!0}return!1}function T$(J,Q,Z,$,X){if($+X===Z)return!0;const Y=Q.charCodeAt($+X);if(J.get(Y)!==0)return!0;if(Y===13||Y===10)return!0;if(X>0){const z=Q.charCodeAt($+X-1);if(J.get(z)!==0)return!0}return!1}function R$(J,Q,Z,$,X){return A$(J,Q,Z,$,X)&&T$(J,Q,Z,$,X)}class g8{constructor(J,Q){this._wordSeparators=J,this._searchRegex=Q,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(J){this._searchRegex.lastIndex=J,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(J){const Q=J.length;let Z;do{if(this._prevMatchStartIndex+this._prevMatchLength===Q)return null;if(Z=this._searchRegex.exec(J),!Z)return null;const $=Z.index,X=Z[0].length;if($===this._prevMatchStartIndex&&X===this._prevMatchLength){if(X===0){if(G7(J,Q,this._searchRegex.lastIndex)>65535)this._searchRegex.lastIndex+=2;else this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=$,this._prevMatchLength=X,!this._wordSeparators||R$(this._wordSeparators,J,Q,$,X))return Z}while(Z);return null}}function ZJ(J,Q="Unreachable"){throw new Error(Q)}function H1(J){if(!J()){debugger;J(),c0(new $0("Assertion Failed"))}}function $6(J,Q){let Z=0;while(Z<J.length-1){const $=J[Z],X=J[Z+1];if(!Q($,X))return!1;Z++}return!0}function I$(J=""){let Q="(-?\\d*\\.\\d\\w*)|([^";for(let Z of K$){if(J.indexOf(Z)>=0)continue;Q+="\\"+Z}return Q+="\\s]+)",new RegExp(Q,"g")}function d8(J){let Q=l8;if(J&&J instanceof RegExp)if(!J.global){let Z="g";if(J.ignoreCase)Z+="i";if(J.multiline)Z+="m";if(J.unicode)Z+="u";Q=new RegExp(J.source,Z)}else Q=J;return Q.lastIndex=0,Q}function X6(J,Q,Z,$,X){if(Q=d8(Q),!X)X=T1.first($J);if(Z.length>X.maxLen){let V=J-X.maxLen/2;if(V<0)V=0;else $+=V;return Z=Z.substring(V,J+X.maxLen/2),X6(J,Q,Z,$,X)}const Y=Date.now(),z=J-1-$;let U=-1,G=null;for(let V=1;;V++){if(Date.now()-Y>=X.timeBudget)break;const F=z-X.windowSize*V;Q.lastIndex=Math.max(0,F);const _=O$(Q,Z,z,U);if(!_&&G)break;if(G=_,F<=0)break;U=F}if(G){const V={word:G[0],startColumn:$+1+G.index,endColumn:$+1+G.index+G[0].length};return Q.lastIndex=0,V}return null}function O$(J,Q,Z,$){let X;while(X=J.exec(Q)){const Y=X.index||0;if(Y<=Z&&J.lastIndex>=Z)return X;else if($>0&&Y>$)return null}return null}var K$='`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?',l8=I$(),$J=new A6;$J.unshift({maxLen:1000,windowSize:15,timeBudget:150});function L$(J,Q){return`[${X7(J.map(($)=>String.fromCodePoint($)).join(""))}]`}function XJ(J){return J===" "||J==="\n"||J==="\t"}class a8{static computeUnicodeHighlights(J,Q,Z){const $=Z?Z.startLineNumber:1,X=Z?Z.endLineNumber:J.getLineCount(),Y=new s8(Q),z=Y.getCandidateCodePoints();let U;if(z==="allNonBasicAscii")U=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g");else U=new RegExp(`${L$(Array.from(z))}`,"g");const G=new g8(null,U),V=[];let F=!1,_,B=0,H=0,w=0;J:for(let q=$,j=X;q<=j;q++){const k=J.getLineContent(q),D=k.length;G.reset(0);do if(_=G.next(k),_){let M=_.index,N=_.index+_[0].length;if(M>0){const x=k.charCodeAt(M-1);if(L1(x))M--}if(N+1<D){const x=k.charCodeAt(N-1);if(L1(x))N++}const P=k.substring(M,N);let R=X6(M+1,l8,k,0);if(R&&R.endColumn<=M+1)R=null;const T=Y.shouldHighlightNonBasicASCII(P,R?R.word:null);if(T!==0){if(T===3)B++;else if(T===2)H++;else if(T===1)w++;else ZJ(T);const x=1000;if(V.length>=x){F=!0;break J}V.push(new f(q,M+1,q,N+1))}}while(_)}return{ranges:V,hasMore:F,ambiguousCharacterCount:B,invisibleCharacterCount:H,nonBasicAsciiCharacterCount:w}}static computeUnicodeHighlightReason(J,Q){const Z=new s8(Q);switch(Z.shouldHighlightNonBasicASCII(J,null)){case 0:return null;case 2:return{kind:1};case 3:{const X=J.codePointAt(0),Y=Z.ambiguousCharacters.getPrimaryConfusable(X),z=l0.getLocales().filter((U)=>!l0.getInstance(new Set([...Q.allowedLocales,U])).isAmbiguous(X));return{kind:0,confusableWith:String.fromCodePoint(Y),notAmbiguousInLocales:z}}case 1:return{kind:2}}}}class s8{constructor(J){this.options=J,this.allowedCodePoints=new Set(J.allowedCodePoints),this.ambiguousCharacters=l0.getInstance(new Set(J.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const J=new Set;if(this.options.invisibleCharacters){for(let Q of i0.codePoints)if(!XJ(String.fromCodePoint(Q)))J.add(Q)}if(this.options.ambiguousCharacters)for(let Q of this.ambiguousCharacters.getConfusableCodePoints())J.add(Q);for(let Q of this.allowedCodePoints)J.delete(Q);return J}shouldHighlightNonBasicASCII(J,Q){const Z=J.codePointAt(0);if(this.allowedCodePoints.has(Z))return 0;if(this.options.nonBasicASCII)return 1;let $=!1,X=!1;if(Q)for(let Y of Q){const z=Y.codePointAt(0),U=V7(Y);if($=$||U,!U&&!this.ambiguousCharacters.isAmbiguous(z)&&!i0.isInvisibleCharacter(z))X=!0}if(!$&&X)return 0;if(this.options.invisibleCharacters){if(!XJ(J)&&i0.isInvisibleCharacter(Z))return 2}if(this.options.ambiguousCharacters){if(this.ambiguousCharacters.isAmbiguous(Z))return 3}return 0}}class w1{constructor(J,Q,Z){this.changes=J,this.moves=Q,this.hitTimeout=Z}}class o8{constructor(J,Q){this.lineRangeMapping=J,this.changes=Q}}class m{static addRange(J,Q){let Z=0;while(Z<Q.length&&Q[Z].endExclusive<J.start)Z++;let $=Z;while($<Q.length&&Q[$].start<=J.endExclusive)$++;if(Z===$)Q.splice(Z,0,J);else{const X=Math.min(J.start,Q[Z].start),Y=Math.max(J.endExclusive,Q[$-1].endExclusive);Q.splice(Z,$-Z,new m(X,Y))}}static tryCreate(J,Q){if(J>Q)return;return new m(J,Q)}static ofLength(J){return new m(0,J)}static ofStartAndLength(J,Q){return new m(J,J+Q)}constructor(J,Q){if(this.start=J,this.endExclusive=Q,J>Q)throw new $0(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(J){return new m(this.start+J,this.endExclusive+J)}deltaStart(J){return new m(this.start+J,this.endExclusive)}deltaEnd(J){return new m(this.start,this.endExclusive+J)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(J){return this.start<=J&&J<this.endExclusive}join(J){return new m(Math.min(this.start,J.start),Math.max(this.endExclusive,J.endExclusive))}intersect(J){const Q=Math.max(this.start,J.start),Z=Math.min(this.endExclusive,J.endExclusive);if(Q<=Z)return new m(Q,Z);return}intersects(J){const Q=Math.max(this.start,J.start),Z=Math.min(this.endExclusive,J.endExclusive);return Q<Z}isBefore(J){return this.endExclusive<=J.start}isAfter(J){return this.start>=J.endExclusive}slice(J){return J.slice(this.start,this.endExclusive)}substring(J){return J.substring(this.start,this.endExclusive)}clip(J){if(this.isEmpty)throw new $0(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,J))}clipCyclic(J){if(this.isEmpty)throw new $0(`Invalid clipping range: ${this.toString()}`);if(J<this.start)return this.endExclusive-(this.start-J)%this.length;if(J>=this.endExclusive)return this.start+(J-this.start)%this.length;return J}forEach(J){for(let Q=this.start;Q<this.endExclusive;Q++)J(Q)}}function a0(J,Q){const Z=q1(J,Q);return Z===-1?void 0:J[Z]}function q1(J,Q,Z=0,$=J.length){let X=Z,Y=$;while(X<Y){const z=Math.floor((X+Y)/2);if(Q(J[z]))X=z+1;else Y=z}return X-1}function YJ(J,Q){const Z=a6(J,Q);return Z===J.length?void 0:J[Z]}function a6(J,Q,Z=0,$=J.length){let X=Z,Y=$;while(X<Y){const z=Math.floor((X+Y)/2);if(Q(J[z]))Y=z;else X=z+1}return X}class Y6{static{this.assertInvariants=!1}constructor(J){this._array=J,this._findLastMonotonousLastIdx=0}findLastMonotonous(J){if(Y6.assertInvariants){if(this._prevFindLastPredicate){for(let Z of this._array)if(this._prevFindLastPredicate(Z)&&!J(Z))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=J}const Q=q1(this._array,J,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=Q+1,Q===-1?void 0:this._array[Q]}}class c{static fromRangeInclusive(J){return new c(J.startLineNumber,J.endLineNumber+1)}static joinMany(J){if(J.length===0)return[];let Q=new v0(J[0].slice());for(let Z=1;Z<J.length;Z++)Q=Q.getUnion(new v0(J[Z].slice()));return Q.ranges}static join(J){if(J.length===0)throw new $0("lineRanges cannot be empty");let Q=J[0].startLineNumber,Z=J[0].endLineNumberExclusive;for(let $=1;$<J.length;$++)Q=Math.min(Q,J[$].startLineNumber),Z=Math.max(Z,J[$].endLineNumberExclusive);return new c(Q,Z)}static ofLength(J,Q){return new c(J,J+Q)}static deserialize(J){return new c(J[0],J[1])}constructor(J,Q){if(J>Q)throw new $0(`startLineNumber ${J} cannot be after endLineNumberExclusive ${Q}`);this.startLineNumber=J,this.endLineNumberExclusive=Q}contains(J){return this.startLineNumber<=J&&J<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(J){return new c(this.startLineNumber+J,this.endLineNumberExclusive+J)}deltaLength(J){return new c(this.startLineNumber,this.endLineNumberExclusive+J)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(J){return new c(Math.min(this.startLineNumber,J.startLineNumber),Math.max(this.endLineNumberExclusive,J.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(J){const Q=Math.max(this.startLineNumber,J.startLineNumber),Z=Math.min(this.endLineNumberExclusive,J.endLineNumberExclusive);if(Q<=Z)return new c(Q,Z);return}intersectsStrict(J){return this.startLineNumber<J.endLineNumberExclusive&&J.startLineNumber<this.endLineNumberExclusive}overlapOrTouch(J){return this.startLineNumber<=J.endLineNumberExclusive&&J.startLineNumber<=this.endLineNumberExclusive}equals(J){return this.startLineNumber===J.startLineNumber&&this.endLineNumberExclusive===J.endLineNumberExclusive}toInclusiveRange(){if(this.isEmpty)return null;return new f(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new f(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(J){const Q=[];for(let Z=this.startLineNumber;Z<this.endLineNumberExclusive;Z++)Q.push(J(Z));return Q}forEach(J){for(let Q=this.startLineNumber;Q<this.endLineNumberExclusive;Q++)J(Q)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}includes(J){return this.startLineNumber<=J&&J<this.endLineNumberExclusive}toOffsetRange(){return new m(this.startLineNumber-1,this.endLineNumberExclusive-1)}}class v0{constructor(J=[]){this._normalizedRanges=J}get ranges(){return this._normalizedRanges}addRange(J){if(J.length===0)return;const Q=a6(this._normalizedRanges,($)=>$.endLineNumberExclusive>=J.startLineNumber),Z=q1(this._normalizedRanges,($)=>$.startLineNumber<=J.endLineNumberExclusive)+1;if(Q===Z)this._normalizedRanges.splice(Q,0,J);else if(Q===Z-1){const $=this._normalizedRanges[Q];this._normalizedRanges[Q]=$.join(J)}else{const $=this._normalizedRanges[Q].join(this._normalizedRanges[Z-1]).join(J);this._normalizedRanges.splice(Q,Z-Q,$)}}contains(J){const Q=a0(this._normalizedRanges,(Z)=>Z.startLineNumber<=J);return!!Q&&Q.endLineNumberExclusive>J}intersects(J){const Q=a0(this._normalizedRanges,(Z)=>Z.startLineNumber<J.endLineNumberExclusive);return!!Q&&Q.endLineNumberExclusive>J.startLineNumber}getUnion(J){if(this._normalizedRanges.length===0)return J;if(J._normalizedRanges.length===0)return this;const Q=[];let Z=0,$=0,X=null;while(Z<this._normalizedRanges.length||$<J._normalizedRanges.length){let Y=null;if(Z<this._normalizedRanges.length&&$<J._normalizedRanges.length){const z=this._normalizedRanges[Z],U=J._normalizedRanges[$];if(z.startLineNumber<U.startLineNumber)Y=z,Z++;else Y=U,$++}else if(Z<this._normalizedRanges.length)Y=this._normalizedRanges[Z],Z++;else Y=J._normalizedRanges[$],$++;if(X===null)X=Y;else if(X.endLineNumberExclusive>=Y.startLineNumber)X=new c(X.startLineNumber,Math.max(X.endLineNumberExclusive,Y.endLineNumberExclusive));else Q.push(X),X=Y}if(X!==null)Q.push(X);return new v0(Q)}subtractFrom(J){const Q=a6(this._normalizedRanges,(Y)=>Y.endLineNumberExclusive>=J.startLineNumber),Z=q1(this._normalizedRanges,(Y)=>Y.startLineNumber<=J.endLineNumberExclusive)+1;if(Q===Z)return new v0([J]);const $=[];let X=J.startLineNumber;for(let Y=Q;Y<Z;Y++){const z=this._normalizedRanges[Y];if(z.startLineNumber>X)$.push(new c(X,z.startLineNumber));X=z.endLineNumberExclusive}if(X<J.endLineNumberExclusive)$.push(new c(X,J.endLineNumberExclusive));return new v0($)}toString(){return this._normalizedRanges.map((J)=>J.toString()).join(", ")}getIntersection(J){const Q=[];let Z=0,$=0;while(Z<this._normalizedRanges.length&&$<J._normalizedRanges.length){const X=this._normalizedRanges[Z],Y=J._normalizedRanges[$],z=X.intersect(Y);if(z&&!z.isEmpty)Q.push(z);if(X.endLineNumberExclusive<Y.endLineNumberExclusive)Z++;else $++}return new v0(Q)}getWithDelta(J){return new v0(this._normalizedRanges.map((Q)=>Q.delta(J)))}}class Z1{static{this.zero=new Z1(0,0)}static betweenPositions(J,Q){if(J.lineNumber===Q.lineNumber)return new Z1(0,Q.column-J.column);else return new Z1(Q.lineNumber-J.lineNumber,Q.column-1)}static ofRange(J){return Z1.betweenPositions(J.getStartPosition(),J.getEndPosition())}static ofText(J){let Q=0,Z=0;for(let $ of J)if($==="\n")Q++,Z=0;else Z++;return new Z1(Q,Z)}constructor(J,Q){this.lineCount=J,this.columnCount=Q}isGreaterThanOrEqualTo(J){if(this.lineCount!==J.lineCount)return this.lineCount>J.lineCount;return this.columnCount>=J.columnCount}createRange(J){if(this.lineCount===0)return new f(J.lineNumber,J.column,J.lineNumber,J.column+this.columnCount);else return new f(J.lineNumber,J.column,J.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(J){if(this.lineCount===0)return new s(J.lineNumber,J.column+this.columnCount);else return new s(J.lineNumber+this.lineCount,this.columnCount+1)}toString(){return`${this.lineCount},${this.columnCount}`}}class n8{constructor(J,Q){this.range=J,this.text=Q}toSingleEditOperation(){return{range:this.range,text:this.text}}}function x1(J,Q){if(J.lineNumber<1)return new s(1,1);if(J.lineNumber>Q.length)return new s(Q.length,Q[Q.length-1].length+1);const Z=Q[J.lineNumber-1];if(J.column>Z.length+1)return new s(J.lineNumber,Z.length+1);return J}function zJ(J,Q){return J>=1&&J<=Q.length}class j0{static inverse(J,Q,Z){const $=[];let X=1,Y=1;for(let U of J){const G=new j0(new c(X,U.original.startLineNumber),new c(Y,U.modified.startLineNumber));if(!G.modified.isEmpty)$.push(G);X=U.original.endLineNumberExclusive,Y=U.modified.endLineNumberExclusive}const z=new j0(new c(X,Q+1),new c(Y,Z+1));if(!z.modified.isEmpty)$.push(z);return $}static clip(J,Q,Z){const $=[];for(let X of J){const Y=X.original.intersect(Q),z=X.modified.intersect(Z);if(Y&&!Y.isEmpty&&z&&!z.isEmpty)$.push(new j0(Y,z))}return $}constructor(J,Q){this.original=J,this.modified=Q}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new j0(this.modified,this.original)}join(J){return new j0(this.original.join(J.original),this.modified.join(J.modified))}toRangeMapping(){const J=this.original.toInclusiveRange(),Q=this.modified.toInclusiveRange();if(J&&Q)return new D0(J,Q);else if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new $0("not a valid diff");return new D0(new f(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new f(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new D0(new f(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new f(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(J,Q){if(zJ(this.original.endLineNumberExclusive,J)&&zJ(this.modified.endLineNumberExclusive,Q))return new D0(new f(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new f(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new D0(f.fromPositions(new s(this.original.startLineNumber,1),x1(new s(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),J)),f.fromPositions(new s(this.modified.startLineNumber,1),x1(new s(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),Q)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new D0(f.fromPositions(x1(new s(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),J),x1(new s(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),J)),f.fromPositions(x1(new s(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),Q),x1(new s(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),Q)));throw new $0}}class E0 extends j0{static fromRangeMappings(J){const Q=c.join(J.map(($)=>c.fromRangeInclusive($.originalRange))),Z=c.join(J.map(($)=>c.fromRangeInclusive($.modifiedRange)));return new E0(Q,Z,J)}constructor(J,Q,Z){super(J,Q);this.innerChanges=Z}flip(){return new E0(this.modified,this.original,this.innerChanges?.map((J)=>J.flip()))}withInnerChangesFromLineRanges(){return new E0(this.original,this.modified,[this.toRangeMapping()])}}class D0{static assertSorted(J){for(let Q=1;Q<J.length;Q++){const Z=J[Q-1],$=J[Q];if(!(Z.originalRange.getEndPosition().isBeforeOrEqual($.originalRange.getStartPosition())&&Z.modifiedRange.getEndPosition().isBeforeOrEqual($.modifiedRange.getStartPosition())))throw new $0("Range mappings must be sorted")}}constructor(J,Q){this.originalRange=J,this.modifiedRange=Q}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new D0(this.modifiedRange,this.originalRange)}toTextEdit(J){const Q=J.getValueOfRange(this.modifiedRange);return new n8(this.originalRange,Q)}}function GJ(J,Q,Z,$){return new s0(J,Q,Z).ComputeDiff($)}function E$(J){if(J.length<=1)return J;const Q=[J[0]];let Z=Q[0];for(let $=1,X=J.length;$<X;$++){const Y=J[$],z=Y.originalStart-(Z.originalStart+Z.originalLength),U=Y.modifiedStart-(Z.modifiedStart+Z.modifiedLength);if(Math.min(z,U)<v$)Z.originalLength=Y.originalStart+Y.originalLength-Z.originalStart,Z.modifiedLength=Y.modifiedStart+Y.modifiedLength-Z.modifiedStart;else Q.push(Y),Z=Y}return Q}function t8(J,Q){const Z=z7(J);if(Z===-1)return Q;return Z+1}function r8(J,Q){const Z=U7(J);if(Z===-1)return Q;return Z+2}function UJ(J){if(J===0)return()=>!0;const Q=Date.now();return()=>{return Date.now()-Q<J}}var v$=3;class e8{computeDiff(J,Q,Z){const X=new WJ(J,Q,{maxComputationTime:Z.maxComputationTimeMs,shouldIgnoreTrimWhitespace:Z.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),Y=[];let z=null;for(let U of X.changes){let G;if(U.originalEndLineNumber===0)G=new c(U.originalStartLineNumber+1,U.originalStartLineNumber+1);else G=new c(U.originalStartLineNumber,U.originalEndLineNumber+1);let V;if(U.modifiedEndLineNumber===0)V=new c(U.modifiedStartLineNumber+1,U.modifiedStartLineNumber+1);else V=new c(U.modifiedStartLineNumber,U.modifiedEndLineNumber+1);let F=new E0(G,V,U.charChanges?.map((_)=>new D0(new f(_.originalStartLineNumber,_.originalStartColumn,_.originalEndLineNumber,_.originalEndColumn),new f(_.modifiedStartLineNumber,_.modifiedStartColumn,_.modifiedEndLineNumber,_.modifiedEndColumn))));if(z){if(z.modified.endLineNumberExclusive===F.modified.startLineNumber||z.original.endLineNumberExclusive===F.original.startLineNumber)F=new E0(z.original.join(F.original),z.modified.join(F.modified),z.innerChanges&&F.innerChanges?z.innerChanges.concat(F.innerChanges):void 0),Y.pop()}Y.push(F),z=F}return H1(()=>{return $6(Y,(U,G)=>G.original.startLineNumber-U.original.endLineNumberExclusive===G.modified.startLineNumber-U.modified.endLineNumberExclusive&&U.original.endLineNumberExclusive<G.original.startLineNumber&&U.modified.endLineNumberExclusive<G.modified.startLineNumber)}),new w1(Y,[],X.quitEarly)}}class i8{constructor(J){const Q=[],Z=[];for(let $=0,X=J.length;$<X;$++)Q[$]=t8(J[$],1),Z[$]=r8(J[$],1);this.lines=J,this._startColumns=Q,this._endColumns=Z}getElements(){const J=[];for(let Q=0,Z=this.lines.length;Q<Z;Q++)J[Q]=this.lines[Q].substring(this._startColumns[Q]-1,this._endColumns[Q]-1);return J}getStrictElement(J){return this.lines[J]}getStartLineNumber(J){return J+1}getEndLineNumber(J){return J+1}createCharSequence(J,Q,Z){const $=[],X=[],Y=[];let z=0;for(let U=Q;U<=Z;U++){const G=this.lines[U],V=J?this._startColumns[U]:1,F=J?this._endColumns[U]:G.length+1;for(let _=V;_<F;_++)$[z]=G.charCodeAt(_-1),X[z]=U+1,Y[z]=_,z++;if(!J&&U<Z)$[z]=10,X[z]=U+1,Y[z]=G.length+1,z++}return new VJ($,X,Y)}}class VJ{constructor(J,Q,Z){this._charCodes=J,this._lineNumbers=Q,this._columns=Z}toString(){return"["+this._charCodes.map((J,Q)=>(J===10?"\\n":String.fromCharCode(J))+`-(${this._lineNumbers[Q]},${this._columns[Q]})`).join(", ")+"]"}_assertIndex(J,Q){if(J<0||J>=Q.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(J){if(J>0&&J===this._lineNumbers.length)return this.getEndLineNumber(J-1);return this._assertIndex(J,this._lineNumbers),this._lineNumbers[J]}getEndLineNumber(J){if(J===-1)return this.getStartLineNumber(J+1);if(this._assertIndex(J,this._lineNumbers),this._charCodes[J]===10)return this._lineNumbers[J]+1;return this._lineNumbers[J]}getStartColumn(J){if(J>0&&J===this._columns.length)return this.getEndColumn(J-1);return this._assertIndex(J,this._columns),this._columns[J]}getEndColumn(J){if(J===-1)return this.getStartColumn(J+1);if(this._assertIndex(J,this._columns),this._charCodes[J]===10)return 1;return this._columns[J]+1}}class S1{constructor(J,Q,Z,$,X,Y,z,U){this.originalStartLineNumber=J,this.originalStartColumn=Q,this.originalEndLineNumber=Z,this.originalEndColumn=$,this.modifiedStartLineNumber=X,this.modifiedStartColumn=Y,this.modifiedEndLineNumber=z,this.modifiedEndColumn=U}static createFromDiffChange(J,Q,Z){const $=Q.getStartLineNumber(J.originalStart),X=Q.getStartColumn(J.originalStart),Y=Q.getEndLineNumber(J.originalStart+J.originalLength-1),z=Q.getEndColumn(J.originalStart+J.originalLength-1),U=Z.getStartLineNumber(J.modifiedStart),G=Z.getStartColumn(J.modifiedStart),V=Z.getEndLineNumber(J.modifiedStart+J.modifiedLength-1),F=Z.getEndColumn(J.modifiedStart+J.modifiedLength-1);return new S1($,X,Y,z,U,G,V,F)}}class z6{constructor(J,Q,Z,$,X){this.originalStartLineNumber=J,this.originalEndLineNumber=Q,this.modifiedStartLineNumber=Z,this.modifiedEndLineNumber=$,this.charChanges=X}static createFromDiffResult(J,Q,Z,$,X,Y,z){let U,G,V,F,_=void 0;if(Q.originalLength===0)U=Z.getStartLineNumber(Q.originalStart)-1,G=0;else U=Z.getStartLineNumber(Q.originalStart),G=Z.getEndLineNumber(Q.originalStart+Q.originalLength-1);if(Q.modifiedLength===0)V=$.getStartLineNumber(Q.modifiedStart)-1,F=0;else V=$.getStartLineNumber(Q.modifiedStart),F=$.getEndLineNumber(Q.modifiedStart+Q.modifiedLength-1);if(Y&&Q.originalLength>0&&Q.originalLength<20&&Q.modifiedLength>0&&Q.modifiedLength<20&&X()){const B=Z.createCharSequence(J,Q.originalStart,Q.originalStart+Q.originalLength-1),H=$.createCharSequence(J,Q.modifiedStart,Q.modifiedStart+Q.modifiedLength-1);if(B.getElements().length>0&&H.getElements().length>0){let w=GJ(B,H,X,!0).changes;if(z)w=E$(w);_=[];for(let q=0,j=w.length;q<j;q++)_.push(S1.createFromDiffChange(w[q],B,H))}}return new z6(U,G,V,F,_)}}class WJ{constructor(J,Q,Z){this.shouldComputeCharChanges=Z.shouldComputeCharChanges,this.shouldPostProcessCharChanges=Z.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=Z.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=Z.shouldMakePrettyDiff,this.originalLines=J,this.modifiedLines=Q,this.original=new i8(J),this.modified=new i8(Q),this.continueLineDiff=UJ(Z.maxComputationTime),this.continueCharDiff=UJ(Z.maxComputationTime===0?0:Math.min(Z.maxComputationTime,5000))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0){if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[]};return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:void 0}]}}if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:void 0}]};const J=GJ(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),Q=J.changes,Z=J.quitEarly;if(this.shouldIgnoreTrimWhitespace){const z=[];for(let U=0,G=Q.length;U<G;U++)z.push(z6.createFromDiffResult(this.shouldIgnoreTrimWhitespace,Q[U],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:Z,changes:z}}const $=[];let X=0,Y=0;for(let z=-1,U=Q.length;z<U;z++){const G=z+1<U?Q[z+1]:null,V=G?G.originalStart:this.originalLines.length,F=G?G.modifiedStart:this.modifiedLines.length;while(X<V&&Y<F){const _=this.originalLines[X],B=this.modifiedLines[Y];if(_!==B){{let H=t8(_,1),w=t8(B,1);while(H>1&&w>1){const q=_.charCodeAt(H-2),j=B.charCodeAt(w-2);if(q!==j)break;H--,w--}if(H>1||w>1)this._pushTrimWhitespaceCharChange($,X+1,1,H,Y+1,1,w)}{let H=r8(_,1),w=r8(B,1);const q=_.length+1,j=B.length+1;while(H<q&&w<j){const k=_.charCodeAt(H-1),D=_.charCodeAt(w-1);if(k!==D)break;H++,w++}if(H<q||w<j)this._pushTrimWhitespaceCharChange($,X+1,H,q,Y+1,w,j)}}X++,Y++}if(G)$.push(z6.createFromDiffResult(this.shouldIgnoreTrimWhitespace,G,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),X+=G.originalLength,Y+=G.modifiedLength}return{quitEarly:Z,changes:$}}_pushTrimWhitespaceCharChange(J,Q,Z,$,X,Y,z){if(this._mergeTrimWhitespaceCharChange(J,Q,Z,$,X,Y,z))return;let U=void 0;if(this.shouldComputeCharChanges)U=[new S1(Q,Z,Q,$,X,Y,X,z)];J.push(new z6(Q,Q,X,X,U))}_mergeTrimWhitespaceCharChange(J,Q,Z,$,X,Y,z){const U=J.length;if(U===0)return!1;const G=J[U-1];if(G.originalEndLineNumber===0||G.modifiedEndLineNumber===0)return!1;if(G.originalEndLineNumber===Q&&G.modifiedEndLineNumber===X){if(this.shouldComputeCharChanges&&G.charChanges)G.charChanges.push(new S1(Q,Z,Q,$,X,Y,X,z));return!0}if(G.originalEndLineNumber+1===Q&&G.modifiedEndLineNumber+1===X){if(G.originalEndLineNumber=Q,G.modifiedEndLineNumber=X,this.shouldComputeCharChanges&&G.charChanges)G.charChanges.push(new S1(Q,Z,Q,$,X,Y,X,z));return!0}return!1}}function FJ(J,Q,Z=($,X)=>$===X){if(J===Q)return!0;if(!J||!Q)return!1;if(J.length!==Q.length)return!1;for(let $=0,X=J.length;$<X;$++)if(!Z(J[$],Q[$]))return!1;return!0}function*_J(J,Q){let Z,$;for(let X of J){if($!==void 0&&Q($,X))Z.push(X);else{if(Z)yield Z;Z=[X]}$=X}if(Z)yield Z}function BJ(J,Q){for(let Z=0;Z<=J.length;Z++)Q(Z===0?void 0:J[Z-1],Z===J.length?void 0:J[Z])}function HJ(J,Q){for(let Z=0;Z<J.length;Z++)Q(Z===0?void 0:J[Z-1],J[Z],Z+1===J.length?void 0:J[Z+1])}function wJ(J,Q){for(let Z of Q)J.push(Z)}function U6(J,Q){return(Z,$)=>Q(J(Z),J($))}function qJ(J){return(Q,Z)=>-J(Q,Z)}var J5;(function(J){function Q(Y){return Y<0}J.isLessThan=Q;function Z(Y){return Y<=0}J.isLessThanOrEqual=Z;function $(Y){return Y>0}J.isGreaterThan=$;function X(Y){return Y===0}J.isNeitherLessOrGreaterThan=X,J.greaterThan=1,J.lessThan=-1,J.neitherLessOrGreaterThan=0})(J5||(J5={}));var G6=(J,Q)=>J-Q;class o6{static{this.empty=new o6((J)=>{})}constructor(J){this.iterate=J}toArray(){const J=[];return this.iterate((Q)=>{return J.push(Q),!0}),J}filter(J){return new o6((Q)=>this.iterate((Z)=>J(Z)?Q(Z):!0))}map(J){return new o6((Q)=>this.iterate((Z)=>Q(J(Z))))}findLast(J){let Q;return this.iterate((Z)=>{if(J(Z))Q=Z;return!0}),Q}findLastMaxBy(J){let Q,Z=!0;return this.iterate(($)=>{if(Z||J5.isGreaterThan(J($,Q)))Z=!1,Q=$;return!0}),Q}}class x0{static trivial(J,Q){return new x0([new o(m.ofLength(J.length),m.ofLength(Q.length))],!1)}static trivialTimedOut(J,Q){return new x0([new o(m.ofLength(J.length),m.ofLength(Q.length))],!0)}constructor(J,Q){this.diffs=J,this.hitTimeout=Q}}class o{static invert(J,Q){const Z=[];return BJ(J,($,X)=>{Z.push(o.fromOffsetPairs($?$.getEndExclusives():K0.zero,X?X.getStarts():new K0(Q,($?$.seq2Range.endExclusive-$.seq1Range.endExclusive:0)+Q)))}),Z}static fromOffsetPairs(J,Q){return new o(new m(J.offset1,Q.offset1),new m(J.offset2,Q.offset2))}static assertSorted(J){let Q=void 0;for(let Z of J){if(Q){if(!(Q.seq1Range.endExclusive<=Z.seq1Range.start&&Q.seq2Range.endExclusive<=Z.seq2Range.start))throw new $0("Sequence diffs must be sorted")}Q=Z}}constructor(J,Q){this.seq1Range=J,this.seq2Range=Q}swap(){return new o(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(J){return new o(this.seq1Range.join(J.seq1Range),this.seq2Range.join(J.seq2Range))}delta(J){if(J===0)return this;return new o(this.seq1Range.delta(J),this.seq2Range.delta(J))}deltaStart(J){if(J===0)return this;return new o(this.seq1Range.deltaStart(J),this.seq2Range.deltaStart(J))}deltaEnd(J){if(J===0)return this;return new o(this.seq1Range.deltaEnd(J),this.seq2Range.deltaEnd(J))}intersect(J){const Q=this.seq1Range.intersect(J.seq1Range),Z=this.seq2Range.intersect(J.seq2Range);if(!Q||!Z)return;return new o(Q,Z)}getStarts(){return new K0(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new K0(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class K0{static{this.zero=new K0(0,0)}static{this.max=new K0(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER)}constructor(J,Q){this.offset1=J,this.offset2=Q}toString(){return`${this.offset1} <-> ${this.offset2}`}delta(J){if(J===0)return this;return new K0(this.offset1+J,this.offset2+J)}equals(J){return this.offset1===J.offset1&&this.offset2===J.offset2}}class $1{static{this.instance=new $1}isValid(){return!0}}class Q5{constructor(J){if(this.timeout=J,this.startTime=Date.now(),this.valid=!0,J<=0)throw new $0("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime<this.timeout)&&this.valid){this.valid=!1;debugger}return this.valid}}function W6(J){return J===32||J===9}class V6{constructor(J,Q){this.width=J,this.height=Q,this.array=[],this.array=new Array(J*Q)}get(J,Q){return this.array[J+Q*this.width]}set(J,Q,Z){this.array[J+Q*this.width]=Z}}class y1{static{this.chrKeys=new Map}static getKey(J){let Q=this.chrKeys.get(J);if(Q===void 0)Q=this.chrKeys.size,this.chrKeys.set(J,Q);return Q}constructor(J,Q,Z){this.range=J,this.lines=Q,this.source=Z,this.histogram=[];let $=0;for(let X=J.startLineNumber-1;X<J.endLineNumberExclusive-1;X++){const Y=Q[X];for(let U=0;U<Y.length;U++){$++;const G=Y[U],V=y1.getKey(G);this.histogram[V]=(this.histogram[V]||0)+1}$++;const z=y1.getKey("\n");this.histogram[z]=(this.histogram[z]||0)+1}this.totalCount=$}computeSimilarity(J){let Q=0;const Z=Math.max(this.histogram.length,J.histogram.length);for(let $=0;$<Z;$++)Q+=Math.abs((this.histogram[$]??0)-(J.histogram[$]??0));return 1-Q/(this.totalCount+J.totalCount)}}class Z5{compute(J,Q,Z=$1.instance,$){if(J.length===0||Q.length===0)return x0.trivial(J,Q);const X=new V6(J.length,Q.length),Y=new V6(J.length,Q.length),z=new V6(J.length,Q.length);for(let H=0;H<J.length;H++)for(let w=0;w<Q.length;w++){if(!Z.isValid())return x0.trivialTimedOut(J,Q);const q=H===0?0:X.get(H-1,w),j=w===0?0:X.get(H,w-1);let k;if(J.getElement(H)===Q.getElement(w)){if(H===0||w===0)k=0;else k=X.get(H-1,w-1);if(H>0&&w>0&&Y.get(H-1,w-1)===3)k+=z.get(H-1,w-1);k+=$?$(H,w):1}else k=-1;const D=Math.max(q,j,k);if(D===k){const M=H>0&&w>0?z.get(H-1,w-1):0;z.set(H,w,M+1),Y.set(H,w,3)}else if(D===q)z.set(H,w,0),Y.set(H,w,1);else if(D===j)z.set(H,w,0),Y.set(H,w,2);X.set(H,w,D)}const U=[];let G=J.length,V=Q.length;function F(H,w){if(H+1!==G||w+1!==V)U.push(new o(new m(H+1,G),new m(w+1,V)));G=H,V=w}let _=J.length-1,B=Q.length-1;while(_>=0&&B>=0)if(Y.get(_,B)===3)F(_,B),_--,B--;else if(Y.get(_,B)===1)_--;else B--;return F(-1,-1),U.reverse(),new x0(U,!1)}}class F6{compute(J,Q,Z=$1.instance){if(J.length===0||Q.length===0)return x0.trivial(J,Q);const $=J,X=Q;function Y(w,q){while(w<$.length&&q<X.length&&$.getElement(w)===X.getElement(q))w++,q++;return w}let z=0;const U=new NJ;U.set(0,Y(0,0));const G=new jJ;G.set(0,U.get(0)===0?null:new $5(null,0,0,U.get(0)));let V=0;J:while(!0){if(z++,!Z.isValid())return x0.trivialTimedOut($,X);const w=-Math.min(z,X.length+z%2),q=Math.min(z,$.length+z%2);for(V=w;V<=q;V+=2){let j=0;const k=V===q?-1:U.get(V+1),D=V===w?-1:U.get(V-1)+1;j++;const M=Math.min(Math.max(k,D),$.length),N=M-V;if(j++,M>$.length||N>X.length)continue;const P=Y(M,N);U.set(V,P);const R=M===k?G.get(V+1):G.get(V-1);if(G.set(V,P!==M?new $5(R,M,N,P-M):R),U.get(V)===$.length&&U.get(V)-V===X.length)break J}}let F=G.get(V);const _=[];let B=$.length,H=X.length;while(!0){const w=F?F.x+F.length:0,q=F?F.y+F.length:0;if(w!==B||q!==H)_.push(new o(new m(w,B),new m(q,H)));if(!F)break;B=F.x,H=F.y,F=F.prev}return _.reverse(),new x0(_,!1)}}class $5{constructor(J,Q,Z,$){this.prev=J,this.x=Q,this.y=Z,this.length=$}}class NJ{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(J){if(J<0)return J=-J-1,this.negativeArr[J];else return this.positiveArr[J]}set(J,Q){if(J<0){if(J=-J-1,J>=this.negativeArr.length){const Z=this.negativeArr;this.negativeArr=new Int32Array(Z.length*2),this.negativeArr.set(Z)}this.negativeArr[J]=Q}else{if(J>=this.positiveArr.length){const Z=this.positiveArr;this.positiveArr=new Int32Array(Z.length*2),this.positiveArr.set(Z)}this.positiveArr[J]=Q}}}class jJ{constructor(){this.positiveArr=[],this.negativeArr=[]}get(J){if(J<0)return J=-J-1,this.negativeArr[J];else return this.positiveArr[J]}set(J,Q){if(J<0)J=-J-1,this.negativeArr[J]=Q;else this.positiveArr[J]=Q}}function X5(J){return J>=97&&J<=122||J>=65&&J<=90||J>=48&&J<=57}function PJ(J){return x$[J]}function MJ(J){if(J===10)return 8;else if(J===13)return 7;else if(W6(J))return 6;else if(J>=97&&J<=122)return 0;else if(J>=65&&J<=90)return 1;else if(J>=48&&J<=57)return 2;else if(J===-1)return 3;else if(J===44||J===59)return 5;else return 4}class N1{constructor(J,Q,Z){this.lines=J,this.range=Q,this.considerWhitespaceChanges=Z,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let $=this.range.startLineNumber;$<=this.range.endLineNumber;$++){let X=J[$-1],Y=0;if($===this.range.startLineNumber&&this.range.startColumn>1)Y=this.range.startColumn-1,X=X.substring(Y);this.lineStartOffsets.push(Y);let z=0;if(!Z){const G=X.trimStart();z=X.length-G.length,X=G.trimEnd()}this.trimmedWsLengthsByLineIdx.push(z);const U=$===this.range.endLineNumber?Math.min(this.range.endColumn-1-Y-z,X.length):X.length;for(let G=0;G<U;G++)this.elements.push(X.charCodeAt(G));if($<this.range.endLineNumber)this.elements.push("\n".charCodeAt(0)),this.firstElementOffsetByLineIdx.push(this.elements.length)}}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new m(0,this.length))}getText(J){return this.elements.slice(J.start,J.endExclusive).map((Q)=>String.fromCharCode(Q)).join("")}getElement(J){return this.elements[J]}get length(){return this.elements.length}getBoundaryScore(J){const Q=MJ(J>0?this.elements[J-1]:-1),Z=MJ(J<this.elements.length?this.elements[J]:-1);if(Q===7&&Z===8)return 0;if(Q===8)return 150;let $=0;if(Q!==Z){if($+=10,Q===0&&Z===1)$+=1}return $+=PJ(Q),$+=PJ(Z),$}translateOffset(J,Q="right"){const Z=q1(this.firstElementOffsetByLineIdx,(X)=>X<=J),$=J-this.firstElementOffsetByLineIdx[Z];return new s(this.range.startLineNumber+Z,1+this.lineStartOffsets[Z]+$+($===0&&Q==="left"?0:this.trimmedWsLengthsByLineIdx[Z]))}translateRange(J){const Q=this.translateOffset(J.start,"right"),Z=this.translateOffset(J.endExclusive,"left");if(Z.isBefore(Q))return f.fromPositions(Z,Z);return f.fromPositions(Q,Z)}findWordContaining(J){if(J<0||J>=this.elements.length)return;if(!X5(this.elements[J]))return;let Q=J;while(Q>0&&X5(this.elements[Q-1]))Q--;let Z=J;while(Z<this.elements.length&&X5(this.elements[Z]))Z++;return new m(Q,Z)}countLinesIn(J){return this.translateOffset(J.endExclusive).lineNumber-this.translateOffset(J.start).lineNumber}isStronglyEqual(J,Q){return this.elements[J]===this.elements[Q]}extendToFullLines(J){const Q=a0(this.firstElementOffsetByLineIdx,($)=>$<=J.start)??0,Z=YJ(this.firstElementOffsetByLineIdx,($)=>J.endExclusive<=$)??this.elements.length;return new m(Q,Z)}}var x$={[0]:0,[1]:0,[2]:0,[3]:10,[4]:2,[5]:30,[6]:3,[7]:10,[8]:10};function kJ(J,Q,Z,$,X,Y){let{moves:z,excludedChanges:U}=y$(J,Q,Z,Y);if(!Y.isValid())return[];const G=J.filter((F)=>!U.has(F)),V=b$(G,$,X,Q,Z,Y);return wJ(z,V),z=C$(z),z=z.filter((F)=>{const _=F.original.toOffsetRange().slice(Q).map((H)=>H.trim());return _.join("\n").length>=15&&S$(_,(H)=>H.length>=2)>=2}),z=f$(J,z),z}function S$(J,Q){let Z=0;for(let $ of J)if(Q($))Z++;return Z}function y$(J,Q,Z,$){const X=[],Y=J.filter((G)=>G.modified.isEmpty&&G.original.length>=3).map((G)=>new y1(G.original,Q,G)),z=new Set(J.filter((G)=>G.original.isEmpty&&G.modified.length>=3).map((G)=>new y1(G.modified,Z,G))),U=new Set;for(let G of Y){let V=-1,F;for(let _ of z){const B=G.computeSimilarity(_);if(B>V)V=B,F=_}if(V>0.9&&F)z.delete(F),X.push(new j0(G.range,F.range)),U.add(G.source),U.add(F.source);if(!$.isValid())return{moves:X,excludedChanges:U}}return{moves:X,excludedChanges:U}}function b$(J,Q,Z,$,X,Y){const z=[],U=new c8;for(let B of J)for(let H=B.original.startLineNumber;H<B.original.endLineNumberExclusive-2;H++){const w=`${Q[H-1]}:${Q[H+1-1]}:${Q[H+2-1]}`;U.add(w,{range:new c(H,H+3)})}const G=[];J.sort(U6((B)=>B.modified.startLineNumber,G6));for(let B of J){let H=[];for(let w=B.modified.startLineNumber;w<B.modified.endLineNumberExclusive-2;w++){const q=`${Z[w-1]}:${Z[w+1-1]}:${Z[w+2-1]}`,j=new c(w,w+3),k=[];U.forEach(q,({range:D})=>{for(let N of H)if(N.originalLineRange.endLineNumberExclusive+1===D.endLineNumberExclusive&&N.modifiedLineRange.endLineNumberExclusive+1===j.endLineNumberExclusive){N.originalLineRange=new c(N.originalLineRange.startLineNumber,D.endLineNumberExclusive),N.modifiedLineRange=new c(N.modifiedLineRange.startLineNumber,j.endLineNumberExclusive),k.push(N);return}const M={modifiedLineRange:j,originalLineRange:D};G.push(M),k.push(M)}),H=k}if(!Y.isValid())return[]}G.sort(qJ(U6((B)=>B.modifiedLineRange.length,G6)));const V=new v0,F=new v0;for(let B of G){const H=B.modifiedLineRange.startLineNumber-B.originalLineRange.startLineNumber,w=V.subtractFrom(B.modifiedLineRange),q=F.subtractFrom(B.originalLineRange).getWithDelta(H),j=w.getIntersection(q);for(let k of j.ranges){if(k.length<3)continue;const D=k,M=k.delta(-H);z.push(new j0(M,D)),V.addRange(D),F.addRange(M)}}z.sort(U6((B)=>B.original.startLineNumber,G6));const _=new Y6(J);for(let B=0;B<z.length;B++){const H=z[B],w=_.findLastMonotonous((R)=>R.original.startLineNumber<=H.original.startLineNumber),q=a0(J,(R)=>R.modified.startLineNumber<=H.modified.startLineNumber),j=Math.max(H.original.startLineNumber-w.original.startLineNumber,H.modified.startLineNumber-q.modified.startLineNumber),k=_.findLastMonotonous((R)=>R.original.startLineNumber<H.original.endLineNumberExclusive),D=a0(J,(R)=>R.modified.startLineNumber<H.modified.endLineNumberExclusive),M=Math.max(k.original.endLineNumberExclusive-H.original.endLineNumberExclusive,D.modified.endLineNumberExclusive-H.modified.endLineNumberExclusive);let N;for(N=0;N<j;N++){const R=H.original.startLineNumber-N-1,T=H.modified.startLineNumber-N-1;if(R>$.length||T>X.length)break;if(V.contains(T)||F.contains(R))break;if(!DJ($[R-1],X[T-1],Y))break}if(N>0)F.addRange(new c(H.original.startLineNumber-N,H.original.startLineNumber)),V.addRange(new c(H.modified.startLineNumber-N,H.modified.startLineNumber));let P;for(P=0;P<M;P++){const R=H.original.endLineNumberExclusive+P,T=H.modified.endLineNumberExclusive+P;if(R>$.length||T>X.length)break;if(V.contains(T)||F.contains(R))break;if(!DJ($[R-1],X[T-1],Y))break}if(P>0)F.addRange(new c(H.original.endLineNumberExclusive,H.original.endLineNumberExclusive+P)),V.addRange(new c(H.modified.endLineNumberExclusive,H.modified.endLineNumberExclusive+P));if(N>0||P>0)z[B]=new j0(new c(H.original.startLineNumber-N,H.original.endLineNumberExclusive+P),new c(H.modified.startLineNumber-N,H.modified.endLineNumberExclusive+P))}return z}function DJ(J,Q,Z){if(J.trim()===Q.trim())return!0;if(J.length>300&&Q.length>300)return!1;const X=new F6().compute(new N1([J],new f(1,1,1,J.length),!1),new N1([Q],new f(1,1,1,Q.length),!1),Z);let Y=0;const z=o.invert(X.diffs,J.length);for(let F of z)F.seq1Range.forEach((_)=>{if(!W6(J.charCodeAt(_)))Y++});function U(F){let _=0;for(let B=0;B<J.length;B++)if(!W6(F.charCodeAt(B)))_++;return _}const G=U(J.length>Q.length?J:Q);return Y/G>0.6&&G>10}function C$(J){if(J.length===0)return J;J.sort(U6((Z)=>Z.original.startLineNumber,G6));const Q=[J[0]];for(let Z=1;Z<J.length;Z++){const $=Q[Q.length-1],X=J[Z],Y=X.original.startLineNumber-$.original.endLineNumberExclusive,z=X.modified.startLineNumber-$.modified.endLineNumberExclusive;if(Y>=0&&z>=0&&Y+z<=2){Q[Q.length-1]=$.join(X);continue}Q.push(X)}return Q}function f$(J,Q){const Z=new Y6(J);return Q=Q.filter(($)=>{const X=Z.findLastMonotonous((U)=>U.original.startLineNumber<$.original.endLineNumberExclusive)||new j0(new c(1,1),new c(1,1)),Y=a0(J,(U)=>U.modified.startLineNumber<$.modified.endLineNumberExclusive);return X!==Y}),Q}function Y5(J,Q,Z){let $=Z;return $=AJ(J,Q,$),$=AJ(J,Q,$),$=h$(J,Q,$),$}function AJ(J,Q,Z){if(Z.length===0)return Z;const $=[];$.push(Z[0]);for(let Y=1;Y<Z.length;Y++){const z=$[$.length-1];let U=Z[Y];if(U.seq1Range.isEmpty||U.seq2Range.isEmpty){const G=U.seq1Range.start-z.seq1Range.endExclusive;let V;for(V=1;V<=G;V++)if(J.getElement(U.seq1Range.start-V)!==J.getElement(U.seq1Range.endExclusive-V)||Q.getElement(U.seq2Range.start-V)!==Q.getElement(U.seq2Range.endExclusive-V))break;if(V--,V===G){$[$.length-1]=new o(new m(z.seq1Range.start,U.seq1Range.endExclusive-G),new m(z.seq2Range.start,U.seq2Range.endExclusive-G));continue}U=U.delta(-V)}$.push(U)}const X=[];for(let Y=0;Y<$.length-1;Y++){const z=$[Y+1];let U=$[Y];if(U.seq1Range.isEmpty||U.seq2Range.isEmpty){const G=z.seq1Range.start-U.seq1Range.endExclusive;let V;for(V=0;V<G;V++)if(!J.isStronglyEqual(U.seq1Range.start+V,U.seq1Range.endExclusive+V)||!Q.isStronglyEqual(U.seq2Range.start+V,U.seq2Range.endExclusive+V))break;if(V===G){$[Y+1]=new o(new m(U.seq1Range.start+G,z.seq1Range.endExclusive),new m(U.seq2Range.start+G,z.seq2Range.endExclusive));continue}if(V>0)U=U.delta(V)}X.push(U)}if($.length>0)X.push($[$.length-1]);return X}function h$(J,Q,Z){if(!J.getBoundaryScore||!Q.getBoundaryScore)return Z;for(let $=0;$<Z.length;$++){const X=$>0?Z[$-1]:void 0,Y=Z[$],z=$+1<Z.length?Z[$+1]:void 0,U=new m(X?X.seq1Range.endExclusive+1:0,z?z.seq1Range.start-1:J.length),G=new m(X?X.seq2Range.endExclusive+1:0,z?z.seq2Range.start-1:Q.length);if(Y.seq1Range.isEmpty)Z[$]=TJ(Y,J,Q,U,G);else if(Y.seq2Range.isEmpty)Z[$]=TJ(Y.swap(),Q,J,G,U).swap()}return Z}function TJ(J,Q,Z,$,X){let z=1;while(J.seq1Range.start-z>=$.start&&J.seq2Range.start-z>=X.start&&Z.isStronglyEqual(J.seq2Range.start-z,J.seq2Range.endExclusive-z)&&z<100)z++;z--;let U=0;while(J.seq1Range.start+U<$.endExclusive&&J.seq2Range.endExclusive+U<X.endExclusive&&Z.isStronglyEqual(J.seq2Range.start+U,J.seq2Range.endExclusive+U)&&U<100)U++;if(z===0&&U===0)return J;let G=0,V=-1;for(let F=-z;F<=U;F++){const _=J.seq2Range.start+F,B=J.seq2Range.endExclusive+F,H=J.seq1Range.start+F,w=Q.getBoundaryScore(H)+Z.getBoundaryScore(_)+Z.getBoundaryScore(B);if(w>V)V=w,G=F}return J.delta(G)}function RJ(J,Q,Z){const $=[];for(let X of Z){const Y=$[$.length-1];if(!Y){$.push(X);continue}if(X.seq1Range.start-Y.seq1Range.endExclusive<=2||X.seq2Range.start-Y.seq2Range.endExclusive<=2)$[$.length-1]=new o(Y.seq1Range.join(X.seq1Range),Y.seq2Range.join(X.seq2Range));else $.push(X)}return $}function KJ(J,Q,Z){const $=o.invert(Z,J.length),X=[];let Y=new K0(0,0);function z(G,V){if(G.offset1<Y.offset1||G.offset2<Y.offset2)return;const F=J.findWordContaining(G.offset1),_=Q.findWordContaining(G.offset2);if(!F||!_)return;let B=new o(F,_);const H=B.intersect(V);let w=H.seq1Range.length,q=H.seq2Range.length;while($.length>0){const j=$[0];if(!(j.seq1Range.intersects(B.seq1Range)||j.seq2Range.intersects(B.seq2Range)))break;const D=J.findWordContaining(j.seq1Range.start),M=Q.findWordContaining(j.seq2Range.start),N=new o(D,M),P=N.intersect(j);if(w+=P.seq1Range.length,q+=P.seq2Range.length,B=B.join(N),B.seq1Range.endExclusive>=j.seq1Range.endExclusive)$.shift();else break}if(w+q<(B.seq1Range.length+B.seq2Range.length)*2/3)X.push(B);Y=B.getEndExclusives()}while($.length>0){const G=$.shift();if(G.seq1Range.isEmpty)continue;z(G.getStarts(),G),z(G.getEndExclusives().delta(-1),G)}return p$(Z,X)}function p$(J,Q){const Z=[];while(J.length>0||Q.length>0){const $=J[0],X=Q[0];let Y;if($&&(!X||$.seq1Range.start<X.seq1Range.start))Y=J.shift();else Y=Q.shift();if(Z.length>0&&Z[Z.length-1].seq1Range.endExclusive>=Y.seq1Range.start)Z[Z.length-1]=Z[Z.length-1].join(Y);else Z.push(Y)}return Z}function IJ(J,Q,Z){let $=Z;if($.length===0)return $;let X=0,Y;do{Y=!1;const z=[$[0]];for(let U=1;U<$.length;U++){let F=function(B,H){const w=new m(V.seq1Range.endExclusive,G.seq1Range.start);if(J.getText(w).replace(/\s/g,"").length<=4&&(B.seq1Range.length+B.seq2Range.length>5||H.seq1Range.length+H.seq2Range.length>5))return!0;return!1};const G=$[U],V=z[z.length-1];if(F(V,G))Y=!0,z[z.length-1]=z[z.length-1].join(G);else z.push(G)}$=z}while(X++<10&&Y);return $}function OJ(J,Q,Z){let $=Z;if($.length===0)return $;let X=0,Y;do{Y=!1;const U=[$[0]];for(let G=1;G<$.length;G++){let _=function(H,w){const q=new m(F.seq1Range.endExclusive,V.seq1Range.start);if(J.countLinesIn(q)>5||q.length>500)return!1;const k=J.getText(q).trim();if(k.length>20||k.split(/\r\n|\r|\n/).length>1)return!1;const D=J.countLinesIn(H.seq1Range),M=H.seq1Range.length,N=Q.countLinesIn(H.seq2Range),P=H.seq2Range.length,R=J.countLinesIn(w.seq1Range),T=w.seq1Range.length,x=Q.countLinesIn(w.seq2Range),b=w.seq2Range.length,C=130;function A(L){return Math.min(L,C)}if(Math.pow(Math.pow(A(D*40+M),1.5)+Math.pow(A(N*40+P),1.5),1.5)+Math.pow(Math.pow(A(R*40+T),1.5)+Math.pow(A(x*40+b),1.5),1.5)>(C**1.5)**1.5*1.3)return!0;return!1};const V=$[G],F=U[U.length-1];if(_(F,V))Y=!0,U[U.length-1]=U[U.length-1].join(V);else U.push(V)}$=U}while(X++<10&&Y);const z=[];return HJ($,(U,G,V)=>{let F=G;function _(k){return k.length>0&&k.trim().length<=3&&G.seq1Range.length+G.seq2Range.length>100}const B=J.extendToFullLines(G.seq1Range),H=J.getText(new m(B.start,G.seq1Range.start));if(_(H))F=F.deltaStart(-H.length);const w=J.getText(new m(G.seq1Range.endExclusive,B.endExclusive));if(_(w))F=F.deltaEnd(w.length);const q=o.fromOffsetPairs(U?U.getEndExclusives():K0.zero,V?V.getStarts():K0.max),j=F.intersect(q);if(z.length>0&&j.getStarts().equals(z[z.length-1].getEndExclusives()))z[z.length-1]=z[z.length-1].join(j);else z.push(j)}),z}function LJ(J){let Q=0;while(Q<J.length&&(J.charCodeAt(Q)===32||J.charCodeAt(Q)===9))Q++;return Q}class n6{constructor(J,Q){this.trimmedHash=J,this.lines=Q}getElement(J){return this.trimmedHash[J]}get length(){return this.trimmedHash.length}getBoundaryScore(J){const Q=J===0?0:LJ(this.lines[J-1]),Z=J===this.lines.length?0:LJ(this.lines[J]);return 1000-(Q+Z)}getText(J){return this.lines.slice(J.start,J.endExclusive).join("\n")}isStronglyEqual(J,Q){return this.lines[J]===this.lines[Q]}}function vJ(J,Q,Z,$=!1){const X=[];for(let Y of _J(J.map((z)=>u$(z,Q,Z)),(z,U)=>z.original.overlapOrTouch(U.original)||z.modified.overlapOrTouch(U.modified))){const z=Y[0],U=Y[Y.length-1];X.push(new E0(z.original.join(U.original),z.modified.join(U.modified),Y.map((G)=>G.innerChanges[0])))}return H1(()=>{if(!$&&X.length>0){if(X[0].modified.startLineNumber!==X[0].original.startLineNumber)return!1;if(Z.length-X[X.length-1].modified.endLineNumberExclusive!==Q.length-X[X.length-1].original.endLineNumberExclusive)return!1}return $6(X,(Y,z)=>z.original.startLineNumber-Y.original.endLineNumberExclusive===z.modified.startLineNumber-Y.modified.endLineNumberExclusive&&Y.original.endLineNumberExclusive<z.original.startLineNumber&&Y.modified.endLineNumberExclusive<z.modified.startLineNumber)}),X}function u$(J,Q,Z){let $=0,X=0;if(J.modifiedRange.endColumn===1&&J.originalRange.endColumn===1&&J.originalRange.startLineNumber+$<=J.originalRange.endLineNumber&&J.modifiedRange.startLineNumber+$<=J.modifiedRange.endLineNumber)X=-1;if(J.modifiedRange.startColumn-1>=Z[J.modifiedRange.startLineNumber-1].length&&J.originalRange.startColumn-1>=Q[J.originalRange.startLineNumber-1].length&&J.originalRange.startLineNumber<=J.originalRange.endLineNumber+X&&J.modifiedRange.startLineNumber<=J.modifiedRange.endLineNumber+X)$=1;const Y=new c(J.originalRange.startLineNumber+$,J.originalRange.endLineNumber+1+X),z=new c(J.modifiedRange.startLineNumber+$,J.modifiedRange.endLineNumber+1+X);return new E0(Y,z,[J])}function c$(J){return new j0(new c(J.seq1Range.start+1,J.seq1Range.endExclusive+1),new c(J.seq2Range.start+1,J.seq2Range.endExclusive+1))}class z5{constructor(){this.dynamicProgrammingDiffing=new Z5,this.myersDiffingAlgorithm=new F6}computeDiff(J,Q,Z){if(J.length<=1&&FJ(J,Q,(N,P)=>N===P))return new w1([],[],!1);if(J.length===1&&J[0].length===0||Q.length===1&&Q[0].length===0)return new w1([new E0(new c(1,J.length+1),new c(1,Q.length+1),[new D0(new f(1,1,J.length,J[J.length-1].length+1),new f(1,1,Q.length,Q[Q.length-1].length+1))])],[],!1);const $=Z.maxComputationTimeMs===0?$1.instance:new Q5(Z.maxComputationTimeMs),X=!Z.ignoreTrimWhitespace,Y=new Map;function z(N){let P=Y.get(N);if(P===void 0)P=Y.size,Y.set(N,P);return P}const U=J.map((N)=>z(N.trim())),G=Q.map((N)=>z(N.trim())),V=new n6(U,J),F=new n6(G,Q),_=(()=>{if(V.length+F.length<1700)return this.dynamicProgrammingDiffing.compute(V,F,$,(N,P)=>J[N]===Q[P]?Q[P].length===0?0.1:1+Math.log(1+Q[P].length):0.99);return this.myersDiffingAlgorithm.compute(V,F,$)})();let{diffs:B,hitTimeout:H}=_;B=Y5(V,F,B),B=IJ(V,F,B);const w=[],q=(N)=>{if(!X)return;for(let P=0;P<N;P++){const R=j+P,T=k+P;if(J[R]!==Q[T]){const x=this.refineDiff(J,Q,new o(new m(R,R+1),new m(T,T+1)),$,X);for(let b of x.mappings)w.push(b);if(x.hitTimeout)H=!0}}};let j=0,k=0;for(let N of B){H1(()=>N.seq1Range.start-j===N.seq2Range.start-k);const P=N.seq1Range.start-j;q(P),j=N.seq1Range.endExclusive,k=N.seq2Range.endExclusive;const R=this.refineDiff(J,Q,N,$,X);if(R.hitTimeout)H=!0;for(let T of R.mappings)w.push(T)}q(J.length-j);const D=vJ(w,J,Q);let M=[];if(Z.computeMoves)M=this.computeMoves(D,J,Q,U,G,$,X);return H1(()=>{function N(R,T){if(R.lineNumber<1||R.lineNumber>T.length)return!1;const x=T[R.lineNumber-1];if(R.column<1||R.column>x.length+1)return!1;return!0}function P(R,T){if(R.startLineNumber<1||R.startLineNumber>T.length+1)return!1;if(R.endLineNumberExclusive<1||R.endLineNumberExclusive>T.length+1)return!1;return!0}for(let R of D){if(!R.innerChanges)return!1;for(let T of R.innerChanges)if(!(N(T.modifiedRange.getStartPosition(),Q)&&N(T.modifiedRange.getEndPosition(),Q)&&N(T.originalRange.getStartPosition(),J)&&N(T.originalRange.getEndPosition(),J)))return!1;if(!P(R.modified,Q)||!P(R.original,J))return!1}return!0}),new w1(D,M,H)}computeMoves(J,Q,Z,$,X,Y,z){return kJ(J,Q,Z,$,X,Y).map((V)=>{const F=this.refineDiff(Q,Z,new o(V.original.toOffsetRange(),V.modified.toOffsetRange()),Y,z),_=vJ(F.mappings,Q,Z,!0);return new o8(V,_)})}refineDiff(J,Q,Z,$,X){const z=c$(Z).toRangeMapping2(J,Q),U=new N1(J,z.originalRange,X),G=new N1(Q,z.modifiedRange,X),V=U.length+G.length<500?this.dynamicProgrammingDiffing.compute(U,G,$):this.myersDiffingAlgorithm.compute(U,G,$);let _=V.diffs;return _=Y5(U,G,_),_=KJ(U,G,_),_=RJ(U,G,_),_=OJ(U,G,_),{mappings:_.map((H)=>new D0(U.translateRange(H.seq1Range),G.translateRange(H.seq2Range))),hitTimeout:V.hitTimeout}}}var U5={getLegacy:()=>new e8,getDefault:()=>new z5};function X1(J,Q){const Z=Math.pow(10,Q);return Math.round(J*Z)/Z}class X0{constructor(J,Q,Z,$=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,J))|0,this.g=Math.min(255,Math.max(0,Q))|0,this.b=Math.min(255,Math.max(0,Z))|0,this.a=X1(Math.max(Math.min(1,$),0),3)}static equals(J,Q){return J.r===Q.r&&J.g===Q.g&&J.b===Q.b&&J.a===Q.a}}class k0{constructor(J,Q,Z,$){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,J),0)|0,this.s=X1(Math.max(Math.min(1,Q),0),3),this.l=X1(Math.max(Math.min(1,Z),0),3),this.a=X1(Math.max(Math.min(1,$),0),3)}static equals(J,Q){return J.h===Q.h&&J.s===Q.s&&J.l===Q.l&&J.a===Q.a}static fromRGBA(J){const Q=J.r/255,Z=J.g/255,$=J.b/255,X=J.a,Y=Math.max(Q,Z,$),z=Math.min(Q,Z,$);let U=0,G=0;const V=(z+Y)/2,F=Y-z;if(F>0){switch(G=Math.min(V<=0.5?F/(2*V):F/(2-2*V),1),Y){case Q:U=(Z-$)/F+(Z<$?6:0);break;case Z:U=($-Q)/F+2;break;case $:U=(Q-Z)/F+4;break}U*=60,U=Math.round(U)}return new k0(U,G,V,X)}static _hue2rgb(J,Q,Z){if(Z<0)Z+=1;if(Z>1)Z-=1;if(Z<0.16666666666666666)return J+(Q-J)*6*Z;if(Z<0.5)return Q;if(Z<0.6666666666666666)return J+(Q-J)*(0.6666666666666666-Z)*6;return J}static toRGBA(J){const Q=J.h/360,{s:Z,l:$,a:X}=J;let Y,z,U;if(Z===0)Y=z=U=$;else{const G=$<0.5?$*(1+Z):$+Z-$*Z,V=2*$-G;Y=k0._hue2rgb(V,G,Q+0.3333333333333333),z=k0._hue2rgb(V,G,Q),U=k0._hue2rgb(V,G,Q-0.3333333333333333)}return new X0(Math.round(Y*255),Math.round(z*255),Math.round(U*255),X)}}class b1{constructor(J,Q,Z,$){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,J),0)|0,this.s=X1(Math.max(Math.min(1,Q),0),3),this.v=X1(Math.max(Math.min(1,Z),0),3),this.a=X1(Math.max(Math.min(1,$),0),3)}static equals(J,Q){return J.h===Q.h&&J.s===Q.s&&J.v===Q.v&&J.a===Q.a}static fromRGBA(J){const Q=J.r/255,Z=J.g/255,$=J.b/255,X=Math.max(Q,Z,$),Y=Math.min(Q,Z,$),z=X-Y,U=X===0?0:z/X;let G;if(z===0)G=0;else if(X===Q)G=((Z-$)/z%6+6)%6;else if(X===Z)G=($-Q)/z+2;else G=(Q-Z)/z+4;return new b1(Math.round(G*60),U,X,J.a)}static toRGBA(J){const{h:Q,s:Z,v:$,a:X}=J,Y=$*Z,z=Y*(1-Math.abs(Q/60%2-1)),U=$-Y;let[G,V,F]=[0,0,0];if(Q<60)G=Y,V=z;else if(Q<120)G=z,V=Y;else if(Q<180)V=Y,F=z;else if(Q<240)V=z,F=Y;else if(Q<300)G=z,F=Y;else if(Q<=360)G=Y,F=z;return G=Math.round((G+U)*255),V=Math.round((V+U)*255),F=Math.round((F+U)*255),new X0(G,V,F,X)}}class r{static fromHex(J){return r.Format.CSS.parseHex(J)||r.red}static equals(J,Q){if(!J&&!Q)return!0;if(!J||!Q)return!1;return J.equals(Q)}get hsla(){if(this._hsla)return this._hsla;else return k0.fromRGBA(this.rgba)}get hsva(){if(this._hsva)return this._hsva;return b1.fromRGBA(this.rgba)}constructor(J){if(!J)throw new Error("Color needs a value");else if(J instanceof X0)this.rgba=J;else if(J instanceof k0)this._hsla=J,this.rgba=k0.toRGBA(J);else if(J instanceof b1)this._hsva=J,this.rgba=b1.toRGBA(J);else throw new Error("Invalid color ctor argument")}equals(J){return!!J&&X0.equals(this.rgba,J.rgba)&&k0.equals(this.hsla,J.hsla)&&b1.equals(this.hsva,J.hsva)}getRelativeLuminance(){const J=r._relativeLuminanceForComponent(this.rgba.r),Q=r._relativeLuminanceForComponent(this.rgba.g),Z=r._relativeLuminanceForComponent(this.rgba.b),$=0.2126*J+0.7152*Q+0.0722*Z;return X1($,4)}static _relativeLuminanceForComponent(J){const Q=J/255;return Q<=0.03928?Q/12.92:Math.pow((Q+0.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1000>=128}isLighterThan(J){const Q=this.getRelativeLuminance(),Z=J.getRelativeLuminance();return Q>Z}isDarkerThan(J){const Q=this.getRelativeLuminance(),Z=J.getRelativeLuminance();return Q<Z}lighten(J){return new r(new k0(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*J,this.hsla.a))}darken(J){return new r(new k0(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*J,this.hsla.a))}transparent(J){const{r:Q,g:Z,b:$,a:X}=this.rgba;return new r(new X0(Q,Z,$,X*J))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new r(new X0(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}makeOpaque(J){if(this.isOpaque()||J.rgba.a!==1)return this;const{r:Q,g:Z,b:$,a:X}=this.rgba;return new r(new X0(J.rgba.r-X*(J.rgba.r-Q),J.rgba.g-X*(J.rgba.g-Z),J.rgba.b-X*(J.rgba.b-$),1))}toString(){if(!this._toString)this._toString=r.Format.CSS.format(this);return this._toString}static getLighterColor(J,Q,Z){if(J.isLighterThan(Q))return J;Z=Z?Z:0.5;const $=J.getRelativeLuminance(),X=Q.getRelativeLuminance();return Z=Z*(X-$)/X,J.lighten(Z)}static getDarkerColor(J,Q,Z){if(J.isDarkerThan(Q))return J;Z=Z?Z:0.5;const $=J.getRelativeLuminance(),X=Q.getRelativeLuminance();return Z=Z*($-X)/$,J.darken(Z)}static{this.white=new r(new X0(255,255,255,1))}static{this.black=new r(new X0(0,0,0,1))}static{this.red=new r(new X0(255,0,0,1))}static{this.blue=new r(new X0(0,0,255,1))}static{this.green=new r(new X0(0,255,0,1))}static{this.cyan=new r(new X0(0,255,255,1))}static{this.lightgrey=new r(new X0(211,211,211,1))}static{this.transparent=new r(new X0(0,0,0,0))}}(function(J){let Q;(function(Z){let $;(function(X){function Y(q){if(q.rgba.a===1)return`rgb(${q.rgba.r}, ${q.rgba.g}, ${q.rgba.b})`;return J.Format.CSS.formatRGBA(q)}X.formatRGB=Y;function z(q){return`rgba(${q.rgba.r}, ${q.rgba.g}, ${q.rgba.b}, ${+q.rgba.a.toFixed(2)})`}X.formatRGBA=z;function U(q){if(q.hsla.a===1)return`hsl(${q.hsla.h}, ${(q.hsla.s*100).toFixed(2)}%, ${(q.hsla.l*100).toFixed(2)}%)`;return J.Format.CSS.formatHSLA(q)}X.formatHSL=U;function G(q){return`hsla(${q.hsla.h}, ${(q.hsla.s*100).toFixed(2)}%, ${(q.hsla.l*100).toFixed(2)}%, ${q.hsla.a.toFixed(2)})`}X.formatHSLA=G;function V(q){const j=q.toString(16);return j.length!==2?"0"+j:j}function F(q){return`#${V(q.rgba.r)}${V(q.rgba.g)}${V(q.rgba.b)}`}X.formatHex=F;function _(q,j=!1){if(j&&q.rgba.a===1)return J.Format.CSS.formatHex(q);return`#${V(q.rgba.r)}${V(q.rgba.g)}${V(q.rgba.b)}${V(Math.round(q.rgba.a*255))}`}X.formatHexA=_;function B(q){if(q.isOpaque())return J.Format.CSS.formatHex(q);return J.Format.CSS.formatRGBA(q)}X.format=B;function H(q){const j=q.length;if(j===0)return null;if(q.charCodeAt(0)!==35)return null;if(j===7){const k=16*w(q.charCodeAt(1))+w(q.charCodeAt(2)),D=16*w(q.charCodeAt(3))+w(q.charCodeAt(4)),M=16*w(q.charCodeAt(5))+w(q.charCodeAt(6));return new J(new X0(k,D,M,1))}if(j===9){const k=16*w(q.charCodeAt(1))+w(q.charCodeAt(2)),D=16*w(q.charCodeAt(3))+w(q.charCodeAt(4)),M=16*w(q.charCodeAt(5))+w(q.charCodeAt(6)),N=16*w(q.charCodeAt(7))+w(q.charCodeAt(8));return new J(new X0(k,D,M,N/255))}if(j===4){const k=w(q.charCodeAt(1)),D=w(q.charCodeAt(2)),M=w(q.charCodeAt(3));return new J(new X0(16*k+k,16*D+D,16*M+M))}if(j===5){const k=w(q.charCodeAt(1)),D=w(q.charCodeAt(2)),M=w(q.charCodeAt(3)),N=w(q.charCodeAt(4));return new J(new X0(16*k+k,16*D+D,16*M+M,(16*N+N)/255))}return null}X.parseHex=H;function w(q){switch(q){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}})($=Z.CSS||(Z.CSS={}))})(Q=J.Format||(J.Format={}))})(r||(r={}));function SJ(J){const Q=[];for(let Z of J){const $=Number(Z);if($||$===0&&Z.replace(/\s/g,"")!=="")Q.push($)}return Q}function G5(J,Q,Z,$){return{red:J/255,blue:Z/255,green:Q/255,alpha:$}}function _6(J,Q){const Z=Q.index,$=Q[0].length;if(!Z)return;const X=J.positionAt(Z);return{startLineNumber:X.lineNumber,startColumn:X.column,endLineNumber:X.lineNumber,endColumn:X.column+$}}function m$(J,Q){if(!J)return;const Z=r.Format.CSS.parseHex(Q);if(!Z)return;return{range:J,color:G5(Z.rgba.r,Z.rgba.g,Z.rgba.b,Z.rgba.a)}}function EJ(J,Q,Z){if(!J||Q.length!==1)return;const X=Q[0].values(),Y=SJ(X);return{range:J,color:G5(Y[0],Y[1],Y[2],Z?Y[3]:1)}}function xJ(J,Q,Z){if(!J||Q.length!==1)return;const X=Q[0].values(),Y=SJ(X),z=new r(new k0(Y[0],Y[1]/100,Y[2]/100,Z?Y[3]:1));return{range:J,color:G5(z.rgba.r,z.rgba.g,z.rgba.b,z.rgba.a)}}function B6(J,Q){if(typeof J==="string")return[...J.matchAll(Q)];else return J.findMatches(Q)}function g$(J){const Q=[],$=B6(J,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|(#)([A-Fa-f0-9]{3})\b|(#)([A-Fa-f0-9]{4})\b|(#)([A-Fa-f0-9]{6})\b|(#)([A-Fa-f0-9]{8})\b/gm);if($.length>0)for(let X of $){const Y=X.filter((V)=>V!==void 0),z=Y[1],U=Y[2];if(!U)continue;let G;if(z==="rgb"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;G=EJ(_6(J,X),B6(U,V),!1)}else if(z==="rgba"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;G=EJ(_6(J,X),B6(U,V),!0)}else if(z==="hsl"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;G=xJ(_6(J,X),B6(U,V),!1)}else if(z==="hsla"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;G=xJ(_6(J,X),B6(U,V),!0)}else if(z==="#")G=m$(_6(J,X),z+U);if(G)Q.push(G)}return Q}function yJ(J){if(!J||typeof J.getValue!=="function"||typeof J.positionAt!=="function")return[];return g$(J)}function CJ(J,Q){let Z=[];if(Q.findRegionSectionHeaders&&Q.foldingRules?.markers){const $=d$(J,Q);Z=Z.concat($)}if(Q.findMarkSectionHeaders){const $=s$(J);Z=Z.concat($)}return Z}function d$(J,Q){const Z=[],$=J.getLineCount();for(let X=1;X<=$;X++){const Y=J.getLineContent(X),z=Y.match(Q.foldingRules.markers.start);if(z){const U={startLineNumber:X,startColumn:z[0].length+1,endLineNumber:X,endColumn:Y.length+1};if(U.endColumn>U.startColumn){const G={range:U,...fJ(Y.substring(z[0].length)),shouldBeInComments:!1};if(G.text||G.hasSeparatorLine)Z.push(G)}}}return Z}function s$(J){const Q=[],Z=J.getLineCount();for(let $=1;$<=Z;$++){const X=J.getLineContent($);a$(X,$,Q)}return Q}function a$(J,Q,Z){bJ.lastIndex=0;const $=bJ.exec(J);if($){const X=$.indices[1][0]+1,Y=$.indices[1][1]+1,z={startLineNumber:Q,startColumn:X,endLineNumber:Q,endColumn:Y};if(z.endColumn>z.startColumn){const U={range:z,...fJ($[1]),shouldBeInComments:!0};if(U.text||U.hasSeparatorLine)Z.push(U)}}}function fJ(J){J=J.trim();const Q=J.startsWith("-");return J=J.replace(l$,""),{text:J,hasSeparatorLine:Q}}var bJ=new RegExp("\\bMARK:\\s*(.*)$","d"),l$=/^-+|-+$/g;var o$=Symbol("MicrotaskDelay");var n$,V5;(function(){if(typeof globalThis.requestIdleCallback!=="function"||typeof globalThis.cancelIdleCallback!=="function")V5=(J,Q)=>{$7(()=>{if(Z)return;const $=Date.now()+15;Q(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,$-Date.now())}}))});let Z=!1;return{dispose(){if(Z)return;Z=!0}}};else V5=(J,Q,Z)=>{const $=J.requestIdleCallback(Q,typeof Z==="number"?{timeout:Z}:void 0);let X=!1;return{dispose(){if(X)return;X=!0,J.cancelIdleCallback($)}}};n$=(J)=>V5(globalThis,J)})();var hJ;(function(J){async function Q($){let X=void 0;const Y=await Promise.all($.map((z)=>z.then((U)=>U,(U)=>{if(!X)X=U;return})));if(typeof X!=="undefined")throw X;return Y}J.settled=Q;function Z($){return new Promise(async(X,Y)=>{try{await $(X,Y)}catch(z){Y(z)}})}J.withAsyncBody=Z})(hJ||(hJ={}));class A0{static fromArray(J){return new A0((Q)=>{Q.emitMany(J)})}static fromPromise(J){return new A0(async(Q)=>{Q.emitMany(await J)})}static fromPromises(J){return new A0(async(Q)=>{await Promise.all(J.map(async(Z)=>Q.emitOne(await Z)))})}static merge(J){return new A0(async(Q)=>{await Promise.all(J.map(async(Z)=>{for await(let $ of Z)Q.emitOne($)}))})}static{this.EMPTY=A0.fromArray([])}constructor(J,Q){this._state=0,this._results=[],this._error=null,this._onReturn=Q,this._onStateChanged=new U0,queueMicrotask(async()=>{const Z={emitOne:($)=>this.emitOne($),emitMany:($)=>this.emitMany($),reject:($)=>this.reject($)};try{await Promise.resolve(J(Z)),this.resolve()}catch($){this.reject($)}finally{Z.emitOne=void 0,Z.emitMany=void 0,Z.reject=void 0}})}[Symbol.asyncIterator](){let J=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(J<this._results.length)return{done:!1,value:this._results[J++]};if(this._state===1)return{done:!0,value:void 0};await I1.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>{return this._onReturn?.(),{done:!0,value:void 0}}}}static map(J,Q){return new A0(async(Z)=>{for await(let $ of J)Z.emitOne(Q($))})}map(J){return A0.map(this,J)}static filter(J,Q){return new A0(async(Z)=>{for await(let $ of J)if(Q($))Z.emitOne($)})}filter(J){return A0.filter(this,J)}static coalesce(J){return A0.filter(J,(Q)=>!!Q)}coalesce(){return A0.coalesce(this)}static async toPromise(J){const Q=[];for await(let Z of J)Q.push(Z);return Q}toPromise(){return A0.toPromise(this)}emitOne(J){if(this._state!==0)return;this._results.push(J),this._onStateChanged.fire()}emitMany(J){if(this._state!==0)return;this._results=this._results.concat(J),this._onStateChanged.fire()}resolve(){if(this._state!==0)return;this._state=1,this._onStateChanged.fire()}reject(J){if(this._state!==0)return;this._state=2,this._error=J,this._onStateChanged.fire()}}class W5{constructor(J){this.values=J,this.prefixSum=new Uint32Array(J.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(J,Q){J=B1(J);const Z=this.values,$=this.prefixSum,X=Q.length;if(X===0)return!1;if(this.values=new Uint32Array(Z.length+X),this.values.set(Z.subarray(0,J),0),this.values.set(Z.subarray(J),J+X),this.values.set(Q,J),J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;if(this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0)this.prefixSum.set($.subarray(0,this.prefixSumValidIndex[0]+1));return!0}setValue(J,Q){if(J=B1(J),Q=B1(Q),this.values[J]===Q)return!1;if(this.values[J]=Q,J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;return!0}removeValues(J,Q){J=B1(J),Q=B1(Q);const Z=this.values,$=this.prefixSum;if(J>=Z.length)return!1;const X=Z.length-J;if(Q>=X)Q=X;if(Q===0)return!1;if(this.values=new Uint32Array(Z.length-Q),this.values.set(Z.subarray(0,J),0),this.values.set(Z.subarray(J+Q),J),this.prefixSum=new Uint32Array(this.values.length),J-1<this.prefixSumValidIndex[0])this.prefixSumValidIndex[0]=J-1;if(this.prefixSumValidIndex[0]>=0)this.prefixSum.set($.subarray(0,this.prefixSumValidIndex[0]+1));return!0}getTotalSum(){if(this.values.length===0)return 0;return this._getPrefixSum(this.values.length-1)}getPrefixSum(J){if(J<0)return 0;return J=B1(J),this._getPrefixSum(J)}_getPrefixSum(J){if(J<=this.prefixSumValidIndex[0])return this.prefixSum[J];let Q=this.prefixSumValidIndex[0]+1;if(Q===0)this.prefixSum[0]=this.values[0],Q++;if(J>=this.values.length)J=this.values.length-1;for(let Z=Q;Z<=J;Z++)this.prefixSum[Z]=this.prefixSum[Z-1]+this.values[Z];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],J),this.prefixSum[J]}getIndexOf(J){J=Math.floor(J),this.getTotalSum();let Q=0,Z=this.values.length-1,$=0,X=0,Y=0;while(Q<=Z)if($=Q+(Z-Q)/2|0,X=this.prefixSum[$],Y=X-this.values[$],J<Y)Z=$-1;else if(J>=X)Q=$+1;else break;return new pJ($,J-Y)}}class pJ{constructor(J,Q){this.index=J,this.remainder=Q,this._prefixSumIndexOfResultBrand=void 0,this.index=J,this.remainder=Q}}class F5{constructor(J,Q,Z,$){this._uri=J,this._lines=Q,this._eol=Z,this._versionId=$,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){if(this._cachedTextValue===null)this._cachedTextValue=this._lines.join(this._eol);return this._cachedTextValue}onEvents(J){if(J.eol&&J.eol!==this._eol)this._eol=J.eol,this._lineStarts=null;const Q=J.changes;for(let Z of Q)this._acceptDeleteRange(Z.range),this._acceptInsertText(new s(Z.range.startLineNumber,Z.range.startColumn),Z.text);this._versionId=J.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){const J=this._eol.length,Q=this._lines.length,Z=new Uint32Array(Q);for(let $=0;$<Q;$++)Z[$]=this._lines[$].length+J;this._lineStarts=new W5(Z)}}_setLineText(J,Q){if(this._lines[J]=Q,this._lineStarts)this._lineStarts.setValue(J,this._lines[J].length+this._eol.length)}_acceptDeleteRange(J){if(J.startLineNumber===J.endLineNumber){if(J.startColumn===J.endColumn)return;this._setLineText(J.startLineNumber-1,this._lines[J.startLineNumber-1].substring(0,J.startColumn-1)+this._lines[J.startLineNumber-1].substring(J.endColumn-1));return}if(this._setLineText(J.startLineNumber-1,this._lines[J.startLineNumber-1].substring(0,J.startColumn-1)+this._lines[J.endLineNumber-1].substring(J.endColumn-1)),this._lines.splice(J.startLineNumber,J.endLineNumber-J.startLineNumber),this._lineStarts)this._lineStarts.removeValues(J.startLineNumber,J.endLineNumber-J.startLineNumber)}_acceptInsertText(J,Q){if(Q.length===0)return;const Z=Y7(Q);if(Z.length===1){this._setLineText(J.lineNumber-1,this._lines[J.lineNumber-1].substring(0,J.column-1)+Z[0]+this._lines[J.lineNumber-1].substring(J.column-1));return}Z[Z.length-1]+=this._lines[J.lineNumber-1].substring(J.column-1),this._setLineText(J.lineNumber-1,this._lines[J.lineNumber-1].substring(0,J.column-1)+Z[0]);const $=new Uint32Array(Z.length-1);for(let X=1;X<Z.length;X++)this._lines.splice(J.lineNumber+X-1,0,Z[X]),$[X-1]=Z[X].length+this._eol.length;if(this._lineStarts)this._lineStarts.insertValues(J.lineNumber,$)}}class _5{constructor(){this._models=Object.create(null)}getModel(J){return this._models[J]}getModels(){const J=[];return Object.keys(this._models).forEach((Q)=>J.push(this._models[Q])),J}$acceptNewModel(J){this._models[J.url]=new uJ(W0.parse(J.url),J.lines,J.EOL,J.versionId)}$acceptModelChanged(J,Q){if(!this._models[J])return;this._models[J].onEvents(Q)}$acceptRemovedModel(J){if(!this._models[J])return;delete this._models[J]}}class uJ extends F5{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(J){const Q=[];for(let Z=0;Z<this._lines.length;Z++){const $=this._lines[Z],X=this.offsetAt(new s(Z+1,1)),Y=$.matchAll(J);for(let z of Y){if(z.index||z.index===0)z.index=z.index+X;Q.push(z)}}return Q}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(J){return this._lines[J-1]}getWordAtPosition(J,Q){const Z=X6(J.column,d8(Q),this._lines[J.lineNumber-1],0);if(Z)return new f(J.lineNumber,Z.startColumn,J.lineNumber,Z.endColumn);return null}words(J){const Q=this._lines,Z=this._wordenize.bind(this);let $=0,X="",Y=0,z=[];return{*[Symbol.iterator](){while(!0)if(Y<z.length){const U=X.substring(z[Y].start,z[Y].end);Y+=1,yield U}else if($<Q.length)X=Q[$],z=Z(X,J),Y=0,$+=1;else break}}}getLineWords(J,Q){const Z=this._lines[J-1],$=this._wordenize(Z,Q),X=[];for(let Y of $)X.push({word:Z.substring(Y.start,Y.end),startColumn:Y.start+1,endColumn:Y.end+1});return X}_wordenize(J,Q){const Z=[];let $;Q.lastIndex=0;while($=Q.exec(J)){if($[0].length===0)break;Z.push({start:$.index,end:$.index+$[0].length})}return Z}getValueInRange(J){if(J=this._validateRange(J),J.startLineNumber===J.endLineNumber)return this._lines[J.startLineNumber-1].substring(J.startColumn-1,J.endColumn-1);const Q=this._eol,Z=J.startLineNumber-1,$=J.endLineNumber-1,X=[];X.push(this._lines[Z].substring(J.startColumn-1));for(let Y=Z+1;Y<$;Y++)X.push(this._lines[Y]);return X.push(this._lines[$].substring(0,J.endColumn-1)),X.join(Q)}offsetAt(J){return J=this._validatePosition(J),this._ensureLineStarts(),this._lineStarts.getPrefixSum(J.lineNumber-2)+(J.column-1)}positionAt(J){J=Math.floor(J),J=Math.max(0,J),this._ensureLineStarts();const Q=this._lineStarts.getIndexOf(J),Z=this._lines[Q.index].length;return{lineNumber:1+Q.index,column:1+Math.min(Q.remainder,Z)}}_validateRange(J){const Q=this._validatePosition({lineNumber:J.startLineNumber,column:J.startColumn}),Z=this._validatePosition({lineNumber:J.endLineNumber,column:J.endColumn});if(Q.lineNumber!==J.startLineNumber||Q.column!==J.startColumn||Z.lineNumber!==J.endLineNumber||Z.column!==J.endColumn)return{startLineNumber:Q.lineNumber,startColumn:Q.column,endLineNumber:Z.lineNumber,endColumn:Z.column};return J}_validatePosition(J){if(!s.isIPosition(J))throw new Error("bad position");let{lineNumber:Q,column:Z}=J,$=!1;if(Q<1)Q=1,Z=1,$=!0;else if(Q>this._lines.length)Q=this._lines.length,Z=this._lines[Q-1].length+1,$=!0;else{const X=this._lines[Q-1].length+1;if(Z<1)Z=1,$=!0;else if(Z>X)Z=X,$=!0}if(!$)return J;else return{lineNumber:Q,column:Z}}}var i$=!0;class cJ{constructor(){this._workerTextModelSyncServer=new _5}dispose(){}_getModel(J){return this._workerTextModelSyncServer.getModel(J)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(J){this._workerTextModelSyncServer.$acceptNewModel(J)}$acceptModelChanged(J,Q){this._workerTextModelSyncServer.$acceptModelChanged(J,Q)}$acceptRemovedModel(J){this._workerTextModelSyncServer.$acceptRemovedModel(J)}async $computeUnicodeHighlights(J,Q,Z){const $=this._getModel(J);if(!$)return{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0};return a8.computeUnicodeHighlights($,Q,Z)}async $findSectionHeaders(J,Q){const Z=this._getModel(J);if(!Z)return[];return CJ(Z,Q)}async $computeDiff(J,Q,Z,$){const X=this._getModel(J),Y=this._getModel(Q);if(!X||!Y)return null;return C1.computeDiff(X,Y,Z,$)}static computeDiff(J,Q,Z,$){const X=$==="advanced"?U5.getDefault():U5.getLegacy(),Y=J.getLinesContent(),z=Q.getLinesContent(),U=X.computeDiff(Y,z,Z),G=U.changes.length>0?!1:this._modelsAreIdentical(J,Q);function V(F){return F.map((_)=>[_.original.startLineNumber,_.original.endLineNumberExclusive,_.modified.startLineNumber,_.modified.endLineNumberExclusive,_.innerChanges?.map((B)=>[B.originalRange.startLineNumber,B.originalRange.startColumn,B.originalRange.endLineNumber,B.originalRange.endColumn,B.modifiedRange.startLineNumber,B.modifiedRange.startColumn,B.modifiedRange.endLineNumber,B.modifiedRange.endColumn])])}return{identical:G,quitEarly:U.hitTimeout,changes:V(U.changes),moves:U.moves.map((F)=>[F.lineRangeMapping.original.startLineNumber,F.lineRangeMapping.original.endLineNumberExclusive,F.lineRangeMapping.modified.startLineNumber,F.lineRangeMapping.modified.endLineNumberExclusive,V(F.changes)])}}static _modelsAreIdentical(J,Q){const Z=J.getLineCount(),$=Q.getLineCount();if(Z!==$)return!1;for(let X=1;X<=Z;X++){const Y=J.getLineContent(X),z=Q.getLineContent(X);if(Y!==z)return!1}return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(J,Q,Z){const $=this._getModel(J);if(!$)return Q;const X=[];let Y=void 0;Q=Q.slice(0).sort((U,G)=>{if(U.range&&G.range)return f.compareRangesUsingStarts(U.range,G.range);const V=U.range?0:1,F=G.range?0:1;return V-F});let z=0;for(let U=1;U<Q.length;U++)if(f.getEndPosition(Q[z].range).equals(f.getStartPosition(Q[U].range)))Q[z].range=f.fromPositions(f.getStartPosition(Q[z].range),f.getEndPosition(Q[U].range)),Q[z].text+=Q[U].text;else z++,Q[z]=Q[U];Q.length=z+1;for(let{range:U,text:G,eol:V}of Q){if(typeof V==="number")Y=V;if(f.isEmpty(U)&&!G)continue;const F=$.getValueInRange(U);if(G=G.replace(/\r\n|\n|\r/g,$.eol),F===G)continue;if(Math.max(G.length,F.length)>C1._diffLimit){X.push({range:U,text:G});continue}const _=S7(F,G,Z),B=$.offsetAt(f.lift(U).getStartPosition());for(let H of _){const w=$.positionAt(B+H.originalStart),q=$.positionAt(B+H.originalStart+H.originalLength),j={text:G.substr(H.modifiedStart,H.modifiedLength),range:{startLineNumber:w.lineNumber,startColumn:w.column,endLineNumber:q.lineNumber,endColumn:q.column}};if($.getValueInRange(j.range)!==j.text)X.push(j)}}if(typeof Y==="number")X.push({eol:Y,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}});return X}async $computeLinks(J){const Q=this._getModel(J);if(!Q)return null;return C7(Q)}async $computeDefaultDocumentColors(J){const Q=this._getModel(J);if(!Q)return null;return yJ(Q)}static{this._suggestionsLimit=1e4}async $textualSuggest(J,Q,Z,$){const X=new K1,Y=new RegExp(Z,$),z=new Set;J:for(let U of J){const G=this._getModel(U);if(!G)continue;for(let V of G.words(Y)){if(V===Q||!isNaN(Number(V)))continue;if(z.add(V),z.size>C1._suggestionsLimit)break J}}return{words:Array.from(z),duration:X.elapsed()}}async $computeWordRanges(J,Q,Z,$){const X=this._getModel(J);if(!X)return Object.create(null);const Y=new RegExp(Z,$),z=Object.create(null);for(let U=Q.startLineNumber;U<Q.endLineNumber;U++){const G=X.getLineWords(U,Y);for(let V of G){if(!isNaN(Number(V.word)))continue;let F=z[V.word];if(!F)F=[],z[V.word]=F;F.push({startLineNumber:U,startColumn:V.startColumn,endLineNumber:U,endColumn:V.endColumn})}}return z}async $navigateValueSet(J,Q,Z,$,X){const Y=this._getModel(J);if(!Y)return null;const z=new RegExp($,X);if(Q.startColumn===Q.endColumn)Q={startLineNumber:Q.startLineNumber,startColumn:Q.startColumn,endLineNumber:Q.endLineNumber,endColumn:Q.endColumn+1};const U=Y.getValueInRange(Q),G=Y.getWordAtPosition({lineNumber:Q.startLineNumber,column:Q.startColumn},z);if(!G)return null;const V=Y.getValueInRange(G);return f6.INSTANCE.navigateValueSet(Q,U,G,V,Z)}}class C1 extends cJ{constructor(J,Q){super();this._host=J,this._foreignModuleFactory=Q,this._foreignModule=null}async $ping(){return"pong"}$loadForeignModule(J,Q,Z){const Y={host:r9(Z,(z,U)=>{return this._host.$fhr(z,U)}),getMirrorModels:()=>{return this._getModels()}};if(this._foreignModuleFactory)return this._foreignModule=this._foreignModuleFactory(Y,Q),Promise.resolve(m8(this._foreignModule));return new Promise((z,U)=>{const G=(V)=>{this._foreignModule=V.create(Y,Q),z(m8(this._foreignModule))};if(!i$)m5([`${J}`],G,U);else import(`${b6.asBrowserUri(`${J}.js`).toString(!0)}`).then(G).catch(U)})}$fmr(J,Q){if(!this._foreignModule||typeof this._foreignModule[J]!=="function")return Promise.reject(new Error("Missing requestHandler or method: "+J));try{return Promise.resolve(this._foreignModule[J].apply(this._foreignModule,Q))}catch(Z){return Promise.reject(Z)}}}if(typeof importScripts==="function")globalThis.monaco=s9();function H5(J){if(B5)return;B5=!0;const Q=new v8((Z)=>{globalThis.postMessage(Z)},(Z)=>new C1(E1.getChannel(Z),J));globalThis.onmessage=(Z)=>{Q.onmessage(Z.data)}}var B5=!1;globalThis.onmessage=(J)=>{if(!B5)H5(null)};function u5(J,Q=!1){const Z=J.length;let $=0,X="",Y=0,z=16,U=0,G=0,V=0,F=0,_=0;function B(M,N){let P=0,R=0;while(P<M||!N){let T=J.charCodeAt($);if(T>=48&&T<=57)R=R*16+T-48;else if(T>=65&&T<=70)R=R*16+T-65+10;else if(T>=97&&T<=102)R=R*16+T-97+10;else break;$++,P++}if(P<M)R=-1;return R}function H(M){$=M,X="",Y=0,z=16,_=0}function w(){let M=$;if(J.charCodeAt($)===48)$++;else{$++;while($<J.length&&f1(J.charCodeAt($)))$++}if($<J.length&&J.charCodeAt($)===46)if($++,$<J.length&&f1(J.charCodeAt($))){$++;while($<J.length&&f1(J.charCodeAt($)))$++}else return _=3,J.substring(M,$);let N=$;if($<J.length&&(J.charCodeAt($)===69||J.charCodeAt($)===101)){if($++,$<J.length&&J.charCodeAt($)===43||J.charCodeAt($)===45)$++;if($<J.length&&f1(J.charCodeAt($))){$++;while($<J.length&&f1(J.charCodeAt($)))$++;N=$}else _=3}return J.substring(M,N)}function q(){let M="",N=$;while(!0){if($>=Z){M+=J.substring(N,$),_=2;break}const P=J.charCodeAt($);if(P===34){M+=J.substring(N,$),$++;break}if(P===92){if(M+=J.substring(N,$),$++,$>=Z){_=2;break}switch(J.charCodeAt($++)){case 34:M+='"';break;case 92:M+="\\";break;case 47:M+="/";break;case 98:M+="\b";break;case 102:M+="\f";break;case 110:M+="\n";break;case 114:M+="\r";break;case 116:M+=" ";break;case 117:const T=B(4,!0);if(T>=0)M+=String.fromCharCode(T);else _=4;break;default:_=5}N=$;continue}if(P>=0&&P<=31)if(H6(P)){M+=J.substring(N,$),_=2;break}else _=6;$++}return M}function j(){if(X="",_=0,Y=$,G=U,F=V,$>=Z)return Y=Z,z=17;let M=J.charCodeAt($);if(w5(M)){do $++,X+=String.fromCharCode(M),M=J.charCodeAt($);while(w5(M));return z=15}if(H6(M)){if($++,X+=String.fromCharCode(M),M===13&&J.charCodeAt($)===10)$++,X+="\n";return U++,V=$,z=14}switch(M){case 123:return $++,z=1;case 125:return $++,z=2;case 91:return $++,z=3;case 93:return $++,z=4;case 58:return $++,z=6;case 44:return $++,z=5;case 34:return $++,X=q(),z=10;case 47:const N=$-1;if(J.charCodeAt($+1)===47){$+=2;while($<Z){if(H6(J.charCodeAt($)))break;$++}return X=J.substring(N,$),z=12}if(J.charCodeAt($+1)===42){$+=2;const P=Z-1;let R=!1;while($<P){const T=J.charCodeAt($);if(T===42&&J.charCodeAt($+1)===47){$+=2,R=!0;break}if($++,H6(T)){if(T===13&&J.charCodeAt($)===10)$++;U++,V=$}}if(!R)$++,_=1;return X=J.substring(N,$),z=13}return X+=String.fromCharCode(M),$++,z=16;case 45:if(X+=String.fromCharCode(M),$++,$===Z||!f1(J.charCodeAt($)))return z=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return X+=w(),z=11;default:while($<Z&&k(M))$++,M=J.charCodeAt($);if(Y!==$){switch(X=J.substring(Y,$),X){case"true":return z=8;case"false":return z=9;case"null":return z=7}return z=16}return X+=String.fromCharCode(M),$++,z=16}}function k(M){if(w5(M)||H6(M))return!1;switch(M){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function D(){let M;do M=j();while(M>=12&&M<=15);return M}return{setPosition:H,getPosition:()=>$,scan:Q?D:j,getToken:()=>z,getTokenValue:()=>X,getTokenOffset:()=>Y,getTokenLength:()=>$-Y,getTokenStartLine:()=>G,getTokenStartCharacter:()=>Y-F,getTokenError:()=>_}}function w5(J){return J===32||J===9}function H6(J){return J===10||J===13}function f1(J){return J>=48&&J<=57}function e$(J,Q,Z){let $,X,Y,z,U;if(Q){z=Q.offset,U=z+Q.length,Y=z;while(Y>0&&!lJ(J,Y-1))Y--;let P=U;while(P<J.length&&!lJ(J,P))P++;X=J.substring(Y,P),$=JX(X,Z)}else X=J,$=0,Y=0,z=0,U=J.length;const G=QX(Z,J),V=r$.includes(G);let F=0,_=0,B;if(Z.insertSpaces)B=I0[Z.tabSize||4]??p1(I0[1],Z.tabSize||4);else B=" ";const H=B===" "?" ":" ";let w=u5(X,!1),q=!1;function j(){if(F>1)return p1(G,F)+p1(B,$+_);const P=B.length*($+_);if(!V||P>gJ[H][G].length)return G+p1(B,$+_);if(P<=0)return G;return gJ[H][G][P]}function k(){let P=w.scan();F=0;while(P===15||P===14){if(P===14&&Z.keepLines)F+=1;else if(P===14)F=1;P=w.scan()}return q=P===16||w.getTokenError()!==0,P}const D=[];function M(P,R,T){if(!q&&(!Q||R<U&&T>z)&&J.substring(R,T)!==P)D.push({offset:R,length:T-R,content:P})}let N=k();if(Z.keepLines&&F>0)M(p1(G,F),0,0);if(N!==17){let P=w.getTokenOffset()+Y,R=B.length*$<20&&Z.insertSpaces?I0[B.length*$]:p1(B,$);M(R,Y,P)}while(N!==17){let P=w.getTokenOffset()+w.getTokenLength()+Y,R=k(),T="",x=!1;while(F===0&&(R===12||R===13)){let C=w.getTokenOffset()+Y;M(I0[1],P,C),P=w.getTokenOffset()+w.getTokenLength()+Y,x=R===12,T=x?j():"",R=k()}if(R===2){if(N!==1)_--;if(Z.keepLines&&F>0||!Z.keepLines&&N!==1)T=j();else if(Z.keepLines)T=I0[1]}else if(R===4){if(N!==3)_--;if(Z.keepLines&&F>0||!Z.keepLines&&N!==3)T=j();else if(Z.keepLines)T=I0[1]}else{switch(N){case 3:case 1:if(_++,Z.keepLines&&F>0||!Z.keepLines)T=j();else T=I0[1];break;case 5:if(Z.keepLines&&F>0||!Z.keepLines)T=j();else T=I0[1];break;case 12:T=j();break;case 13:if(F>0)T=j();else if(!x)T=I0[1];break;case 6:if(Z.keepLines&&F>0)T=j();else if(!x)T=I0[1];break;case 10:if(Z.keepLines&&F>0)T=j();else if(R===6&&!x)T="";break;case 7:case 8:case 9:case 11:case 2:case 4:if(Z.keepLines&&F>0)T=j();else if((R===12||R===13)&&!x)T=I0[1];else if(R!==5&&R!==17)q=!0;break;case 16:q=!0;break}if(F>0&&(R===12||R===13))T=j()}if(R===17)if(Z.keepLines&&F>0)T=j();else T=Z.insertFinalNewline?G:"";const b=w.getTokenOffset()+Y;M(T,P,b),N=R}return D}function p1(J,Q){let Z="";for(let $=0;$<Q;$++)Z+=J;return Z}function JX(J,Q){let Z=0,$=0;const X=Q.tabSize||4;while(Z<J.length){let Y=J.charAt(Z);if(Y===I0[1])$++;else if(Y===" ")$+=X;else break;Z++}return Math.floor($/X)}function QX(J,Q){for(let Z=0;Z<Q.length;Z++){const $=Q.charAt(Z);if($==="\r"){if(Z+1<Q.length&&Q.charAt(Z+1)==="\n")return"\r\n";return"\r"}else if($==="\n")return"\n"}return J&&J.eol||"\n"}function lJ(J,Q){return"\r\n".indexOf(J.charAt(Q))!==-1}function ZX(J,Q=[],Z=J8.DEFAULT){let $=null,X=[];const Y=[];function z(G){if(Array.isArray(X))X.push(G);else if($!==null)X[$]=G}return XX(J,{onObjectBegin:()=>{const G={};z(G),Y.push(X),X=G,$=null},onObjectProperty:(G)=>{$=G},onObjectEnd:()=>{X=Y.pop()},onArrayBegin:()=>{const G=[];z(G),Y.push(X),X=G,$=null},onArrayEnd:()=>{X=Y.pop()},onLiteralValue:z,onError:(G,V,F)=>{Q.push({error:G,offset:V,length:F})}},Z),X[0]}function eQ(J){if(!J.parent||!J.parent.children)return[];const Q=eQ(J.parent);if(J.parent.type==="property"){const Z=J.parent.children[0].value;Q.push(Z)}else if(J.parent.type==="array"){const Z=J.parent.children.indexOf(J);if(Z!==-1)Q.push(Z)}return Q}function P5(J){switch(J.type){case"array":return J.children.map(P5);case"object":const Q=Object.create(null);for(let Z of J.children){const $=Z.children[1];if($)Q[Z.children[0].value]=P5($)}return Q;case"null":case"string":case"number":case"boolean":return J.value;default:return}}function $X(J,Q,Z=!1){return Q>=J.offset&&Q<J.offset+J.length||Z&&Q===J.offset+J.length}function JZ(J,Q,Z=!1){if($X(J,Q,Z)){const $=J.children;if(Array.isArray($))for(let X=0;X<$.length&&$[X].offset<=Q;X++){const Y=JZ($[X],Q,Z);if(Y)return Y}return J}return}function XX(J,Q,Z=J8.DEFAULT){const $=u5(J,!1),X=[];function Y(L){return L?()=>L($.getTokenOffset(),$.getTokenLength(),$.getTokenStartLine(),$.getTokenStartCharacter()):()=>!0}function z(L){return L?()=>L($.getTokenOffset(),$.getTokenLength(),$.getTokenStartLine(),$.getTokenStartCharacter(),()=>X.slice()):()=>!0}function U(L){return L?(y)=>L(y,$.getTokenOffset(),$.getTokenLength(),$.getTokenStartLine(),$.getTokenStartCharacter()):()=>!0}function G(L){return L?(y)=>L(y,$.getTokenOffset(),$.getTokenLength(),$.getTokenStartLine(),$.getTokenStartCharacter(),()=>X.slice()):()=>!0}const V=z(Q.onObjectBegin),F=G(Q.onObjectProperty),_=Y(Q.onObjectEnd),B=z(Q.onArrayBegin),H=Y(Q.onArrayEnd),w=G(Q.onLiteralValue),q=U(Q.onSeparator),j=Y(Q.onComment),k=U(Q.onError),D=Z&&Z.disallowComments,M=Z&&Z.allowTrailingComma;function N(){while(!0){const L=$.scan();switch($.getTokenError()){case 4:P(14);break;case 5:P(15);break;case 3:P(13);break;case 1:if(!D)P(11);break;case 2:P(12);break;case 6:P(16);break}switch(L){case 12:case 13:if(D)P(10);else j();break;case 16:P(1);break;case 15:case 14:break;default:return L}}}function P(L,y=[],I=[]){if(k(L),y.length+I.length>0){let v=$.getToken();while(v!==17){if(y.indexOf(v)!==-1){N();break}else if(I.indexOf(v)!==-1)break;v=N()}}}function R(L){const y=$.getTokenValue();if(L)w(y);else F(y),X.push(y);return N(),!0}function T(){switch($.getToken()){case 11:const L=$.getTokenValue();let y=Number(L);if(isNaN(y))P(2),y=0;w(y);break;case 7:w(null);break;case 8:w(!0);break;case 9:w(!1);break;default:return!1}return N(),!0}function x(){if($.getToken()!==10)return P(3,[],[2,5]),!1;if(R(!1),$.getToken()===6){if(q(":"),N(),!A())P(4,[],[2,5])}else P(5,[],[2,5]);return X.pop(),!0}function b(){V(),N();let L=!1;while($.getToken()!==2&&$.getToken()!==17){if($.getToken()===5){if(!L)P(4,[],[]);if(q(","),N(),$.getToken()===2&&M)break}else if(L)P(6,[],[]);if(!x())P(4,[],[2,5]);L=!0}if(_(),$.getToken()!==2)P(7,[2],[]);else N();return!0}function C(){B(),N();let L=!0,y=!1;while($.getToken()!==4&&$.getToken()!==17){if($.getToken()===5){if(!y)P(4,[],[]);if(q(","),N(),$.getToken()===4&&M)break}else if(y)P(6,[],[]);if(L)X.push(0),L=!1;else X[X.length-1]++;if(!A())P(4,[],[4,5]);y=!0}if(H(),!L)X.pop();if($.getToken()!==4)P(8,[4],[]);else N();return!0}function A(){switch($.getToken()){case 3:return C();case 1:return b();case 10:return R(!0);default:return T()}}if(N(),$.getToken()===17){if(Z.allowEmptyContent)return!0;return P(4,[],[]),!1}if(!A())return P(4,[],[]),!1;if($.getToken()!==17)P(9,[],[]);return!0}function VX(J,Q,Z){return e$(J,Q,Z)}function u1(J,Q){if(J===Q)return!0;if(J===null||J===void 0||Q===null||Q===void 0)return!1;if(typeof J!==typeof Q)return!1;if(typeof J!=="object")return!1;if(Array.isArray(J)!==Array.isArray(Q))return!1;let Z,$;if(Array.isArray(J)){if(J.length!==Q.length)return!1;for(Z=0;Z<J.length;Z++)if(!u1(J[Z],Q[Z]))return!1}else{const X=[];for($ in J)X.push($);X.sort();const Y=[];for($ in Q)Y.push($);if(Y.sort(),!u1(X,Y))return!1;for(Z=0;Z<X.length;Z++)if(!u1(J[X[Z]],Q[X[Z]]))return!1}return!0}function H0(J){return typeof J==="number"}function S0(J){return typeof J!=="undefined"}function p0(J){return typeof J==="boolean"}function QZ(J){return typeof J==="string"}function U1(J){return typeof J==="object"&&J!==null&&!Array.isArray(J)}function WX(J,Q){if(J.length<Q.length)return!1;for(let Z=0;Z<Q.length;Z++)if(J[Z]!==Q[Z])return!1;return!0}function j6(J,Q){const Z=J.length-Q.length;if(Z>0)return J.lastIndexOf(Q)===Z;else if(Z===0)return J===Q;else return!1}function Q8(J){let Q="";if(WX(J,"(?i)"))J=J.substring(4),Q="i";try{return new RegExp(J,Q+"u")}catch(Z){try{return new RegExp(J,Q)}catch($){return}}}function oJ(J){let Q=0;for(let Z=0;Z<J.length;Z++){Q++;const $=J.charCodeAt(Z);if(55296<=$&&$<=56319)Z++}return Q}function S5(J,Q){if(J.length<=1)return J;const Z=J.length/2|0,$=J.slice(0,Z),X=J.slice(Z);S5($,Q),S5(X,Q);let Y=0,z=0,U=0;while(Y<$.length&&z<X.length)if(Q($[Y],X[z])<=0)J[U++]=$[Y++];else J[U++]=X[z++];while(Y<$.length)J[U++]=$[Y++];while(z<X.length)J[U++]=X[z++];return J}function lQ(J,Q,Z=0){const $=Q?[Z]:[];for(let X=0;X<J.length;X++){let Y=J.charCodeAt(X);if(Y===13||Y===10){if(Y===13&&X+1<J.length&&J.charCodeAt(X+1)===10)X++;$.push(Z+X+1)}}return $}function ZZ(J){const{start:Q,end:Z}=J;if(Q.line>Z.line||Q.line===Z.line&&Q.character>Z.character)return{start:Z,end:Q};return J}function _X(J){const Q=ZZ(J.range);if(Q!==J.range)return{newText:J.newText,range:Q};return J}function O(...J){const Q=J[0];let Z,$,X;if(typeof Q==="string")Z=Q,$=Q,J.splice(0,1),X=!J||typeof J[0]!=="object"?J:J[0];else if(Q instanceof Array){const z=J.slice(1);if(Q.length!==z.length+1)throw new Error("expected a string as the first argument to l10n.t");let U=Q[0];for(let G=1;G<Q.length;G++)U+=`{${G-1}}`+Q[G];return O(U,...z)}else{if($=Q.message,Z=$,Q.comment&&Q.comment.length>0)Z+=`/${Array.isArray(Q.comment)?Q.comment.join(""):Q.comment}`;X=Q.args??{}}const Y=BX?.[Z];if(!Y)return i6($,X);if(typeof Y==="string")return i6(Y,X);if(Y.comment)return i6(Y.message,X);return i6($,X)}function i6(J,Q){if(Object.keys(Q).length===0)return J;return J.replace(HX,(Z,$)=>Q[$]??Z)}function T0(J){if(p0(J))return J?{}:{not:{}};return J}function AX(J,Q=[]){return new XZ(J,Q,[])}function P1(J){return GX(J)}function b5(J){return UX(J)}function $Z(J,Q,Z=!1){return Q>=J.offset&&Q<J.offset+J.length||Z&&Q===J.offset+J.length}function oQ(J,Q=y0.v2020_12){let Z=J.$schema;if(Z)return DX[Z]??Q;return Q}function F0(J,Q,Z,$,X){if(!J||!$.include(J))return;if(J.type==="property")return F0(J.valueNode,Q,Z,$,X);const Y=J;switch(z(),Y.type){case"object":F(Y);break;case"array":V(Y);break;case"string":G(Y);break;case"number":U(Y);break}$.add({node:Y,schema:Q});function z(){function _(D){return Y.type===D||D==="integer"&&Y.type==="number"&&Y.isInteger}if(Array.isArray(Q.type)){if(!Q.type.some(_))Z.problems.push({location:{offset:Y.offset,length:Y.length},message:Q.errorMessage||O("Incorrect type. Expected one of {0}.",Q.type.join(", "))})}else if(Q.type){if(!_(Q.type))Z.problems.push({location:{offset:Y.offset,length:Y.length},message:Q.errorMessage||O('Incorrect type. Expected "{0}".',Q.type)})}if(Array.isArray(Q.allOf))for(let D of Q.allOf){const M=new w0,N=$.newSub();F0(Y,T0(D),M,N,X),Z.merge(M),$.merge(N)}const B=T0(Q.not);if(B){const D=new w0,M=$.newSub();if(F0(Y,B,D,M,X),!D.hasProblems())Z.problems.push({location:{offset:Y.offset,length:Y.length},message:Q.errorMessage||O("Matches a schema that is not allowed.")});for(let N of M.schemas)N.inverted=!N.inverted,$.add(N)}const H=(D,M)=>{const N=[];let P=void 0;for(let R of D){const T=T0(R),x=new w0,b=$.newSub();if(F0(Y,T,x,b,X),!x.hasProblems())N.push(T);if(!P)P={schema:T,validationResult:x,matchingSchemas:b};else if(!M&&!x.hasProblems()&&!P.validationResult.hasProblems())P.matchingSchemas.merge(b),P.validationResult.propertiesMatches+=x.propertiesMatches,P.validationResult.propertiesValueMatches+=x.propertiesValueMatches,P.validationResult.mergeProcessedProperties(x);else{const C=x.compare(P.validationResult);if(C>0)P={schema:T,validationResult:x,matchingSchemas:b};else if(C===0)P.matchingSchemas.merge(b),P.validationResult.mergeEnumValues(x)}}if(N.length>1&&M)Z.problems.push({location:{offset:Y.offset,length:1},message:O("Matches multiple schemas when only one must validate.")});if(P)Z.merge(P.validationResult),$.merge(P.matchingSchemas);return N.length};if(Array.isArray(Q.anyOf))H(Q.anyOf,!1);if(Array.isArray(Q.oneOf))H(Q.oneOf,!0);const w=(D)=>{const M=new w0,N=$.newSub();F0(Y,T0(D),M,N,X),Z.merge(M),$.merge(N)},q=(D,M,N)=>{const P=T0(D),R=new w0,T=$.newSub();if(F0(Y,P,R,T,X),$.merge(T),Z.mergeProcessedProperties(R),!R.hasProblems()){if(M)w(M)}else if(N)w(N)},j=T0(Q.if);if(j)q(j,T0(Q.then),T0(Q.else));if(Array.isArray(Q.enum)){const D=P1(Y);let M=!1;for(let N of Q.enum)if(u1(D,N)){M=!0;break}if(Z.enumValues=Q.enum,Z.enumValueMatch=M,!M)Z.problems.push({location:{offset:Y.offset,length:Y.length},code:a.EnumValueMismatch,message:Q.errorMessage||O("Value is not accepted. Valid values: {0}.",Q.enum.map((N)=>JSON.stringify(N)).join(", "))})}if(S0(Q.const)){const D=P1(Y);if(!u1(D,Q.const))Z.problems.push({location:{offset:Y.offset,length:Y.length},code:a.EnumValueMismatch,message:Q.errorMessage||O("Value must be {0}.",JSON.stringify(Q.const))}),Z.enumValueMatch=!1;else Z.enumValueMatch=!0;Z.enumValues=[Q.const]}let k=Q.deprecationMessage;if(k||Q.deprecated){k=k||O("Value is deprecated");let D=Y.parent?.type==="property"?Y.parent:Y;Z.problems.push({location:{offset:D.offset,length:D.length},severity:R0.Warning,message:k,code:a.Deprecated})}}function U(_){const B=_.value;function H(N){const P=/^(-?\d+)(?:\.(\d+))?(?:e([-+]\d+))?$/.exec(N.toString());return P&&{value:Number(P[1]+(P[2]||"")),multiplier:(P[2]?.length||0)-(parseInt(P[3])||0)}}if(H0(Q.multipleOf)){let N=-1;if(Number.isInteger(Q.multipleOf))N=B%Q.multipleOf;else{let P=H(Q.multipleOf),R=H(B);if(P&&R){const T=10**Math.abs(R.multiplier-P.multiplier);if(R.multiplier<P.multiplier)R.value*=T;else P.value*=T;N=R.value%P.value}}if(N!==0)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Value is not divisible by {0}.",Q.multipleOf)})}function w(N,P){if(H0(P))return P;if(p0(P)&&P)return N;return}function q(N,P){if(!p0(P)||!P)return N;return}const j=w(Q.minimum,Q.exclusiveMinimum);if(H0(j)&&B<=j)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Value is below the exclusive minimum of {0}.",j)});const k=w(Q.maximum,Q.exclusiveMaximum);if(H0(k)&&B>=k)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Value is above the exclusive maximum of {0}.",k)});const D=q(Q.minimum,Q.exclusiveMinimum);if(H0(D)&&B<D)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Value is below the minimum of {0}.",D)});const M=q(Q.maximum,Q.exclusiveMaximum);if(H0(M)&&B>M)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Value is above the maximum of {0}.",M)})}function G(_){if(H0(Q.minLength)&&oJ(_.value)<Q.minLength)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("String is shorter than the minimum length of {0}.",Q.minLength)});if(H0(Q.maxLength)&&oJ(_.value)>Q.maxLength)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("String is longer than the maximum length of {0}.",Q.maxLength)});if(QZ(Q.pattern)){if(!Q8(Q.pattern)?.test(_.value))Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.patternErrorMessage||Q.errorMessage||O('String does not match the pattern of "{0}".',Q.pattern)})}if(Q.format)switch(Q.format){case"uri":case"uri-reference":{let H;if(!_.value)H=O("URI expected.");else{const w=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec(_.value);if(!w)H=O("URI is expected.");else if(!w[2]&&Q.format==="uri")H=O("URI with a scheme is expected.")}if(H)Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.patternErrorMessage||Q.errorMessage||O("String is not a URI: {0}",H)})}break;case"color-hex":case"date-time":case"date":case"time":case"email":case"hostname":case"ipv4":case"ipv6":const B=wX[Q.format];if(!_.value||!B.pattern.exec(_.value))Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.patternErrorMessage||Q.errorMessage||B.errorMessage});default:}}function V(_){let B,H;if(X.schemaDraft>=y0.v2020_12)B=Q.prefixItems,H=!Array.isArray(Q.items)?Q.items:void 0;else B=Array.isArray(Q.items)?Q.items:void 0,H=!Array.isArray(Q.items)?Q.items:Q.additionalItems;let w=0;if(B!==void 0){const k=Math.min(B.length,_.items.length);for(;w<k;w++){const D=B[w],M=T0(D),N=new w0,P=_.items[w];if(P)F0(P,M,N,$,X),Z.mergePropertyMatch(N);Z.processedProperties.add(String(w))}}if(H!==void 0&&w<_.items.length)if(typeof H==="boolean"){if(H===!1)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Array has too many items according to schema. Expected {0} or fewer.",w)});for(;w<_.items.length;w++)Z.processedProperties.add(String(w)),Z.propertiesValueMatches++}else for(;w<_.items.length;w++){const k=new w0;F0(_.items[w],H,k,$,X),Z.mergePropertyMatch(k),Z.processedProperties.add(String(w))}const q=T0(Q.contains);if(q){let k=0;for(let D=0;D<_.items.length;D++){const M=_.items[D],N=new w0;if(F0(M,q,N,M6.instance,X),!N.hasProblems()){if(k++,X.schemaDraft>=y0.v2020_12)Z.processedProperties.add(String(D))}}if(k===0&&!H0(Q.minContains))Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.errorMessage||O("Array does not contain required item.")});if(H0(Q.minContains)&&k<Q.minContains)Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.errorMessage||O("Array has too few items that match the contains contraint. Expected {0} or more.",Q.minContains)});if(H0(Q.maxContains)&&k>Q.maxContains)Z.problems.push({location:{offset:_.offset,length:_.length},message:Q.errorMessage||O("Array has too many items that match the contains contraint. Expected {0} or less.",Q.maxContains)})}const j=Q.unevaluatedItems;if(j!==void 0)for(let k=0;k<_.items.length;k++){if(!Z.processedProperties.has(String(k)))if(j===!1)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Item does not match any validation rule from the array.")});else{const D=new w0;F0(_.items[k],Q.unevaluatedItems,D,$,X),Z.mergePropertyMatch(D)}Z.processedProperties.add(String(k)),Z.propertiesValueMatches++}if(H0(Q.minItems)&&_.items.length<Q.minItems)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Array has too few items. Expected {0} or more.",Q.minItems)});if(H0(Q.maxItems)&&_.items.length>Q.maxItems)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Array has too many items. Expected {0} or fewer.",Q.maxItems)});if(Q.uniqueItems===!0){let k=function(){for(let M=0;M<D.length-1;M++){const N=D[M];for(let P=M+1;P<D.length;P++)if(u1(N,D[P]))return!0}return!1};const D=P1(_);if(k())Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Array has duplicate items.")})}}function F(_){const B=Object.create(null),H=new Set;for(let M of _.properties){const N=M.keyNode.value;B[N]=M.valueNode,H.add(N)}if(Array.isArray(Q.required)){for(let M of Q.required)if(!B[M]){const N=_.parent&&_.parent.type==="property"&&_.parent.keyNode,P=N?{offset:N.offset,length:N.length}:{offset:_.offset,length:1};Z.problems.push({location:P,message:O('Missing property "{0}".',M)})}}const w=(M)=>{H.delete(M),Z.processedProperties.add(M)};if(Q.properties)for(let M of Object.keys(Q.properties)){w(M);const N=Q.properties[M],P=B[M];if(P)if(p0(N))if(!N){const R=P.parent;Z.problems.push({location:{offset:R.keyNode.offset,length:R.keyNode.length},message:Q.errorMessage||O("Property {0} is not allowed.",M)})}else Z.propertiesMatches++,Z.propertiesValueMatches++;else{const R=new w0;F0(P,N,R,$,X),Z.mergePropertyMatch(R)}}if(Q.patternProperties)for(let M of Object.keys(Q.patternProperties)){const N=Q8(M);if(N){const P=[];for(let R of H)if(N.test(R)){P.push(R);const T=B[R];if(T){const x=Q.patternProperties[M];if(p0(x))if(!x){const b=T.parent;Z.problems.push({location:{offset:b.keyNode.offset,length:b.keyNode.length},message:Q.errorMessage||O("Property {0} is not allowed.",R)})}else Z.propertiesMatches++,Z.propertiesValueMatches++;else{const b=new w0;F0(T,x,b,$,X),Z.mergePropertyMatch(b)}}}P.forEach(w)}}const q=Q.additionalProperties;if(q!==void 0)for(let M of H){w(M);const N=B[M];if(N){if(q===!1){const P=N.parent;Z.problems.push({location:{offset:P.keyNode.offset,length:P.keyNode.length},message:Q.errorMessage||O("Property {0} is not allowed.",M)})}else if(q!==!0){const P=new w0;F0(N,q,P,$,X),Z.mergePropertyMatch(P)}}}const j=Q.unevaluatedProperties;if(j!==void 0){const M=[];for(let N of H)if(!Z.processedProperties.has(N)){M.push(N);const P=B[N];if(P){if(j===!1){const R=P.parent;Z.problems.push({location:{offset:R.keyNode.offset,length:R.keyNode.length},message:Q.errorMessage||O("Property {0} is not allowed.",N)})}else if(j!==!0){const R=new w0;F0(P,j,R,$,X),Z.mergePropertyMatch(R)}}}M.forEach(w)}if(H0(Q.maxProperties)){if(_.properties.length>Q.maxProperties)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Object has more properties than limit of {0}.",Q.maxProperties)})}if(H0(Q.minProperties)){if(_.properties.length<Q.minProperties)Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Object has fewer properties than the required number of {0}",Q.minProperties)})}if(Q.dependentRequired)for(let M in Q.dependentRequired){const N=B[M],P=Q.dependentRequired[M];if(N&&Array.isArray(P))D(M,P)}if(Q.dependentSchemas)for(let M in Q.dependentSchemas){const N=B[M],P=Q.dependentSchemas[M];if(N&&U1(P))D(M,P)}if(Q.dependencies){for(let M in Q.dependencies)if(B[M])D(M,Q.dependencies[M])}const k=T0(Q.propertyNames);if(k)for(let M of _.properties){const N=M.keyNode;if(N)F0(N,k,Z,M6.instance,X)}function D(M,N){if(Array.isArray(N))for(let P of N)if(!B[P])Z.problems.push({location:{offset:_.offset,length:_.length},message:O("Object is missing property {0} required by property {1}.",P,M)});else Z.propertiesValueMatches++;else{const P=T0(N);if(P){const R=new w0;F0(_,P,R,$,X),Z.mergePropertyMatch(R)}}}}}function TX(J,Q){const Z=[];let $=-1;const X=J.getText(),Y=j1(X,!1),z=Q&&Q.collectComments?[]:void 0;function U(){while(!0){const T=Y.scan();switch(_(),T){case 12:case 13:if(Array.isArray(z))z.push(d.create(J.positionAt(Y.getTokenOffset()),J.positionAt(Y.getTokenOffset()+Y.getTokenLength())));break;case 15:case 14:break;default:return T}}}function G(T){if(Y.getToken()===T)return U(),!0;return!1}function V(T,x,b,C,A=R0.Error){if(Z.length===0||b!==$){const L=d.create(J.positionAt(b),J.positionAt(C));Z.push(o0.create(L,T,A,x,J.languageId)),$=b}}function F(T,x,b=void 0,C=[],A=[]){let L=Y.getTokenOffset(),y=Y.getTokenOffset()+Y.getTokenLength();if(L===y&&L>0){L--;while(L>0&&/\s/.test(X.charAt(L)))L--;y=L+1}if(V(T,x,L,y),b)B(b,!1);if(C.length+A.length>0){let I=Y.getToken();while(I!==17){if(C.indexOf(I)!==-1){U();break}else if(A.indexOf(I)!==-1)break;I=U()}}return b}function _(){switch(Y.getTokenError()){case 4:return F(O("Invalid unicode sequence in string."),a.InvalidUnicode),!0;case 5:return F(O("Invalid escape character in string."),a.InvalidEscapeCharacter),!0;case 3:return F(O("Unexpected end of number."),a.UnexpectedEndOfNumber),!0;case 1:return F(O("Unexpected end of comment."),a.UnexpectedEndOfComment),!0;case 2:return F(O("Unexpected end of string."),a.UnexpectedEndOfString),!0;case 6:return F(O("Invalid characters in string. Control characters must be escaped."),a.InvalidCharacter),!0}return!1}function B(T,x){if(T.length=Y.getTokenOffset()+Y.getTokenLength()-T.offset,x)U();return T}function H(T){if(Y.getToken()!==3)return;const x=new NX(T,Y.getTokenOffset());U();const b=0;let C=!1;while(Y.getToken()!==4&&Y.getToken()!==17){if(Y.getToken()===5){if(!C)F(O("Value expected"),a.ValueExpected);const L=Y.getTokenOffset();if(U(),Y.getToken()===4){if(C)V(O("Trailing comma"),a.TrailingComma,L,L+1);continue}}else if(C)F(O("Expected comma"),a.CommaExpected);const A=N(x);if(!A)F(O("Value expected"),a.ValueExpected,void 0,[],[4,5]);else x.items.push(A);C=!0}if(Y.getToken()!==4)return F(O("Expected comma or closing bracket"),a.CommaOrCloseBacketExpected,x);return B(x,!0)}const w=new q5(void 0,0,0);function q(T,x){const b=new PX(T,Y.getTokenOffset(),w);let C=k(b);if(!C)if(Y.getToken()===16){F(O("Property keys must be doublequoted"),a.PropertyKeysMustBeDoublequoted);const L=new q5(b,Y.getTokenOffset(),Y.getTokenLength());L.value=Y.getTokenValue(),C=L,U()}else return;if(b.keyNode=C,C.value!=="//"){const L=x[C.value];if(L){if(V(O("Duplicate object key"),a.DuplicateKey,b.keyNode.offset,b.keyNode.offset+b.keyNode.length,R0.Warning),U1(L))V(O("Duplicate object key"),a.DuplicateKey,L.keyNode.offset,L.keyNode.offset+L.keyNode.length,R0.Warning);x[C.value]=!0}else x[C.value]=b}if(Y.getToken()===6)b.colonOffset=Y.getTokenOffset(),U();else if(F(O("Colon expected"),a.ColonExpected),Y.getToken()===10&&J.positionAt(C.offset+C.length).line<J.positionAt(Y.getTokenOffset()).line)return b.length=C.length,b;const A=N(b);if(!A)return F(O("Value expected"),a.ValueExpected,b,[],[2,5]);return b.valueNode=A,b.length=A.offset+A.length-b.offset,b}function j(T){if(Y.getToken()!==1)return;const x=new MX(T,Y.getTokenOffset()),b=Object.create(null);U();let C=!1;while(Y.getToken()!==2&&Y.getToken()!==17){if(Y.getToken()===5){if(!C)F(O("Property expected"),a.PropertyExpected);const L=Y.getTokenOffset();if(U(),Y.getToken()===2){if(C)V(O("Trailing comma"),a.TrailingComma,L,L+1);continue}}else if(C)F(O("Expected comma"),a.CommaExpected);const A=q(x,b);if(!A)F(O("Property expected"),a.PropertyExpected,void 0,[],[2,5]);else x.properties.push(A);C=!0}if(Y.getToken()!==2)return F(O("Expected comma or closing brace"),a.CommaOrCloseBraceExpected,x);return B(x,!0)}function k(T){if(Y.getToken()!==10)return;const x=new q5(T,Y.getTokenOffset());return x.value=Y.getTokenValue(),B(x,!0)}function D(T){if(Y.getToken()!==11)return;const x=new jX(T,Y.getTokenOffset());if(Y.getTokenError()===0){const b=Y.getTokenValue();try{const C=JSON.parse(b);if(!H0(C))return F(O("Invalid number format."),a.Undefined,x);x.value=C}catch(C){return F(O("Invalid number format."),a.Undefined,x)}x.isInteger=b.indexOf(".")===-1}return B(x,!0)}function M(T){let x;switch(Y.getToken()){case 7:return B(new qX(T,Y.getTokenOffset()),!0);case 8:return B(new dQ(T,!0,Y.getTokenOffset()),!0);case 9:return B(new dQ(T,!1,Y.getTokenOffset()),!0);default:return}}function N(T){return H(T)||j(T)||k(T)||D(T)||M(T)}let P=void 0;if(U()!==17){if(P=N(P),!P)F(O("Expected a JSON object, array or literal."),a.Undefined);else if(Y.getToken()!==17)F(O("End of file expected."),a.Undefined)}return new XZ(P,Z,z)}function C5(J,Q,Z){if(J!==null&&typeof J==="object"){const $=Q+" ";if(Array.isArray(J)){if(J.length===0)return"[]";let X="[\n";for(let Y=0;Y<J.length;Y++){if(X+=$+C5(J[Y],$,Z),Y<J.length-1)X+=",";X+="\n"}return X+=Q+"]",X}else{const X=Object.keys(J);if(X.length===0)return"{}";let Y="{\n";for(let z=0;z<X.length;z++){const U=X[z];if(Y+=$+JSON.stringify(U)+": "+C5(J[U],$,Z),z<X.length-1)Y+=",";Y+="\n"}return Y+=Q+"}",Y}}return Z(J)}function N5(J){if(J)return J.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,"$1\n\n$3").replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&");return}function LX(J){if(J.indexOf("`")!==-1)return"`` "+J+" ``";return J}function YZ(J){if(J&&typeof J==="object"){if(p0(J.allowComments))return J.allowComments;if(J.allOf)for(let Q of J.allOf){const Z=YZ(Q);if(p0(Z))return Z}}return}function zZ(J){if(J&&typeof J==="object"){if(p0(J.allowTrailingCommas))return J.allowTrailingCommas;const Q=J;if(p0(Q.allowsTrailingCommas))return Q.allowsTrailingCommas;if(J.allOf)for(let Z of J.allOf){const $=zZ(Z);if(p0($))return $}}return}function t6(J){switch(J){case"error":return R0.Error;case"warning":return R0.Warning;case"ignore":return}return}function Z0(J){if(J<nQ)return 0;if(J<=xX)return J-nQ;if(J<r6)J+=r6-SX;if(J>=r6&&J<=yX)return J-r6+10;return 0}function bX(J){if(J[0]!=="#")return;switch(J.length){case 4:return{red:Z0(J.charCodeAt(1))*17/255,green:Z0(J.charCodeAt(2))*17/255,blue:Z0(J.charCodeAt(3))*17/255,alpha:1};case 5:return{red:Z0(J.charCodeAt(1))*17/255,green:Z0(J.charCodeAt(2))*17/255,blue:Z0(J.charCodeAt(3))*17/255,alpha:Z0(J.charCodeAt(4))*17/255};case 7:return{red:(Z0(J.charCodeAt(1))*16+Z0(J.charCodeAt(2)))/255,green:(Z0(J.charCodeAt(3))*16+Z0(J.charCodeAt(4)))/255,blue:(Z0(J.charCodeAt(5))*16+Z0(J.charCodeAt(6)))/255,alpha:1};case 9:return{red:(Z0(J.charCodeAt(1))*16+Z0(J.charCodeAt(2)))/255,green:(Z0(J.charCodeAt(3))*16+Z0(J.charCodeAt(4)))/255,blue:(Z0(J.charCodeAt(5))*16+Z0(J.charCodeAt(6)))/255,alpha:(Z0(J.charCodeAt(7))*16+Z0(J.charCodeAt(8)))/255}}return}function Y1(J,Q){return d.create(J.positionAt(Q.offset),J.positionAt(Q.offset+Q.length))}function iQ(J){return P1(J)||O("<empty>")}function hX(J,Q){if(typeof J!=="string")throw new TypeError("Expected a string");const Z=String(J);let $="";const X=Q?!!Q.extended:!1,Y=Q?!!Q.globstar:!1;let z=!1;const U=Q&&typeof Q.flags==="string"?Q.flags:"";let G;for(let V=0,F=Z.length;V<F;V++)switch(G=Z[V],G){case"/":case"$":case"^":case"+":case".":case"(":case")":case"=":case"!":case"|":$+="\\"+G;break;case"?":if(X){$+=".";break}case"[":case"]":if(X){$+=G;break}case"{":if(X){z=!0,$+="(";break}case"}":if(X){z=!1,$+=")";break}case",":if(z){$+="|";break}$+="\\"+G;break;case"*":const _=Z[V-1];let B=1;while(Z[V+1]==="*")B++,V++;const H=Z[V+1];if(!Y)$+=".*";else if(B>1&&(_==="/"||_===void 0||_==="{"||_===",")&&(H==="/"||H===void 0||H===","||H==="}")){if(H==="/")V++;else if(_==="/"&&$.endsWith("\\/"))$=$.substr(0,$.length-2);$+="((?:[^/]*(?:/|$))*)"}else $+="([^/]*)";break;default:$+=G}if(!U||!~U.indexOf("g"))$="^"+$+"$";return new RegExp($,U)}function z1(J){try{return l1.parse(J).toString(!0)}catch(Q){return J}}function GZ(J){try{return l1.parse(J).with({fragment:null,query:null}).toString(!0)}catch(Q){return J}}function w6(J){try{const Q=l1.parse(J);if(Q.scheme==="file")return Q.fsPath}catch(Q){}return J}function dX(J,Q){const Z=[],$=[],X=[];let Y=-1;const z=j1(J.getText(),!1);let U=z.scan();function G(w){Z.push(w),$.push(X.length)}while(U!==17){switch(U){case 1:case 3:{const w=J.positionAt(z.getTokenOffset()).line,q={startLine:w,endLine:w,kind:U===1?"object":"array"};X.push(q);break}case 2:case 4:{const w=U===2?"object":"array";if(X.length>0&&X[X.length-1].kind===w){const q=X.pop(),j=J.positionAt(z.getTokenOffset()).line;if(q&&j>q.startLine+1&&Y!==q.startLine)q.endLine=j-1,G(q),Y=q.startLine}break}case 13:{const w=J.positionAt(z.getTokenOffset()).line,q=J.positionAt(z.getTokenOffset()+z.getTokenLength()).line;if(z.getTokenError()===1&&w+1<J.lineCount)z.setPosition(J.offsetAt(J0.create(w+1,0)));else if(w<q)G({startLine:w,endLine:q,kind:N6.Comment}),Y=w;break}case 12:{const q=J.getText().substr(z.getTokenOffset(),z.getTokenLength()).match(/^\/\/\s*#(region\b)|(endregion\b)/);if(q){const j=J.positionAt(z.getTokenOffset()).line;if(q[1]){const k={startLine:j,endLine:j,kind:N6.Region};X.push(k)}else{let k=X.length-1;while(k>=0&&X[k].kind!==N6.Region)k--;if(k>=0){const D=X[k];if(X.length=k,j>D.startLine&&Y!==D.startLine)D.endLine=j,G(D),Y=D.startLine}}}break}}U=z.scan()}const V=Q&&Q.rangeLimit;if(typeof V!=="number"||Z.length<=V)return Z;if(Q&&Q.onRangeLimitExceeded)Q.onRangeLimitExceeded(J.uri);const F=[];for(let w of $)if(w<30)F[w]=(F[w]||0)+1;let _=0,B=0;for(let w=0;w<F.length;w++){const q=F[w];if(q){if(q+_>V){B=w;break}_+=q}}const H=[];for(let w=0;w<Z.length;w++){const q=$[w];if(typeof q==="number"){if(q<B||q===B&&_++<V)H.push(Z[w])}}return H}function sX(J,Q,Z){function $(U){let G=J.offsetAt(U),V=Z.getNodeFromOffset(G,!0);const F=[];while(V){switch(V.type){case"string":case"object":case"array":const B=V.offset+1,H=V.offset+V.length-1;if(B<H&&G>=B&&G<=H)F.push(X(B,H));F.push(X(V.offset,V.offset+V.length));break;case"number":case"boolean":case"null":case"property":F.push(X(V.offset,V.offset+V.length));break}if(V.type==="property"||V.parent&&V.parent.type==="array"){const B=z(V.offset+V.length,5);if(B!==-1)F.push(X(V.offset,B))}V=V.parent}let _=void 0;for(let B=F.length-1;B>=0;B--)_=Y8.create(F[B],_);if(!_)_=Y8.create(d.create(U,U));return _}function X(U,G){return d.create(J.positionAt(U),J.positionAt(G))}const Y=j1(J.getText(),!0);function z(U,G){if(Y.setPosition(U),Y.scan()===G)return Y.getTokenOffset()+Y.getTokenLength();return-1}return Q.map($)}function h5(J,Q,Z){let $=void 0;if(Z){const Y=J.offsetAt(Z.start),z=J.offsetAt(Z.end)-Y;$={offset:Y,length:z}}const X={tabSize:Q?Q.tabSize:4,insertSpaces:Q?.insertSpaces===!0,insertFinalNewline:Q?.insertFinalNewline===!0,eol:"\n",keepLines:Q?.keepLines===!0};return VX(J.getText(),$,X).map((Y)=>{return u0.replace(d.create(J.positionAt(Y.offset),J.positionAt(Y.offset+Y.length)),Y.content)})}function aX(J,Q){const Z=J.propertyName.toLowerCase(),$=Q.propertyName.toLowerCase();if(Z<$)return-1;else if(Z>$)return 1;return 0}function oX(J,Q,Z){const $=Q.propertyName.toLowerCase(),X=J[0].propertyName.toLowerCase(),Y=J[J.length-1].propertyName.toLowerCase();if($<X)return 0;if($>Y)return J.length;let z=0,U=J.length-1;while(z<=U){let G=U+z>>1,V=Z(Q,J[G]);if(V>0)z=G+1;else if(V<0)U=G-1;else return G}return-z-1}function nX(J,Q){const Z={...Q,keepLines:!1},$=b0.applyEdits(J,h5(J,Z,void 0)),X=b0.create("test://test.json","json",0,$),Y=iX(X),z=tX(X,Y),U=h5(z,Z,void 0),G=b0.applyEdits(z,U);return[u0.replace(d.create(J0.create(0,0),J.positionAt(J.getText().length)),G)]}function iX(J){const Q=J.getText(),Z=j1(Q,!1);let $=new e6,X=$,Y=$,z=$,U=void 0,G=0,V=0,F=void 0,_=void 0,B=-1,H=-1,w=0,q=0,j=[],k=!1,D=!1;while((U=Z.scan())!==17){if(k===!0&&U!==14&&U!==15&&U!==12&&U!==13&&Y.endLineNumber===void 0){let M=Z.getTokenStartLine();if(_===2||_===4)z.endLineNumber=M-1;else Y.endLineNumber=M-1;w=M,k=!1}if(D===!0&&U!==14&&U!==15&&U!==12&&U!==13)w=Z.getTokenStartLine(),D=!1;if(Z.getTokenStartLine()!==G){for(let M=G;M<Z.getTokenStartLine();M++){const N=J.getText(d.create(J0.create(M,0),J0.create(M+1,0))).length;V=V+N}G=Z.getTokenStartLine()}switch(U){case 10:{if(F===void 0||F===1||F===5&&j[j.length-1]===z0.Object){const M=new e6(Z.getTokenValue(),w);z=Y,Y=X.addChildProperty(M)}break}case 3:{if($.beginningLineNumber===void 0)$.beginningLineNumber=Z.getTokenStartLine();if(j[j.length-1]===z0.Object)X=Y;else if(j[j.length-1]===z0.Array){const M=new e6(Z.getTokenValue(),w);M.noKeyName=!0,z=Y,Y=X.addChildProperty(M),X=Y}j.push(z0.Array),Y.type=z0.Array,w=Z.getTokenStartLine(),w++;break}case 1:{if($.beginningLineNumber===void 0)$.beginningLineNumber=Z.getTokenStartLine();else if(j[j.length-1]===z0.Array){const M=new e6(Z.getTokenValue(),w);M.noKeyName=!0,z=Y,Y=X.addChildProperty(M)}Y.type=z0.Object,j.push(z0.Object),X=Y,w=Z.getTokenStartLine(),w++;break}case 4:{if(q=Z.getTokenStartLine(),j.pop(),Y.endLineNumber===void 0&&(F===2||F===4))Y.endLineNumber=q-1,Y.lastProperty=!0,Y.lineWhereToAddComma=B,Y.indexWhereToAddComa=H,z=Y,Y=Y?Y.parent:void 0,X=Y;$.endLineNumber=q,w=q+1;break}case 2:{if(q=Z.getTokenStartLine(),j.pop(),F!==1){if(Y.endLineNumber===void 0)Y.endLineNumber=q-1,Y.lastProperty=!0,Y.lineWhereToAddComma=B,Y.indexWhereToAddComa=H;z=Y,Y=Y?Y.parent:void 0,X=Y}$.endLineNumber=Z.getTokenStartLine(),w=q+1;break}case 5:{if(q=Z.getTokenStartLine(),Y.endLineNumber===void 0&&(j[j.length-1]===z0.Object||j[j.length-1]===z0.Array&&(F===2||F===4)))Y.endLineNumber=q,Y.commaIndex=Z.getTokenOffset()-V,Y.commaLine=q;if(F===2||F===4)z=Y,Y=Y?Y.parent:void 0,X=Y;w=q+1;break}case 13:{if(F===5&&B===Z.getTokenStartLine()&&(j[j.length-1]===z0.Array&&(_===2||_===4)||j[j.length-1]===z0.Object)){if(j[j.length-1]===z0.Array&&(_===2||_===4)||j[j.length-1]===z0.Object)Y.endLineNumber=void 0,k=!0}if((F===1||F===3)&&B===Z.getTokenStartLine())D=!0;break}}if(U!==14&&U!==13&&U!==12&&U!==15)_=F,F=U,B=Z.getTokenStartLine(),H=Z.getTokenOffset()+Z.getTokenLength()-V}return $}function tX(J,Q){if(Q.childrenProperties.length===0)return J;const Z=b0.create("test://test.json","json",0,J.getText()),$=[];rQ($,Q,Q.beginningLineNumber);while($.length>0){const X=$.shift(),Y=X.propertyTreeArray;let z=X.beginningLineNumber;for(let U=0;U<Y.length;U++){const G=Y[U],V=d.create(J0.create(G.beginningLineNumber,0),J0.create(G.endLineNumber+1,0)),F=J.getText(V),_=b0.create("test://test.json","json",0,F);if(G.lastProperty===!0&&U!==Y.length-1){const w=G.lineWhereToAddComma-G.beginningLineNumber,q=G.indexWhereToAddComa,j={range:d.create(J0.create(w,q),J0.create(w,q)),text:","};b0.update(_,[j],1)}else if(G.lastProperty===!1&&U===Y.length-1){const w=G.commaIndex,j=G.commaLine-G.beginningLineNumber,k={range:d.create(J0.create(j,w),J0.create(j,w+1)),text:""};b0.update(_,[k],1)}const B=G.endLineNumber-G.beginningLineNumber+1,H={range:d.create(J0.create(z,0),J0.create(z+B,0)),text:_.getText()};b0.update(Z,[H],1),rQ($,G,z),z=z+B}}return Z}function rQ(J,Q,Z){if(Q.childrenProperties.length===0)return;if(Q.type===z0.Object){let $=1/0;for(let Y of Q.childrenProperties)if(Y.beginningLineNumber<$)$=Y.beginningLineNumber;const X=$-Q.beginningLineNumber;Z=Z+X,J.push(new WZ(Z,Q.childrenProperties))}else if(Q.type===z0.Array)VZ(J,Q,Z)}function VZ(J,Q,Z){for(let $ of Q.childrenProperties){if($.type===z0.Object){let X=1/0;for(let z of $.childrenProperties)if(z.beginningLineNumber<X)X=z.beginningLineNumber;const Y=X-$.beginningLineNumber;J.push(new WZ(Z+$.beginningLineNumber-Q.beginningLineNumber+Y,$.childrenProperties))}if($.type===z0.Array)VZ(J,$,Z+$.beginningLineNumber-Q.beginningLineNumber)}}function rX(J,Q){const Z=[];return Q.visit(($)=>{if($.type==="property"&&$.keyNode.value==="$ref"&&$.valueNode?.type==="string"){const X=$.valueNode.value,Y=JY(Q,X);if(Y){const z=J.positionAt(Y.offset);Z.push({target:`${J.uri}#${z.line+1},${z.character+1}`,range:eX(J,$.valueNode)})}}return!0}),Promise.resolve(Z)}function eX(J,Q){return d.create(J.positionAt(Q.offset+1),J.positionAt(Q.offset+Q.length-1))}function JY(J,Q){const Z=QY(Q);if(!Z)return null;return p5(Z,J.root)}function p5(J,Q){if(!Q)return null;if(J.length===0)return Q;const Z=J.shift();if(Q&&Q.type==="object"){const $=Q.properties.find((X)=>X.keyNode.value===Z);if(!$)return null;return p5(J,$.valueNode)}else if(Q&&Q.type==="array"){if(Z.match(/^(0|[1-9][0-9]*)$/)){const $=Number.parseInt(Z),X=Q.items[$];if(!X)return null;return p5(J,X)}}return null}function QY(J){if(J==="#")return[];if(J[0]!=="#"||J[1]!=="/")return null;return J.substring(2).split(/\//).map(ZY)}function ZY(J){return J.replace(/~1/g,"/").replace(/~0/g,"~")}function $Y(J){const Q=J.promiseConstructor||Promise,Z=new gX(J.schemaRequestService,J.workspaceContext,Q);Z.setSchemaContributions(f5);const $=new IX(Z,J.contributions,Q,J.clientCapabilities),X=new OX(Z,J.contributions,Q),Y=new CX(Z),z=new vX(Z,Q);return{configure:(U)=>{Z.clearExternalSchemas(),U.schemas?.forEach(Z.registerExternalSchema.bind(Z)),z.configure(U)},resetSchema:(U)=>Z.onResourceChange(U),doValidation:z.doValidation.bind(z),getLanguageStatus:z.getLanguageStatus.bind(z),parseJSONDocument:(U)=>TX(U,{collectComments:!0}),newJSONDocument:(U,G)=>AX(U,G),getMatchingSchemas:Z.getMatchingSchemas.bind(Z),doResolve:$.doResolve.bind($),doComplete:$.doComplete.bind($),findDocumentSymbols:Y.findDocumentSymbols.bind(Y),findDocumentSymbols2:Y.findDocumentSymbols2.bind(Y),findDocumentColors:Y.findDocumentColors.bind(Y),getColorPresentations:Y.getColorPresentations.bind(Y),doHover:X.doHover.bind(X),getFoldingRanges:dX,getSelectionRanges:sX,findDefinition:()=>Promise.resolve([]),findLinks:rX,format:(U,G,V)=>h5(U,V,G),sort:(U,G)=>nX(U,G)}}function zY(J){return J.charCodeAt(0)===YY}function UY(J,Q){if(zY(Q)){const Z=l1.parse(J),$=Q.split("/");return Z.with({path:_Z($)}).toString()}return GY(J,Q)}function _Z(J){const Q=[];for(let $ of J)if($.length===0||$.length===1&&$.charCodeAt(0)===j5);else if($.length===2&&$.charCodeAt(0)===j5&&$.charCodeAt(1)===j5)Q.pop();else Q.push($);if(J.length>1&&J[J.length-1].length===0)Q.push("");let Z=Q.join("/");if(J[0].length===0)Z="/"+Z;return Z}function GY(J,...Q){const Z=l1.parse(J),$=Z.path.split("/");for(let X of Q)$.push(...X.split("/"));return Z.with({path:_Z($)}).toString()}/*!-----------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Version: 0.52.0(f6dc0eb8fce67e57f6036f4769d92c1666cdf546)
* Released under the MIT license
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/var mJ;(function(J){J[J.lineFeed=10]="lineFeed",J[J.carriageReturn=13]="carriageReturn",J[J.space=32]="space",J[J._0=48]="_0",J[J._1=49]="_1",J[J._2=50]="_2",J[J._3=51]="_3",J[J._4=52]="_4",J[J._5=53]="_5",J[J._6=54]="_6",J[J._7=55]="_7",J[J._8=56]="_8",J[J._9=57]="_9",J[J.a=97]="a",J[J.b=98]="b",J[J.c=99]="c",J[J.d=100]="d",J[J.e=101]="e",J[J.f=102]="f",J[J.g=103]="g",J[J.h=104]="h",J[J.i=105]="i",J[J.j=106]="j",J[J.k=107]="k",J[J.l=108]="l",J[J.m=109]="m",J[J.n=110]="n",J[J.o=111]="o",J[J.p=112]="p",J[J.q=113]="q",J[J.r=114]="r",J[J.s=115]="s",J[J.t=116]="t",J[J.u=117]="u",J[J.v=118]="v",J[J.w=119]="w",J[J.x=120]="x",J[J.y=121]="y",J[J.z=122]="z",J[J.A=65]="A",J[J.B=66]="B",J[J.C=67]="C",J[J.D=68]="D",J[J.E=69]="E",J[J.F=70]="F",J[J.G=71]="G",J[J.H=72]="H",J[J.I=73]="I",J[J.J=74]="J",J[J.K=75]="K",J[J.L=76]="L",J[J.M=77]="M",J[J.N=78]="N",J[J.O=79]="O",J[J.P=80]="P",J[J.Q=81]="Q",J[J.R=82]="R",J[J.S=83]="S",J[J.T=84]="T",J[J.U=85]="U",J[J.V=86]="V",J[J.W=87]="W",J[J.X=88]="X",J[J.Y=89]="Y",J[J.Z=90]="Z",J[J.asterisk=42]="asterisk",J[J.backslash=92]="backslash",J[J.closeBrace=125]="closeBrace",J[J.closeBracket=93]="closeBracket",J[J.colon=58]="colon",J[J.comma=44]="comma",J[J.dot=46]="dot",J[J.doubleQuote=34]="doubleQuote",J[J.minus=45]="minus",J[J.openBrace=123]="openBrace",J[J.openBracket=91]="openBracket",J[J.plus=43]="plus",J[J.slash=47]="slash",J[J.formFeed=12]="formFeed",J[J.tab=9]="tab"})(mJ||(mJ={}));var I0=new Array(20).fill(0).map((J,Q)=>{return" ".repeat(Q)}),h1=200,gJ={" ":{"\n":new Array(h1).fill(0).map((J,Q)=>{return"\n"+" ".repeat(Q)}),"\r":new Array(h1).fill(0).map((J,Q)=>{return"\r"+" ".repeat(Q)}),"\r\n":new Array(h1).fill(0).map((J,Q)=>{return"\r\n"+" ".repeat(Q)})}," ":{"\n":new Array(h1).fill(0).map((J,Q)=>{return"\n"+" ".repeat(Q)}),"\r":new Array(h1).fill(0).map((J,Q)=>{return"\r"+" ".repeat(Q)}),"\r\n":new Array(h1).fill(0).map((J,Q)=>{return"\r\n"+" ".repeat(Q)})}},r$=["\n","\r","\r\n"],J8;(function(J){J.DEFAULT={allowTrailingComma:!1}})(J8||(J8={}));var j1=u5,dJ;(function(J){J[J.None=0]="None",J[J.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",J[J.UnexpectedEndOfString=2]="UnexpectedEndOfString",J[J.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",J[J.InvalidUnicode=4]="InvalidUnicode",J[J.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",J[J.InvalidCharacter=6]="InvalidCharacter"})(dJ||(dJ={}));var sJ;(function(J){J[J.OpenBraceToken=1]="OpenBraceToken",J[J.CloseBraceToken=2]="CloseBraceToken",J[J.OpenBracketToken=3]="OpenBracketToken",J[J.CloseBracketToken=4]="CloseBracketToken",J[J.CommaToken=5]="CommaToken",J[J.ColonToken=6]="ColonToken",J[J.NullKeyword=7]="NullKeyword",J[J.TrueKeyword=8]="TrueKeyword",J[J.FalseKeyword=9]="FalseKeyword",J[J.StringLiteral=10]="StringLiteral",J[J.NumericLiteral=11]="NumericLiteral",J[J.LineCommentTrivia=12]="LineCommentTrivia",J[J.BlockCommentTrivia=13]="BlockCommentTrivia",J[J.LineBreakTrivia=14]="LineBreakTrivia",J[J.Trivia=15]="Trivia",J[J.Unknown=16]="Unknown",J[J.EOF=17]="EOF"})(sJ||(sJ={}));var YX=ZX,zX=JZ,UX=eQ,GX=P5,aJ;(function(J){J[J.InvalidSymbol=1]="InvalidSymbol",J[J.InvalidNumberFormat=2]="InvalidNumberFormat",J[J.PropertyNameExpected=3]="PropertyNameExpected",J[J.ValueExpected=4]="ValueExpected",J[J.ColonExpected=5]="ColonExpected",J[J.CommaExpected=6]="CommaExpected",J[J.CloseBraceExpected=7]="CloseBraceExpected",J[J.CloseBracketExpected=8]="CloseBracketExpected",J[J.EndOfFileExpected=9]="EndOfFileExpected",J[J.InvalidCommentToken=10]="InvalidCommentToken",J[J.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",J[J.UnexpectedEndOfString=12]="UnexpectedEndOfString",J[J.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",J[J.InvalidUnicode=14]="InvalidUnicode",J[J.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",J[J.InvalidCharacter=16]="InvalidCharacter"})(aJ||(aJ={}));var nJ;(function(J){function Q(Z){return typeof Z==="string"}J.is=Q})(nJ||(nJ={}));var M5;(function(J){function Q(Z){return typeof Z==="string"}J.is=Q})(M5||(M5={}));var iJ;(function(J){J.MIN_VALUE=-2147483648,J.MAX_VALUE=2147483647;function Q(Z){return typeof Z==="number"&&J.MIN_VALUE<=Z&&Z<=J.MAX_VALUE}J.is=Q})(iJ||(iJ={}));var Z8;(function(J){J.MIN_VALUE=0,J.MAX_VALUE=2147483647;function Q(Z){return typeof Z==="number"&&J.MIN_VALUE<=Z&&Z<=J.MAX_VALUE}J.is=Q})(Z8||(Z8={}));var J0;(function(J){function Q($,X){if($===Number.MAX_VALUE)$=Z8.MAX_VALUE;if(X===Number.MAX_VALUE)X=Z8.MAX_VALUE;return{line:$,character:X}}J.create=Q;function Z($){let X=$;return K.objectLiteral(X)&&K.uinteger(X.line)&&K.uinteger(X.character)}J.is=Z})(J0||(J0={}));var d;(function(J){function Q($,X,Y,z){if(K.uinteger($)&&K.uinteger(X)&&K.uinteger(Y)&&K.uinteger(z))return{start:J0.create($,X),end:J0.create(Y,z)};else if(J0.is($)&&J0.is(X))return{start:$,end:X};else throw new Error(`Range#create called with invalid arguments[${$}, ${X}, ${Y}, ${z}]`)}J.create=Q;function Z($){let X=$;return K.objectLiteral(X)&&J0.is(X.start)&&J0.is(X.end)}J.is=Z})(d||(d={}));var c1;(function(J){function Q($,X){return{uri:$,range:X}}J.create=Q;function Z($){let X=$;return K.objectLiteral(X)&&d.is(X.range)&&(K.string(X.uri)||K.undefined(X.uri))}J.is=Z})(c1||(c1={}));var tJ;(function(J){function Q($,X,Y,z){return{targetUri:$,targetRange:X,targetSelectionRange:Y,originSelectionRange:z}}J.create=Q;function Z($){let X=$;return K.objectLiteral(X)&&d.is(X.targetRange)&&K.string(X.targetUri)&&d.is(X.targetSelectionRange)&&(d.is(X.originSelectionRange)||K.undefined(X.originSelectionRange))}J.is=Z})(tJ||(tJ={}));var D5;(function(J){function Q($,X,Y,z){return{red:$,green:X,blue:Y,alpha:z}}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&K.numberRange(X.red,0,1)&&K.numberRange(X.green,0,1)&&K.numberRange(X.blue,0,1)&&K.numberRange(X.alpha,0,1)}J.is=Z})(D5||(D5={}));var rJ;(function(J){function Q($,X){return{range:$,color:X}}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&d.is(X.range)&&D5.is(X.color)}J.is=Z})(rJ||(rJ={}));var eJ;(function(J){function Q($,X,Y){return{label:$,textEdit:X,additionalTextEdits:Y}}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&K.string(X.label)&&(K.undefined(X.textEdit)||u0.is(X))&&(K.undefined(X.additionalTextEdits)||K.typedArray(X.additionalTextEdits,u0.is))}J.is=Z})(eJ||(eJ={}));var N6;(function(J){J.Comment="comment",J.Imports="imports",J.Region="region"})(N6||(N6={}));var JQ;(function(J){function Q($,X,Y,z,U,G){const V={startLine:$,endLine:X};if(K.defined(Y))V.startCharacter=Y;if(K.defined(z))V.endCharacter=z;if(K.defined(U))V.kind=U;if(K.defined(G))V.collapsedText=G;return V}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&K.uinteger(X.startLine)&&K.uinteger(X.startLine)&&(K.undefined(X.startCharacter)||K.uinteger(X.startCharacter))&&(K.undefined(X.endCharacter)||K.uinteger(X.endCharacter))&&(K.undefined(X.kind)||K.string(X.kind))}J.is=Z})(JQ||(JQ={}));var k5;(function(J){function Q($,X){return{location:$,message:X}}J.create=Q;function Z($){let X=$;return K.defined(X)&&c1.is(X.location)&&K.string(X.message)}J.is=Z})(k5||(k5={}));var R0;(function(J){J.Error=1,J.Warning=2,J.Information=3,J.Hint=4})(R0||(R0={}));var QQ;(function(J){J.Unnecessary=1,J.Deprecated=2})(QQ||(QQ={}));var ZQ;(function(J){function Q(Z){const $=Z;return K.objectLiteral($)&&K.string($.href)}J.is=Q})(ZQ||(ZQ={}));var o0;(function(J){function Q($,X,Y,z,U,G){let V={range:$,message:X};if(K.defined(Y))V.severity=Y;if(K.defined(z))V.code=z;if(K.defined(U))V.source=U;if(K.defined(G))V.relatedInformation=G;return V}J.create=Q;function Z($){var X;let Y=$;return K.defined(Y)&&d.is(Y.range)&&K.string(Y.message)&&(K.number(Y.severity)||K.undefined(Y.severity))&&(K.integer(Y.code)||K.string(Y.code)||K.undefined(Y.code))&&(K.undefined(Y.codeDescription)||K.string((X=Y.codeDescription)===null||X===void 0?void 0:X.href))&&(K.string(Y.source)||K.undefined(Y.source))&&(K.undefined(Y.relatedInformation)||K.typedArray(Y.relatedInformation,k5.is))}J.is=Z})(o0||(o0={}));var m1;(function(J){function Q($,X,...Y){let z={title:$,command:X};if(K.defined(Y)&&Y.length>0)z.arguments=Y;return z}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.string(X.title)&&K.string(X.command)}J.is=Z})(m1||(m1={}));var u0;(function(J){function Q(Y,z){return{range:Y,newText:z}}J.replace=Q;function Z(Y,z){return{range:{start:Y,end:Y},newText:z}}J.insert=Z;function $(Y){return{range:Y,newText:""}}J.del=$;function X(Y){const z=Y;return K.objectLiteral(z)&&K.string(z.newText)&&d.is(z.range)}J.is=X})(u0||(u0={}));var A5;(function(J){function Q($,X,Y){const z={label:$};if(X!==void 0)z.needsConfirmation=X;if(Y!==void 0)z.description=Y;return z}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&K.string(X.label)&&(K.boolean(X.needsConfirmation)||X.needsConfirmation===void 0)&&(K.string(X.description)||X.description===void 0)}J.is=Z})(A5||(A5={}));var g1;(function(J){function Q(Z){const $=Z;return K.string($)}J.is=Q})(g1||(g1={}));var $Q;(function(J){function Q(Y,z,U){return{range:Y,newText:z,annotationId:U}}J.replace=Q;function Z(Y,z,U){return{range:{start:Y,end:Y},newText:z,annotationId:U}}J.insert=Z;function $(Y,z){return{range:Y,newText:"",annotationId:z}}J.del=$;function X(Y){const z=Y;return u0.is(z)&&(A5.is(z.annotationId)||g1.is(z.annotationId))}J.is=X})($Q||($Q={}));var T5;(function(J){function Q($,X){return{textDocument:$,edits:X}}J.create=Q;function Z($){let X=$;return K.defined(X)&&L5.is(X.textDocument)&&Array.isArray(X.edits)}J.is=Z})(T5||(T5={}));var R5;(function(J){function Q($,X,Y){let z={kind:"create",uri:$};if(X!==void 0&&(X.overwrite!==void 0||X.ignoreIfExists!==void 0))z.options=X;if(Y!==void 0)z.annotationId=Y;return z}J.create=Q;function Z($){let X=$;return X&&X.kind==="create"&&K.string(X.uri)&&(X.options===void 0||(X.options.overwrite===void 0||K.boolean(X.options.overwrite))&&(X.options.ignoreIfExists===void 0||K.boolean(X.options.ignoreIfExists)))&&(X.annotationId===void 0||g1.is(X.annotationId))}J.is=Z})(R5||(R5={}));var K5;(function(J){function Q($,X,Y,z){let U={kind:"rename",oldUri:$,newUri:X};if(Y!==void 0&&(Y.overwrite!==void 0||Y.ignoreIfExists!==void 0))U.options=Y;if(z!==void 0)U.annotationId=z;return U}J.create=Q;function Z($){let X=$;return X&&X.kind==="rename"&&K.string(X.oldUri)&&K.string(X.newUri)&&(X.options===void 0||(X.options.overwrite===void 0||K.boolean(X.options.overwrite))&&(X.options.ignoreIfExists===void 0||K.boolean(X.options.ignoreIfExists)))&&(X.annotationId===void 0||g1.is(X.annotationId))}J.is=Z})(K5||(K5={}));var I5;(function(J){function Q($,X,Y){let z={kind:"delete",uri:$};if(X!==void 0&&(X.recursive!==void 0||X.ignoreIfNotExists!==void 0))z.options=X;if(Y!==void 0)z.annotationId=Y;return z}J.create=Q;function Z($){let X=$;return X&&X.kind==="delete"&&K.string(X.uri)&&(X.options===void 0||(X.options.recursive===void 0||K.boolean(X.options.recursive))&&(X.options.ignoreIfNotExists===void 0||K.boolean(X.options.ignoreIfNotExists)))&&(X.annotationId===void 0||g1.is(X.annotationId))}J.is=Z})(I5||(I5={}));var O5;(function(J){function Q(Z){let $=Z;return $&&($.changes!==void 0||$.documentChanges!==void 0)&&($.documentChanges===void 0||$.documentChanges.every((X)=>{if(K.string(X.kind))return R5.is(X)||K5.is(X)||I5.is(X);else return T5.is(X)}))}J.is=Q})(O5||(O5={}));var XQ;(function(J){function Q($){return{uri:$}}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.string(X.uri)}J.is=Z})(XQ||(XQ={}));var YQ;(function(J){function Q($,X){return{uri:$,version:X}}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.string(X.uri)&&K.integer(X.version)}J.is=Z})(YQ||(YQ={}));var L5;(function(J){function Q($,X){return{uri:$,version:X}}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.string(X.uri)&&(X.version===null||K.integer(X.version))}J.is=Z})(L5||(L5={}));var zQ;(function(J){function Q($,X,Y,z){return{uri:$,languageId:X,version:Y,text:z}}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.string(X.uri)&&K.string(X.languageId)&&K.integer(X.version)&&K.string(X.text)}J.is=Z})(zQ||(zQ={}));var M1;(function(J){J.PlainText="plaintext",J.Markdown="markdown";function Q(Z){const $=Z;return $===J.PlainText||$===J.Markdown}J.is=Q})(M1||(M1={}));var P6;(function(J){function Q(Z){const $=Z;return K.objectLiteral(Z)&&M1.is($.kind)&&K.string($.value)}J.is=Q})(P6||(P6={}));var P0;(function(J){J.Text=1,J.Method=2,J.Function=3,J.Constructor=4,J.Field=5,J.Variable=6,J.Class=7,J.Interface=8,J.Module=9,J.Property=10,J.Unit=11,J.Value=12,J.Enum=13,J.Keyword=14,J.Snippet=15,J.Color=16,J.File=17,J.Reference=18,J.Folder=19,J.EnumMember=20,J.Constant=21,J.Struct=22,J.Event=23,J.Operator=24,J.TypeParameter=25})(P0||(P0={}));var Y0;(function(J){J.PlainText=1,J.Snippet=2})(Y0||(Y0={}));var UQ;(function(J){J.Deprecated=1})(UQ||(UQ={}));var GQ;(function(J){function Q($,X,Y){return{newText:$,insert:X,replace:Y}}J.create=Q;function Z($){const X=$;return X&&K.string(X.newText)&&d.is(X.insert)&&d.is(X.replace)}J.is=Z})(GQ||(GQ={}));var VQ;(function(J){J.asIs=1,J.adjustIndentation=2})(VQ||(VQ={}));var WQ;(function(J){function Q(Z){const $=Z;return $&&(K.string($.detail)||$.detail===void 0)&&(K.string($.description)||$.description===void 0)}J.is=Q})(WQ||(WQ={}));var v5;(function(J){function Q(Z){return{label:Z}}J.create=Q})(v5||(v5={}));var FQ;(function(J){function Q(Z,$){return{items:Z?Z:[],isIncomplete:!!$}}J.create=Q})(FQ||(FQ={}));var $8;(function(J){function Q($){return $.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}J.fromPlainText=Q;function Z($){const X=$;return K.string(X)||K.objectLiteral(X)&&K.string(X.language)&&K.string(X.value)}J.is=Z})($8||($8={}));var _Q;(function(J){function Q(Z){let $=Z;return!!$&&K.objectLiteral($)&&(P6.is($.contents)||$8.is($.contents)||K.typedArray($.contents,$8.is))&&(Z.range===void 0||d.is(Z.range))}J.is=Q})(_Q||(_Q={}));var BQ;(function(J){function Q(Z,$){return $?{label:Z,documentation:$}:{label:Z}}J.create=Q})(BQ||(BQ={}));var HQ;(function(J){function Q(Z,$,...X){let Y={label:Z};if(K.defined($))Y.documentation=$;if(K.defined(X))Y.parameters=X;else Y.parameters=[];return Y}J.create=Q})(HQ||(HQ={}));var wQ;(function(J){J.Text=1,J.Read=2,J.Write=3})(wQ||(wQ={}));var qQ;(function(J){function Q(Z,$){let X={range:Z};if(K.number($))X.kind=$;return X}J.create=Q})(qQ||(qQ={}));var h0;(function(J){J.File=1,J.Module=2,J.Namespace=3,J.Package=4,J.Class=5,J.Method=6,J.Property=7,J.Field=8,J.Constructor=9,J.Enum=10,J.Interface=11,J.Function=12,J.Variable=13,J.Constant=14,J.String=15,J.Number=16,J.Boolean=17,J.Array=18,J.Object=19,J.Key=20,J.Null=21,J.EnumMember=22,J.Struct=23,J.Event=24,J.Operator=25,J.TypeParameter=26})(h0||(h0={}));var NQ;(function(J){J.Deprecated=1})(NQ||(NQ={}));var jQ;(function(J){function Q(Z,$,X,Y,z){let U={name:Z,kind:$,location:{uri:Y,range:X}};if(z)U.containerName=z;return U}J.create=Q})(jQ||(jQ={}));var PQ;(function(J){function Q(Z,$,X,Y){return Y!==void 0?{name:Z,kind:$,location:{uri:X,range:Y}}:{name:Z,kind:$,location:{uri:X}}}J.create=Q})(PQ||(PQ={}));var MQ;(function(J){function Q($,X,Y,z,U,G){let V={name:$,detail:X,kind:Y,range:z,selectionRange:U};if(G!==void 0)V.children=G;return V}J.create=Q;function Z($){let X=$;return X&&K.string(X.name)&&K.number(X.kind)&&d.is(X.range)&&d.is(X.selectionRange)&&(X.detail===void 0||K.string(X.detail))&&(X.deprecated===void 0||K.boolean(X.deprecated))&&(X.children===void 0||Array.isArray(X.children))&&(X.tags===void 0||Array.isArray(X.tags))}J.is=Z})(MQ||(MQ={}));var DQ;(function(J){J.Empty="",J.QuickFix="quickfix",J.Refactor="refactor",J.RefactorExtract="refactor.extract",J.RefactorInline="refactor.inline",J.RefactorRewrite="refactor.rewrite",J.Source="source",J.SourceOrganizeImports="source.organizeImports",J.SourceFixAll="source.fixAll"})(DQ||(DQ={}));var X8;(function(J){J.Invoked=1,J.Automatic=2})(X8||(X8={}));var kQ;(function(J){function Q($,X,Y){let z={diagnostics:$};if(X!==void 0&&X!==null)z.only=X;if(Y!==void 0&&Y!==null)z.triggerKind=Y;return z}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.typedArray(X.diagnostics,o0.is)&&(X.only===void 0||K.typedArray(X.only,K.string))&&(X.triggerKind===void 0||X.triggerKind===X8.Invoked||X.triggerKind===X8.Automatic)}J.is=Z})(kQ||(kQ={}));var AQ;(function(J){function Q($,X,Y){let z={title:$},U=!0;if(typeof X==="string")U=!1,z.kind=X;else if(m1.is(X))z.command=X;else z.edit=X;if(U&&Y!==void 0)z.kind=Y;return z}J.create=Q;function Z($){let X=$;return X&&K.string(X.title)&&(X.diagnostics===void 0||K.typedArray(X.diagnostics,o0.is))&&(X.kind===void 0||K.string(X.kind))&&(X.edit!==void 0||X.command!==void 0)&&(X.command===void 0||m1.is(X.command))&&(X.isPreferred===void 0||K.boolean(X.isPreferred))&&(X.edit===void 0||O5.is(X.edit))}J.is=Z})(AQ||(AQ={}));var TQ;(function(J){function Q($,X){let Y={range:$};if(K.defined(X))Y.data=X;return Y}J.create=Q;function Z($){let X=$;return K.defined(X)&&d.is(X.range)&&(K.undefined(X.command)||m1.is(X.command))}J.is=Z})(TQ||(TQ={}));var RQ;(function(J){function Q($,X){return{tabSize:$,insertSpaces:X}}J.create=Q;function Z($){let X=$;return K.defined(X)&&K.uinteger(X.tabSize)&&K.boolean(X.insertSpaces)}J.is=Z})(RQ||(RQ={}));var KQ;(function(J){function Q($,X,Y){return{range:$,target:X,data:Y}}J.create=Q;function Z($){let X=$;return K.defined(X)&&d.is(X.range)&&(K.undefined(X.target)||K.string(X.target))}J.is=Z})(KQ||(KQ={}));var Y8;(function(J){function Q($,X){return{range:$,parent:X}}J.create=Q;function Z($){let X=$;return K.objectLiteral(X)&&d.is(X.range)&&(X.parent===void 0||J.is(X.parent))}J.is=Z})(Y8||(Y8={}));var IQ;(function(J){J.namespace="namespace",J.type="type",J.class="class",J.enum="enum",J.interface="interface",J.struct="struct",J.typeParameter="typeParameter",J.parameter="parameter",J.variable="variable",J.property="property",J.enumMember="enumMember",J.event="event",J.function="function",J.method="method",J.macro="macro",J.keyword="keyword",J.modifier="modifier",J.comment="comment",J.string="string",J.number="number",J.regexp="regexp",J.operator="operator",J.decorator="decorator"})(IQ||(IQ={}));var OQ;(function(J){J.declaration="declaration",J.definition="definition",J.readonly="readonly",J.static="static",J.deprecated="deprecated",J.abstract="abstract",J.async="async",J.modification="modification",J.documentation="documentation",J.defaultLibrary="defaultLibrary"})(OQ||(OQ={}));var LQ;(function(J){function Q(Z){const $=Z;return K.objectLiteral($)&&($.resultId===void 0||typeof $.resultId==="string")&&Array.isArray($.data)&&($.data.length===0||typeof $.data[0]==="number")}J.is=Q})(LQ||(LQ={}));var vQ;(function(J){function Q($,X){return{range:$,text:X}}J.create=Q;function Z($){const X=$;return X!==void 0&&X!==null&&d.is(X.range)&&K.string(X.text)}J.is=Z})(vQ||(vQ={}));var EQ;(function(J){function Q($,X,Y){return{range:$,variableName:X,caseSensitiveLookup:Y}}J.create=Q;function Z($){const X=$;return X!==void 0&&X!==null&&d.is(X.range)&&K.boolean(X.caseSensitiveLookup)&&(K.string(X.variableName)||X.variableName===void 0)}J.is=Z})(EQ||(EQ={}));var xQ;(function(J){function Q($,X){return{range:$,expression:X}}J.create=Q;function Z($){const X=$;return X!==void 0&&X!==null&&d.is(X.range)&&(K.string(X.expression)||X.expression===void 0)}J.is=Z})(xQ||(xQ={}));var SQ;(function(J){function Q($,X){return{frameId:$,stoppedLocation:X}}J.create=Q;function Z($){const X=$;return K.defined(X)&&d.is($.stoppedLocation)}J.is=Z})(SQ||(SQ={}));var E5;(function(J){J.Type=1,J.Parameter=2;function Q(Z){return Z===1||Z===2}J.is=Q})(E5||(E5={}));var x5;(function(J){function Q($){return{value:$}}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&(X.tooltip===void 0||K.string(X.tooltip)||P6.is(X.tooltip))&&(X.location===void 0||c1.is(X.location))&&(X.command===void 0||m1.is(X.command))}J.is=Z})(x5||(x5={}));var yQ;(function(J){function Q($,X,Y){const z={position:$,label:X};if(Y!==void 0)z.kind=Y;return z}J.create=Q;function Z($){const X=$;return K.objectLiteral(X)&&J0.is(X.position)&&(K.string(X.label)||K.typedArray(X.label,x5.is))&&(X.kind===void 0||E5.is(X.kind))&&X.textEdits===void 0||K.typedArray(X.textEdits,u0.is)&&(X.tooltip===void 0||K.string(X.tooltip)||P6.is(X.tooltip))&&(X.paddingLeft===void 0||K.boolean(X.paddingLeft))&&(X.paddingRight===void 0||K.boolean(X.paddingRight))}J.is=Z})(yQ||(yQ={}));var bQ;(function(J){function Q(Z){return{kind:"snippet",value:Z}}J.createSnippet=Q})(bQ||(bQ={}));var CQ;(function(J){function Q(Z,$,X,Y){return{insertText:Z,filterText:$,range:X,command:Y}}J.create=Q})(CQ||(CQ={}));var fQ;(function(J){function Q(Z){return{items:Z}}J.create=Q})(fQ||(fQ={}));var hQ;(function(J){J.Invoked=0,J.Automatic=1})(hQ||(hQ={}));var pQ;(function(J){function Q(Z,$){return{range:Z,text:$}}J.create=Q})(pQ||(pQ={}));var uQ;(function(J){function Q(Z,$){return{triggerKind:Z,selectedCompletionInfo:$}}J.create=Q})(uQ||(uQ={}));var cQ;(function(J){function Q(Z){const $=Z;return K.objectLiteral($)&&M5.is($.uri)&&K.string($.name)}J.is=Q})(cQ||(cQ={}));var mQ;(function(J){function Q(Y,z,U,G){return new FX(Y,z,U,G)}J.create=Q;function Z(Y){let z=Y;return K.defined(z)&&K.string(z.uri)&&(K.undefined(z.languageId)||K.string(z.languageId))&&K.uinteger(z.lineCount)&&K.func(z.getText)&&K.func(z.positionAt)&&K.func(z.offsetAt)?!0:!1}J.is=Z;function $(Y,z){let U=Y.getText(),G=X(z,(F,_)=>{let B=F.range.start.line-_.range.start.line;if(B===0)return F.range.start.character-_.range.start.character;return B}),V=U.length;for(let F=G.length-1;F>=0;F--){let _=G[F],B=Y.offsetAt(_.range.start),H=Y.offsetAt(_.range.end);if(H<=V)U=U.substring(0,B)+_.newText+U.substring(H,U.length);else throw new Error("Overlapping edit");V=B}return U}J.applyEdits=$;function X(Y,z){if(Y.length<=1)return Y;const U=Y.length/2|0,G=Y.slice(0,U),V=Y.slice(U);X(G,z),X(V,z);let F=0,_=0,B=0;while(F<G.length&&_<V.length)if(z(G[F],V[_])<=0)Y[B++]=G[F++];else Y[B++]=V[_++];while(F<G.length)Y[B++]=G[F++];while(_<V.length)Y[B++]=V[_++];return Y}})(mQ||(mQ={}));var FX=class{constructor(J,Q,Z,$){this._uri=J,this._languageId=Q,this._version=Z,this._content=$,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(J){if(J){let Q=this.offsetAt(J.start),Z=this.offsetAt(J.end);return this._content.substring(Q,Z)}return this._content}update(J,Q){this._content=J.text,this._version=Q,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let J=[],Q=this._content,Z=!0;for(let $=0;$<Q.length;$++){if(Z)J.push($),Z=!1;let X=Q.charAt($);if(Z=X==="\r"||X==="\n",X==="\r"&&$+1<Q.length&&Q.charAt($+1)==="\n")$++}if(Z&&Q.length>0)J.push(Q.length);this._lineOffsets=J}return this._lineOffsets}positionAt(J){J=Math.max(Math.min(J,this._content.length),0);let Q=this.getLineOffsets(),Z=0,$=Q.length;if($===0)return J0.create(0,J);while(Z<$){let Y=Math.floor((Z+$)/2);if(Q[Y]>J)$=Y;else Z=Y+1}let X=Z-1;return J0.create(X,J-Q[X])}offsetAt(J){let Q=this.getLineOffsets();if(J.line>=Q.length)return this._content.length;else if(J.line<0)return 0;let Z=Q[J.line],$=J.line+1<Q.length?Q[J.line+1]:this._content.length;return Math.max(Math.min(Z+J.character,$),Z)}get lineCount(){return this.getLineOffsets().length}},K;(function(J){const Q=Object.prototype.toString;function Z(H){return typeof H!=="undefined"}J.defined=Z;function $(H){return typeof H==="undefined"}J.undefined=$;function X(H){return H===!0||H===!1}J.boolean=X;function Y(H){return Q.call(H)==="[object String]"}J.string=Y;function z(H){return Q.call(H)==="[object Number]"}J.number=z;function U(H,w,q){return Q.call(H)==="[object Number]"&&w<=H&&H<=q}J.numberRange=U;function G(H){return Q.call(H)==="[object Number]"&&-2147483648<=H&&H<=2147483647}J.integer=G;function V(H){return Q.call(H)==="[object Number]"&&0<=H&&H<=2147483647}J.uinteger=V;function F(H){return Q.call(H)==="[object Function]"}J.func=F;function _(H){return H!==null&&typeof H==="object"}J.objectLiteral=_;function B(H,w){return Array.isArray(H)&&H.every(w)}J.typedArray=B})(K||(K={}));var gQ=class J{constructor(Q,Z,$,X){this._uri=Q,this._languageId=Z,this._version=$,this._content=X,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(Q){if(Q){const Z=this.offsetAt(Q.start),$=this.offsetAt(Q.end);return this._content.substring(Z,$)}return this._content}update(Q,Z){for(let $ of Q)if(J.isIncremental($)){const X=ZZ($.range),Y=this.offsetAt(X.start),z=this.offsetAt(X.end);this._content=this._content.substring(0,Y)+$.text+this._content.substring(z,this._content.length);const U=Math.max(X.start.line,0),G=Math.max(X.end.line,0);let V=this._lineOffsets;const F=lQ($.text,!1,Y);if(G-U===F.length)for(let B=0,H=F.length;B<H;B++)V[B+U+1]=F[B];else if(F.length<1e4)V.splice(U+1,G-U,...F);else this._lineOffsets=V=V.slice(0,U+1).concat(F,V.slice(G+1));const _=$.text.length-(z-Y);if(_!==0)for(let B=U+1+F.length,H=V.length;B<H;B++)V[B]=V[B]+_}else if(J.isFull($))this._content=$.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=Z}getLineOffsets(){if(this._lineOffsets===void 0)this._lineOffsets=lQ(this._content,!0);return this._lineOffsets}positionAt(Q){Q=Math.max(Math.min(Q,this._content.length),0);let Z=this.getLineOffsets(),$=0,X=Z.length;if(X===0)return{line:0,character:Q};while($<X){let z=Math.floor(($+X)/2);if(Z[z]>Q)X=z;else $=z+1}let Y=$-1;return{line:Y,character:Q-Z[Y]}}offsetAt(Q){let Z=this.getLineOffsets();if(Q.line>=Z.length)return this._content.length;else if(Q.line<0)return 0;let $=Z[Q.line],X=Q.line+1<Z.length?Z[Q.line+1]:this._content.length;return Math.max(Math.min($+Q.character,X),$)}get lineCount(){return this.getLineOffsets().length}static isIncremental(Q){let Z=Q;return Z!==void 0&&Z!==null&&typeof Z.text==="string"&&Z.range!==void 0&&(Z.rangeLength===void 0||typeof Z.rangeLength==="number")}static isFull(Q){let Z=Q;return Z!==void 0&&Z!==null&&typeof Z.text==="string"&&Z.range===void 0&&Z.rangeLength===void 0}},b0;(function(J){function Q(X,Y,z,U){return new gQ(X,Y,z,U)}J.create=Q;function Z(X,Y,z){if(X instanceof gQ)return X.update(Y,z),X;else throw new Error("TextDocument.update: document must be created by TextDocument.create")}J.update=Z;function $(X,Y){let z=X.getText(),U=S5(Y.map(_X),(F,_)=>{let B=F.range.start.line-_.range.start.line;if(B===0)return F.range.start.character-_.range.start.character;return B}),G=0;const V=[];for(let F of U){let _=X.offsetAt(F.range.start);if(_<G)throw new Error("Overlapping edit");else if(_>G)V.push(z.substring(G,_));if(F.newText.length)V.push(F.newText);G=X.offsetAt(F.range.end)}return V.push(z.substr(G)),V.join("")}J.applyEdits=$})(b0||(b0={}));var a;(function(J){J[J.Undefined=0]="Undefined",J[J.EnumValueMismatch=1]="EnumValueMismatch",J[J.Deprecated=2]="Deprecated",J[J.UnexpectedEndOfComment=257]="UnexpectedEndOfComment",J[J.UnexpectedEndOfString=258]="UnexpectedEndOfString",J[J.UnexpectedEndOfNumber=259]="UnexpectedEndOfNumber",J[J.InvalidUnicode=260]="InvalidUnicode",J[J.InvalidEscapeCharacter=261]="InvalidEscapeCharacter",J[J.InvalidCharacter=262]="InvalidCharacter",J[J.PropertyExpected=513]="PropertyExpected",J[J.CommaExpected=514]="CommaExpected",J[J.ColonExpected=515]="ColonExpected",J[J.ValueExpected=516]="ValueExpected",J[J.CommaOrCloseBacketExpected=517]="CommaOrCloseBacketExpected",J[J.CommaOrCloseBraceExpected=518]="CommaOrCloseBraceExpected",J[J.TrailingComma=519]="TrailingComma",J[J.DuplicateKey=520]="DuplicateKey",J[J.CommentNotPermitted=521]="CommentNotPermitted",J[J.PropertyKeysMustBeDoublequoted=528]="PropertyKeysMustBeDoublequoted",J[J.SchemaResolveError=768]="SchemaResolveError",J[J.SchemaUnsupportedFeature=769]="SchemaUnsupportedFeature"})(a||(a={}));var y0;(function(J){J[J.v3=3]="v3",J[J.v4=4]="v4",J[J.v6=6]="v6",J[J.v7=7]="v7",J[J.v2019_09=19]="v2019_09",J[J.v2020_12=20]="v2020_12"})(y0||(y0={}));var y5;(function(J){J.LATEST={textDocument:{completion:{completionItem:{documentationFormat:[M1.Markdown,M1.PlainText],commitCharactersSupport:!0,labelDetailsSupport:!0}}}}})(y5||(y5={}));var BX,HX=/{([^}]+)}/g,wX={"color-hex":{errorMessage:O("Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."),pattern:/^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$/},"date-time":{errorMessage:O("String is not a RFC3339 date-time."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},date:{errorMessage:O("String is not a RFC3339 date."),pattern:/^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/i},time:{errorMessage:O("String is not a RFC3339 time."),pattern:/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]|60)(\.[0-9]+)?(Z|(\+|-)([01][0-9]|2[0-3]):([0-5][0-9]))$/i},email:{errorMessage:O("String is not an e-mail address."),pattern:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}))$/},hostname:{errorMessage:O("String is not a hostname."),pattern:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i},ipv4:{errorMessage:O("String is not an IPv4 address."),pattern:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/},ipv6:{errorMessage:O("String is not an IPv6 address."),pattern:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i}},D1=class{constructor(J,Q,Z=0){this.offset=Q,this.length=Z,this.parent=J}get children(){return[]}toString(){return"type: "+this.type+" ("+this.offset+"/"+this.length+")"+(this.parent?" parent: {"+this.parent.toString()+"}":"")}},qX=class extends D1{constructor(J,Q){super(J,Q);this.type="null",this.value=null}},dQ=class extends D1{constructor(J,Q,Z){super(J,Z);this.type="boolean",this.value=Q}},NX=class extends D1{constructor(J,Q){super(J,Q);this.type="array",this.items=[]}get children(){return this.items}},jX=class extends D1{constructor(J,Q){super(J,Q);this.type="number",this.isInteger=!0,this.value=Number.NaN}},q5=class extends D1{constructor(J,Q,Z){super(J,Q,Z);this.type="string",this.value=""}},PX=class extends D1{constructor(J,Q,Z){super(J,Q);this.type="property",this.colonOffset=-1,this.keyNode=Z}get children(){return this.valueNode?[this.keyNode,this.valueNode]:[this.keyNode]}},MX=class extends D1{constructor(J,Q){super(J,Q);this.type="object",this.properties=[]}get children(){return this.properties}},sQ;(function(J){J[J.Key=0]="Key",J[J.Enum=1]="Enum"})(sQ||(sQ={}));var DX={"http://json-schema.org/draft-03/schema#":y0.v3,"http://json-schema.org/draft-04/schema#":y0.v4,"http://json-schema.org/draft-06/schema#":y0.v6,"http://json-schema.org/draft-07/schema#":y0.v7,"https://json-schema.org/draft/2019-09/schema":y0.v2019_09,"https://json-schema.org/draft/2020-12/schema":y0.v2020_12},aQ=class{constructor(J){this.schemaDraft=J}},kX=class J{constructor(Q=-1,Z){this.focusOffset=Q,this.exclude=Z,this.schemas=[]}add(Q){this.schemas.push(Q)}merge(Q){Array.prototype.push.apply(this.schemas,Q.schemas)}include(Q){return(this.focusOffset===-1||$Z(Q,this.focusOffset))&&Q!==this.exclude}newSub(){return new J(-1,this.exclude)}},M6=class{constructor(){}get schemas(){return[]}add(J){}merge(J){}include(J){return!0}newSub(){return this}};M6.instance=new M6;var w0=class{constructor(){this.problems=[],this.propertiesMatches=0,this.processedProperties=new Set,this.propertiesValueMatches=0,this.primaryValueMatches=0,this.enumValueMatch=!1,this.enumValues=void 0}hasProblems(){return!!this.problems.length}merge(J){this.problems=this.problems.concat(J.problems),this.propertiesMatches+=J.propertiesMatches,this.propertiesValueMatches+=J.propertiesValueMatches,this.mergeProcessedProperties(J)}mergeEnumValues(J){if(!this.enumValueMatch&&!J.enumValueMatch&&this.enumValues&&J.enumValues){this.enumValues=this.enumValues.concat(J.enumValues);for(let Q of this.problems)if(Q.code===a.EnumValueMismatch)Q.message=O("Value is not accepted. Valid values: {0}.",this.enumValues.map((Z)=>JSON.stringify(Z)).join(", "))}}mergePropertyMatch(J){if(this.problems=this.problems.concat(J.problems),this.propertiesMatches++,J.enumValueMatch||!J.hasProblems()&&J.propertiesMatches)this.propertiesValueMatches++;if(J.enumValueMatch&&J.enumValues&&J.enumValues.length===1)this.primaryValueMatches++}mergeProcessedProperties(J){J.processedProperties.forEach((Q)=>this.processedProperties.add(Q))}compare(J){const Q=this.hasProblems();if(Q!==J.hasProblems())return Q?-1:1;if(this.enumValueMatch!==J.enumValueMatch)return J.enumValueMatch?-1:1;if(this.primaryValueMatches!==J.primaryValueMatches)return this.primaryValueMatches-J.primaryValueMatches;if(this.propertiesValueMatches!==J.propertiesValueMatches)return this.propertiesValueMatches-J.propertiesValueMatches;return this.propertiesMatches-J.propertiesMatches}},XZ=class{constructor(J,Q=[],Z=[]){this.root=J,this.syntaxErrors=Q,this.comments=Z}getNodeFromOffset(J,Q=!1){if(this.root)return zX(this.root,J,Q);return}visit(J){if(this.root){const Q=(Z)=>{let $=J(Z);const X=Z.children;if(Array.isArray(X))for(let Y=0;Y<X.length&&$;Y++)$=Q(X[Y]);return $};Q(this.root)}}validate(J,Q,Z=R0.Warning,$){if(this.root&&Q){const X=new w0;return F0(this.root,Q,X,M6.instance,new aQ($??oQ(Q))),X.problems.map((Y)=>{const z=d.create(J.positionAt(Y.location.offset),J.positionAt(Y.location.offset+Y.location.length));return o0.create(z,Y.message,Y.severity??Z,Y.code)})}return}getMatchingSchemas(J,Q=-1,Z){if(this.root&&J){const $=new kX(Q,Z),X=oQ(J),Y=new aQ(X);return F0(this.root,J,new w0,$,Y),$.schemas}return[]}},RX=[",","}","]"],KX=[":"],IX=class{constructor(J,Q=[],Z=Promise,$={}){this.schemaService=J,this.contributions=Q,this.promiseConstructor=Z,this.clientCapabilities=$}doResolve(J){for(let Q=this.contributions.length-1;Q>=0;Q--){const Z=this.contributions[Q].resolveCompletion;if(Z){const $=Z(J);if($)return $}}return this.promiseConstructor.resolve(J)}doComplete(J,Q,Z){const $={items:[],isIncomplete:!1},X=J.getText(),Y=J.offsetAt(Q);let z=Z.getNodeFromOffset(Y,!0);if(this.isInComment(J,z?z.offset:0,Y))return Promise.resolve($);if(z&&Y===z.offset+z.length&&Y>0){const B=X[Y-1];if(z.type==="object"&&B==="}"||z.type==="array"&&B==="]")z=z.parent}const U=this.getCurrentWord(J,Y);let G;if(z&&(z.type==="string"||z.type==="number"||z.type==="boolean"||z.type==="null"))G=d.create(J.positionAt(z.offset),J.positionAt(z.offset+z.length));else{let B=Y-U.length;if(B>0&&X[B-1]==='"')B--;G=d.create(J.positionAt(B),Q)}const V=!1,F=new Map,_={add:(B)=>{let H=B.label;const w=F.get(H);if(!w){if(H=H.replace(/[\n]/g,"\u21B5"),H.length>60){const q=H.substr(0,57).trim()+"...";if(!F.has(q))H=q}if(B.textEdit=u0.replace(G,B.insertText),V)B.commitCharacters=B.kind===P0.Property?KX:RX;B.label=H,F.set(H,B),$.items.push(B)}else{if(!w.documentation)w.documentation=B.documentation;if(!w.detail)w.detail=B.detail;if(!w.labelDetails)w.labelDetails=B.labelDetails}},setAsIncomplete:()=>{$.isIncomplete=!0},error:(B)=>{console.error(B)},getNumberOfProposals:()=>{return $.items.length}};return this.schemaService.getSchemaForResource(J.uri,Z).then((B)=>{const H=[];let w=!0,q="",j=void 0;if(z){if(z.type==="string"){const D=z.parent;if(D&&D.type==="property"&&D.keyNode===z){if(w=!D.valueNode,j=D,q=X.substr(z.offset+1,z.length-2),D)z=D.parent}}}if(z&&z.type==="object"){if(z.offset===Y)return $;z.properties.forEach((P)=>{if(!j||j!==P)F.set(P.keyNode.value,v5.create("__"))});let M="";if(w)M=this.evaluateSeparatorAfter(J,J.offsetAt(G.end));if(B)this.getPropertyCompletions(B,Z,z,w,M,_);else this.getSchemaLessPropertyCompletions(Z,z,q,_);const N=b5(z);if(this.contributions.forEach((P)=>{const R=P.collectPropertyCompletions(J.uri,N,U,w,M==="",_);if(R)H.push(R)}),!B&&U.length>0&&X.charAt(Y-U.length-1)!=='"')_.add({kind:P0.Property,label:this.getLabelForValue(U),insertText:this.getInsertTextForProperty(U,void 0,!1,M),insertTextFormat:Y0.Snippet,documentation:""}),_.setAsIncomplete()}const k={};if(B)this.getValueCompletions(B,Z,z,Y,J,_,k);else this.getSchemaLessValueCompletions(Z,z,Y,J,_);if(this.contributions.length>0)this.getContributedValueCompletions(Z,z,Y,J,_,H);return this.promiseConstructor.all(H).then(()=>{if(_.getNumberOfProposals()===0){let D=Y;if(z&&(z.type==="string"||z.type==="number"||z.type==="boolean"||z.type==="null"))D=z.offset+z.length;const M=this.evaluateSeparatorAfter(J,D);this.addFillerValueCompletions(k,M,_)}return $})})}getPropertyCompletions(J,Q,Z,$,X,Y){Q.getMatchingSchemas(J.schema,Z.offset).forEach((U)=>{if(U.node===Z&&!U.inverted){const G=U.schema.properties;if(G)Object.keys(G).forEach((F)=>{const _=G[F];if(typeof _==="object"&&!_.deprecationMessage&&!_.doNotSuggest){const B={kind:P0.Property,label:F,insertText:this.getInsertTextForProperty(F,_,$,X),insertTextFormat:Y0.Snippet,filterText:this.getFilterTextForValue(F),documentation:this.fromMarkup(_.markdownDescription)||_.description||""};if(_.suggestSortText!==void 0)B.sortText=_.suggestSortText;if(B.insertText&&j6(B.insertText,`\$1${X}`))B.command={title:"Suggest",command:"editor.action.triggerSuggest"};Y.add(B)}});const V=U.schema.propertyNames;if(typeof V==="object"&&!V.deprecationMessage&&!V.doNotSuggest){const F=(_,B=void 0)=>{const H={kind:P0.Property,label:_,insertText:this.getInsertTextForProperty(_,void 0,$,X),insertTextFormat:Y0.Snippet,filterText:this.getFilterTextForValue(_),documentation:B||this.fromMarkup(V.markdownDescription)||V.description||""};if(V.suggestSortText!==void 0)H.sortText=V.suggestSortText;if(H.insertText&&j6(H.insertText,`\$1${X}`))H.command={title:"Suggest",command:"editor.action.triggerSuggest"};Y.add(H)};if(V.enum)for(let _=0;_<V.enum.length;_++){let B=void 0;if(V.markdownEnumDescriptions&&_<V.markdownEnumDescriptions.length)B=this.fromMarkup(V.markdownEnumDescriptions[_]);else if(V.enumDescriptions&&_<V.enumDescriptions.length)B=V.enumDescriptions[_];F(V.enum[_],B)}if(V.const)F(V.const)}}})}getSchemaLessPropertyCompletions(J,Q,Z,$){const X=(Y)=>{Y.properties.forEach((z)=>{const U=z.keyNode.value;$.add({kind:P0.Property,label:U,insertText:this.getInsertTextForValue(U,""),insertTextFormat:Y0.Snippet,filterText:this.getFilterTextForValue(U),documentation:""})})};if(Q.parent){if(Q.parent.type==="property"){const Y=Q.parent.keyNode.value;J.visit((z)=>{if(z.type==="property"&&z!==Q.parent&&z.keyNode.value===Y&&z.valueNode&&z.valueNode.type==="object")X(z.valueNode);return!0})}else if(Q.parent.type==="array")Q.parent.items.forEach((Y)=>{if(Y.type==="object"&&Y!==Q)X(Y)})}else if(Q.type==="object")$.add({kind:P0.Property,label:"$schema",insertText:this.getInsertTextForProperty("$schema",void 0,!0,""),insertTextFormat:Y0.Snippet,documentation:"",filterText:this.getFilterTextForValue("$schema")})}getSchemaLessValueCompletions(J,Q,Z,$,X){let Y=Z;if(Q&&(Q.type==="string"||Q.type==="number"||Q.type==="boolean"||Q.type==="null"))Y=Q.offset+Q.length,Q=Q.parent;if(!Q){X.add({kind:this.getSuggestionKind("object"),label:"Empty object",insertText:this.getInsertTextForValue({},""),insertTextFormat:Y0.Snippet,documentation:""}),X.add({kind:this.getSuggestionKind("array"),label:"Empty array",insertText:this.getInsertTextForValue([],""),insertTextFormat:Y0.Snippet,documentation:""});return}const z=this.evaluateSeparatorAfter($,Y),U=(G)=>{if(G.parent&&!$Z(G.parent,Z,!0))X.add({kind:this.getSuggestionKind(G.type),label:this.getLabelTextForMatchingNode(G,$),insertText:this.getInsertTextForMatchingNode(G,$,z),insertTextFormat:Y0.Snippet,documentation:""});if(G.type==="boolean")this.addBooleanValueCompletion(!G.value,z,X)};if(Q.type==="property"){if(Z>(Q.colonOffset||0)){const G=Q.valueNode;if(G&&(Z>G.offset+G.length||G.type==="object"||G.type==="array"))return;const V=Q.keyNode.value;if(J.visit((F)=>{if(F.type==="property"&&F.keyNode.value===V&&F.valueNode)U(F.valueNode);return!0}),V==="$schema"&&Q.parent&&!Q.parent.parent)this.addDollarSchemaCompletions(z,X)}}if(Q.type==="array")if(Q.parent&&Q.parent.type==="property"){const G=Q.parent.keyNode.value;J.visit((V)=>{if(V.type==="property"&&V.keyNode.value===G&&V.valueNode&&V.valueNode.type==="array")V.valueNode.items.forEach(U);return!0})}else Q.items.forEach(U)}getValueCompletions(J,Q,Z,$,X,Y,z){let U=$,G=void 0,V=void 0;if(Z&&(Z.type==="string"||Z.type==="number"||Z.type==="boolean"||Z.type==="null"))U=Z.offset+Z.length,V=Z,Z=Z.parent;if(!Z){this.addSchemaValueCompletions(J.schema,"",Y,z);return}if(Z.type==="property"&&$>(Z.colonOffset||0)){const F=Z.valueNode;if(F&&$>F.offset+F.length)return;G=Z.keyNode.value,Z=Z.parent}if(Z&&(G!==void 0||Z.type==="array")){const F=this.evaluateSeparatorAfter(X,U),_=Q.getMatchingSchemas(J.schema,Z.offset,V);for(let B of _)if(B.node===Z&&!B.inverted&&B.schema){if(Z.type==="array"&&B.schema.items){let H=Y;if(B.schema.uniqueItems){const w=new Set;Z.children.forEach((q)=>{if(q.type!=="array"&&q.type!=="object")w.add(this.getLabelForValue(P1(q)))}),H={...Y,add(q){if(!w.has(q.label))Y.add(q)}}}if(Array.isArray(B.schema.items)){const w=this.findItemAtOffset(Z,X,$);if(w<B.schema.items.length)this.addSchemaValueCompletions(B.schema.items[w],F,H,z)}else this.addSchemaValueCompletions(B.schema.items,F,H,z)}if(G!==void 0){let H=!1;if(B.schema.properties){const w=B.schema.properties[G];if(w)H=!0,this.addSchemaValueCompletions(w,F,Y,z)}if(B.schema.patternProperties&&!H){for(let w of Object.keys(B.schema.patternProperties))if(Q8(w)?.test(G)){H=!0;const j=B.schema.patternProperties[w];this.addSchemaValueCompletions(j,F,Y,z)}}if(B.schema.additionalProperties&&!H){const w=B.schema.additionalProperties;this.addSchemaValueCompletions(w,F,Y,z)}}}if(G==="$schema"&&!Z.parent)this.addDollarSchemaCompletions(F,Y);if(z.boolean)this.addBooleanValueCompletion(!0,F,Y),this.addBooleanValueCompletion(!1,F,Y);if(z.null)this.addNullValueCompletion(F,Y)}}getContributedValueCompletions(J,Q,Z,$,X,Y){if(!Q)this.contributions.forEach((z)=>{const U=z.collectDefaultCompletions($.uri,X);if(U)Y.push(U)});else{if(Q.type==="string"||Q.type==="number"||Q.type==="boolean"||Q.type==="null")Q=Q.parent;if(Q&&Q.type==="property"&&Z>(Q.colonOffset||0)){const z=Q.keyNode.value,U=Q.valueNode;if((!U||Z<=U.offset+U.length)&&Q.parent){const G=b5(Q.parent);this.contributions.forEach((V)=>{const F=V.collectValueCompletions($.uri,G,z,X);if(F)Y.push(F)})}}}}addSchemaValueCompletions(J,Q,Z,$){if(typeof J==="object"){if(this.addEnumValueCompletions(J,Q,Z),this.addDefaultValueCompletions(J,Q,Z),this.collectTypes(J,$),Array.isArray(J.allOf))J.allOf.forEach((X)=>this.addSchemaValueCompletions(X,Q,Z,$));if(Array.isArray(J.anyOf))J.anyOf.forEach((X)=>this.addSchemaValueCompletions(X,Q,Z,$));if(Array.isArray(J.oneOf))J.oneOf.forEach((X)=>this.addSchemaValueCompletions(X,Q,Z,$))}}addDefaultValueCompletions(J,Q,Z,$=0){let X=!1;if(S0(J.default)){let{type:Y,default:z}=J;for(let G=$;G>0;G--)z=[z],Y="array";const U={kind:this.getSuggestionKind(Y),label:this.getLabelForValue(z),insertText:this.getInsertTextForValue(z,Q),insertTextFormat:Y0.Snippet};if(this.doesSupportsLabelDetails())U.labelDetails={description:O("Default value")};else U.detail=O("Default value");Z.add(U),X=!0}if(Array.isArray(J.examples))J.examples.forEach((Y)=>{let z=J.type,U=Y;for(let G=$;G>0;G--)U=[U],z="array";Z.add({kind:this.getSuggestionKind(z),label:this.getLabelForValue(U),insertText:this.getInsertTextForValue(U,Q),insertTextFormat:Y0.Snippet}),X=!0});if(Array.isArray(J.defaultSnippets))J.defaultSnippets.forEach((Y)=>{let z=J.type,U=Y.body,G=Y.label,V,F;if(S0(U)){let _=J.type;for(let B=$;B>0;B--)U=[U],_="array";V=this.getInsertTextForSnippetValue(U,Q),F=this.getFilterTextForSnippetValue(U),G=G||this.getLabelForSnippetValue(U)}else if(typeof Y.bodyText==="string"){let _="",B="",H="";for(let w=$;w>0;w--)_=_+H+"[\n",B=B+"\n"+H+"]",H+=" ",z="array";V=_+H+Y.bodyText.split("\n").join("\n"+H)+B+Q,G=G||V,F=V.replace(/[\n]/g,"")}else return;Z.add({kind:this.getSuggestionKind(z),label:G,documentation:this.fromMarkup(Y.markdownDescription)||Y.description,insertText:V,insertTextFormat:Y0.Snippet,filterText:F}),X=!0});if(!X&&typeof J.items==="object"&&!Array.isArray(J.items)&&$<5)this.addDefaultValueCompletions(J.items,Q,Z,$+1)}addEnumValueCompletions(J,Q,Z){if(S0(J.const))Z.add({kind:this.getSuggestionKind(J.type),label:this.getLabelForValue(J.const),insertText:this.getInsertTextForValue(J.const,Q),insertTextFormat:Y0.Snippet,documentation:this.fromMarkup(J.markdownDescription)||J.description});if(Array.isArray(J.enum))for(let $=0,X=J.enum.length;$<X;$++){const Y=J.enum[$];let z=this.fromMarkup(J.markdownDescription)||J.description;if(J.markdownEnumDescriptions&&$<J.markdownEnumDescriptions.length&&this.doesSupportMarkdown())z=this.fromMarkup(J.markdownEnumDescriptions[$]);else if(J.enumDescriptions&&$<J.enumDescriptions.length)z=J.enumDescriptions[$];Z.add({kind:this.getSuggestionKind(J.type),label:this.getLabelForValue(Y),insertText:this.getInsertTextForValue(Y,Q),insertTextFormat:Y0.Snippet,documentation:z})}}collectTypes(J,Q){if(Array.isArray(J.enum)||S0(J.const))return;const Z=J.type;if(Array.isArray(Z))Z.forEach(($)=>Q[$]=!0);else if(Z)Q[Z]=!0}addFillerValueCompletions(J,Q,Z){if(J.object)Z.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},Q),insertTextFormat:Y0.Snippet,detail:O("New object"),documentation:""});if(J.array)Z.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],Q),insertTextFormat:Y0.Snippet,detail:O("New array"),documentation:""})}addBooleanValueCompletion(J,Q,Z){Z.add({kind:this.getSuggestionKind("boolean"),label:J?"true":"false",insertText:this.getInsertTextForValue(J,Q),insertTextFormat:Y0.Snippet,documentation:""})}addNullValueCompletion(J,Q){Q.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+J,insertTextFormat:Y0.Snippet,documentation:""})}addDollarSchemaCompletions(J,Q){this.schemaService.getRegisteredSchemaIds(($)=>$==="http"||$==="https").forEach(($)=>{if($.startsWith("http://json-schema.org/draft-"))$=$+"#";Q.add({kind:P0.Module,label:this.getLabelForValue($),filterText:this.getFilterTextForValue($),insertText:this.getInsertTextForValue($,J),insertTextFormat:Y0.Snippet,documentation:""})})}getLabelForValue(J){return JSON.stringify(J)}getValueFromLabel(J){return JSON.parse(J)}getFilterTextForValue(J){return JSON.stringify(J)}getFilterTextForSnippetValue(J){return JSON.stringify(J).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(J){return JSON.stringify(J).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(J){return J.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(J,Q){const Z=JSON.stringify(J,null," ");if(Z==="{}")return"{$1}"+Q;else if(Z==="[]")return"[$1]"+Q;return this.getInsertTextForPlainText(Z+Q)}getInsertTextForSnippetValue(J,Q){return C5(J,"",($)=>{if(typeof $==="string"){if($[0]==="^")return $.substr(1)}return JSON.stringify($)})+Q}getInsertTextForGuessedValue(J,Q){switch(typeof J){case"object":if(J===null)return"${1:null}"+Q;return this.getInsertTextForValue(J,Q);case"string":let Z=JSON.stringify(J);return Z=Z.substr(1,Z.length-2),Z=this.getInsertTextForPlainText(Z),'"${1:'+Z+'}"'+Q;case"number":case"boolean":return"${1:"+JSON.stringify(J)+"}"+Q}return this.getInsertTextForValue(J,Q)}getSuggestionKind(J){if(Array.isArray(J)){const Q=J;J=Q.length>0?Q[0]:void 0}if(!J)return P0.Value;switch(J){case"string":return P0.Value;case"object":return P0.Module;case"property":return P0.Property;default:return P0.Value}}getLabelTextForMatchingNode(J,Q){switch(J.type){case"array":return"[]";case"object":return"{}";default:return Q.getText().substr(J.offset,J.length)}}getInsertTextForMatchingNode(J,Q,Z){switch(J.type){case"array":return this.getInsertTextForValue([],Z);case"object":return this.getInsertTextForValue({},Z);default:const $=Q.getText().substr(J.offset,J.length)+Z;return this.getInsertTextForPlainText($)}}getInsertTextForProperty(J,Q,Z,$){const X=this.getInsertTextForValue(J,"");if(!Z)return X;const Y=X+": ";let z,U=0;if(Q){if(Array.isArray(Q.defaultSnippets)){if(Q.defaultSnippets.length===1){const G=Q.defaultSnippets[0].body;if(S0(G))z=this.getInsertTextForSnippetValue(G,"")}U+=Q.defaultSnippets.length}if(Q.enum){if(!z&&Q.enum.length===1)z=this.getInsertTextForGuessedValue(Q.enum[0],"");U+=Q.enum.length}if(S0(Q.const)){if(!z)z=this.getInsertTextForGuessedValue(Q.const,"");U++}if(S0(Q.default)){if(!z)z=this.getInsertTextForGuessedValue(Q.default,"");U++}if(Array.isArray(Q.examples)&&Q.examples.length){if(!z)z=this.getInsertTextForGuessedValue(Q.examples[0],"");U+=Q.examples.length}if(U===0){let G=Array.isArray(Q.type)?Q.type[0]:Q.type;if(!G){if(Q.properties)G="object";else if(Q.items)G="array"}switch(G){case"boolean":z="$1";break;case"string":z='"$1"';break;case"object":z="{$1}";break;case"array":z="[$1]";break;case"number":case"integer":z="${1:0}";break;case"null":z="${1:null}";break;default:return X}}}if(!z||U>1)z="$1";return Y+z+$}getCurrentWord(J,Q){let Z=Q-1;const $=J.getText();while(Z>=0&&' \n\r\v":{[,]}'.indexOf($.charAt(Z))===-1)Z--;return $.substring(Z+1,Q)}evaluateSeparatorAfter(J,Q){const Z=j1(J.getText(),!0);switch(Z.setPosition(Q),Z.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(J,Q,Z){const $=j1(Q.getText(),!0),X=J.items;for(let Y=X.length-1;Y>=0;Y--){const z=X[Y];if(Z>z.offset+z.length){if($.setPosition(z.offset+z.length),$.scan()===5&&Z>=$.getTokenOffset()+$.getTokenLength())return Y+1;return Y}else if(Z>=z.offset)return Y}return 0}isInComment(J,Q,Z){const $=j1(J.getText(),!1);$.setPosition(Q);let X=$.scan();while(X!==17&&$.getTokenOffset()+$.getTokenLength()<Z)X=$.scan();return(X===12||X===13)&&$.getTokenOffset()<=Z}fromMarkup(J){if(J&&this.doesSupportMarkdown())return{kind:M1.Markdown,value:J};return}doesSupportMarkdown(){if(!S0(this.supportsMarkdown)){const J=this.clientCapabilities.textDocument?.completion?.completionItem?.documentationFormat;this.supportsMarkdown=Array.isArray(J)&&J.indexOf(M1.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){if(!S0(this.supportsCommitCharacters))this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.commitCharactersSupport;return this.supportsCommitCharacters}doesSupportsLabelDetails(){if(!S0(this.labelDetailsSupport))this.labelDetailsSupport=this.clientCapabilities.textDocument?.completion?.completionItem?.labelDetailsSupport;return this.labelDetailsSupport}},OX=class{constructor(J,Q=[],Z){this.schemaService=J,this.contributions=Q,this.promise=Z||Promise}doHover(J,Q,Z){const $=J.offsetAt(Q);let X=Z.getNodeFromOffset($);if(!X||(X.type==="object"||X.type==="array")&&$>X.offset+1&&$<X.offset+X.length-1)return this.promise.resolve(null);const Y=X;if(X.type==="string"){const V=X.parent;if(V&&V.type==="property"&&V.keyNode===X){if(X=V.valueNode,!X)return this.promise.resolve(null)}}const z=d.create(J.positionAt(Y.offset),J.positionAt(Y.offset+Y.length)),U=(V)=>{return{contents:V,range:z}},G=b5(X);for(let V=this.contributions.length-1;V>=0;V--){const _=this.contributions[V].getInfoContribution(J.uri,G);if(_)return _.then((B)=>U(B))}return this.schemaService.getSchemaForResource(J.uri,Z).then((V)=>{if(V&&X){const F=Z.getMatchingSchemas(V.schema,X.offset);let _=void 0,B=void 0,H=void 0,w=void 0;F.every((j)=>{if(j.node===X&&!j.inverted&&j.schema){if(_=_||j.schema.title,B=B||j.schema.markdownDescription||N5(j.schema.description),j.schema.enum){const k=j.schema.enum.indexOf(P1(X));if(j.schema.markdownEnumDescriptions)H=j.schema.markdownEnumDescriptions[k];else if(j.schema.enumDescriptions)H=N5(j.schema.enumDescriptions[k]);if(H){if(w=j.schema.enum[k],typeof w!=="string")w=JSON.stringify(w)}}}return!0});let q="";if(_)q=N5(_);if(B){if(q.length>0)q+="\n\n";q+=B}if(H){if(q.length>0)q+="\n\n";q+=`\`${LX(w)}\`: ${H}`}return U([q])}return null})}},vX=class{constructor(J,Q){this.jsonSchemaService=J,this.promise=Q,this.validationEnabled=!0}configure(J){if(J)this.validationEnabled=J.validate!==!1,this.commentSeverity=J.allowComments?void 0:R0.Error}doValidation(J,Q,Z,$){if(!this.validationEnabled)return this.promise.resolve([]);const X=[],Y={},z=(G)=>{const V=G.range.start.line+" "+G.range.start.character+" "+G.message;if(!Y[V])Y[V]=!0,X.push(G)},U=(G)=>{let V=Z?.trailingCommas?t6(Z.trailingCommas):R0.Error,F=Z?.comments?t6(Z.comments):this.commentSeverity,_=Z?.schemaValidation?t6(Z.schemaValidation):R0.Warning,B=Z?.schemaRequest?t6(Z.schemaRequest):R0.Warning;if(G){const H=(w,q)=>{if(Q.root&&B){const j=Q.root,k=j.type==="object"?j.properties[0]:void 0;if(k&&k.keyNode.value==="$schema"){const D=k.valueNode||k,M=d.create(J.positionAt(D.offset),J.positionAt(D.offset+D.length));z(o0.create(M,w,B,q))}else{const D=d.create(J.positionAt(j.offset),J.positionAt(j.offset+1));z(o0.create(D,w,B,q))}}};if(G.errors.length)H(G.errors[0],a.SchemaResolveError);else if(_){for(let q of G.warnings)H(q,a.SchemaUnsupportedFeature);const w=Q.validate(J,G.schema,_,Z?.schemaDraft);if(w)w.forEach(z)}if(YZ(G.schema))F=void 0;if(zZ(G.schema))V=void 0}for(let H of Q.syntaxErrors){if(H.code===a.TrailingComma){if(typeof V!=="number")continue;H.severity=V}z(H)}if(typeof F==="number"){const H=O("Comments are not permitted in JSON.");Q.comments.forEach((w)=>{z(o0.create(w,H,F,a.CommentNotPermitted))})}return X};if($){const G=$.id||"schemaservice://untitled/"+EX++;return this.jsonSchemaService.registerExternalSchema({uri:G,schema:$}).getResolvedSchema().then((F)=>{return U(F)})}return this.jsonSchemaService.getSchemaForResource(J.uri,Q).then((G)=>{return U(G)})}getLanguageStatus(J,Q){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(J.uri,Q)}}},EX=0,nQ=48,xX=57,SX=65,r6=97,yX=102,CX=class{constructor(J){this.schemaService=J}findDocumentSymbols(J,Q,Z={resultLimit:Number.MAX_VALUE}){const $=Q.root;if(!$)return[];let X=Z.resultLimit||Number.MAX_VALUE;const Y=J.uri;if(Y==="vscode://defaultsettings/keybindings.json"||j6(Y.toLowerCase(),"/user/keybindings.json")){if($.type==="array"){const _=[];for(let B of $.items)if(B.type==="object"){for(let H of B.properties)if(H.keyNode.value==="key"&&H.valueNode){const w=c1.create(J.uri,Y1(J,B));if(_.push({name:iQ(H.valueNode),kind:h0.Function,location:w}),X--,X<=0){if(Z&&Z.onResultLimitExceeded)Z.onResultLimitExceeded(Y);return _}}}return _}}const z=[{node:$,containerName:""}];let U=0,G=!1;const V=[],F=(_,B)=>{if(_.type==="array")_.items.forEach((H)=>{if(H)z.push({node:H,containerName:B})});else if(_.type==="object")_.properties.forEach((H)=>{const w=H.valueNode;if(w)if(X>0){X--;const q=c1.create(J.uri,Y1(J,H)),j=B?B+"."+H.keyNode.value:H.keyNode.value;V.push({name:this.getKeyLabel(H),kind:this.getSymbolKind(w.type),location:q,containerName:B}),z.push({node:w,containerName:j})}else G=!0})};while(U<z.length){const _=z[U++];F(_.node,_.containerName)}if(G&&Z&&Z.onResultLimitExceeded)Z.onResultLimitExceeded(Y);return V}findDocumentSymbols2(J,Q,Z={resultLimit:Number.MAX_VALUE}){const $=Q.root;if(!$)return[];let X=Z.resultLimit||Number.MAX_VALUE;const Y=J.uri;if(Y==="vscode://defaultsettings/keybindings.json"||j6(Y.toLowerCase(),"/user/keybindings.json")){if($.type==="array"){const _=[];for(let B of $.items)if(B.type==="object"){for(let H of B.properties)if(H.keyNode.value==="key"&&H.valueNode){const w=Y1(J,B),q=Y1(J,H.keyNode);if(_.push({name:iQ(H.valueNode),kind:h0.Function,range:w,selectionRange:q}),X--,X<=0){if(Z&&Z.onResultLimitExceeded)Z.onResultLimitExceeded(Y);return _}}}return _}}const z=[],U=[{node:$,result:z}];let G=0,V=!1;const F=(_,B)=>{if(_.type==="array")_.items.forEach((H,w)=>{if(H)if(X>0){X--;const q=Y1(J,H),j=q,D={name:String(w),kind:this.getSymbolKind(H.type),range:q,selectionRange:j,children:[]};B.push(D),U.push({result:D.children,node:H})}else V=!0});else if(_.type==="object")_.properties.forEach((H)=>{const w=H.valueNode;if(w)if(X>0){X--;const q=Y1(J,H),j=Y1(J,H.keyNode),k=[],D={name:this.getKeyLabel(H),kind:this.getSymbolKind(w.type),range:q,selectionRange:j,children:k,detail:this.getDetail(w)};B.push(D),U.push({result:k,node:w})}else V=!0})};while(G<U.length){const _=U[G++];F(_.node,_.result)}if(V&&Z&&Z.onResultLimitExceeded)Z.onResultLimitExceeded(Y);return z}getSymbolKind(J){switch(J){case"object":return h0.Module;case"string":return h0.String;case"number":return h0.Number;case"array":return h0.Array;case"boolean":return h0.Boolean;default:return h0.Variable}}getKeyLabel(J){let Q=J.keyNode.value;if(Q)Q=Q.replace(/[\n]/g,"\u21B5");if(Q&&Q.trim())return Q;return`"${Q}"`}getDetail(J){if(!J)return;if(J.type==="boolean"||J.type==="number"||J.type==="null"||J.type==="string")return String(J.value);else if(J.type==="array")return J.children.length?void 0:"[]";else if(J.type==="object")return J.children.length?void 0:"{}";return}findDocumentColors(J,Q,Z){return this.schemaService.getSchemaForResource(J.uri,Q).then(($)=>{const X=[];if($){let Y=Z&&typeof Z.resultLimit==="number"?Z.resultLimit:Number.MAX_VALUE;const z=Q.getMatchingSchemas($.schema),U={};for(let G of z)if(!G.inverted&&G.schema&&(G.schema.format==="color"||G.schema.format==="color-hex")&&G.node&&G.node.type==="string"){const V=String(G.node.offset);if(!U[V]){const F=bX(P1(G.node));if(F){const _=Y1(J,G.node);X.push({color:F,range:_})}if(U[V]=!0,Y--,Y<=0){if(Z&&Z.onResultLimitExceeded)Z.onResultLimitExceeded(J.uri);return X}}}}return X})}getColorPresentations(J,Q,Z,$){const X=[],Y=Math.round(Z.red*255),z=Math.round(Z.green*255),U=Math.round(Z.blue*255);function G(F){const _=F.toString(16);return _.length!==2?"0"+_:_}let V;if(Z.alpha===1)V=`#${G(Y)}${G(z)}${G(U)}`;else V=`#${G(Y)}${G(z)}${G(U)}${G(Math.round(Z.alpha*255))}`;return X.push({label:V,textEdit:u0.replace($,JSON.stringify(V))}),X}},f5={schemaAssociations:[],schemas:{"http://json-schema.org/draft-04/schema#":{$schema:"http://json-schema.org/draft-04/schema#",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},positiveInteger:{type:"integer",minimum:0},positiveIntegerDefault0:{allOf:[{$ref:"#/definitions/positiveInteger"},{default:0}]},simpleTypes:{type:"string",enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},minItems:1,uniqueItems:!0}},type:"object",properties:{id:{type:"string",format:"uri"},$schema:{type:"string",format:"uri"},title:{type:"string"},description:{type:"string"},default:{},multipleOf:{type:"number",minimum:0,exclusiveMinimum:!0},maximum:{type:"number"},exclusiveMaximum:{type:"boolean",default:!1},minimum:{type:"number"},exclusiveMinimum:{type:"boolean",default:!1},maxLength:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minLength:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},pattern:{type:"string",format:"regex"},additionalItems:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:{}},maxItems:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minItems:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},uniqueItems:{type:"boolean",default:!1},maxProperties:{allOf:[{$ref:"#/definitions/positiveInteger"}]},minProperties:{allOf:[{$ref:"#/definitions/positiveIntegerDefault0"}]},required:{allOf:[{$ref:"#/definitions/stringArray"}]},additionalProperties:{anyOf:[{type:"boolean"},{$ref:"#"}],default:{}},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},enum:{type:"array",minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{anyOf:[{type:"string",enum:["date-time","uri","email","hostname","ipv4","ipv6","regex"]},{type:"string"}]},allOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},anyOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},oneOf:{allOf:[{$ref:"#/definitions/schemaArray"}]},not:{allOf:[{$ref:"#"}]}},dependencies:{exclusiveMaximum:["maximum"],exclusiveMinimum:["minimum"]},default:{}},"http://json-schema.org/draft-07/schema#":{definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}}},fX={id:O("A unique identifier for the schema."),$schema:O("The schema to verify this document against."),title:O("A descriptive title of the element."),description:O("A long description of the element. Used in hover menus and suggestions."),default:O("A default value. Used by suggestions."),multipleOf:O("A number that should cleanly divide the current value (i.e. have no remainder)."),maximum:O("The maximum numerical value, inclusive by default."),exclusiveMaximum:O("Makes the maximum property exclusive."),minimum:O("The minimum numerical value, inclusive by default."),exclusiveMinimum:O("Makes the minimum property exclusive."),maxLength:O("The maximum length of a string."),minLength:O("The minimum length of a string."),pattern:O("A regular expression to match the string against. It is not implicitly anchored."),additionalItems:O("For arrays, only when items is set as an array. If it is a schema, then this schema validates items after the ones specified by the items array. If it is false, then additional items will cause validation to fail."),items:O("For arrays. Can either be a schema to validate every element against or an array of schemas to validate each item against in order (the first schema will validate the first element, the second schema will validate the second element, and so on."),maxItems:O("The maximum number of items that can be inside an array. Inclusive."),minItems:O("The minimum number of items that can be inside an array. Inclusive."),uniqueItems:O("If all of the items in the array must be unique. Defaults to false."),maxProperties:O("The maximum number of properties an object can have. Inclusive."),minProperties:O("The minimum number of properties an object can have. Inclusive."),required:O("An array of strings that lists the names of all properties required on this object."),additionalProperties:O("Either a schema or a boolean. If a schema, then used to validate all properties not matched by 'properties' or 'patternProperties'. If false, then any properties not matched by either will cause this schema to fail."),definitions:O("Not used for validation. Place subschemas here that you wish to reference inline with $ref."),properties:O("A map of property names to schemas for each property."),patternProperties:O("A map of regular expressions on property names to schemas for matching properties."),dependencies:O("A map of property names to either an array of property names or a schema. An array of property names means the property named in the key depends on the properties in the array being present in the object in order to be valid. If the value is a schema, then the schema is only applied to the object if the property in the key exists on the object."),enum:O("The set of literal values that are valid."),type:O("Either a string of one of the basic schema types (number, integer, null, array, object, boolean, string) or an array of strings specifying a subset of those types."),format:O("Describes the format expected for the value."),allOf:O("An array of schemas, all of which must match."),anyOf:O("An array of schemas, where at least one must match."),oneOf:O("An array of schemas, exactly one of which must match."),not:O("A schema which must not match."),$id:O("A unique identifier for the schema."),$ref:O("Reference a definition hosted on any location."),$comment:O("Comments from schema authors to readers or maintainers of the schema."),readOnly:O("Indicates that the value of the instance is managed exclusively by the owning authority."),examples:O("Sample JSON values associated with a particular schema, for the purpose of illustrating usage."),contains:O('An array instance is valid against "contains" if at least one of its elements is valid against the given schema.'),propertyNames:O("If the instance is an object, this keyword validates if every property name in the instance validates against the provided schema."),const:O("An instance validates successfully against this keyword if its value is equal to the value of the keyword."),contentMediaType:O("Describes the media type of a string property."),contentEncoding:O("Describes the content encoding of a string property."),if:O('The validation outcome of the "if" subschema controls which of the "then" or "else" keywords are evaluated.'),then:O('The "if" subschema is used for validation when the "if" subschema succeeds.'),else:O('The "else" subschema is used for validation when the "if" subschema fails.')};for(let J in f5.schemas){const Q=f5.schemas[J];for(let Z in Q.properties){let $=Q.properties[Z];if(typeof $==="boolean")$=Q.properties[Z]={};const X=fX[Z];if(X)$.description=X}}var UZ;(()=>{var J={470:(X)=>{function Y(G){if(typeof G!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(G))}function z(G,V){for(var F,_="",B=0,H=-1,w=0,q=0;q<=G.length;++q){if(q<G.length)F=G.charCodeAt(q);else{if(F===47)break;F=47}if(F===47){if(H===q-1||w===1);else if(H!==q-1&&w===2){if(_.length<2||B!==2||_.charCodeAt(_.length-1)!==46||_.charCodeAt(_.length-2)!==46){if(_.length>2){var j=_.lastIndexOf("/");if(j!==_.length-1){j===-1?(_="",B=0):B=(_=_.slice(0,j)).length-1-_.lastIndexOf("/"),H=q,w=0;continue}}else if(_.length===2||_.length===1){_="",B=0,H=q,w=0;continue}}V&&(_.length>0?_+="/..":_="..",B=2)}else _.length>0?_+="/"+G.slice(H+1,q):_=G.slice(H+1,q),B=q-H-1;H=q,w=0}else F===46&&w!==-1?++w:w=-1}return _}var U={resolve:function(){for(var G,V="",F=!1,_=arguments.length-1;_>=-1&&!F;_--){var B;_>=0?B=arguments[_]:(G===void 0&&(G=process.cwd()),B=G),Y(B),B.length!==0&&(V=B+"/"+V,F=B.charCodeAt(0)===47)}return V=z(V,!F),F?V.length>0?"/"+V:"/":V.length>0?V:"."},normalize:function(G){if(Y(G),G.length===0)return".";var V=G.charCodeAt(0)===47,F=G.charCodeAt(G.length-1)===47;return(G=z(G,!V)).length!==0||V||(G="."),G.length>0&&F&&(G+="/"),V?"/"+G:G},isAbsolute:function(G){return Y(G),G.length>0&&G.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var G,V=0;V<arguments.length;++V){var F=arguments[V];Y(F),F.length>0&&(G===void 0?G=F:G+="/"+F)}return G===void 0?".":U.normalize(G)},relative:function(G,V){if(Y(G),Y(V),G===V)return"";if((G=U.resolve(G))===(V=U.resolve(V)))return"";for(var F=1;F<G.length&&G.charCodeAt(F)===47;++F);for(var _=G.length,B=_-F,H=1;H<V.length&&V.charCodeAt(H)===47;++H);for(var w=V.length-H,q=B<w?B:w,j=-1,k=0;k<=q;++k){if(k===q){if(w>q){if(V.charCodeAt(H+k)===47)return V.slice(H+k+1);if(k===0)return V.slice(H+k)}else B>q&&(G.charCodeAt(F+k)===47?j=k:k===0&&(j=0));break}var D=G.charCodeAt(F+k);if(D!==V.charCodeAt(H+k))break;D===47&&(j=k)}var M="";for(k=F+j+1;k<=_;++k)k!==_&&G.charCodeAt(k)!==47||(M.length===0?M+="..":M+="/..");return M.length>0?M+V.slice(H+j):(H+=j,V.charCodeAt(H)===47&&++H,V.slice(H))},_makeLong:function(G){return G},dirname:function(G){if(Y(G),G.length===0)return".";for(var V=G.charCodeAt(0),F=V===47,_=-1,B=!0,H=G.length-1;H>=1;--H)if((V=G.charCodeAt(H))===47){if(!B){_=H;break}}else B=!1;return _===-1?F?"/":".":F&&_===1?"//":G.slice(0,_)},basename:function(G,V){if(V!==void 0&&typeof V!="string")throw new TypeError('"ext" argument must be a string');Y(G);var F,_=0,B=-1,H=!0;if(V!==void 0&&V.length>0&&V.length<=G.length){if(V.length===G.length&&V===G)return"";var w=V.length-1,q=-1;for(F=G.length-1;F>=0;--F){var j=G.charCodeAt(F);if(j===47){if(!H){_=F+1;break}}else q===-1&&(H=!1,q=F+1),w>=0&&(j===V.charCodeAt(w)?--w==-1&&(B=F):(w=-1,B=q))}return _===B?B=q:B===-1&&(B=G.length),G.slice(_,B)}for(F=G.length-1;F>=0;--F)if(G.charCodeAt(F)===47){if(!H){_=F+1;break}}else B===-1&&(H=!1,B=F+1);return B===-1?"":G.slice(_,B)},extname:function(G){Y(G);for(var V=-1,F=0,_=-1,B=!0,H=0,w=G.length-1;w>=0;--w){var q=G.charCodeAt(w);if(q!==47)_===-1&&(B=!1,_=w+1),q===46?V===-1?V=w:H!==1&&(H=1):V!==-1&&(H=-1);else if(!B){F=w+1;break}}return V===-1||_===-1||H===0||H===1&&V===_-1&&V===F+1?"":G.slice(V,_)},format:function(G){if(G===null||typeof G!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof G);return function(V,F){var _=F.dir||F.root,B=F.base||(F.name||"")+(F.ext||"");return _?_===F.root?_+B:_+"/"+B:B}(0,G)},parse:function(G){Y(G);var V={root:"",dir:"",base:"",ext:"",name:""};if(G.length===0)return V;var F,_=G.charCodeAt(0),B=_===47;B?(V.root="/",F=1):F=0;for(var H=-1,w=0,q=-1,j=!0,k=G.length-1,D=0;k>=F;--k)if((_=G.charCodeAt(k))!==47)q===-1&&(j=!1,q=k+1),_===46?H===-1?H=k:D!==1&&(D=1):H!==-1&&(D=-1);else if(!j){w=k+1;break}return H===-1||q===-1||D===0||D===1&&H===q-1&&H===w+1?q!==-1&&(V.base=V.name=w===0&&B?G.slice(1,q):G.slice(w,q)):(w===0&&B?(V.name=G.slice(1,H),V.base=G.slice(1,q)):(V.name=G.slice(w,H),V.base=G.slice(w,q)),V.ext=G.slice(H,q)),w>0?V.dir=G.slice(0,w-1):B&&(V.dir="/"),V},sep:"/",delimiter:":",win32:null,posix:null};U.posix=U,X.exports=U}},Q={};function Z(X){var Y=Q[X];if(Y!==void 0)return Y.exports;var z=Q[X]={exports:{}};return J[X](z,z.exports,Z),z.exports}Z.d=(X,Y)=>{for(var z in Y)Z.o(Y,z)&&!Z.o(X,z)&&Object.defineProperty(X,z,{enumerable:!0,get:Y[z]})},Z.o=(X,Y)=>Object.prototype.hasOwnProperty.call(X,Y),Z.r=(X)=>{typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(X,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(X,"__esModule",{value:!0})};var $={};(()=>{let X;if(Z.r($),Z.d($,{URI:()=>B,Utils:()=>C}),typeof process=="object")X=process.platform==="win32";else if(typeof navigator=="object")X=navigator.userAgent.indexOf("Windows")>=0;const Y=/^\w[\w\d+.-]*$/,z=/^\//,U=/^\/\//;function G(A,L){if(!A.scheme&&L)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${A.authority}", path: "${A.path}", query: "${A.query}", fragment: "${A.fragment}"}`);if(A.scheme&&!Y.test(A.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(A.path){if(A.authority){if(!z.test(A.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(U.test(A.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}const V="",F="/",_=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class B{static isUri(A){return A instanceof B||!!A&&typeof A.authority=="string"&&typeof A.fragment=="string"&&typeof A.path=="string"&&typeof A.query=="string"&&typeof A.scheme=="string"&&typeof A.fsPath=="string"&&typeof A.with=="function"&&typeof A.toString=="function"}scheme;authority;path;query;fragment;constructor(A,L,y,I,v,S=!1){typeof A=="object"?(this.scheme=A.scheme||V,this.authority=A.authority||V,this.path=A.path||V,this.query=A.query||V,this.fragment=A.fragment||V):(this.scheme=function(E,h){return E||h?E:"file"}(A,S),this.authority=L||V,this.path=function(E,h){switch(E){case"https":case"http":case"file":h?h[0]!==F&&(h=F+h):h=F}return h}(this.scheme,y||V),this.query=I||V,this.fragment=v||V,G(this,S))}get fsPath(){return D(this,!1)}with(A){if(!A)return this;let{scheme:L,authority:y,path:I,query:v,fragment:S}=A;return L===void 0?L=this.scheme:L===null&&(L=V),y===void 0?y=this.authority:y===null&&(y=V),I===void 0?I=this.path:I===null&&(I=V),v===void 0?v=this.query:v===null&&(v=V),S===void 0?S=this.fragment:S===null&&(S=V),L===this.scheme&&y===this.authority&&I===this.path&&v===this.query&&S===this.fragment?this:new w(L,y,I,v,S)}static parse(A,L=!1){const y=_.exec(A);return y?new w(y[2]||V,R(y[4]||V),R(y[5]||V),R(y[7]||V),R(y[9]||V),L):new w(V,V,V,V,V)}static file(A){let L=V;if(X&&(A=A.replace(/\\/g,F)),A[0]===F&&A[1]===F){const y=A.indexOf(F,2);y===-1?(L=A.substring(2),A=F):(L=A.substring(2,y),A=A.substring(y)||F)}return new w("file",L,A,V,V)}static from(A){const L=new w(A.scheme,A.authority,A.path,A.query,A.fragment);return G(L,!0),L}toString(A=!1){return M(this,A)}toJSON(){return this}static revive(A){if(A){if(A instanceof B)return A;{const L=new w(A);return L._formatted=A.external,L._fsPath=A._sep===H?A.fsPath:null,L}}return A}}const H=X?1:void 0;class w extends B{_formatted=null;_fsPath=null;get fsPath(){return this._fsPath||(this._fsPath=D(this,!1)),this._fsPath}toString(A=!1){return A?M(this,!0):(this._formatted||(this._formatted=M(this,!1)),this._formatted)}toJSON(){const A={$mid:1};return this._fsPath&&(A.fsPath=this._fsPath,A._sep=H),this._formatted&&(A.external=this._formatted),this.path&&(A.path=this.path),this.scheme&&(A.scheme=this.scheme),this.authority&&(A.authority=this.authority),this.query&&(A.query=this.query),this.fragment&&(A.fragment=this.fragment),A}}const q={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 j(A,L,y){let I,v=-1;for(let S=0;S<A.length;S++){const E=A.charCodeAt(S);if(E>=97&&E<=122||E>=65&&E<=90||E>=48&&E<=57||E===45||E===46||E===95||E===126||L&&E===47||y&&E===91||y&&E===93||y&&E===58)v!==-1&&(I+=encodeURIComponent(A.substring(v,S)),v=-1),I!==void 0&&(I+=A.charAt(S));else{I===void 0&&(I=A.substr(0,S));const h=q[E];h!==void 0?(v!==-1&&(I+=encodeURIComponent(A.substring(v,S)),v=-1),I+=h):v===-1&&(v=S)}}return v!==-1&&(I+=encodeURIComponent(A.substring(v))),I!==void 0?I:A}function k(A){let L;for(let y=0;y<A.length;y++){const I=A.charCodeAt(y);I===35||I===63?(L===void 0&&(L=A.substr(0,y)),L+=q[I]):L!==void 0&&(L+=A[y])}return L!==void 0?L:A}function D(A,L){let y;return y=A.authority&&A.path.length>1&&A.scheme==="file"?`//${A.authority}${A.path}`:A.path.charCodeAt(0)===47&&(A.path.charCodeAt(1)>=65&&A.path.charCodeAt(1)<=90||A.path.charCodeAt(1)>=97&&A.path.charCodeAt(1)<=122)&&A.path.charCodeAt(2)===58?L?A.path.substr(1):A.path[1].toLowerCase()+A.path.substr(2):A.path,X&&(y=y.replace(/\//g,"\\")),y}function M(A,L){const y=L?k:j;let I="",{scheme:v,authority:S,path:E,query:h,fragment:l}=A;if(v&&(I+=v,I+=":"),(S||v==="file")&&(I+=F,I+=F),S){let u=S.indexOf("@");if(u!==-1){const e=S.substr(0,u);S=S.substr(u+1),u=e.lastIndexOf(":"),u===-1?I+=y(e,!1,!1):(I+=y(e.substr(0,u),!1,!1),I+=":",I+=y(e.substr(u+1),!1,!0)),I+="@"}S=S.toLowerCase(),u=S.lastIndexOf(":"),u===-1?I+=y(S,!1,!0):(I+=y(S.substr(0,u),!1,!0),I+=S.substr(u))}if(E){if(E.length>=3&&E.charCodeAt(0)===47&&E.charCodeAt(2)===58){const u=E.charCodeAt(1);u>=65&&u<=90&&(E=`/${String.fromCharCode(u+32)}:${E.substr(3)}`)}else if(E.length>=2&&E.charCodeAt(1)===58){const u=E.charCodeAt(0);u>=65&&u<=90&&(E=`${String.fromCharCode(u+32)}:${E.substr(2)}`)}I+=y(E,!0,!1)}return h&&(I+="?",I+=y(h,!1,!1)),l&&(I+="#",I+=L?l:j(l,!1,!1)),I}function N(A){try{return decodeURIComponent(A)}catch{return A.length>3?A.substr(0,3)+N(A.substr(3)):A}}const P=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function R(A){return A.match(P)?A.replace(P,(L)=>N(L)):A}var T=Z(470);const x=T.posix||T,b="/";var C;(function(A){A.joinPath=function(L,...y){return L.with({path:x.join(L.path,...y)})},A.resolvePath=function(L,...y){let I=L.path,v=!1;I[0]!==b&&(I=b+I,v=!0);let S=x.resolve(I,...y);return v&&S[0]===b&&!L.authority&&(S=S.substring(1)),L.with({path:S})},A.dirname=function(L){if(L.path.length===0||L.path===b)return L;let y=x.dirname(L.path);return y.length===1&&y.charCodeAt(0)===46&&(y=""),L.with({path:y})},A.basename=function(L){return x.basename(L.path)},A.extname=function(L){return x.extname(L.path)}})(C||(C={}))})(),UZ=$})();var{URI:l1,Utils:zV}=UZ,pX="!",uX="/",cX=class{constructor(J,Q,Z){this.folderUri=Q,this.uris=Z,this.globWrappers=[];try{for(let $ of J){const X=$[0]!==pX;if(!X)$=$.substring(1);if($.length>0){if($[0]===uX)$=$.substring(1);this.globWrappers.push({regexp:hX("**/"+$,{extended:!0,globstar:!0}),include:X})}}if(Q){if(Q=GZ(Q),!Q.endsWith("/"))Q=Q+"/";this.folderUri=Q}}catch($){this.globWrappers.length=0,this.uris=[]}}matchesPattern(J){if(this.folderUri&&!J.startsWith(this.folderUri))return!1;let Q=!1;for(let{regexp:Z,include:$}of this.globWrappers)if(Z.test(J))Q=$;return Q}getURIs(){return this.uris}},mX=class{constructor(J,Q,Z){if(this.service=J,this.uri=Q,this.dependencies=new Set,this.anchors=void 0,Z)this.unresolvedSchema=this.service.promise.resolve(new q6(Z))}getUnresolvedSchema(){if(!this.unresolvedSchema)this.unresolvedSchema=this.service.loadSchema(this.uri);return this.unresolvedSchema}getResolvedSchema(){if(!this.resolvedSchema)this.resolvedSchema=this.getUnresolvedSchema().then((J)=>{return this.service.resolveSchemaContent(J,this)});return this.resolvedSchema}clearSchema(){const J=!!this.unresolvedSchema;return this.resolvedSchema=void 0,this.unresolvedSchema=void 0,this.dependencies.clear(),this.anchors=void 0,J}},q6=class{constructor(J,Q=[]){this.schema=J,this.errors=Q}},tQ=class{constructor(J,Q=[],Z=[],$){this.schema=J,this.errors=Q,this.warnings=Z,this.schemaDraft=$}getSection(J){const Q=this.getSectionRecursive(J,this.schema);if(Q)return T0(Q);return}getSectionRecursive(J,Q){if(!Q||typeof Q==="boolean"||J.length===0)return Q;const Z=J.shift();if(Q.properties&&typeof Q.properties[Z])return this.getSectionRecursive(J,Q.properties[Z]);else if(Q.patternProperties){for(let $ of Object.keys(Q.patternProperties))if(Q8($)?.test(Z))return this.getSectionRecursive(J,Q.patternProperties[$])}else if(typeof Q.additionalProperties==="object")return this.getSectionRecursive(J,Q.additionalProperties);else if(Z.match("[0-9]+")){if(Array.isArray(Q.items)){const $=parseInt(Z,10);if(!isNaN($)&&Q.items[$])return this.getSectionRecursive(J,Q.items[$])}else if(Q.items)return this.getSectionRecursive(J,Q.items)}return}},gX=class{constructor(J,Q,Z){this.contextService=Q,this.requestService=J,this.promiseConstructor=Z||Promise,this.callOnDispose=[],this.contributionSchemas={},this.contributionAssociations=[],this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={}}getRegisteredSchemaIds(J){return Object.keys(this.registeredSchemasIds).filter((Q)=>{const Z=l1.parse(Q).scheme;return Z!=="schemaservice"&&(!J||J(Z))})}get promise(){return this.promiseConstructor}dispose(){while(this.callOnDispose.length>0)this.callOnDispose.pop()()}onResourceChange(J){this.cachedSchemaForResource=void 0;let Q=!1;J=z1(J);const Z=[J],$=Object.keys(this.schemasById).map((X)=>this.schemasById[X]);while(Z.length){const X=Z.pop();for(let Y=0;Y<$.length;Y++){const z=$[Y];if(z&&(z.uri===X||z.dependencies.has(X))){if(z.uri!==X)Z.push(z.uri);if(z.clearSchema())Q=!0;$[Y]=void 0}}}return Q}setSchemaContributions(J){if(J.schemas){const Q=J.schemas;for(let Z in Q){const $=z1(Z);this.contributionSchemas[$]=this.addSchemaHandle($,Q[Z])}}if(Array.isArray(J.schemaAssociations)){const Q=J.schemaAssociations;for(let Z of Q){const $=Z.uris.map(z1),X=this.addFilePatternAssociation(Z.pattern,Z.folderUri,$);this.contributionAssociations.push(X)}}}addSchemaHandle(J,Q){const Z=new mX(this,J,Q);return this.schemasById[J]=Z,Z}getOrAddSchemaHandle(J,Q){return this.schemasById[J]||this.addSchemaHandle(J,Q)}addFilePatternAssociation(J,Q,Z){const $=new cX(J,Q,Z);return this.filePatternAssociations.push($),$}registerExternalSchema(J){const Q=z1(J.uri);if(this.registeredSchemasIds[Q]=!0,this.cachedSchemaForResource=void 0,J.fileMatch&&J.fileMatch.length)this.addFilePatternAssociation(J.fileMatch,J.folderUri,[Q]);return J.schema?this.addSchemaHandle(Q,J.schema):this.getOrAddSchemaHandle(Q)}clearExternalSchemas(){this.schemasById={},this.filePatternAssociations=[],this.registeredSchemasIds={},this.cachedSchemaForResource=void 0;for(let J in this.contributionSchemas)this.schemasById[J]=this.contributionSchemas[J],this.registeredSchemasIds[J]=!0;for(let J of this.contributionAssociations)this.filePatternAssociations.push(J)}getResolvedSchema(J){const Q=z1(J),Z=this.schemasById[Q];if(Z)return Z.getResolvedSchema();return this.promise.resolve(void 0)}loadSchema(J){if(!this.requestService){const Q=O("Unable to load schema from '{0}'. No schema request service available",w6(J));return this.promise.resolve(new q6({},[Q]))}if(J.startsWith("http://json-schema.org/"))J="https"+J.substring(4);return this.requestService(J).then((Q)=>{if(!Q){const Y=O("Unable to load schema from '{0}': No content.",w6(J));return new q6({},[Y])}const Z=[];if(Q.charCodeAt(0)===65279)Z.push(O("Problem reading content from '{0}': UTF-8 with BOM detected, only UTF 8 is allowed.",w6(J))),Q=Q.trimStart();let $={};const X=[];if($=YX(Q,X),X.length)Z.push(O("Unable to parse content from '{0}': Parse error at offset {1}.",w6(J),X[0].offset));return new q6($,Z)},(Q)=>{let Z=Q.toString();const $=Q.toString().split("Error: ");if($.length>1)Z=$[1];if(j6(Z,"."))Z=Z.substr(0,Z.length-1);return new q6({},[O("Unable to load schema from '{0}': {1}.",w6(J),Z)])})}resolveSchemaContent(J,Q){const Z=J.errors.slice(0),$=J.schema;let X=$.$schema?z1($.$schema):void 0;if(X==="http://json-schema.org/draft-03/schema")return this.promise.resolve(new tQ({},[O("Draft-03 schemas are not supported.")],[],X));let Y=new Set;const z=this.contextService,U=(w,q)=>{q=decodeURIComponent(q);let j=w;if(q[0]==="/")q=q.substring(1);return q.split("/").some((k)=>{return k=k.replace(/~1/g,"/").replace(/~0/g,"~"),j=j[k],!j}),j},G=(w,q,j)=>{if(!q.anchors)q.anchors=H(w);return q.anchors.get(j)},V=(w,q)=>{for(let j in q)if(q.hasOwnProperty(j)&&j!=="id"&&j!=="$id")w[j]=q[j]},F=(w,q,j,k)=>{let D;if(k===void 0||k.length===0)D=q;else if(k.charAt(0)==="/")D=U(q,k);else D=G(q,j,k);if(D)V(w,D);else Z.push(O("$ref '{0}' in '{1}' can not be resolved.",k||"",j.uri))},_=(w,q,j,k)=>{if(z&&!/^[A-Za-z][A-Za-z0-9+\-.+]*:\/\/.*/.test(q))q=z.resolveRelativePath(q,k.uri);q=z1(q);const D=this.getOrAddSchemaHandle(q);return D.getUnresolvedSchema().then((M)=>{if(k.dependencies.add(q),M.errors.length){const N=j?q+"#"+j:q;Z.push(O("Problems loading reference '{0}': {1}",N,M.errors[0]))}return F(w,M.schema,D,j),B(w,M.schema,D)})},B=(w,q,j)=>{const k=[];return this.traverseNodes(w,(D)=>{const M=new Set;while(D.$ref){const N=D.$ref,P=N.split("#",2);if(delete D.$ref,P[0].length>0){k.push(_(D,P[0],P[1],j));return}else if(!M.has(N)){const R=P[1];F(D,q,j,R),M.add(N)}}if(D.$recursiveRef)Y.add("$recursiveRef");if(D.$dynamicRef)Y.add("$dynamicRef")}),this.promise.all(k)},H=(w)=>{const q=new Map;return this.traverseNodes(w,(j)=>{const k=j.$id||j.id,D=QZ(k)&&k.charAt(0)==="#"?k.substring(1):j.$anchor;if(D)if(q.has(D))Z.push(O("Duplicate anchor declaration: '{0}'",D));else q.set(D,j);if(j.$recursiveAnchor)Y.add("$recursiveAnchor");if(j.$dynamicAnchor)Y.add("$dynamicAnchor")}),q};return B($,$,Q).then((w)=>{let q=[];if(Y.size)q.push(O("The schema uses meta-schema features ({0}) that are not yet supported by the validator.",Array.from(Y.keys()).join(", ")));return new tQ($,Z,q,X)})}traverseNodes(J,Q){if(!J||typeof J!=="object")return Promise.resolve(null);const Z=new Set,$=(...V)=>{for(let F of V)if(U1(F))U.push(F)},X=(...V)=>{for(let F of V)if(U1(F))for(let _ in F){const H=F[_];if(U1(H))U.push(H)}},Y=(...V)=>{for(let F of V)if(Array.isArray(F)){for(let _ of F)if(U1(_))U.push(_)}},z=(V)=>{if(Array.isArray(V)){for(let F of V)if(U1(F))U.push(F)}else if(U1(V))U.push(V)},U=[J];let G=U.pop();while(G){if(!Z.has(G))Z.add(G),Q(G),$(G.additionalItems,G.additionalProperties,G.not,G.contains,G.propertyNames,G.if,G.then,G.else,G.unevaluatedItems,G.unevaluatedProperties),X(G.definitions,G.$defs,G.properties,G.patternProperties,G.dependencies,G.dependentSchemas),Y(G.anyOf,G.allOf,G.oneOf,G.prefixItems),z(G.items);G=U.pop()}}getSchemaFromProperty(J,Q){if(Q.root?.type==="object"){for(let Z of Q.root.properties)if(Z.keyNode.value==="$schema"&&Z.valueNode?.type==="string"){let $=Z.valueNode.value;if(this.contextService&&!/^\w[\w\d+.-]*:/.test($))$=this.contextService.resolveRelativePath($,J);return $}}return}getAssociatedSchemas(J){const Q=Object.create(null),Z=[],$=GZ(J);for(let X of this.filePatternAssociations)if(X.matchesPattern($)){for(let Y of X.getURIs())if(!Q[Y])Z.push(Y),Q[Y]=!0}return Z}getSchemaURIsForResource(J,Q){let Z=Q&&this.getSchemaFromProperty(J,Q);if(Z)return[Z];return this.getAssociatedSchemas(J)}getSchemaForResource(J,Q){if(Q){let X=this.getSchemaFromProperty(J,Q);if(X){const Y=z1(X);return this.getOrAddSchemaHandle(Y).getResolvedSchema()}}if(this.cachedSchemaForResource&&this.cachedSchemaForResource.resource===J)return this.cachedSchemaForResource.resolvedSchema;const Z=this.getAssociatedSchemas(J),$=Z.length>0?this.createCombinedSchema(J,Z).getResolvedSchema():this.promise.resolve(void 0);return this.cachedSchemaForResource={resource:J,resolvedSchema:$},$}createCombinedSchema(J,Q){if(Q.length===1)return this.getOrAddSchemaHandle(Q[0]);else{const Z="schemaservice://combinedSchema/"+encodeURIComponent(J),$={allOf:Q.map((X)=>({$ref:X}))};return this.addSchemaHandle(Z,$)}}getMatchingSchemas(J,Q,Z){if(Z){const $=Z.id||"schemaservice://untitled/matchingSchemas/"+lX++;return this.addSchemaHandle($,Z).getResolvedSchema().then((Y)=>{return Q.getMatchingSchemas(Y.schema).filter((z)=>!z.inverted)})}return this.getSchemaForResource(J.uri,Q).then(($)=>{if($)return Q.getMatchingSchemas($.schema).filter((X)=>!X.inverted);return[]})}},lX=0,z0;(function(J){J[J.Object=0]="Object",J[J.Array=1]="Array"})(z0||(z0={}));var e6=class{constructor(J,Q){this.propertyName=J??"",this.beginningLineNumber=Q,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(J){if(J.parent=this,this.childrenProperties.length>0){let Q=0;if(J.noKeyName)Q=this.childrenProperties.length;else Q=oX(this.childrenProperties,J,aX);if(Q<0)Q=Q*-1-1;this.childrenProperties.splice(Q,0,J)}else this.childrenProperties.push(J);return J}},WZ=class{constructor(J,Q){this.beginningLineNumber=J,this.propertyTreeArray=Q}},FZ;if(typeof fetch!=="undefined")FZ=function(J){return fetch(J).then((Q)=>Q.text())};var XY=class{constructor(J,Q){this._ctx=J,this._languageSettings=Q.languageSettings,this._languageId=Q.languageId,this._languageService=$Y({workspaceContext:{resolveRelativePath:(Z,$)=>{const X=$.substr(0,$.lastIndexOf("/")+1);return UY(X,Z)}},schemaRequestService:Q.enableSchemaRequest?FZ:void 0,clientCapabilities:y5.LATEST}),this._languageService.configure(this._languageSettings)}async doValidation(J){let Q=this._getTextDocument(J);if(Q){let Z=this._languageService.parseJSONDocument(Q);return this._languageService.doValidation(Q,Z,this._languageSettings)}return Promise.resolve([])}async doComplete(J,Q){let Z=this._getTextDocument(J);if(!Z)return null;let $=this._languageService.parseJSONDocument(Z);return this._languageService.doComplete(Z,Q,$)}async doResolve(J){return this._languageService.doResolve(J)}async doHover(J,Q){let Z=this._getTextDocument(J);if(!Z)return null;let $=this._languageService.parseJSONDocument(Z);return this._languageService.doHover(Z,Q,$)}async format(J,Q,Z){let $=this._getTextDocument(J);if(!$)return[];let X=this._languageService.format($,Q,Z);return Promise.resolve(X)}async resetSchema(J){return Promise.resolve(this._languageService.resetSchema(J))}async findDocumentSymbols(J){let Q=this._getTextDocument(J);if(!Q)return[];let Z=this._languageService.parseJSONDocument(Q),$=this._languageService.findDocumentSymbols2(Q,Z);return Promise.resolve($)}async findDocumentColors(J){let Q=this._getTextDocument(J);if(!Q)return[];let Z=this._languageService.parseJSONDocument(Q),$=this._languageService.findDocumentColors(Q,Z);return Promise.resolve($)}async getColorPresentations(J,Q,Z){let $=this._getTextDocument(J);if(!$)return[];let X=this._languageService.parseJSONDocument($),Y=this._languageService.getColorPresentations($,X,Q,Z);return Promise.resolve(Y)}async getFoldingRanges(J,Q){let Z=this._getTextDocument(J);if(!Z)return[];let $=this._languageService.getFoldingRanges(Z,Q);return Promise.resolve($)}async getSelectionRanges(J,Q){let Z=this._getTextDocument(J);if(!Z)return[];let $=this._languageService.parseJSONDocument(Z),X=this._languageService.getSelectionRanges(Z,Q,$);return Promise.resolve(X)}async parseJSONDocument(J){let Q=this._getTextDocument(J);if(!Q)return null;let Z=this._languageService.parseJSONDocument(Q);return Promise.resolve(Z)}async getMatchingSchemas(J){let Q=this._getTextDocument(J);if(!Q)return[];let Z=this._languageService.parseJSONDocument(Q);return Promise.resolve(this._languageService.getMatchingSchemas(Q,Z))}_getTextDocument(J){let Q=this._ctx.getMirrorModels();for(let Z of Q)if(Z.uri.toString()===J)return b0.create(J,this._languageId,Z.version,Z.getValue());return null}},YY="/".charCodeAt(0),j5=".".charCodeAt(0);self.onmessage=()=>{H5((J,Q)=>{return new XY(J,Q)})};
//# debugId=ADEE68DFE03D421464756E2164756E21
//# sourceMappingURL=monaco.json.worker.js.map