|
|
var Hc=Object.defineProperty;var zc=(et,Fe,Ve)=>Fe in et?Hc(et,Fe,{enumerable:!0,configurable:!0,writable:!0,value:Ve}):et[Fe]=Ve;var Ke=(et,Fe,Ve)=>zc(et,typeof Fe!="symbol"?Fe+"":Fe,Ve);(function(){"use strict";class et{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?ct.isErrorNoTelemetry(t)?new ct(t.message+`
`+t.stack):new Error(t.message+`
`+t.stack):t},0)}}emit(t){this.listeners.forEach(n=>{n(t)})}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}}const Fe=new et;function Ve(e){so(e)||Fe.onUnexpectedError(e)}function Tr(e){if(e instanceof Error){const{name:t,message:n}=e,r=e.stacktrace||e.stack;return{$isError:!0,name:t,message:n,stack:r,noTelemetry:ct.isErrorNoTelemetry(e)}}return e}const Ln="Canceled";function so(e){return e instanceof ao?!0:e instanceof Error&&e.name===Ln&&e.message===Ln}class ao extends Error{constructor(){super(Ln),this.name=this.message}}class ct extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof ct)return t;const n=new ct;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}}class Re extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Re.prototype)}}function oo(e,t){const n=this;let r=!1,i;return function(){return r||(r=!0,i=e.apply(n,arguments)),i}}var Xt;(function(e){function t(b){return b&&typeof b=="object"&&typeof b[Symbol.iterator]=="function"}e.is=t;const n=Object.freeze([]);function r(){return n}e.empty=r;function*i(b){yield b}e.single=i;function s(b){return t(b)?b:i(b)}e.wrap=s;function a(b){return b||n}e.from=a;function*l(b){for(let w=b.length-1;w>=0;w--)yield b[w]}e.reverse=l;function o(b){return!b||b[Symbol.iterator]().next().done===!0}e.isEmpty=o;function u(b){return b[Symbol.iterator]().next().value}e.first=u;function h(b,w){for(const v of b)if(w(v))return!0;return!1}e.some=h;function f(b,w){for(const v of b)if(w(v))return v}e.find=f;function*d(b,w){for(const v of b)w(v)&&(yield v)}e.filter=d;function*m(b,w){let v=0;for(const L of b)yield w(L,v++)}e.map=m;function*g(...b){for(const w of b)yield*w}e.concat=g;function p(b,w,v){let L=v;for(const R of b)L=w(L,R);return L}e.reduce=p;function*x(b,w,v=b.length){for(w<0&&(w+=b.length),v<0?v+=b.length:v>b.length&&(v=b.length);w<v;w++)yield b[w]}e.slice=x;function _(b,w=Number.POSITIVE_INFINITY){const v=[];if(w===0)return[v,b];const L=b[Symbol.iterator]();for(let R=0;R<w;R++){const C=L.next();if(C.done)return[v,e.empty()];v.push(C.value)}return[v,{[Symbol.iterator](){return L}}]}e.consume=_;async function S(b){const w=[];for await(const v of b)w.push(v);return Promise.resolve(w)}e.asyncToArray=S})(Xt||(Xt={}));function Gc(e){return e}function Jc(e,t){}function Pr(e){if(Xt.is(e)){const t=[];for(const n of e)if(n)try{n.dispose()}catch(r){t.push(r)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function lo(...e){return Qt(()=>Pr(e))}function Qt(e){return{dispose:oo(()=>{e()})}}class ft{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Pr(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?ft.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}ft.DISABLE_DISPOSED_WARNING=!1;class Tt{constructor(){this._store=new ft,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}Tt.None=Object.freeze({dispose(){}});class H{constructor(t){this.element=t,this.next=H.Undefined,this.prev=H.Undefined}}H.Undefined=new H(void 0);class uo{constructor(){this._first=H.Undefined,this._last=H.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===H.Undefined}clear(){let t=this._first;for(;t!==H.Undefined;){const n=t.next;t.prev=H.Undefined,t.next=H.U
`).slice(2).join(``))}}class mo extends Error{constructor(t,n){super(t),this.name="ListenerLeakError",this.stack=n}}class go extends Error{constructor(t,n){super(t),this.name="ListenerRefusalError",this.stack=n}}class An{constructor(t){this.value=t}}const po=2;class _e{constructor(t){var n,r,i,s,a,l;this._size=0,this._options=t,this._leakageMon=!((n=this._options)===null||n===void 0)&&n.leakWarningThreshold?new ho((r=t==null?void 0:t.onListenerError)!==null&&r!==void 0?r:Ve,(s=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&s!==void 0?s:fo):void 0,this._perfMon=!((a=this._options)===null||a===void 0)&&a._profName?new ht(this._options._profName):void 0,this._deliveryQueue=(l=this._options)===null||l===void 0?void 0:l.deliveryQueue}dispose(){var t,n,r,i;this._disposed||(this._disposed=!0,((t=this._deliveryQueue)===null||t===void 0?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(r=(n=this._options)===null||n===void 0?void 0:n.onDidRemoveLastListener)===null||r===void 0||r.call(n),(i=this._leakageMon)===null||i===void 0||i.dispose())}get event(){var t;return(t=this._event)!==null&&t!==void 0||(this._event=(n,r,i)=>{var s,a,l,o,u,h,f;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const p=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(p);const x=(s=this._leakageMon.getMostFrequentStack())!==null&&s!==void 0?s:["UNKNOWN stack",-1],_=new go(`${p}. HINT: Stack shows most frequent listener (${x[1]}-times)`,x[0]);return(((a=this._options)===null||a===void 0?void 0:a.onListenerError)||Ve)(_),Tt.None}if(this._disposed)return Tt.None;r&&(n=n.bind(r));const d=new An(n);let m;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(d.stack=Sn.create(),m=this._leakageMon.check(d.stack,this._size+1)),this._listeners?this._listeners instanceof An?((f=this._deliveryQueue)!==null&&f!==void 0||(this._deliveryQueue=new bo),this._listeners=[this._listeners,d]):this._listeners.push(d):((o=(l=this._options)===null||l===void 0?void 0:l.onWillAddFirstListener)===null||o===void 0||o.call(l,this),this._listeners=d,(h=(u=this._options)===null||u===void 0?void 0:u.onDidAddFirstListener)===null||h===void 0||h.call(u,this)),this._size++;const g=Qt(()=>{m==null||m(),this._removeListener(d)});return i instanceof ft?i.add(g):Array.isArray(i)&&i.push(g),g}),this._event}_removeListener(t){var n,r,i,s;if((r=(n=this._options)===null||n===void 0?void 0:n.onWillRemoveListener)===null||r===void 0||r.call(n,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(s=(i=this._options)===null||i===void 0?void 0:i.onDidRemoveLastListener)===null||s===void 0||s.call(i,this),this._size=0;return}const a=this._listeners,l=a.indexOf(t);if(l===-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--,a[l]=void 0;const o=this._deliveryQueue.current===this;if(this._size*po<=a.length){let u=0;for(let h=0;h<a.length;h++)a[h]?a[u++]=a[h]:o&&(this._deliveryQueue.end--,u<this._deliveryQueue.i&&this._deliveryQueue.i--);a.length=u}}_deliver(t,n){var r;if(!t)return;const i=((r=this._options)===null||r===void 0?void 0:r.onListenerError)||Ve;if(!i){t.value(n);return}try{t.value(n)}catch(s){i(s)}}_deliverQueue(t){const n=t.current._listeners;for(;t.i<t.end;)this._deliver(n[t.i++],t.value);t.reset()}fire(t){var n,r,i,s;if(!((n=this._deliveryQueue)===null||n===void 0)&&n.current&&(this._deliverQueue(this._deliveryQueue),(r=this._perfMon)===null||r===void 0||r.stop()),(i=this._perfMon)===null||i===void 0||i.start(this._size),this._listeners)if(this._listeners instanceof An)this._deliver(this._listeners,t);else{const a=this._deliveryQueue;a.enqueue(this,t,this._listeners.length),this._deliverQueue(a)}(s=this._perfMon)===null||s===void 0||s.stop()}hasListeners(){return this._size>0}}class bo{constructor(){this.i=-1,this.en
`||e===" "}class cn{constructor(t,n,r){this.changes=t,this.moves=n,this.hitTimeout=r}}class Zl{constructor(t,n){this.lineRangeMapping=t,this.changes=n}}class ${static addRange(t,n){let r=0;for(;r<n.length&&n[r].endExclusive<t.start;)r++;let i=r;for(;i<n.length&&n[i].start<=t.endExclusive;)i++;if(r===i)n.splice(r,0,t);else{const s=Math.min(t.start,n[r].start),a=Math.max(t.endExclusive,n[i-1].endExclusive);n.splice(r,i-r,new $(s,a))}}static tryCreate(t,n){if(!(t>n))return new $(t,n)}static ofLength(t){return new $(0,t)}static ofStartAndLength(t,n){return new $(t,t+n)}constructor(t,n){if(this.start=t,this.endExclusive=n,t>n)throw new Re(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new $(this.start+t,this.endExclusive+t)}deltaStart(t){return new $(this.start+t,this.endExclusive)}deltaEnd(t){return new $(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}contains(t){return this.start<=t&&t<this.endExclusive}join(t){return new $(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){const n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);if(n<=r)return new $(n,r)}intersects(t){const n=Math.max(this.start,t.start),r=Math.min(this.endExclusive,t.endExclusive);return n<r}isBefore(t){return this.endExclusive<=t.start}isAfter(t){return this.start>=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}substring(t){return t.substring(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Re(`Invalid clipping range: ${this.toString()}`);return t<this.start?this.endExclusive-(this.start-t)%this.length:t>=this.endExclusive?this.start+(t-this.start)%this.length:t}forEach(t){for(let n=this.start;n<this.endExclusive;n++)t(n)}}function yt(e,t){const n=Vt(e,t);return n===-1?void 0:e[n]}function Vt(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);t(e[a])?i=a+1:s=a}return i-1}function Yl(e,t){const n=Zn(e,t);return n===e.length?void 0:e[n]}function Zn(e,t,n=0,r=e.length){let i=n,s=r;for(;i<s;){const a=Math.floor((i+s)/2);t(e[a])?s=a:i=a+1}return i}class Dt{constructor(t){this._array=t,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(Dt.assertInvariants){if(this._prevFindLastPredicate){for(const r of this._array)if(this._prevFindLastPredicate(r)&&!t(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}const n=Vt(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}}Dt.assertInvariants=!1;class B{static fromRangeInclusive(t){return new B(t.startLineNumber,t.endLineNumber+1)}static joinMany(t){if(t.length===0)return[];let n=new Ce(t[0].slice());for(let r=1;r<t.length;r++)n=n.getUnion(new Ce(t[r].slice()));return n.ranges}static join(t){if(t.length===0)throw new Re("lineRanges cannot be empty");let n=t[0].startLineNumber,r=t[0].endLineNumberExclusive;for(let i=1;i<t.length;i++)n=Math.min(n,t[i].startLineNumber),r=Math.max(r,t[i].endLineNumberExclusive);return new B(n,r)}static ofLength(t,n){return new B(t,t+n)}static deserialize(t){return new B(t[0],t[1])}constructor(t,n){if(t>n)throw new Re(`startLineNumber ${t} cannot be after endLineNumberExclusive ${n}`);this.startLineNumber=t,this.endLineNumberExclusive=n}contains(t){return this.startLineNumber<=t&&t<this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(t){return new B(this.startLineNumber+t,this.endLineNumberExclusive+t)}deltaLength(t){return new B(this.startLineNumber,this.endLineNumberExclusive+t)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(t){return new B(Math.min(this.startLineNumber,t.startLineNumber),Math.max(this.endLineNumberExclusive,t.endLineNu
`);this.histogram[l]=(this.histogram[l]||0)+1}this.totalCount=i}computeSimilarity(t){var n,r;let i=0;const s=Math.max(this.histogram.length,t.histogram.length);for(let a=0;a<s;a++)i+=Math.abs(((n=this.histogram[a])!==null&&n!==void 0?n:0)-((r=t.histogram[a])!==null&&r!==void 0?r:0));return 1-i/(this.totalCount+t.totalCount)}}wt.chrKeys=new Map;class au{compute(t,n,r=Bt.instance,i){if(t.length===0||n.length===0)return Oe.trivial(t,n);const s=new er(t.length,n.length),a=new er(t.length,n.length),l=new er(t.length,n.length);for(let g=0;g<t.length;g++)for(let p=0;p<n.length;p++){if(!r.isValid())return Oe.trivialTimedOut(t,n);const x=g===0?0:s.get(g-1,p),_=p===0?0:s.get(g,p-1);let S;t.getElement(g)===n.getElement(p)?(g===0||p===0?S=0:S=s.get(g-1,p-1),g>0&&p>0&&a.get(g-1,p-1)===3&&(S+=l.get(g-1,p-1)),S+=i?i(g,p):1):S=-1;const b=Math.max(x,_,S);if(b===S){const w=g>0&&p>0?l.get(g-1,p-1):0;l.set(g,p,w+1),a.set(g,p,3)}else b===x?(l.set(g,p,0),a.set(g,p,1)):b===_&&(l.set(g,p,0),a.set(g,p,2));s.set(g,p,b)}const o=[];let u=t.length,h=n.length;function f(g,p){(g+1!==u||p+1!==h)&&o.push(new Q(new $(g+1,u),new $(p+1,h))),u=g,h=p}let d=t.length-1,m=n.length-1;for(;d>=0&&m>=0;)a.get(d,m)===3?(f(d,m),d--,m--):a.get(d,m)===1?d--:m--;return f(-1,-1),o.reverse(),new Oe(o,!1)}}class gs{compute(t,n,r=Bt.instance){if(t.length===0||n.length===0)return Oe.trivial(t,n);const i=t,s=n;function a(p,x){for(;p<i.length&&x<s.length&&i.getElement(p)===s.getElement(x);)p++,x++;return p}let l=0;const o=new ou;o.set(0,a(0,0));const u=new lu;u.set(0,o.get(0)===0?null:new ps(null,0,0,o.get(0)));let h=0;e:for(;;){if(l++,!r.isValid())return Oe.trivialTimedOut(i,s);const p=-Math.min(l,s.length+l%2),x=Math.min(l,i.length+l%2);for(h=p;h<=x;h+=2){const _=h===x?-1:o.get(h+1),S=h===p?-1:o.get(h-1)+1,b=Math.min(Math.max(_,S),i.length),w=b-h;if(b>i.length||w>s.length)continue;const v=a(b,w);o.set(h,v);const L=b===_?u.get(h+1):u.get(h-1);if(u.set(h,v!==b?new ps(L,b,w,v-b):L),o.get(h)===i.length&&o.get(h)-h===s.length)break e}}let f=u.get(h);const d=[];let m=i.length,g=s.length;for(;;){const p=f?f.x+f.length:0,x=f?f.y+f.length:0;if((p!==m||x!==g)&&d.push(new Q(new $(p,m),new $(x,g))),!f)break;m=f.x,g=f.y,f=f.prev}return d.reverse(),new Oe(d,!1)}}class ps{constructor(t,n,r,i){this.prev=t,this.x=n,this.y=r,this.length=i}}class ou{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(t){return t<0?(t=-t-1,this.negativeArr[t]):this.positiveArr[t]}set(t,n){if(t<0){if(t=-t-1,t>=this.negativeArr.length){const r=this.negativeArr;this.negativeArr=new Int32Array(r.length*2),this.negativeArr.set(r)}this.negativeArr[t]=n}else{if(t>=this.positiveArr.length){const r=this.positiveArr;this.positiveArr=new Int32Array(r.length*2),this.positiveArr.set(r)}this.positiveArr[t]=n}}}class lu{constructor(){this.positiveArr=[],this.negativeArr=[]}get(t){return t<0?(t=-t-1,this.negativeArr[t]):this.positiveArr[t]}set(t,n){t<0?(t=-t-1,this.negativeArr[t]=n):this.positiveArr[t]=n}}class fn{constructor(t,n,r){this.lines=t,this.considerWhitespaceChanges=r,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let i=!1;n.start>0&&n.endExclusive>=t.length&&(n=new $(n.start-1,n.endExclusive),i=!0),this.lineRange=n,this.firstCharOffsetByLine[0]=0;for(let s=this.lineRange.start;s<this.lineRange.endExclusive;s++){let a=t[s],l=0;if(i)l=a.length,a="",i=!1;else if(!r){const o=a.trimStart();l=a.length-o.length,a=o.trimEnd()}this.additionalOffsetByLine.push(l);for(let o=0;o<a.length;o++)this.elements.push(a.charCodeAt(o));s<t.length-1&&(this.elements.push(10),this.firstCharOffsetByLine[s-this.lineRange.start+1]=this.elements.length)}this.additionalOffsetByLine.push(0)}toString(){return`Slice: "${this.text}"`}get text(){return this.getText(new $(0,this.length))}getText(t){return this.elements.slice(t.start,t.endExclusive).map(n=>String.fromCharCode(n)).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const n=vs(t>0?this.elements[t-1]:-1),r=vs(t<this.elements.length?this.elements[t]:-1);if(n===7&&r
`).length>=15&&fu(f,m=>m.length>=2)>=2}),a=gu(e,a),a}function fu(e,t){let n=0;for(const r of e)t(r)&&n++;return n}function hu(e,t,n,r){const i=[],s=e.filter(o=>o.modified.isEmpty&&o.original.length>=3).map(o=>new wt(o.original,t,o)),a=new Set(e.filter(o=>o.original.isEmpty&&o.modified.length>=3).map(o=>new wt(o.modified,n,o))),l=new Set;for(const o of s){let u=-1,h;for(const f of a){const d=o.computeSimilarity(f);d>u&&(u=d,h=f)}if(u>.9&&h&&(a.delete(h),i.push(new Ne(o.range,h.range)),l.add(o.source),l.add(h.source)),!r.isValid())return{moves:i,excludedChanges:l}}return{moves:i,excludedChanges:l}}function du(e,t,n,r,i,s){const a=[],l=new jl;for(const d of e)for(let m=d.original.startLineNumber;m<d.original.endLineNumberExclusive-2;m++){const g=`${t[m-1]}:${t[m+1-1]}:${t[m+2-1]}`;l.add(g,{range:new B(m,m+3)})}const o=[];e.sort(nn(d=>d.modified.startLineNumber,rn));for(const d of e){let m=[];for(let g=d.modified.startLineNumber;g<d.modified.endLineNumberExclusive-2;g++){const p=`${n[g-1]}:${n[g+1-1]}:${n[g+2-1]}`,x=new B(g,g+3),_=[];l.forEach(p,({range:S})=>{for(const w of m)if(w.originalLineRange.endLineNumberExclusive+1===S.endLineNumberExclusive&&w.modifiedLineRange.endLineNumberExclusive+1===x.endLineNumberExclusive){w.originalLineRange=new B(w.originalLineRange.startLineNumber,S.endLineNumberExclusive),w.modifiedLineRange=new B(w.modifiedLineRange.startLineNumber,x.endLineNumberExclusive),_.push(w);return}const b={modifiedLineRange:x,originalLineRange:S};o.push(b),_.push(b)}),m=_}if(!s.isValid())return[]}o.sort(bl(nn(d=>d.modifiedLineRange.length,rn)));const u=new Ce,h=new Ce;for(const d of o){const m=d.modifiedLineRange.startLineNumber-d.originalLineRange.startLineNumber,g=u.subtractFrom(d.modifiedLineRange),p=h.subtractFrom(d.originalLineRange).getWithDelta(m),x=g.getIntersection(p);for(const _ of x.ranges){if(_.length<3)continue;const S=_,b=_.delta(-m);a.push(new Ne(b,S)),u.addRange(S),h.addRange(b)}}a.sort(nn(d=>d.original.startLineNumber,rn));const f=new Dt(e);for(let d=0;d<a.length;d++){const m=a[d],g=f.findLastMonotonous(L=>L.original.startLineNumber<=m.original.startLineNumber),p=yt(e,L=>L.modified.startLineNumber<=m.modified.startLineNumber),x=Math.max(m.original.startLineNumber-g.original.startLineNumber,m.modified.startLineNumber-p.modified.startLineNumber),_=f.findLastMonotonous(L=>L.original.startLineNumber<m.original.endLineNumberExclusive),S=yt(e,L=>L.modified.startLineNumber<m.modified.endLineNumberExclusive),b=Math.max(_.original.endLineNumberExclusive-m.original.endLineNumberExclusive,S.modified.endLineNumberExclusive-m.modified.endLineNumberExclusive);let w;for(w=0;w<x;w++){const L=m.original.startLineNumber-w-1,R=m.modified.startLineNumber-w-1;if(L>r.length||R>i.length||u.contains(R)||h.contains(L)||!xs(r[L-1],i[R-1],s))break}w>0&&(h.addRange(new B(m.original.startLineNumber-w,m.original.startLineNumber)),u.addRange(new B(m.modified.startLineNumber-w,m.modified.startLineNumber)));let v;for(v=0;v<b;v++){const L=m.original.endLineNumberExclusive+v,R=m.modified.endLineNumberExclusive+v;if(L>r.length||R>i.length||u.contains(R)||h.contains(L)||!xs(r[L-1],i[R-1],s))break}v>0&&(h.addRange(new B(m.original.endLineNumberExclusive,m.original.endLineNumberExclusive+v)),u.addRange(new B(m.modified.endLineNumberExclusive,m.modified.endLineNumberExclusive+v))),(w>0||v>0)&&(a[d]=new Ne(new B(m.original.startLineNumber-w,m.original.endLineNumberExclusive+v),new B(m.modified.startLineNumber-w,m.modified.endLineNumberExclusive+v)))}return a}function xs(e,t,n){if(e.trim()===t.trim())return!0;if(e.length>300&&t.length>300)return!1;const i=new gs().compute(new fn([e],new $(0,1),!1),new fn([t],new $(0,1),!1),n);let s=0;const a=Q.invert(i.diffs,e.length);for(const h of a)h.seq1Range.forEach(f=>{tr(e.charCodeAt(f))||s++});function l(h){let f=0;for(let d=0;d<e.length;d++)tr(h.charCodeAt(d))||f++;return f}const o=l(e.length>t.length?e:t);return s/o>.6&&o>10}function mu(e){if(e.length===0)return e;e.sort(nn(n=>n.original.startLineNumber,rn));const t=[e[0]];for(let n=1;n<e.length;n++){const r=t[t.length-1],i=e[n],s=i.original
`)}isStronglyEqual(t,n){return this.lines[t]===this.lines[n]}}function Ns(e){let t=0;for(;t<e.length&&(e.charCodeAt(t)===32||e.charCodeAt(t)===9);)t++;return t}class wu{constructor(){this.dynamicProgrammingDiffing=new au,this.myersDiffingAlgorithm=new gs}computeDiff(t,n,r){if(t.length<=1&&hl(t,n,(v,L)=>v===L))return new cn([],[],!1);if(t.length===1&&t[0].length===0||n.length===1&&n[0].length===0)return new cn([new De(new B(1,t.length+1),new B(1,n.length+1),[new Je(new X(1,1,t.length,t[t.length-1].length+1),new X(1,1,n.length,n[n.length-1].length+1))])],[],!1);const i=r.maxComputationTimeMs===0?Bt.instance:new su(r.maxComputationTimeMs),s=!r.ignoreTrimWhitespace,a=new Map;function l(v){let L=a.get(v);return L===void 0&&(L=a.size,a.set(v,L)),L}const o=t.map(v=>l(v.trim())),u=n.map(v=>l(v.trim())),h=new Ls(o,t),f=new Ls(u,n),d=h.length+f.length<1700?this.dynamicProgrammingDiffing.compute(h,f,i,(v,L)=>t[v]===n[L]?n[L].length===0?.1:1+Math.log(1+n[L].length):.99):this.myersDiffingAlgorithm.compute(h,f,i);let m=d.diffs,g=d.hitTimeout;m=ys(h,f,m),m=yu(h,f,m);const p=[],x=v=>{if(s)for(let L=0;L<v;L++){const R=_+L,C=S+L;if(t[R]!==n[C]){const P=this.refineDiff(t,n,new Q(new $(R,R+1),new $(C,C+1)),i,s);for(const D of P.mappings)p.push(D);P.hitTimeout&&(g=!0)}}};let _=0,S=0;for(const v of m){un(()=>v.seq1Range.start-_===v.seq2Range.start-S);const L=v.seq1Range.start-_;x(L),_=v.seq1Range.endExclusive,S=v.seq2Range.endExclusive;const R=this.refineDiff(t,n,v,i,s);R.hitTimeout&&(g=!0);for(const C of R.mappings)p.push(C)}x(t.length-_);const b=Ss(p,t,n);let w=[];return r.computeMoves&&(w=this.computeMoves(b,t,n,o,u,i,s)),un(()=>{function v(R,C){if(R.lineNumber<1||R.lineNumber>C.length)return!1;const P=C[R.lineNumber-1];return!(R.column<1||R.column>P.length+1)}function L(R,C){return!(R.startLineNumber<1||R.startLineNumber>C.length+1||R.endLineNumberExclusive<1||R.endLineNumberExclusive>C.length+1)}for(const R of b){if(!R.innerChanges)return!1;for(const C of R.innerChanges)if(!(v(C.modifiedRange.getStartPosition(),n)&&v(C.modifiedRange.getEndPosition(),n)&&v(C.originalRange.getStartPosition(),t)&&v(C.originalRange.getEndPosition(),t)))return!1;if(!L(R.modified,n)||!L(R.original,t))return!1}return!0}),new cn(b,w,g)}computeMoves(t,n,r,i,s,a,l){return cu(t,n,r,i,s,a).map(h=>{const f=this.refineDiff(n,r,new Q(h.original.toOffsetRange(),h.modified.toOffsetRange()),a,l),d=Ss(f.mappings,n,r,!0);return new Zl(h,d)})}refineDiff(t,n,r,i,s){const a=new fn(t,r.seq1Range,s),l=new fn(n,r.seq2Range,s),o=a.length+l.length<500?this.dynamicProgrammingDiffing.compute(a,l,i):this.myersDiffingAlgorithm.compute(a,l,i);let u=o.diffs;return u=ys(a,l,u),u=vu(a,l,u),u=bu(a,l,u),u=_u(a,l,u),{mappings:u.map(f=>new Je(a.translateRange(f.seq1Range),l.translateRange(f.seq2Range))),hitTimeout:o.hitTimeout}}}function Ss(e,t,n,r=!1){const i=[];for(const s of dl(e.map(a=>Lu(a,t,n)),(a,l)=>a.original.overlapOrTouch(l.original)||a.modified.overlapOrTouch(l.modified))){const a=s[0],l=s[s.length-1];i.push(new De(a.original.join(l.original),a.modified.join(l.modified),s.map(o=>o.innerChanges[0])))}return un(()=>!r&&i.length>0&&(i[0].modified.startLineNumber!==i[0].original.startLineNumber||n.length-i[i.length-1].modified.endLineNumberExclusive!==t.length-i[i.length-1].original.endLineNumberExclusive)?!1:us(i,(s,a)=>a.original.startLineNumber-s.original.endLineNumberExclusive===a.modified.startLineNumber-s.modified.endLineNumberExclusive&&s.original.endLineNumberExclusive<a.original.startLineNumber&&s.modified.endLineNumberExclusive<a.modified.startLineNumber)),i}function Lu(e,t,n){let r=0,i=0;e.modifiedRange.endColumn===1&&e.originalRange.endColumn===1&&e.originalRange.startLineNumber+r<=e.originalRange.endLineNumber&&e.modifiedRange.startLineNumber+r<=e.modifiedRange.endLineNumber&&(i=-1),e.modifiedRange.startColumn-1>=n[e.modifiedRange.startLineNumber-1].length&&e.originalRange.startColumn-1>=t[e.originalRange.startLineNumber-1].length&&e.originalRange.startLineNumber<=e.originalRange.endLineNumber+i&&e.modifiedRange.startLineNumber<=e.modifiedRange.endLineNumber+i&&(r=1);cons
* Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.50.0(c321d0fbecb50ab8a5365fa1965476b0ae63fc87) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
*-----------------------------------------------------------------------------*/function sr(e,t=!1){const n=e.length;let r=0,i="",s=0,a=16,l=0,o=0,u=0,h=0,f=0;function d(b,w){let v=0,L=0;for(;v<b||!w;){let R=e.charCodeAt(r);if(R>=48&&R<=57)L=L*16+R-48;else if(R>=65&&R<=70)L=L*16+R-65+10;else if(R>=97&&R<=102)L=L*16+R-97+10;else break;r++,v++}return v<b&&(L=-1),L}function m(b){r=b,i="",s=0,a=16,f=0}function g(){let b=r;if(e.charCodeAt(r)===48)r++;else for(r++;r<e.length&&Nt(e.charCodeAt(r));)r++;if(r<e.length&&e.charCodeAt(r)===46)if(r++,r<e.length&&Nt(e.charCodeAt(r)))for(r++;r<e.length&&Nt(e.charCodeAt(r));)r++;else return f=3,e.substring(b,r);let w=r;if(r<e.length&&(e.charCodeAt(r)===69||e.charCodeAt(r)===101))if(r++,(r<e.length&&e.charCodeAt(r)===43||e.charCodeAt(r)===45)&&r++,r<e.length&&Nt(e.charCodeAt(r))){for(r++;r<e.length&&Nt(e.charCodeAt(r));)r++;w=r}else f=3;return e.substring(b,w)}function p(){let b="",w=r;for(;;){if(r>=n){b+=e.substring(w,r),f=2;break}const v=e.charCodeAt(r);if(v===34){b+=e.substring(w,r),r++;break}if(v===92){if(b+=e.substring(w,r),r++,r>=n){f=2;break}switch(e.charCodeAt(r++)){case 34:b+='"';break;case 92:b+="\\";break;case 47:b+="/";break;case 98:b+="\b";break;case 102:b+="\f";break;case 110:b+=`
`;break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:const R=d(4,!0);R>=0?b+=String.fromCharCode(R):f=4;break;default:f=5}w=r;continue}if(v>=0&&v<=31)if(qt(v)){b+=e.substring(w,r),f=2;break}else f=6;r++}return b}function x(){if(i="",f=0,s=r,o=l,h=u,r>=n)return s=n,a=17;let b=e.charCodeAt(r);if(ar(b)){do r++,i+=String.fromCharCode(b),b=e.charCodeAt(r);while(ar(b));return a=15}if(qt(b))return r++,i+=String.fromCharCode(b),b===13&&e.charCodeAt(r)===10&&(r++,i+=``),l++,u=r,a=14;switch(b){case 123:return r++,a=1;case 125:return r++,a=2;case 91:return r++,a=3;case 93:return r++,a=4;case 58:return r++,a=6;case 44:return r++,a=5;case 34:return r++,i=p(),a=10;case 47:const w=r-1;if(e.charCodeAt(r+1)===47){for(r+=2;r<n&&!qt(e.charCodeAt(r));)r++;return i=e.substring(w,r),a=12}if(e.charCodeAt(r+1)===42){r+=2;const v=n-1;let L=!1;for(;r<v;){const R=e.charCodeAt(r);if(R===42&&e.charCodeAt(r+1)===47){r+=2,L=!0;break}r++,qt(R)&&(R===13&&e.charCodeAt(r)===10&&r++,l++,u=r)}return L||(r++,f=1),i=e.substring(w,r),a=13}return i+=String.fromCharCode(b),r++,a=16;case 45:if(i+=String.fromCharCode(b),r++,r===n||!Nt(e.charCodeAt(r)))return a=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=g(),a=11;default:for(;r<n&&_(b);)r++,b=e.charCodeAt(r);if(s!==r){switch(i=e.substring(s,r),i){case"true":return a=8;case"false":return a=9;case"null":return a=7}return a=16}return i+=String.fromCharCode(b),r++,a=16}}function _(b){if(ar(b)||qt(b))return!1;switch(b){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function S(){let b;do b=x();while(b>=12&&b<=15);return b}return{setPosition:m,getPosition:()=>r,scan:t?S:x,getToken:()=>a,getTokenValue:()=>i,getTokenOffset:()=>s,getTokenLength:()=>r-s,getTokenStartLine:()=>o,getTokenStartCharacter:()=>s-h,getTokenError:()=>f}}function ar(e){return e===32||e===9}function qt(e){return e===10||e===13}function Nt(e){return e>=48&&e<=57}var Ps;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(Ps||(Ps={}));var xe=new Array(20).fill(0).map((e,t)=>" ".repeat(t)),St=200,Is={" ":{"\n":new Array(St).fill(0).map((e,t)=>``+" ".repeat(t)),"\r":new Array(St).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(St).fill(0).map((e,t)=>`\r`+" ".repeat(t))}," ":{"\n":new Array(St).fill(0).map((e,t)=>``+" ".repeat(t)),"\r":new Array(St).fill(0).map((e,t)=>"\r"+" ".repeat(t)),"\r\n":new Array(St).fill(0).map((e,t)=>`\r`+" ".repeat(t))}},Pu=[``,"\r",`\r`];function Iu(e,t,n){let r,i,s,a,l;if(t){for(a=t.offset,l=a+t.length,s=a;s>0&&!Fs(e,s-1);)s--;let v=l;for(;v<e.length&&!Fs(e,v);)v++;i=e.substring(s,v),r=Fu(i,n)}else i=e,r=0,s=0,a=0,l=e.length;const o=Vu(n,e),u=Pu.includes(o);let h=0,f=0,d;n.insertSpaces?d=xe[n.tabSize||4]??At(xe[1],n.tabSize||4):d=" ";const m=d===" "?" ":" ";let g=sr(i,!1),p=!1;function x(){if(h>1)return At(o,h)+At(d,r+f);const v=d.length*(r+f);return!u||v>Is[m][o].length?o+At(d,r+f):v<=0?o:Is[m][o][v]}function _(){let v=g.scan();for(h=0;v===15||v===14;)v===14&&n.keepLines?h+=1:v===14&&(h=1),v=g.scan();return p=v===16||g.getTokenError()!==0,v}const S=[];function b(v,L,R){!p&&(!t||L<l&&R>a)&&e.substring(L,R)!==v&&S.push({offset:L,length:R-L,content:v})}let w=_();if(n.keepLines&&h>0&&b(At(o,h),0,0),w!==17){let v=g.getTokenOffset()+s,L=d.length*r<20&&n.insertSpaces?xe[d.length*r]:At(d,r);b(L,s,v)}for(;w!==17;){let v=g.getTokenOffset()+g.getTokenLength()+s,L=_(),R="",C=!1;for(;h===0&&(L===12||L===13);){let D=g.getTokenOffset()+s;b(xe[1],v,D),v=g.getTokenOffset()+g.getTokenLength()+s,C=L===12,R=C?x():"",L=_()}if(L===2)w!==1&&f--,n.keepLines&&h>0||!n.keepLines&&w!==1?R=x():n.keepLines&&(R=xe[1]);else if(L===4)w!==3&&f--,n.keepLines&&h>0||!n.keepLines&&w!==3?R=x():n.keepLines&&(R=xe[1]);else{switch(w){case 3:case 1:f++,n.keepLines&&h>0||!n.keepLines?R=x():R=xe[1];break;case 5:n.keepLines&&h>0||!n.keepLines?R=x():R=xe[1];break;case 12:R=x();break;case 13:h>0?R=x():C||(R=xe[1]);break;case 6:n.keepLines&&h>0?R=x():C||(R=xe[1]);break;case 10:n.keepLines&&h>0?R=x():L===6&&!C&&(R="");break;case 7:case 8:case 9:case 11:case 2:case 4:n.keepLines&&h>0?R=x():(L===12||L===13)&&!C?R=xe[1]:L!==5&&L!==17&&(p=!0);break;case 16:p=!0;break}h>0&&(L===12||L===13)&&(R=x())}L===17&&(n.keepLines&&h>0?R=x():R=n.insertFinalNewline?o:"");const P=g.getTokenOffset()+s;b(R,v,P),w=L}return S}function At(e,t){let n="";for(let r=0;r<t;r++)n+=e;return n}function Fu(e,t){let n=0,r=0;const i=t.tabSize||4;for(;n<e.length;){let s=e.charAt(n);if(s===xe[1])r++;else if(s===" ")r+=i;else break;n++}return Math.floor(r/i)}function Vu(e,t){for(let n=0;n<t.length;n++){const r=t.charAt(n);if(r==="\r")return n+1<t.length&&t.charAt(n+1)===``?`\r`:"\r";if(r===``)return``}return e&&e.eol||``}function Fs(e,t){return`\r`.indexOf(e.charAt(t))!==-1}var hn;(function(e){e.DEFAULT={allowTrailingComma:!1}})(hn||(hn={}));function Du(e,t=[],n=hn.DEFAULT){let r=null,i=[];const s=[];function a(o){Array.isArray(i)?i.push(o):r!==null&&(i[r]=o)}return Bu(e,{onObjectBegin:()=>{const o={};a(o),s.push(i),i=o,r=null},onObjectProperty:o=>{r=o},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{const o=[];a(o),s.push(i),i=o,r=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:a,onError:(o,u,h)=>{t.push({error:o,offset:u,length:h})}},n),i[0]}function Vs(e){if(!e.parent||!e.parent.children)return[];const t=Vs(e.parent);if(e.parent.type==="property"){const n=e.parent.children[0].value;t.push(n)}else if(e.parent.type==="array"){const n=e.parent.children.indexOf(e);n!==-1&&t.push(n)}return t}function or(e){switch(e.type){case"array":return e.children.map(or);case"object":const t=Object.create(null);for(let n of e.children){const r=n.children[1];r&&(t[n.children[0].value]=or(r))}return t;case"null":case"string":case"number":case"boolean":return e.value;default:return}}function Ou(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}function Ds(e,t,n=!1){if(Ou(e,t,n)){const r=e.children;if(Array.isArray(r))for(let i=0;i<r.length&&r[i].offset<=t;i++){const s=Ds(r[i],t,n);if(s)return s}return e}}function Bu(e,t,n=hn.DEFAULT){const r=sr(e,!1),i=[];function s(y){return y?()=>y(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function a(y){return y?()=>y(r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}function l(y){return y?k=>y(k,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter()):()=>!0}function o(y){return y?k=>y(k,r.getTokenOffset(),r.getTokenLength(),r.getTokenStartLine(),r.getTokenStartCharacter(),()=>i.slice()):()=>!0}const u=a(t.onObjectBegin),h=o(t.onObjectProperty),f=s(t.onObjectEnd),d=a(t.onArrayBegin),m=s(t.onArrayEnd),g=o(t.onLiteralValue),p=l(t.onSeparator),x=s(t.onComment),_=l(t.onError),S=n&&n.disallowComments,b=n&&n.allowTrailingComma;function w(){for(;;){const y=r.scan();switch(r.getTokenError()){case 4:v(14);break;case 5:v(15);break;case 3:v(13);break;case 1:S||v(11);break;case 2:v(12);break;case 6:v(16);break}switch(y){case 12:case 13:S?v(10):x();break;case 16:v(1);break;case 15:case 14:break;default:return y}}}function v(y,k=[],M=[]){if(_(y),k.length+M.length>0){let T=r.getToken();for(;T!==17;){if(k.indexOf(T)!==-1){w();break}else if(M.indexOf(T)!==-1)break;T=w()}}}function L(y){const k=r.getTokenValue();return y?g(k):(h(k),i.push(k)),w(),!0}function R(){switch(r.getToken()){case 11:const y=r.getTokenValue();let k=Number(y);isNaN(k)&&(v(2),k=0),g(k);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return w(),!0}function C(){return r.getToken()!==10?(v(3,[],[2,5]),!1):(L(!1),r.getToken()===6?(p(":"),w(),N()||v(4,[],[2,5])):v(5,[],[2,5]),i.pop(),!0)}function P(){u(),w();let y=!1;for(;r.getToken()!==2&&r.getToken()!==17;){if(r.getToken()===5){if(y||v(4,[],[]),p(","),w(),r.getToken()===2&&b)break}else y&&v(6,[],[]);C()||v(4,[],[2,5]),y=!0}return f(),r.getToken()!==2?v(7,[2],[]):w(),!0}function D(){d(),w();let y=!0,k=!1;for(;r.getToken()!==4&&r.getToken()!==17;){if(r.getToken()===5){if(k||v(4,[],[]),p(","),w(),r.getToken()===4&&b)break}else k&&v(6,[],[]);y?(i.push(0),y=!1):i[i.length-1]++,N()||v(4,[],[4,5]),k=!0}return m(),y||i.pop(),r.getToken()!==4?v(8,[4],[]):w(),!0}function N(){switch(r.getToken()){case 3:return D();case 1:return P();case 10:return L(!0);default:return R()}}return w(),r.getToken()===17?n.allowEmptyContent?!0:(v(4,[],[]),!1):N()?(r.getToken()!==17&&v(9,[],[]),!0):(v(4,[],[]),!1)}var it=sr,Os;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(Os||(Os={}));var Bs;(func
`,i==="\r"&&r+1<t.length&&t.charAt(r+1)===``&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return Z.create(0,e);for(;n<r;){let s=Math.floor((n+r)/2);t[s]>e?r=s:n=s+1}let i=n-1;return Z.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},A;(function(e){const t=Object.prototype.toString;function n(m){return typeof m<"u"}e.defined=n;function r(m){return typeof m>"u"}e.undefined=r;function i(m){return m===!0||m===!1}e.boolean=i;function s(m){return t.call(m)==="[object String]"}e.string=s;function a(m){return t.call(m)==="[object Number]"}e.number=a;function l(m,g,p){return t.call(m)==="[object Number]"&&g<=m&&m<=p}e.numberRange=l;function o(m){return t.call(m)==="[object Number]"&&-2147483648<=m&&m<=2147483647}e.integer=o;function u(m){return t.call(m)==="[object Number]"&&0<=m&&m<=2147483647}e.uinteger=u;function h(m){return t.call(m)==="[object Function]"}e.func=h;function f(m){return m!==null&&typeof m=="object"}e.objectLiteral=f;function d(m,g){return Array.isArray(m)&&m.every(g)}e.typedArray=d})(A||(A={}));var Da=class Cr{constructor(t,n,r,i){this._uri=t,this._languageId=n,this._version=r,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(t){if(t){const n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content}update(t,n){for(let r of t)if(Cr.isIncremental(r)){const i=Ba(r.range),s=this.offsetAt(i.start),a=this.offsetAt(i.end);this._content=this._content.substring(0,s)+r.text+this._content.substring(a,this._content.length);const l=Math.max(i.start.line,0),o=Math.max(i.end.line,0);let u=this._lineOffsets;const h=Oa(r.text,!1,s);if(o-l===h.length)for(let d=0,m=h.length;d<m;d++)u[d+l+1]=h[d];else h.length<1e4?u.splice(l+1,o-l,...h):this._lineOffsets=u=u.slice(0,l+1).concat(h,u.slice(o+1));const f=r.text.length-(a-s);if(f!==0)for(let d=l+1+h.length,m=u.length;d<m;d++)u[d]=u[d]+f}else if(Cr.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=n}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=Oa(this._content,!0)),this._lineOffsets}positionAt(t){t=Math.max(Math.min(t,this._content.length),0);let n=this.getLineOffsets(),r=0,i=n.length;if(i===0)return{line:0,character:t};for(;r<i;){let a=Math.floor((r+i)/2);n[a]>t?i=a:r=a+1}let s=r-1;return{line:s,character:t-n[s]}}offsetAt(t){let n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;let r=n[t.line],i=t.line+1<n.length?n[t.line+1]:this._content.length;return Math.max(Math.min(r+t.character,i),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range!==void 0&&(n.rangeLength===void 0||typeof n.rangeLength=="number")}static isFull(t){let n=t;return n!=null&&typeof n.text=="string"&&n.range===void 0&&n.rangeLength===void 0}},Ae;(function(e){function t(i,s,a,l){return new Da(i,s,a,l)}e.create=t;function n(i,s,a){if(i instanceof Da)return i.update(s,a),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}e.update=n;function r(i,s){let a=i.getText(),l=_r(s.map(Gu),(h,f)=>{let d=h.range.start.line-f.range.start.line;return d===0?h.range.start.character-f.range.start.character:d}),o=0;const u=[];for(const h of l){let f=i.offsetAt(h.range.start);if(f<o)throw new Error("Overlapping edit");f>o&&u.push(a.substring(o,f)),h.newText.length&&u.push(h.newText),o=i.offsetAt(h.range.end)}return u.push(a.substr(o)),u.join("")}e.applyEdits=r})(Ae||(Ae={}));function _r(e,t){if(e.length<=1)return e;const n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);_r(r,t),_r(i,t);let s=
`;for(let s=0;s<e.length;s++)i+=r+Sr(e[s],r,n),s<e.length-1&&(i+=","),i+=``;return i+=t+"]",i}else{const i=Object.keys(e);if(i.length===0)return"{}";let s=`{`;for(let a=0;a<i.length;a++){const l=i[a];s+=r+JSON.stringify(l)+": "+Sr(e[l],r,n),a<i.length-1&&(s+=","),s+=``}return s+=t+"}",s}}return n(e)}var ac=class{constructor(e,t=[],n=Promise,r={}){this.schemaService=e,this.contributions=t,this.promiseConstructor=n,this.clientCapabilities=r}doResolve(e){for(let t=this.contributions.length-1;t>=0;t--){const n=this.contributions[t].resolveCompletion;if(n){const r=n(e);if(r)return r}}return this.promiseConstructor.resolve(e)}doComplete(e,t,n){const r={items:[],isIncomplete:!1},i=e.getText(),s=e.offsetAt(t);let a=n.getNodeFromOffset(s,!0);if(this.isInComment(e,a?a.offset:0,s))return Promise.resolve(r);if(a&&s===a.offset+a.length&&s>0){const f=i[s-1];(a.type==="object"&&f==="}"||a.type==="array"&&f==="]")&&(a=a.parent)}const l=this.getCurrentWord(e,s);let o;if(a&&(a.type==="string"||a.type==="number"||a.type==="boolean"||a.type==="null"))o=U.create(e.positionAt(a.offset),e.positionAt(a.offset+a.length));else{let f=s-l.length;f>0&&i[f-1]==='"'&&f--,o=U.create(e.positionAt(f),t)}const u=new Map,h={add:f=>{let d=f.label;const m=u.get(d);if(m)m.documentation||(m.documentation=f.documentation),m.detail||(m.detail=f.detail),m.labelDetails||(m.labelDetails=f.labelDetails);else{if(d=d.replace(/[\n]/g,"↵"),d.length>60){const g=d.substr(0,57).trim()+"...";u.has(g)||(d=g)}f.textEdit=Pe.replace(o,f.insertText),f.label=d,u.set(d,f),r.items.push(f)}},setAsIncomplete:()=>{r.isIncomplete=!0},error:f=>{console.error(f)},getNumberOfProposals:()=>r.items.length};return this.schemaService.getSchemaForResource(e.uri,n).then(f=>{const d=[];let m=!0,g="",p;if(a&&a.type==="string"){const _=a.parent;_&&_.type==="property"&&_.keyNode===a&&(m=!_.valueNode,p=_,g=i.substr(a.offset+1,a.length-2),_&&(a=_.parent))}if(a&&a.type==="object"){if(a.offset===s)return r;a.properties.forEach(w=>{(!p||p!==w)&&u.set(w.keyNode.value,vr.create("__"))});let S="";m&&(S=this.evaluateSeparatorAfter(e,e.offsetAt(o.end))),f?this.getPropertyCompletions(f,n,a,m,S,h):this.getSchemaLessPropertyCompletions(n,a,g,h);const b=Nr(a);this.contributions.forEach(w=>{const v=w.collectPropertyCompletions(e.uri,b,l,m,S==="",h);v&&d.push(v)}),!f&&l.length>0&&i.charAt(s-l.length-1)!=='"'&&(h.add({kind:pe.Property,label:this.getLabelForValue(l),insertText:this.getInsertTextForProperty(l,void 0,!1,S),insertTextFormat:ne.Snippet,documentation:""}),h.setAsIncomplete())}const x={};return f?this.getValueCompletions(f,n,a,s,e,h,x):this.getSchemaLessValueCompletions(n,a,s,e,h),this.contributions.length>0&&this.getContributedValueCompletions(n,a,s,e,h,d),this.promiseConstructor.all(d).then(()=>{if(h.getNumberOfProposals()===0){let _=s;a&&(a.type==="string"||a.type==="number"||a.type==="boolean"||a.type==="null")&&(_=a.offset+a.length);const S=this.evaluateSeparatorAfter(e,_);this.addFillerValueCompletions(x,S,h)}return r})})}getPropertyCompletions(e,t,n,r,i,s){t.getMatchingSchemas(e.schema,n.offset).forEach(l=>{if(l.node===n&&!l.inverted){const o=l.schema.properties;o&&Object.keys(o).forEach(h=>{const f=o[h];if(typeof f=="object"&&!f.deprecationMessage&&!f.doNotSuggest){const d={kind:pe.Property,label:h,insertText:this.getInsertTextForProperty(h,f,r,i),insertTextFormat:ne.Snippet,filterText:this.getFilterTextForValue(h),documentation:this.fromMarkup(f.markdownDescription)||f.description||""};f.suggestSortText!==void 0&&(d.sortText=f.suggestSortText),d.insertText&&jt(d.insertText,`$1${i}`)&&(d.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(d)}});const u=l.schema.propertyNames;if(typeof u=="object"&&!u.deprecationMessage&&!u.doNotSuggest){const h=(f,d=void 0)=>{const m={kind:pe.Property,label:f,insertText:this.getInsertTextForProperty(f,void 0,r,i),insertTextFormat:ne.Snippet,filterText:this.getFilterTextForValue(f),documentation:d||this.fromMarkup(u.markdownDescription)||u.description||""};u.suggestSortText!==void 0&&(m.sortText=u.suggestSortText),m.insertText&&jt(m.insertText,`$1${i}`)&&(m.command={title:"Suggest",command:"editor.action.triggerSuggest"}),s.add(m)};if(u.enum)for(let f=0;f<u.enum.length;f++){let d;u.markdownEnumDescriptions&&f<u.markdownEnumDescriptions.length?d=this.fromMarkup(u.markdownEnumDescriptions[f]):u.enumDescript
`,d=d+``+m+"]",m+=" ",a="array";u=f+m+s.bodyText.split(``).join(``+m)+d+t,o=o||u,h=u.replace(/[\n]/g,"")}else return;n.add({kind:this.getSuggestionKind(a),label:o,documentation:this.fromMarkup(s.markdownDescription)||s.description,insertText:u,insertTextFormat:ne.Snippet,filterText:h}),i=!0}),!i&&typeof e.items=="object"&&!Array.isArray(e.items)&&r<5&&this.addDefaultValueCompletions(e.items,t,n,r+1)}addEnumValueCompletions(e,t,n){if(Se(e.const)&&n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(e.const),insertText:this.getInsertTextForValue(e.const,t),insertTextFormat:ne.Snippet,documentation:this.fromMarkup(e.markdownDescription)||e.description}),Array.isArray(e.enum))for(let r=0,i=e.enum.length;r<i;r++){const s=e.enum[r];let a=this.fromMarkup(e.markdownDescription)||e.description;e.markdownEnumDescriptions&&r<e.markdownEnumDescriptions.length&&this.doesSupportMarkdown()?a=this.fromMarkup(e.markdownEnumDescriptions[r]):e.enumDescriptions&&r<e.enumDescriptions.length&&(a=e.enumDescriptions[r]),n.add({kind:this.getSuggestionKind(e.type),label:this.getLabelForValue(s),insertText:this.getInsertTextForValue(s,t),insertTextFormat:ne.Snippet,documentation:a})}}collectTypes(e,t){if(Array.isArray(e.enum)||Se(e.const))return;const n=e.type;Array.isArray(n)?n.forEach(r=>t[r]=!0):n&&(t[n]=!0)}addFillerValueCompletions(e,t,n){e.object&&n.add({kind:this.getSuggestionKind("object"),label:"{}",insertText:this.getInsertTextForGuessedValue({},t),insertTextFormat:ne.Snippet,detail:E("New object"),documentation:""}),e.array&&n.add({kind:this.getSuggestionKind("array"),label:"[]",insertText:this.getInsertTextForGuessedValue([],t),insertTextFormat:ne.Snippet,detail:E("New array"),documentation:""})}addBooleanValueCompletion(e,t,n){n.add({kind:this.getSuggestionKind("boolean"),label:e?"true":"false",insertText:this.getInsertTextForValue(e,t),insertTextFormat:ne.Snippet,documentation:""})}addNullValueCompletion(e,t){t.add({kind:this.getSuggestionKind("null"),label:"null",insertText:"null"+e,insertTextFormat:ne.Snippet,documentation:""})}addDollarSchemaCompletions(e,t){this.schemaService.getRegisteredSchemaIds(r=>r==="http"||r==="https").forEach(r=>{r.startsWith("http://json-schema.org/draft-")&&(r=r+"#"),t.add({kind:pe.Module,label:this.getLabelForValue(r),filterText:this.getFilterTextForValue(r),insertText:this.getInsertTextForValue(r,e),insertTextFormat:ne.Snippet,documentation:""})})}getLabelForValue(e){return JSON.stringify(e)}getValueFromLabel(e){return JSON.parse(e)}getFilterTextForValue(e){return JSON.stringify(e)}getFilterTextForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getLabelForSnippetValue(e){return JSON.stringify(e).replace(/\$\{\d+:([^}]+)\}|\$\d+/g,"$1")}getInsertTextForPlainText(e){return e.replace(/[\\\$\}]/g,"\\$&")}getInsertTextForValue(e,t){const n=JSON.stringify(e,null," ");return n==="{}"?"{$1}"+t:n==="[]"?"[$1]"+t:this.getInsertTextForPlainText(n+t)}getInsertTextForSnippetValue(e,t){return Sr(e,"",r=>typeof r=="string"&&r[0]==="^"?r.substr(1):JSON.stringify(r))+t}getInsertTextForGuessedValue(e,t){switch(typeof e){case"object":return e===null?"${1:null}"+t:this.getInsertTextForValue(e,t);case"string":let n=JSON.stringify(e);return n=n.substr(1,n.length-2),n=this.getInsertTextForPlainText(n),'"${1:'+n+'}"'+t;case"number":case"boolean":return"${1:"+JSON.stringify(e)+"}"+t}return this.getInsertTextForValue(e,t)}getSuggestionKind(e){if(Array.isArray(e)){const t=e;e=t.length>0?t[0]:void 0}if(!e)return pe.Value;switch(e){case"string":return pe.Value;case"object":return pe.Module;case"property":return pe.Property;default:return pe.Value}}getLabelTextForMatchingNode(e,t){switch(e.type){case"array":return"[]";case"object":return"{}";default:return t.getText().substr(e.offset,e.length)}}getInsertTextForMatchingNode(e,t,n){switch(e.type){case"array":return this.getInsertTextForValue([],n);case"object":return this.getInsertTextForValue({},n);default:const r=t.getText().substr(e.offset,e.length)+n;return this.getInsertTextForPlainText(r)}}getInsertTextForProperty(e,t,n,r){const i=this.getInsertTextForValue(e,"");if(!n)return i;const s=i+
\r\v":{[,]}`.indexOf(r.charAt(n))===-1;)n--;return r.substring(n+1,t)}evaluateSeparatorAfter(e,t){const n=it(e.getText(),!0);switch(n.setPosition(t),n.scan()){case 5:case 2:case 4:case 17:return"";default:return","}}findItemAtOffset(e,t,n){const r=it(t.getText(),!0),i=e.items;for(let s=i.length-1;s>=0;s--){const a=i[s];if(n>a.offset+a.length)return r.setPosition(a.offset+a.length),r.scan()===5&&n>=r.getTokenOffset()+r.getTokenLength()?s+1:s;if(n>=a.offset)return s}return 0}isInComment(e,t,n){const r=it(e.getText(),!1);r.setPosition(t);let i=r.scan();for(;i!==17&&r.getTokenOffset()+r.getTokenLength()<n;)i=r.scan();return(i===12||i===13)&&r.getTokenOffset()<=n}fromMarkup(e){if(e&&this.doesSupportMarkdown())return{kind:st.Markdown,value:e}}doesSupportMarkdown(){var e,t,n;if(!Se(this.supportsMarkdown)){const r=(n=(t=(e=this.clientCapabilities.textDocument)==null?void 0:e.completion)==null?void 0:t.completionItem)==null?void 0:n.documentationFormat;this.supportsMarkdown=Array.isArray(r)&&r.indexOf(st.Markdown)!==-1}return this.supportsMarkdown}doesSupportsCommitCharacters(){var e,t,n;return Se(this.supportsCommitCharacters)||(this.labelDetailsSupport=(n=(t=(e=this.clientCapabilities.textDocument)==null?void 0:e.completion)==null?void 0:t.completionItem)==null?void 0:n.commitCharactersSupport),this.supportsCommitCharacters}doesSupportsLabelDetails(){var e,t,n;return Se(this.labelDetailsSupport)||(this.labelDetailsSupport=(n=(t=(e=this.clientCapabilities.textDocument)==null?void 0:e.completion)==null?void 0:t.completionItem)==null?void 0:n.labelDetailsSupport),this.labelDetailsSupport}},oc=class{constructor(e,t=[],n){this.schemaService=e,this.contributions=t,this.promise=n||Promise}doHover(e,t,n){const r=e.offsetAt(t);let i=n.getNodeFromOffset(r);if(!i||(i.type==="object"||i.type==="array")&&r>i.offset+1&&r<i.offset+i.length-1)return this.promise.resolve(null);const s=i;if(i.type==="string"){const u=i.parent;if(u&&u.type==="property"&&u.keyNode===i&&(i=u.valueNode,!i))return this.promise.resolve(null)}const a=U.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length)),l=u=>({contents:u,range:a}),o=Nr(i);for(let u=this.contributions.length-1;u>=0;u--){const f=this.contributions[u].getInfoContribution(e.uri,o);if(f)return f.then(d=>l(d))}return this.schemaService.getSchemaForResource(e.uri,n).then(u=>{if(u&&i){const h=n.getMatchingSchemas(u.schema,i.offset);let f,d,m,g;h.every(x=>{if(x.node===i&&!x.inverted&&x.schema&&(f=f||x.schema.title,d=d||x.schema.markdownDescription||Ar(x.schema.description),x.schema.enum)){const _=x.schema.enum.indexOf(ot(i));x.schema.markdownEnumDescriptions?m=x.schema.markdownEnumDescriptions[_]:x.schema.enumDescriptions&&(m=Ar(x.schema.enumDescriptions[_])),m&&(g=x.schema.enum[_],typeof g!="string"&&(g=JSON.stringify(g)))}return!0});let p="";return f&&(p=Ar(f)),d&&(p.length>0&&(p+=`
`),p+=d),m&&(p.length>0&&(p+=`
`),p+=`\`${lc(g)}\`: ${m}`),l([p])}return null})}};function Ar(e){if(e)return e.replace(/([^\n\r])(\r?\n)([^\n\r])/gm,`$1
$3`).replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}function lc(e){return e.indexOf("`")!==-1?"`` "+e+" ``":e}var uc=class{constructor(e,t){this.jsonSchemaService=e,this.promise=t,this.validationEnabled=!0}configure(e){e&&(this.validationEnabled=e.validate!==!1,this.commentSeverity=e.allowComments?void 0:ge.Error)}doValidation(e,t,n,r){if(!this.validationEnabled)return this.promise.resolve([]);const i=[],s={},a=o=>{const u=o.range.start.line+" "+o.range.start.character+" "+o.message;s[u]||(s[u]=!0,i.push(o))},l=o=>{let u=n!=null&&n.trailingCommas?vn(n.trailingCommas):ge.Error,h=n!=null&&n.comments?vn(n.comments):this.commentSeverity,f=n!=null&&n.schemaValidation?vn(n.schemaValidation):ge.Warning,d=n!=null&&n.schemaRequest?vn(n.schemaRequest):ge.Warning;if(o){const m=(g,p)=>{if(t.root&&d){const x=t.root,_=x.type==="object"?x.properties[0]:void 0;if(_&&_.keyNode.value==="$schema"){const S=_.valueNode||_,b=U.create(e.positionAt(S.offset),e.positionAt(S.offset+S.length));a(Be.create(b,g,d,p))}else{const S=U.create(e.positionAt(x.offset),e.positionAt(x.offset+1));a(Be.create(S,g,d,p))}}};if(o.errors.length)m(o.errors[0],q.SchemaResolveError);else if(f){for(const p of o.warnings)m(p,q.SchemaUnsupportedFeature);const g=t.validate(e,o.schema,f,n==null?void 0:n.schemaDraft);g&&g.forEach(a)}za(o.schema)&&(h=void 0),Ga(o.schema)&&(u=void 0)}for(const m of t.syntaxErrors){if(m.code===q.TrailingComma){if(typeof u!="number")continue;m.severity=u}a(m)}if(typeof h=="number"){const m=E("Comments are not permitted in JSON.");t.comments.forEach(g=>{a(Be.create(g,m,h,q.CommentNotPermitted))})}return i};if(r){const o=r.id||"schemaservice://untitled/"+cc++;return this.jsonSchemaService.registerExternalSchema({uri:o,schema:r}).getResolvedSchema().then(h=>l(h))}return this.jsonSchemaService.getSchemaForResource(e.uri,t).then(o=>l(o))}getLanguageStatus(e,t){return{schemas:this.jsonSchemaService.getSchemaURIsForResource(e.uri,t)}}},cc=0;function za(e){if(e&&typeof e=="object"){if(Te(e.allowComments))return e.allowComments;if(e.allOf)for(const t of e.allOf){const n=za(t);if(Te(n))return n}}}function Ga(e){if(e&&typeof e=="object"){if(Te(e.allowTrailingCommas))return e.allowTrailingCommas;const t=e;if(Te(t.allowsTrailingCommas))return t.allowsTrailingCommas;if(e.allOf)for(const n of e.allOf){const r=Ga(n);if(Te(r))return r}}}function vn(e){switch(e){case"error":return ge.Error;case"warning":return ge.Warning;case"ignore":return}}var Ja=48,fc=57,hc=65,xn=97,dc=102;function K(e){return e<Ja?0:e<=fc?e-Ja:(e<xn&&(e+=xn-hc),e>=xn&&e<=dc?e-xn+10:0)}function mc(e){if(e[0]==="#")switch(e.length){case 4:return{red:K(e.charCodeAt(1))*17/255,green:K(e.charCodeAt(2))*17/255,blue:K(e.charCodeAt(3))*17/255,alpha:1};case 5:return{red:K(e.charCodeAt(1))*17/255,green:K(e.charCodeAt(2))*17/255,blue:K(e.charCodeAt(3))*17/255,alpha:K(e.charCodeAt(4))*17/255};case 7:return{red:(K(e.charCodeAt(1))*16+K(e.charCodeAt(2)))/255,green:(K(e.charCodeAt(3))*16+K(e.charCodeAt(4)))/255,blue:(K(e.charCodeAt(5))*16+K(e.charCodeAt(6)))/255,alpha:1};case 9:return{red:(K(e.charCodeAt(1))*16+K(e.charCodeAt(2)))/255,green:(K(e.charCodeAt(3))*16+K(e.charCodeAt(4)))/255,blue:(K(e.charCodeAt(5))*16+K(e.charCodeAt(6)))/255,alpha:(K(e.charCodeAt(7))*16+K(e.charCodeAt(8)))/255}}}var gc=class{constructor(e){this.schemaService=e}findDocumentSymbols(e,t,n={resultLimit:Number.MAX_VALUE}){const r=t.root;if(!r)return[];let i=n.resultLimit||Number.MAX_VALUE;const s=e.uri;if((s==="vscode://defaultsettings/keybindings.json"||jt(s.toLowerCase(),"/user/keybindings.json"))&&r.type==="array"){const f=[];for(const d of r.items)if(d.type==="object"){for(const m of d.properties)if(m.keyNode.value==="key"&&m.valueNode){const g=Rt.create(e.uri,Ze(e,d));if(f.push({name:Xa(m.valueNode),kind:Ie.Function,location:g}),i--,i<=0)return n&&n.onResultLimitExceeded&&n.onResultLimitExceeded(s),f}}return f}const a=[{node:r,containerName:""}];let l=0,o=!1;const u=[],h=(f,d)=>{f.type==="array"?f.items.forEach(m=>{m&&a.push({node:m,containerName:d})}):f.type==="object"&&f.properties.forEach(m=>{const g=m.valueNode;if(g)if(i>0){i--`,keepLines:(t==null?void 0:t.keepLines)===!0};return Wu(e.getText(),r,i).map(s=>Pe.replace(U.create(e.positionAt(s.offset),e.positionAt(s.offset+s.length)),s.content))}var re;(function(e){e[e.Object=0]="Object",e[e.Array=1]="Array"})(re||(re={}));var yn=class{constructor(e,t){this.propertyName=e??"",this.beginningLineNumber=t,this.childrenProperties=[],this.lastProperty=!1,this.noKeyName=!1}addChildProperty(e){if(e.parent=this,this.childrenProperties.length>0){let t=0;e.noKeyName?t=this.childrenProperties.length:t=kc(this.childrenProperties,e,Ac),t<0&&(t=t*-1-1),this.childrenProperties.splice(t,0,e)}else this.childrenProperties.push(e);return e}};function Ac(e,t){const n=e.propertyName.toLowerCase(),r=t.propertyName.toLowerCase();return n<r?-1:n>r?1:0}function kc(e,t,n){const r=t.propertyName.toLowerCase(),i=e[0].propertyName.toLowerCase(),s=e[e.length-1].propertyName.toLowerCase();if(r<i)return 0;if(r>s)return e.length;let a=0,l=e.length-1;for(;a<=l;){let o=l+a>>1,u=n(t,e[o]);if(u>0)a=o+1;else if(u<0)l=o-1;else return o}return-a-1}function Rc(e,t){const n={...t,keepLines:!1},r=Ae.applyEdits(e,Rr(e,n,void 0)),i=Ae.create("test://test.json","json",0,r),s=Ec(i),a=Mc(i,s),l=Rr(a,n,void 0),o=Ae.applyEdits(a,l);return[Pe.replace(U.create(Z.create(0,0),e.positionAt(e.getText().length)),o)]}function Ec(e){const t=e.getText(),n=it(t,!1);let r=new yn,i=r,s=r,a=r,l,o=0,u=0,h,f,d=-1,m=-1,g=0,p=0,x=[],_=!1,S=!1;for(;(l=n.scan())!==17;){if(_===!0&&l!==14&&l!==15&&l!==12&&l!==13&&s.endLineNumber===void 0){let b=n.getTokenStartLine();f===2||f===4?a.endLineNumber=b-1:s.endLineNumber=b-1,g=b,_=!1}if(S===!0&&l!==14&&l!==15&&l!==12&&l!==13&&(g=n.getTokenStartLine(),S=!1),n.getTokenStartLine()!==o){for(let b=o;b<n.getTokenStartLine();b++){const w=e.getText(U.create(Z.create(b,0),Z.create(b+1,0))).length;u=u+w}o=n.getTokenStartLine()}switch(l){case 10:{if(h===void 0||h===1||h===5&&x[x.length-1]===re.Object){const b=new yn(n.getTokenValue(),g);a=s,s=i.addChildProperty(b)}break}case 3:{if(r.beginningLineNumber===void 0&&(r.beginningLineNumber=n.getTokenStartLine()),x[x.length-1]===re.Object)i=s;else if(x[x.length-1]===re.Array){const b=new yn(n.getTokenValue(),g);b.noKeyName=!0,a=s,s=i.addChildProperty(b),i=s}x.push(re.Array),s.type=re.Array,g=n.getTokenStartLine(),g++;break}case 1:{if(r.beginningLineNumber===void 0)r.beginningLineNumber=n.getTokenStartLine();else if(x[x.length-1]===re.Array){const b=new yn(n.getTokenValue(),g);b.noKeyName=!0,a=s,s=i.addChildProperty(b)}s.type=re.Object,x.push(re.Object),i=s,g=n.getTokenStartLine(),g++;break}case 4:{p=n.getTokenStartLine(),x.pop(),s.endLineNumber===void 0&&(h===2||h===4)&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=d,s.indexWhereToAddComa=m,a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=p,g=p+1;break}case 2:{p=n.getTokenStartLine(),x.pop(),h!==1&&(s.endLineNumber===void 0&&(s.endLineNumber=p-1,s.lastProperty=!0,s.lineWhereToAddComma=d,s.indexWhereToAddComa=m),a=s,s=s?s.parent:void 0,i=s),r.endLineNumber=n.getTokenStartLine(),g=p+1;break}case 5:{p=n.getTokenStartLine(),s.endLineNumber===void 0&&(x[x.length-1]===re.Object||x[x.length-1]===re.Array&&(h===2||h===4))&&(s.endLineNumber=p,s.commaIndex=n.getTokenOffset()-u,s.commaLine=p),(h===2||h===4)&&(a=s,s=s?s.parent:void 0,i=s),g=p+1;break}case 13:{h===5&&d===n.getTokenStartLine()&&(x[x.length-1]===re.Array&&(f===2||f===4)||x[x.length-1]===re.Object)&&(x[x.length-1]===re.Array&&(f===2||f===4)||x[x.length-1]===re.Object)&&(s.endLineNumber=void 0,_=!0),(h===1||h===3)&&d===n.getTokenStartLine()&&(S=!0);break}}l!==14&&l!==13&&l!==12&&l!==15&&(f=h,h=l,d=n.getTokenStartLine(),m=n.getTokenOffset()+n.getTokenLength()-u)}return r}function Mc(e,t){if(t.childrenProperties.length===0)return e;const n=Ae.create("test://test.json","json",0,e.getText()),r=[];for(Ka(r,t,t.beginningLineNumber);r.length>0;){const i=r.shift(),s=i.propertyTreeArray;let a=i.beginningLineNumber;for(let l=0;l<s.length;l++){const o=s[l],u=U.create(Z.create(o.beginningLineNumber,0),Z.create(o.endLineNumber+1,0)),h=e.getText(u),f=Ae.create("test://test.json","json",0,h);i
|